En criptografía, el cifrado es el proceso de codificación de la información. Este proceso convierte la representación original de la información, conocida como texto plano, en una forma alternativa conocida como texto cifrado. En el mejor de los casos, sólo las partes autorizadas pueden descifrar un texto cifrado para convertirlo en texto plano y acceder a la información original. El cifrado no impide por sí mismo las interferencias, pero niega el contenido inteligible a un posible interceptor.
Por razones técnicas, un esquema de cifrado suele utilizar una clave de cifrado pseudoaleatoria generada por un algoritmo. Es posible descifrar el mensaje sin poseer la clave pero, para un esquema de encriptación bien diseñado, se requieren considerables recursos computacionales y habilidades. Un destinatario autorizado puede descifrar fácilmente el mensaje con la clave proporcionada por el emisor a los destinatarios, pero no a los usuarios no autorizados.
Históricamente, se han utilizado varias formas de encriptación para ayudar a la criptografía. Las primeras técnicas de cifrado se utilizaban a menudo en la mensajería militar. Desde entonces, han surgido nuevas técnicas que se han convertido en habituales en todos los ámbitos de la informática moderna.[1] Los esquemas modernos de encriptación utilizan los conceptos de clave pública y clave simétrica.[1]
Las técnicas modernas de encriptación garantizan la seguridad porque los ordenadores modernos son ineficaces para descifrar la encriptación.
En el proceso de cifrado/descifrado se establecen una serie de términos y convenios para facilitar referirse a los distintos elementos que intervienen:
Con frecuencia a los procesos de cifrado y descifrado se les denomina encriptado y desencriptado, ambos anglicismos de los términos ingleses encrypt y decrypt. La Real Academia Española recogió esa acepción en la edición de su diccionario de 2014.[2] Por su parte La Fundación del Español Urgente defiende que encriptar es un término válido y que no hay razón para censurar su uso.[3][4]
En algunas ocasiones, antes de cifrar se realiza un preproceso de adaptación del texto plano. En este proceso se pueden seguir varios pasos que permitan el cifrado o hagan que el cifrado resultante sea más resistente frente a ataques por criptoanálisis. Todos estos cambios se tendrán que tener en cuenta cuando se realice el descifrado para poder obtener el texto plano original. Por ejemplo, son frecuentes las siguientes operaciones:
48 65 6C 6C 6F 20 57 6F 72 6C 64
0x48656C6C6F20576F726C64=87521618088882533792115812
"HIJO"
El cualquier caso el número resultante puede ser demasiado pequeño lo que podría producir un texto cifrado que no sea seguro. Para ello se suele aplicar un esquema de relleno (ejemplo PKCS#1v1.5, el cual está ya roto, o OAEP descrito en PKCS#1v2.0)
En esquemas de clave simétrica, las claves de cifrado y descifrado son las mismas. Las partes comunicantes deben tener la misma clave para lograr una comunicación segura. Un ejemplo de una clave simétrica es la máquina Enigma del ejército alemán. Había configuraciones clave para cada día. Cuando los Aliados descubrieron cómo funcionaba la máquina, pudieron descifrar la información codificada dentro de los mensajes tan pronto como pudieron descubrir la clave de cifrado para las transmisiones de un día determinado.
La criptografía simétrica es la técnica criptográfica más antigua que existe, pero sigue ofreciendo un alto nivel de seguridad. Se basa en la utilización de una única clave secreta que se encargará de cifrar y descifrar la información, ya sea información en tránsito con protocolos como TLS, o información en un dispositivo de almacenamiento extraíble. La criptografía simétrica fue el primer método empleado para el cifrado de la información, se basa en que se utilizará la misma contraseña tanto para el cifrado como el descifrado, por tanto, es fundamental que todos los usuarios que quieran cifrar o descifrar el mensaje, tengan esta clave secreta, de lo contrario, no podrán hacerlo. Gracias a la criptografía simétrica, podremos realizar comunicaciones o almacenar archivos de forma segura.
El cifrado simétrico es una de las más antiguas formas de cifrado de la historia. La cual utiliza una sola clave para cifrar y la misma clave para descifrar.
En los esquemas de cifrado de clave pública, la clave de cifrado se publica para que cualquiera pueda usar y cifrar mensajes. Sin embargo, solo la parte receptora tiene acceso a la clave de descifrado que permite leer los mensajes.[5] El cifrado de clave pública se describió por primera vez en un documento secreto en 1973;[6] antes de eso, todos los esquemas de cifrado eran de clave simétrica (también llamada clave privada).[7] Aunque se publicó posteriormente, el trabajo de Diffie y Hellman, fue publicado en una revista con un gran número de lectores, y el valor de la metodología se describió explícitamente[8] y el método se conoció como el intercambio de claves Diffie Hellman.Una aplicación de cifrado de clave pública disponible públicamente llamada Pretty Good Privacy (PGP) fue escrita en 1991 por Phil Zimmermann y distribuida gratuitamente con el código fuente. PGP fue comprado por Symantec en 2010 y se actualiza regularmente.[9] A este tipo de cifrado también se le llama criptografía de clave pública o PKE (del inglés Public-Key Encryption). Los métodos más conocidos de este tipo de cifrado son el RSA y ElGamal.
La utilización de un sistema simétrico o asimétrico depende de las tareas a cumplir. La criptografía asimétrica presenta dos ventajas principales: suprime el problema de transmisión segura de la clave y permite la firma electrónica. No reemplaza sin embargo los sistemas simétricos, ya que los tiempos de cálculo son evidentemente más cortos con los sistemas simétricos que con los asimétricos.
Según la forma en la que operan los algoritmos de cifrado o descifrado, es posible distinguir varios tipos:[10]
En la criptografía clásica los cifrados se basaban en la sustitución (cifrado por sustitución), en la permutación (cifrado por transposición) o en una combinación de ambas técnicas. Habitualmente, las operaciones se aplicaban a bloques aunque otras veces se aplicaban al texto plano completo. Había cifrados por transposición que cambiaban la posición de caracteres a lo largo de la cadena que tenía que cifrarse. Por ejemplo, un cifrado podía consistir en permutar e invertir el orden de los caracteres, dejando el primer carácter en la última posición, el último en la primera posición, el segundo en penúltimo lugar, etcétera.
Hoy en día, el cifrado se utiliza en la transferencia de comunicación a través de Internet para la seguridad y el comercio.[11] A medida que la potencia de cálculo continúa aumentando, el cifrado de los ordenadores está en constante evolución para evitar los ataques de espionaje.[12] Con uno de los primeros paquetes de cifrado "modernos", Data Encryption Standard (DES), que utiliza una clave de 56 bits con 72.057.594.037.927.936 posibilidades, una contraseña pudo ser descifrada en 22 horas y 15 minutos por el DES cracker de la Electronic Frontier Foundation en 1999, que utilizaba un método de ataque por fuerza bruta para descifrar. Los estándares de cifrado modernos suelen utilizar tamaños de clave más fuertes, a menudo de 256, como AES (modo de 256 bits), Twofish, ChaCha20-Poly1305, Serpent (configurable hasta 512 bits). Los paquetes de cifrado que utilizan una clave de 128 bits o superior, como el Advanced Encryption Standard, no podrán ser forzados de forma bruta debido a la cantidad total de claves de 3,4028237e+38 posibilidades. La opción más probable para descifrar cifradores con un tamaño de clave elevado es encontrar vulnerabilidades en el propio cifrado, como sesgos inherentes (combinaciones obvias, o ligadas al usuario) y puertas traseras. Por ejemplo, el RC4, un cifrado de flujo, fue descifrado debido a sesgos inherentes y vulnerabilidades en el cifrado.
Muchas veces se agrupan los algoritmos de cifrado en función de sus propiedades o características. Algunos ejemplos:
El cifrado se utiliza en el siglo XXI para proteger los datos digitales y los sistemas de información. Con el aumento de la potencia de cálculo, la tecnología de encriptación se ha vuelto más avanzada y segura. Sin embargo, este avance tecnológico también ha puesto de manifiesto una posible limitación de los métodos de encriptación actuales.
Hoy en día, el estándar de las claves de cifrado modernas es de hasta 2048 bits con el sistema RSA.[13] Descifrar una clave de cifrado de 2048 bits es casi imposible a la luz del número de combinaciones posibles. Sin embargo, la computación cuántica amenaza con cambiar esta naturaleza segura.
La computación cuántica utiliza las propiedades de la mecánica cuántica para procesar grandes cantidades de datos simultáneamente. Se ha descubierto que la computación cuántica alcanza velocidades de cálculo miles de veces superiores a las de los superordenadores actuales.[14] Esta potencia de cálculo supone un reto para la tecnología de cifrado actual. Por ejemplo, el cifrado RSA utiliza la multiplicación de números primos muy grandes para crear un número semiprimo para su clave pública. Para descifrar esta clave sin su clave privada, es necesario calcular este número semiprimo, lo que puede llevar mucho tiempo con los ordenadores modernos. Una supercomputadora tardaría entre semanas y meses en factorizar esta clave.[cita requerida] Sin embargo, la computación cuántica puede utilizar algoritmos cuánticos para factorizar este número semiprimo en el mismo tiempo que tardan los ordenadores normales en generarlo. Esto haría que todos los datos protegidos por el actual cifrado de clave pública fueran vulnerables a los ataques de la computación cuántica.[15] Otras técnicas de cifrado como la criptografía de curva elíptica y el cifrado de clave simétrica también son vulnerables a la computación cuántica.[cita requerida]
Aunque la computación cuántica podría ser una amenaza para la seguridad del cifrado en el futuro, la computación cuántica, tal y como está planteada actualmente, es todavía muy limitada. La computación cuántica actualmente no está disponible comercialmente, no puede manejar grandes cantidades de código y solo existe como dispositivos de cálculo, no como ordenadores.[16] Además, los avances de la computación cuántica podrán utilizarse también a favor del cifrado. La Agencia de Seguridad Nacional (NSA) de los EE. UU. está preparando estándares de encriptación post-cuántica para el futuro.[17] El cifrado cuántico promete un nivel de seguridad que podrá contrarrestar la amenaza de la computación cuántica.[16]