Guía Hardware

Cómo funciona el cifrado de información

Actualizado a: 16 de abril de 2024

Como bien sabes, la información relevante debe ser cifrada para protegerla de miradas indiscretas. Esto es algo que saben muy bien las agencias de espionaje, gobiernos, militares y otros del ámbito de la ciberseguridad. Pero… ¿qué es realmente el cifrado? ¿cómo funciona este procedimiento? Pues aquí te explicaremos de una forma sencilla todo lo que debes saber al respecto.

¿Qué es el cifrado?

El cifrado de datos es un proceso mediante el cual la información se transforma en un formato ilegible y no comprensible llamado «texto cifrado» o «texto cifrado», con el objetivo de proteger la confidencialidad y la integridad de los datos. Se utiliza para asegurar la comunicación y el almacenamiento de información sensible, como contraseñas, datos bancarios, documentos confidenciales, mensajes y más.

Para ello, algoritmos matemáticos y claves de cifrado para convertir los datos originales (texto plano) en un formato incomprensible. Este proceso se realiza utilizando una clave específica que solo es conocida por el emisor y el receptor autorizados, lo que garantiza que solo aquellos que poseen la clave adecuada puedan descifrar y acceder a la información.

Existen diferentes métodos de cifrado, como el cifrado simétrico y el cifrado asimétrico. En el cifrado simétrico, la misma clave se utiliza tanto para cifrar como para descifrar los datos, lo que implica que tanto el emisor como el receptor deben conocer y compartir la misma clave. En el cifrado asimétrico, se utilizan pares de claves distintas: una clave pública para el cifrado y una clave privada para el descifrado. La clave pública se comparte con otros usuarios, mientras que la clave privada se mantiene en secreto.

Además, el cifrado proporciona una capa adicional de seguridad y protección contra el acceso no autorizado a la información confidencial. Ayuda a prevenir el robo de datos, la interceptación de comunicaciones y el acceso no autorizado a sistemas y archivos. También se utiliza para verificar la integridad de los datos mediante el uso de funciones de hash, que generan una «firma digital» única para verificar que los datos no se hayan modificado o alterado durante la transmisión o el almacenamiento.

¿Cómo funciona el cifrado?

El cifrado de datos implica el uso de algoritmos matemáticos avanzados y claves digitales para convertir la información en un formato cifrado. Un algoritmo de cifrado y una clave de cifrado se utilizan para codificar los datos y transformarlos en texto cifrado. Cuando se envía el texto cifrado al destinatario, se utiliza la misma clave o una diferente para descifrarlo y restaurarlo a su forma original.

Las claves de cifrado son fundamentales para garantizar la seguridad de los datos cifrados. Son como llaves secretas que desbloquean la información codificada. Al igual que las llaves físicas, solo la clave correcta puede descifrar los datos. Las claves de cifrado se generan mediante métodos manuales o mediante software que aplica un algoritmo para codificar los datos y crear una clave de cifrado.

Hay un par de métodos para generar claves de cifrado:  

  • Espacio de claves: también conocido como longitud de clave, se refiere a la cantidad de combinaciones posibles de claves en términos logarítmicos. Cuanto mayor sea el espacio de claves, mayor será la resistencia del cifrado ante ataques de fuerza bruta.
  • Función de derivación de clave basada en contraseña 2 (PBKDF2): Es un mecanismo utilizado para generar claves a partir de contraseñas. Este proceso implica combinar las contraseñas con una cadena pseudoaleatoria y luego asignarlas a una secuencia de bits de longitud deseada utilizando funciones hash criptográficas.

Pensarás que esto es algo complejo, pero con un ejemplo práctico lo entenderás más fácil. Vamos a usar de ejemplo el llamado Código César, es decir, el código que ideó el propio Julio César en Roma para cifrar mensajes en la época. El algoritmo que él usó simplemente era un desplazamiento de tres en el abecedario. Por tanto, quedaría así:

  • A – D
  • B – E
  • C – F
  • D – G
  • E – H
  • F – I
  • G – J
  • H – K
  • I – L
  • J – M
  • K – N
  • L – Ñ
  • M – O
  • N – P
  • Ñ – Q
  • O – R
  • P – S
  • Q – T
  • R – U
  • S – V
  • T – W
  • U – X
  • V – Y
  • W – Z
  • X – A
  • Y – B
  • Z – C

Entonces, si tenemos un mensaje secreto que queremos cifrar, solo tendríamos que sustituir una letra por la otra. Por ejemplo:

Te veo en la casa del árbol

Que cifrado con código César pasaría a ser:

Wh yhr hp ñd fdvd ghñ duerñ

Cuando sustituyes las letras por la correspondiente en el alfabeto normal, podrás saber qué dice este mensaje cifrado. Sin embargo, así, si un tercer lo intercepta y no conoce el «algoritmo» de cifrado, es decir, no conoce el código, no podrá saber qué le estás diciendo y no podrá frustrar tus planes de verte con esa persona en la casa del árbol…

Evidentemente, los actuales algoritmos de cifrado no son simples desplazamientos, son mucho más complejos que eso. Analizar un algoritmo actual de cifrado no tiene mucho sentido para enseñar, ya que los niveles de comprensión matemática deben ser elevados para comprenderlo. Por eso he elegido el código César, que es primitivo y simple para captar la idea.

¿Cuál es el propósito de cifrar los datos?

El cifrado moderno hace más que solo proteger datos confidenciales.  

  • Protección de la privacidad del usuario: el cifrado garantiza la privacidad del usuario al asegurarse de que solo las partes autorizadas puedan acceder a los datos en reposo. Esto impide que tanto humanos como computadoras puedan leer la información, ya sea que se encuentre en un dispositivo local o se esté transmitiendo a través de internet.
  • Prevención del robo de identidad y el chantaje: los ciberdelincuentes intentan robar datos personales para chantajear a las personas exigiendo un rescate. Si los datos están cifrados, los atacantes no podrán descifrar la información confidencial y, por lo tanto, no podrán utilizarla para fines maliciosos como el robo de identidad o el chantaje.
  • Compartir archivos de forma segura: en un entorno donde cada vez más empleados trabajan de forma remota, el cifrado es esencial para proteger los datos durante la transmisión. Evita que los ciberdelincuentes intercepten y accedan a los archivos compartidos, garantizando así la seguridad de la información confidencial.
  • Protección de dispositivos perdidos o robados: los dispositivos móviles como teléfonos inteligentes, laptops y tablets son propensos a perderse o ser robados. Si estos dispositivos están cifrados, los datos almacenados en ellos permanecen seguros. Sin la clave de cifrado adecuada, los piratas informáticos no pueden acceder a la información almacenada en los dispositivos perdidos o robados.
  • Cumplimiento normativo: el cifrado ayuda a las empresas a cumplir con los requisitos y estándares de cumplimiento. Algunas regulaciones, como el GDPR y el CCPA, exigen el cifrado de la información personal del cliente cuando se almacena o se transmite a través de redes públicas. El uso del cifrado garantiza que las empresas cumplan con estas normas y protejan la privacidad de los datos de sus clientes.

¿Cuál es la diferencia entre hash y cifrado?

HASH Cifrado 
Hashing es una función unidireccional para convertir información a un valor fijo más corto conocido como clave. El cifrado es una función bidireccional que transforma el texto sin formato en texto cifrado y luego utiliza una clave para decodificar el texto cifrado en texto sin formato. 
El objetivo principal del hashing es auditar datos: indexar y recuperar elementos de la base de datos. El objetivo principal del cifrado es transmitir datos a través de redes de forma segura. 
Los datos hash tienen una longitud fija y no crecen de forma paralela al aumento de la longitud de la información. Los datos cifrados no tienen una longitud fija. Crece en paralelo con el aumento de la longitud de la información. 
 Ejemplo: MD5, SHA256 Ejemplo: RSA, AES y DES 

¿Qué es salt?

En el contexto del cifrado, el término «salt» se refiere a un valor aleatorio y único que se agrega a los datos antes de aplicar un algoritmo de cifrado. El objetivo es aumentar la seguridad del cifrado y evitar que se descubran patrones o se utilicen ataques precalculados.

Se utiliza principalmente en las funciones de hashing, donde se toma el valor original de los datos y se le concatena el salt antes de aplicar el algoritmo de hash. Esto genera una salida única y diferente para cada combinación de datos y salt, incluso si los datos originales son idénticos. Al añadir el salt, se complica el proceso de descifrado y se dificulta el uso de ataques como la búsqueda de colisiones o la utilización de tablas de arco iris.

Es especialmente importante en el almacenamiento de contraseñas. Al agregar un salt único a cada contraseña antes de aplicar una función de hash, se evita que las contraseñas idénticas generen la misma salida de hash. Esto protege contra ataques como el diccionario o el ataque de fuerza bruta, ya que cada contraseña debe ser verificada individualmente y no se pueden utilizar atajos para descubrir múltiples contraseñas a partir de sus hashes.

¿Qué es una clave?

gestores de contraseñas

En el ámbito del cifrado, una clave es una información confidencial y secreta que se utiliza para proteger y desproteger los datos durante el proceso de cifrado y descifrado. Es un componente esencial de los algoritmos de cifrado, ya que determina cómo se transforman los datos y cómo se pueden revertir esas transformaciones.

Una clave en el cifrado actúa como un mecanismo de control de acceso, ya que solo aquellos que poseen la clave correcta pueden acceder a los datos cifrados y descifrarlos. La clave se utiliza como un parámetro de entrada en el algoritmo de cifrado, que realiza una serie de operaciones matemáticas para ocultar la información original y generar el texto cifrado. Para revertir este proceso y obtener los datos originales, se necesita la clave correspondiente para aplicar el algoritmo de descifrado.

La longitud y la calidad de la clave son aspectos críticos en el cifrado. Las claves más largas y más complejas proporcionan un nivel de seguridad más alto, ya que dificultan los intentos de adivinación o ataques de fuerza bruta. Además, es fundamental mantener la clave en secreto y compartirla solo con las partes autorizadas, ya que la seguridad de los datos cifrados depende de la confidencialidad de la clave.

Ya sabes, esto lo hemos visto también cuando hemos hablado de contraseñas, puesto que una clave no es más que una contraseña aplicada al cifrado…

Etapas del cifrado

Hay tres etapas durante las cuales se pueden cifrar los datos: 

  • Cifrado en reposo: se refiere a la protección de los datos almacenados en dispositivos físicos o digitales, como discos duros, servicios de almacenamiento en la nube, memorias USB y teléfonos inteligentes. Estos datos se cifran utilizando una clave que se utiliza para encriptar y desencriptar la información. El cifrado en reposo garantiza que incluso si alguien tiene acceso físico a los dispositivos, no podrán acceder a los datos sin la clave adecuada. Para proteger la clave, se pueden utilizar métodos como PIN, contraseña o sistemas de autenticación de hardware.
  • Cifrado en tránsito: se refiere a la protección de los datos mientras se transmiten de una red a otra. Durante la transmisión, existe el riesgo de que terceros intercepten los datos. El cifrado en tránsito se utiliza para evitar que los datos sean leídos o alterados por actores no autorizados. En las redes Wi-Fi, se utiliza el cifrado de acceso protegido Wi-Fi (WPA) o WPA2 Enterprise para garantizar la seguridad de los datos. En Internet, los datos se cifran utilizando protocolos como Secure Sockets Layer (SSL), Transport Layer Security (TLS) y Secure File Transfer Protocol (SFTP).
  • Cifrado en uso: se refiere a la protección de los datos mientras se están utilizando, es decir, cuando se ven, editan o eliminan. Esto ocurre en aplicaciones móviles y en la nube, donde los datos están constantemente en uso. Durante este proceso, los datos pueden estar expuestos a amenazas dependiendo de su ubicación en el sistema y quién tiene acceso a ellos. La mejor forma de proteger los datos en uso es asegurarse de que las aplicaciones implementen un cifrado sólido en su código fuente, garantizando así una capa adicional de seguridad para los datos mientras están siendo utilizados.

Tipos de cifrado

Los dos métodos de cifrado más distintos son simétricos y asimétricos. 

Cifrado simétrico

El cifrado simétrico, también llamado criptografía de clave privada, utiliza una única clave para cifrar y descifrar los datos. Tanto el emisor como el receptor deben poseer la misma clave para lograr una comunicación segura. Esta clave se utiliza tanto para el proceso de cifrado como para el de descifrado, proporcionando una capa continua de seguridad desde el principio hasta el final. La clave puede ser una contraseña, un código o una cadena de números generados de forma aleatoria. Algunos ejemplos populares de cifrado simétrico son AES, DES y Triple DES.

Cifrado asimétrico

El cifrado asimétrico, también conocido como criptografía de clave pública, utiliza dos claves diferentes: una clave pública para cifrar y una clave privada para descifrar. El cifrado asimétrico ofrece una mayor seguridad al permitir verificar la fuente de los datos y garantizar la no repudiación (el autor no puede negar su autoría). Sin embargo, este tipo de cifrado puede ralentizar el proceso de transmisión, la velocidad de la red y el rendimiento de la máquina. Un ejemplo conocido de cifrado asimétrico es RSA.

En el caso de los hash, también tienen algoritmos como SHA, MD5, etc.

Cifrado simétrico frente a cifrado asimétrico

Simétrico VSAsimétrico 
Necesita una única clave tanto para el cifrado como para el descifrado. Llaves Necesita dos claves: una para cifrar y otra para descifrar.
Proceso de cifrado más rápido.  Velocidad Proceso de cifrado más lento. 
La longitud de las claves utilizadas suele ser de 128 o 256 bits. Longitud de clave La longitud de las claves es mayor, alrededor de 2048 bits o superior. 
Transfiere grandes cantidades de datos. Función Transfiere fragmentos de datos más pequeños para autenticar y establecer un canal de comunicación seguro antes de la transferencia de datos real. 
Compartir una sola clave aumenta el riesgo de compromiso de la clave. Seguridad No es necesario compartir claves. Se fabrican dos claves por separado para el cifrado y el descifrado, lo que mejora la seguridad general. 

Algoritmos de cifrado

Un algoritmo usa la clave de cifrado para cifrar los datos en texto cifrado y los datos de texto cifrado nuevamente en texto sin formato usando la clave de descifrado. Entre los que destacan están:

  • AES (Advanced Encryption Standard): es uno de los algoritmos más ampliamente adoptados y utilizado en todo el mundo. AES utiliza cifrado simétrico y soporta claves de diferentes tamaños, como AES-128, AES-192 y AES-256. Se considera seguro y eficiente en términos de rendimiento.
  • RSA (Rivest-Shamir-Adleman): es un algoritmo de cifrado asimétrico ampliamente utilizado en la criptografía de clave pública. RSA se basa en la factorización de números primos y se utiliza para el intercambio seguro de claves y la firma digital. Es conocido por su seguridad y robustez.
  • DES (Data Encryption Standard): fue uno de los algoritmos de cifrado más utilizados en el pasado, pero ha sido reemplazado en gran medida por AES debido a su longitud de clave más corta (56 bits) que se considera menos segura. Aunque DES ya no es recomendado para nuevas aplicaciones, su versión mejorada Triple DES (3DES) sigue siendo utilizada en algunos sistemas legados.
  • Blowfish: es un algoritmo de cifrado simétrico diseñado para ser rápido y seguro. Es ampliamente utilizado en aplicaciones de software y encriptación de archivos. Blowfish admite claves de tamaño variable y es conocido por su rendimiento y resistencia.
  • RSA y ECC (Elliptic Curve Cryptography): estos algoritmos de cifrado asimétrico se utilizan para el intercambio seguro de claves y la firma digital. ECC ofrece una seguridad comparable a RSA con claves más cortas, lo que lo hace más eficiente en términos de rendimiento y almacenamiento.

Jaime Herrera

Jaime Herrera

Ingeniero Informático apasionado por el hardware y la tecnología. Llevo más de diez años dedicándome al análisis de componentes como procesadores, tarjetas gráficas y sistemas de almacenamiento. Mi objetivo es ofrecer información clara y precisa, combinando mi experiencia técnica con un enfoque práctico para ayudar a los lectores a entender mejor el mundo del hardware.

>
Guía Hardware
Logo