cifrado

¿Qué es un cifrado?

En criptología, la disciplina que se ocupa del estudio de algoritmos criptográficos, un cifrado es un algoritmo para cifrar y descifrar datos.

El cifrado de clave simétrica, también llamado cifrado de clave secreta, depende del uso de cifrados, que funcionan simétricamente. Con algoritmos de cifrado simétricos, la misma clave de cifrado se aplica a los datos de la misma manera, ya sea que el objetivo sea convertir texto sin formato en texto cifrado o texto cifrado en texto sin formato. Un cifrado transforma los datos procesando los caracteres originales de texto plano u otros datos en texto cifrado. El texto cifrado debe aparecer como datos aleatorios.

Tradicionalmente, los cifrados utilizaban estos dos tipos principales de transformación:

  1. Los cifrados de transposición mantienen todos los bits de datos originales en un byte, pero mezclan su orden.
  2. Los cifrados de sustitución sustituyen secuencias de datos específicas por otras secuencias de datos. Por ejemplo, un tipo de sustitución sería transformar todos los bits con un valor de 1 a un valor de 0, y viceversa.

La salida de datos de cualquiera de los métodos se denomina texto cifrado.

Los cifrados modernos permiten la comunicación privada en muchos protocolos de red diferentes, incluido el protocolo de Seguridad de la capa de transporte (TLS) y otros que ofrecen cifrado del tráfico de red. Muchas tecnologías de comunicación, incluidos los teléfonos, la televisión digital y los cajeros automáticos, dependen de los cifrados para mantener la seguridad y la privacidad.

¿Cómo funcionan los cifrados?

Un cifrado utiliza un sistema de reglas fijas, un algoritmo de cifrado, para transformar texto plano, un mensaje legible, en texto cifrado, una cadena de caracteres aparentemente aleatoria. Los cifrados se pueden diseñar para cifrar o descifrar bits en un flujo, conocidos como cifrados de flujo. O pueden procesar texto cifrado en bloques uniformes de un número especificado de bits, conocidos como cifradores de bloques.

diagrama de cómo funciona el cifrado
Los algoritmos de cifrado aplican una clave criptográfica al texto sin formato.

Las implementaciones modernas de cifrado dependen del algoritmo y de una clave secreta, que es utilizada por el algoritmo de cifrado para modificar los datos a medida que se cifran. Los cifrados que usan claves más largas, medidas en bits, son más efectivos contra ataques de fuerza bruta. Cuanto más larga sea la longitud de la clave, más intentos de fuerza bruta son necesarios para exponer el texto sin formato. Si bien la fuerza del cifrado no siempre depende de la longitud de la clave, los expertos recomiendan que los cifrados modernos se configuren para usar claves de al menos 128 bits o más, dependiendo del algoritmo y el caso de uso.

Una clave es una parte esencial de un algoritmo de cifrado, tanto que, en el cifrado del mundo real, la clave se mantiene en secreto, no el algoritmo. Los algoritmos de cifrado fuertes están diseñados de modo que, incluso si alguien conoce el algoritmo, debería ser imposible descifrar el texto cifrado sin conocer la clave adecuada. En consecuencia, antes de que un cifrado pueda funcionar, tanto el emisor como el receptor deben tener una clave o un conjunto de claves.

Los cifrados convierten texto sin formato en texto cifrado
Los cifrados criptográficos se utilizan para convertir texto cifrado en texto sin formato y viceversa.

Con algoritmos de clave simétrica, se utiliza la misma clave para el cifrado y descifrado de datos. Los algoritmos de clave asimétrica utilizan claves públicas y privadas para cifrar y descifrar datos.

En criptografía asimétrica, también conocida como criptografía de clave pública, las claves son números grandes que se han emparejado pero no son idénticas (asimétricas). Los pares de claves incluyen los siguientes:

  • La clave pública se puede compartir con todos.
  • La clave privada o secreta se mantiene en secreto.

Cualquiera de las claves se puede usar para cifrar un mensaje; la clave opuesta a la utilizada para cifrar el mensaje se utiliza para descifrar.

La clave privada o secreta del par es utilizada por el propietario del par de claves para descifrar o cifrar datos, mientras que la clave pública es utilizada por cualquier persona que desee cifrar un mensaje que solo puede descifrar el titular de la clave privada.

diagrama de cifrado simétrico vs. cifrado asimétrico
Los algoritmos de cifrado simétrico utilizan una sola clave tanto para el cifrado como para el descifrado, mientras que los algoritmos de cifrado asimétrico utilizan pares de claves públicas/privadas.

¿Para qué se utilizan los cifrados?

Los cifrados simétricos se utilizan con mayor frecuencia para proteger las comunicaciones en línea. También se incorporan en muchos protocolos de red diferentes que se utilizan para el intercambio de datos. Por ejemplo, Secure Sockets Layer y TLS usan cifrados para cifrar los datos de la capa de aplicación, especialmente cuando se usan con HTTP Secure (HTTPS).

Las redes privadas virtuales que conectan trabajadores remotos o sucursales remotas a redes corporativas utilizan protocolos con algoritmos de clave simétrica para proteger las comunicaciones de datos. Los cifrados simétricos protegen la privacidad de los datos en la mayoría de las redes Wi-Fi, los servicios de banca en línea y comercio electrónico y la telefonía móvil.

Algunos protocolos utilizan criptografía asimétrica para cifrar y autenticar puntos finales. También lo utilizan para asegurar el intercambio de claves simétricas para cifrar los datos de la sesión. Los protocolos incluyen los siguientes:

  • TLS
  • HTTPS
  • Shell seguro
  • Abra una privacidad bastante buena
  • Extensiones de correo de Internet seguras/Multipropósito

Aunque la criptografía de clave pública se considera más segura que el cifrado simétrico, también es más intensiva computacionalmente. Por razones de rendimiento, los protocolos a menudo se basan en algoritmos de clave simétrica para cifrar los datos de la sesión.

Diferencia entre códigos y cifrados

Los códigos y cifrados son formas diferentes de cifrar un mensaje. Un código es un método para cambiar un mensaje reemplazando cada palabra con otra que tenga un significado diferente.

Por otro lado, un cifrado convierte el mensaje utilizando su algoritmo para transformar los datos que representan las letras y palabras en el mensaje. Los cifrados son más fáciles de implementar y usar con computadoras porque los algoritmos están automatizados y se programan fácilmente.

Los tipos de cifrados

Los cifrados se pueden caracterizar de diferentes maneras, incluidas las siguientes:

  • Los cifradores de bloques cifran bloques de datos de tamaño uniforme.
  • Los cifrados de flujo se pueden aplicar a flujos de datos que a menudo se reciben y envían a través de una red.

Los cifrados pueden depender de las claves tradicionales que se usan directamente para teclear el texto cifrado o de la criptografía de curva elíptica (ECC). Cuando ECC se utiliza con una clave de 160 bits, puede proporcionar la seguridad de un cifrado tradicional, como el utilizado en el criptosistema RSA (Rivest-Shamir-Adleman) utilizando una clave de 1.024 bits de longitud.

Los algoritmos de cifrado modernos están diseñados para resistir ataques incluso cuando el atacante sabe qué cifrado se está utilizando. Históricamente, los cifrados han sido menos seguros contra ataques porque se usaban para cifrar texto plano a mano y podían analizarse y romperse más fácilmente con el poder de la computadora.

Ejemplos de cifrados

Algunos cifrados históricos conocidos incluyen los siguientes:

  • César. Este cifrado se atribuye a Julio César, de quien se dice que lo usó para comunicarse de forma segura con sus generales. Es un cifrado de sustitución simple donde cada letra en el texto plano se desplaza un número específico de lugares por el alfabeto. El número de turno que se dice que usó César era tres. Los cifrados de sustitución a menudo se implementan escribiendo el alfabeto de texto plano, con el alfabeto de texto cifrado escrito por encima de las letras de texto plano, desplazado por el número con el que los comunicantes están de acuerdo. Un desplazamiento de tres pone la letra D por encima del texto plano A, E por encima de B y así sucesivamente. El número de caracteres desplazado se considera una forma simple de una clave.
  • Atbash. Este cifrado es un cifrado de sustitución en el que el alfabeto de texto plano se asigna a sí mismo, pero en orden inverso. En otras palabras, la letra de texto plano A se asigna al texto cifrado Z, B se asigna a Y, C a X, etc. Atbash lleva el nombre de las dos primeras y las dos últimas letras del alfabeto hebreo. Se cree que ha estado en uso durante cientos de años.
  • Sustitución simple. Este también se ha utilizado durante cientos de años. Sustituye cada carácter de texto plano por un carácter de texto cifrado diferente, lo que resulta en lo que efectivamente es una clave de 26 caracteres. Se diferencia del cifrado César porque el alfabeto cifrado está completamente desordenado, en lugar de simplemente desplazar un número uniforme de lugares.
  • Vigenère. Este cifrado es una forma de sustitución polialfabética, lo que significa que se basa en la sustitución utilizando alfabetos de sustitución múltiples. El cifrado Vigenère utiliza una serie de cifrados César entrelazados, basados en las letras de una palabra clave. El texto original está cifrado utilizando lo que se conoce como el cuadrado de Vigenère o la tabla de Vigenère.
  • Sustitución homofónica. Este cifrado de sustitución utiliza varias letras de texto cifrado diferentes para reemplazar letras de texto plano individuales. Este tipo de cifrado suele ser mucho más difícil de romper que los cifrados de sustitución estándar.

Estos cifrados históricos siguen siendo relevantes porque utilizan diferentes componentes fundamentales de los cifrados modernos, como la sustitución y la transposición.

Los cifrados pueden entrar y salir de moda, dependiendo de su historial de fuerza contra ataques, así como el descubrimiento de nuevos vectores de ataque. Conozca los primeros pasos para usar cifrados de forma segura al comprender los conceptos básicos de los algoritmos de cifrado de clave simétrica.

Leave a Reply