Este artículo resume la historia de la criptología desde la antigüedad hasta nuestros días. La criptología incluye tanto criptografía , técnicas de cifrado combinadas con un mensaje claro y criptoanálisis para el análisis y descifrado del mensaje codificado.
El primer "documento" cifrado conocido se remonta a la Antigüedad . Se trata de una tableta de arcilla, que se encuentra en Irak , que data del XVI ° siglo antes de Cristo. AD Un alfarero había grabado su receta secreta suprimiendo consonantes y cambiando la ortografía de las palabras.
La primera gran recopilación de métodos criptográficos y esteganográficos practicado en la antigüedad es el de capítulo 31 de la Poliorcetique de Eneas el Táctico data del IV ° siglo antes de Cristo. J.-C.
Entre la X ª y VII º siglo aC. J. - C. parece atestiguada una técnica de encriptación por transposición, es decir basada en el cambio de posición de las letras en el mensaje, mediante el uso de un palito de determinado diámetro llamado scytale . Una tira de cuero fue enrollada en una hélice alrededor de la escítala antes de inscribir un mensaje. Una vez desenrollado, el mensaje se envió al destinatario que tenía un palo idéntico, necesario para el descifrado. Sin embargo, el uso de la escitala lacedemoniana como proceso criptográfico sólo es afirmado explícitamente por Plutarch y Aulu-Gelle , autores del fin de la Antigüedad, y no es mencionado por Eneas el táctico : por lo tanto, ¿la escitala era realmente un proceso criptográfico?
Alrededor de -600 , Nabucodonosor , rey de Babilonia , usó un método original: escribió en las cabezas afeitadas de sus esclavos, esperó hasta que les hubiera vuelto a crecer el cabello y se lo envió a sus generales. Luego le bastó volver a afeitar al mensajero para leer el texto. Sin embargo, es estrictamente hablando esteganografía y no criptografía: la información está oculta y no codificada.
Al utilizar esta técnica, la interceptación del mensaje por parte de un tercero se advierte de inmediato.
Desde el V º siglo aC. AD , una de las primeras técnicas de encriptación es utilizada en textos religiosos por los hebreos que conocen varios procesos.
El más conocido llamado Atbash es un método de sustitución alfabética inversa. Su nombre está formado por las iniciales de la primera y última letra del alfabeto hebreo a leph, t av, b eth, sh in.
Consiste en reemplazar cada letra del texto plano por otra letra del alfabeto elegida de la siguiente manera: A se convierte en Z, B se convierte en Y, etc.
Hay que esperar -200 para ver la aparición de los primeros sistemas criptográficos "reales". Estos son esencialmente cifrados de sustitución.
Hay 3 tipos de sustituciones:
El código de César es el método criptográfico, monoalfabética sustitución de las más antiguas ( I er siglo aC. ).
Este método se utiliza en el ejército romano y aunque es mucho menos robusto que la técnica de Atbash , el bajo nivel de alfabetización de la población lo hace suficientemente eficaz.
Método de encriptaciónSu sistema es sencillo, consiste en desplazar las letras del alfabeto por un número n . Por ejemplo, si reemplazamos A por D (n = 3), reemplazamos B por E, C por F ...
El texto que queremos cifrar es el siguiente: "cambiar las letras del alfabeto".
El texto cifrado es entonces: "ghfdohu ohv ohwwuhv gh o'doskdehw".
Límites del procesoDesafortunadamente, entenderemos que este sistema es muy inseguro, ya que solo hay 26 letras en el alfabeto, por lo que solo hay 25 formas de cifrar un mensaje con el código César (no podemos sustituir una letra por sí sola). Sin embargo, su sencillez llevó a los oficiales del sur a volver a emplearlo durante la Guerra Civil . El ejército ruso hizo lo mismo en 1915 .
Un sistema conocido y sin embargoEl código Caesar se ha utilizado en foros de Internet con el nombre ROT13 (rotación de 13 letras o A → N…). ROT13 no tiene la intención de hacer que el texto sea confidencial, sino de evitar la lectura involuntaria (de una respuesta a un acertijo, o la trama de una película, etc. ). Su uso es simple: todo lo que tienes que hacer es volver a encriptar un texto, codificado en ROT13, una segunda vez para obtener el texto claro.
El historiador griego Polibio está en el origen del primer método de cifrado por sustitución homofónica.
Método de encriptaciónEs un sistema de transmisión basado en un cuadrado de 25 casillas (este cuadrado se puede ampliar a 36 casillas, para poder sumar los números o encriptar alfabetos con más letras, como el alfabeto cirílico ).
En francés, se retira el W , para ser reemplazado por V . Hay una variante en la que yo y J compartimos la misma caja. Por tanto, cada letra puede representarse mediante un grupo de dos dígitos: el de su fila y el de su columna. Entonces e = (1; 5), u = (5; 1), n = (3; 4)…
Un medio de transmisión originalPolibio propuso transmitir estos números por medio de antorchas. Una linterna a la derecha y cinco a la izquierda para transmitir la letra e, por ejemplo. Por tanto, este método permitió transmitir mensajes a largas distancias.
Su originalidadLos criptólogos modernos han visto varias características extremadamente interesantes en el "cuadrado de 25":
Este sistema de encriptación puede complicarse con una contraseña. Por ejemplo, si la contraseña es "DIFFICILE", comenzaremos a llenar el cuadrado con las letras de esta palabra, luego de borrar las letras idénticas, luego completaremos la tabla con las letras no utilizadas.
En 1586 , el diplomático francés Blaise de Vigenère presentó en su libro Traicté des figures, o Secretes way to write ( Link Bibliothèque Nationale de France ) una técnica de cifrado de sustitución polialfabética inspirada en la de Trithème . El cifrado de Vigenère no se rompió hasta 1854 .
Método de encriptaciónEl cifrado utiliza una clave o contraseña literal, cada letra de la cual indica el cambio alfabético que se aplicará al texto sin formato.
Las letras del alfabeto se colocan en una cuadrícula de 26 x 26 cuadrados; la primera fila que contiene A , B ..., las siguientes columnas están cada una desplazada en una posición con respecto a la anterior. El texto cifrado se obtiene tomando la intersección, de la línea que comienza con la letra a codificar, con la columna que comienza con la primera letra de la contraseña, y así sucesivamente. Tan pronto como llegue al final de la contraseña, comience de nuevo con la primera letra. Para decodificar, simplemente haga lo mismo en la otra dirección.
Los puntos fuertes de este métodoEste algoritmo de criptografía tiene muchas ventajas. Es muy fácil de usar y el descifrado es igual de fácil si conoce la clave. La gran característica del cifrado de Vigenère es que es imposible, mediante un simple análisis estadístico, encontrar dónde están determinadas letras. Otra ventaja radica en el hecho de que se pueden producir un número infinito de claves. No fue hasta casi tres siglos para que sea el criptoanálisis en el medio de la XIX ª siglo. Ver Criptoanálisis del cifrado de Vigenère .
El inventor de este sistema es Félix-Marie Delastelle . Utiliza una cuadrícula de cifrado / descifrado similar a la del cifrado Polybius.
Método de encriptaciónEn primer lugar, debemos agrupar las letras del mensaje simple en grupos de 5 por (si es necesario, agregamos nulos para llegar a un múltiplo de 5).
Para descifrar, realizamos la operación en sentido contrario.
Una simple adaptaciónEsta figura difiere poco de la de Polibio. Se presenta aquí para mostrar la diversidad de métodos de cifrado: la mayoría de estos métodos son simples adaptaciones de métodos ya existentes.
La Primera Guerra Mundial marcó la ansiada victoria del criptoanálisis frente a la criptografía enredada en los imperativos de la eficiencia.
Durante la guerra del 14-18, el dominio criptoanalítico de los franceses les ayudó mucho a descifrar los mensajes enemigos. En 1914 , el primer descifrado fue realizado por el comandante Louis Thévenin, quien dio a los aliados una ventaja significativa desde el inicio del conflicto (combinación de números y seguridad de la información n ° 28/2000) . El Estado Mayor establece un servicio especial llamado "gabinete negro" y responsable de descifrar los mensajes alemanes. Descifrado, 1 st de junio de 1918 un telegrama de radio alemana por el teniente Georges Painvin ha demostrado por lo tanto decisiva ofensiva para contrarrestar una reciente alemana. Evocando a este teniente, Georges Clemenceau habría afirmado que por sí solo valía un cuerpo de ejército.
El telegrama de Zimmermann , interceptado en 1917 por el Reino Unido que criptoanalizó su contenido, aceleró la entrada en la guerra de Estados Unidos .
Las transmisiones de velocidad recibidos en el progreso de la XIX ª siglo y ahora es instantáneo, pero desciframiento de mensajes cifrados, hechos a mano, sigue siendo muy lento, a menudo requieren varias horas.
Por lo tanto, es probable que el cifrado / descifrado completamente manual sea incorrecto. Debe ser relativamente simple y rápido de aplicar (aproximadamente una hora) para obtener la información a tiempo y evitar errores de codificación debido al estrés del campo de batalla. Las cifras utilizadas no garantizan, por tanto, un nivel de seguridad satisfactorio, pero hoy con los ordenadores, el uso de máquinas nos permite decir que, con la criptología, hemos entrado en la era de la ciencia.
La criptología jugó un papel decisivo durante la Segunda Guerra Mundial. Las hazañas de los aliados en materia de criptoanálisis habrían permitido acortar la guerra (de uno a dos años, según algunos especialistas). Churchill citó la criptología como uno de los factores clave de la victoria.
La historia de la máquina Enigma comienza en 1919 , cuando un ingeniero holandés, Hugo Alexander Koch , presenta una patente para una máquina de cifrado electromecánica. Sus ideas son reflejadas por D r Arthur Scherbius que crea Berlín una empresa para fabricar y comercializar una máquina para cifrar calendario: Enigma. Esta empresa fracasa, pero la máquina Enigma ha llamado la atención de los militares.
Cómo funciona EnigmaEl cifrado realizado por la máquina Enigma es simple e inteligente. Cada letra se reemplaza por otra, el truco es que la sustitución cambia de una letra a otra. La máquina funciona con una batería eléctrica. Cuando se presiona una tecla en el teclado, se cierra un circuito eléctrico y se enciende una letra de un tablero de visualización que indica por qué sustitución se ha realizado el cifrado. Concretamente, el circuito eléctrico está formado por varios elementos de cadena:
Podemos componer los rotores, es decir ponerlos uno tras otro. La máquina Enigma tendrá, según sus sucesivos desarrollos, de 3 a 6 rotores. Entre estos rotores, solo 3 están en su lugar en la máquina, y puede optar por colocarlos en el orden que desee (que será parte de la clave). Es importante destacar que los rotores son cilíndricos y pueden girar alrededor de su eje. Por lo tanto, cada vez que se escribe una letra, el primer rotor gira una muesca y se cambia la permutación que genera. Observe que este cambio en la siguiente figura: el rotor convierte inicialmente D en B . Cuando se gira una muesca, esta conexión eléctrica D → B se encuentra en ascenso C → A .
Por tanto, cada rotor tiene 26 posiciones. Cada vez que se escribe una letra, el primer rotor gira una muesca. Después de 26 letras, ha vuelto a su posición original y el segundo rotor gira una muesca. Empezamos a girar el primer rotor de nuevo, y así sucesivamente ... Cuando el segundo rotor ha recuperado su posición inicial, el tercer rotor gira una muesca.
Resumamos en la siguiente máquina simplificada (6 letras, 2 rotores) cómo se cifra la letra A:
Tenga en cuenta que si se hubiera tecleado C , la corriente habría circulado en la otra dirección y nos hubiera obtenido una .
Número de claves posiblesHay tres cosas que necesita saber para poder descifrar un mensaje encriptado usando una máquina Enigma:
Multiplicamos todo eso y obtenemos más de 10 16 posibilidades, lo cual es enorme para la época.
Los circuitos de corriente eléctrica dentro de la máquina no pueden considerarse parte del secreto. De hecho, todas las máquinas del mismo modelo utilizan las mismas, por lo que es suficiente tener una disponible. Los británicos, por ejemplo, recuperaron varios que copiaron en grandes cantidades. Además, se conoce el principio de Enigma, los británicos fabrican una versión muy mejorada, la máquina Typex . Esta es una ilustración de un principio general en criptografía, conocido como el principio de Kerckhoffs , que establece que todo el secreto debe residir en la clave de cifrado y descifrado, y no en ninguna confidencialidad del algoritmo (aquí de la máquina) que no puede ser razonablemente posible. garantizado.
Fortalezas y debilidadesYa hemos descrito los puntos fuertes de la máquina Enigma . Esencialmente, es el número casi infinito de claves y la reversibilidad: si, con la misma clave, escribimos el mensaje claro, obtenemos el mensaje encriptado, y con el mensaje encriptado, obtenemos el mensaje claro.
Uno de los defectos de la máquina Enigma es que la letra A nunca estará codificada por una A. Otra característica, dos letras diferentes tachadas en sucesión (por ejemplo, AB) nunca dan la misma letra cifrada dos veces seguidas (por ejemplo, CC). Esto elimina una serie de combinaciones. Otra debilidad, las fallas de los cifrados: algunos cifrados envían mensajes del mismo formato con palabras recurrentes. Este es el caso de los mensajes meteorológicos que circulan por Enigma, pero también en redes menos protegidas. Los británicos entonces conocen, en parte del mensaje, tanto el texto claro como el texto cifrado. Y como la misma clave es utilizada por todas las máquinas Enigma de la misma red, para un día determinado, un error de protocolo en un mensaje compromete todos los mensajes de esta red, ¡ese día!
El descifrado de mensajes EnigmaEl servicio de inteligencia polaco fue el primero en atacar el sistema de cifrado Enigma, en la década de 1930. Los polacos luego trabajó en colaboración con el servicio de cifrado de la 2 ª oficina francesa, encabezada por el Coronel Gustave Bertrand , con la ayuda de la información de la mole Hans Schmidt -Thilo ("Asche" para los servicios franceses también fue nombrado "Fuente T" por los servicios franceses de contraespionaje). Finalmente, se establece una colaboración con los servicios británicos, que reunieron a sus criptógrafos especialistas (en particular Alan Turing ) en Bletchley Park .
El Naval Enigma es significativamente diferente de otras versiones. La posición inicial está indicada por combinaciones de letras manipuladas de tablas de bigramas. Los cifrados de la Kriegsmarine no cometen errores. Cifrados antes de ser cifrados, los mensajes son demasiado cortos para admitir el descifrado. El tráfico de U-Boot es ilegible.
Las bombas electromecánicas utilizadas para reconstituir la clave de los mensajes Enigma son reguladas por Wrens (marinettes) según las instrucciones de los criptoanalistas. Una vez que se descubre la clave diaria de una red, los equipos de descifrado descifran los mensajes. El papel de las bombas es simplemente encontrar la clave. Los 9000 anfitriones de Bletchley Park descifraban entre tres y cuatro mil mensajes todos los días.
Enigma y UNIXUn estudiante se divirtió una vez programando en lenguaje C la simulación del funcionamiento de una máquina Enigma. Este programa se incluyó en las distribuciones de Unix con el nombre de crypt (utilizable como comando de UNIX). Hasta la desclasificación del trabajo del grupo Bletchley Park , las firmas de ingeniería creían que este cifrado era muy seguro y lo usaban para intercambiar su información confidencial, para el deleite de la Agencia de Seguridad Nacional al ver su trabajo considerablemente facilitado .
Si la máquina Enigma es la más conocida, el ataque a la máquina Lorenz, utilizada por el alto mando enemigo para cifrar sus teleimpresiones, está en el origen de un inmenso progreso en la ciencia y la tecnología.
¿Romper el código?El cifrado Enigma nunca se ha descifrado . Los errores de los cifradores y el poder de las bombas (varios cientos al final de la guerra) permitieron encontrar, en determinados días, la clave diaria de determinadas redes. Este es un ataque de fuerza bruta.
El cifrado de Lorenz se ha roto : a partir del texto cifrado, el texto claro se reconstituye, sin el uso de una clave.
El análisis de cifrado de LorenzEl cifrado de Lorenz practicó el cifrado de flujo . Este tipo de cifrado tiene una debilidad: se vuelve trivial revertir cuando dos mensajes se cifran con la misma clave.
Suponiendo que A es texto sin cifrar, que B es la clave y que el mensaje cifrado es A + B o A ', si dos mensajes están cifrados con la misma clave, A' = A + B y C '= C + B, basta con añadir los dos textos cifrados para eliminar la clave.
A '+ C' = (A + B) + (C + B) = (A + C) + (B + B) = A + C ya que B + B = 0.
Dado que ahora se eliminan todos los efectos de la clave, solo queda hacer un análisis estadístico para “separar” los dos textos A y C y así encontrar cada uno de ellos. La clave también se vuelve trivial de calcular (es igual a A '+ A).
Esta es la mayor debilidad de esta figura.
Un cifrador transmitió un mensaje largo para recibir un NACK (mensaje no recibido) en respuesta. En lugar de seguir las reglas y producir una nueva clave, tomó la misma clave y resintió su mensaje. Si hubiera devuelto exactamente el mismo texto letra por letra, el ataque no habría sido posible. Por otro lado, usando un diminutivo aquí y un sinónimo allá, técnicamente envió este segundo mensaje encriptado con la misma clave.
Después de encontrar los dos mensajes y la clave única, este último reveló sus secretos. La técnica utilizó letras cifradas de cinco bits en las que cada bit pasaba por un canal de cifrado diferente. La clave mostró algunas repeticiones. De estos se dedujo todo el principio de generación de la clave y el de la máquina de Lorenz. Otra distinción entre Enigma y Lorenz es que los Aliados habían adquirido varios Enigmas que copiaron en número. Por el contrario, los aliados no vieron una auténtica máquina de Lorenz hasta después del final de la guerra.
La debilidad de la figura de LorenzSi bien ahora se conocía el mecanismo de generación de claves de Lorenz, no era suficiente para descifrar los otros mensajes cifrados. Además, el análisis estadístico de la clave mostró que permanecería aleatoria en cada canal incluso si estuviera controlada por parámetros no aleatorios, como la preponderancia de ciertas letras en un idioma.
No obstante, se encontró una debilidad en el código de Lorenz. Dos letras idénticas consecutivas produjeron un resultado constante en cada uno de los 5 canales del texto cifrado. Un ejemplo es el duplicado "SS", además de los impuestos por la lengua.
Fallout de la guerra de cifrado de LorenzEncontrar una laguna jurídica es una cosa, explotarla es otra. De hecho, el análisis estadístico necesario para encontrar estos duplicados requería una potencia no disponible por medios conocidos. Sin embargo, fue en este momento cuando se desarrolló la última arma de descifrado, la computadora Colossus .
Por lo tanto, es gracias a Colossus que se pudo romper el cifrado de Lorenz. Sin embargo, los detalles de sus algoritmos van más allá de los objetivos de este apartado.
El mayor tributo lo da un alemán que compara el esfuerzo masivo de los Aliados con los ataques nucleares contra Japón .
Aunque los medios de cifrado electromecánicos, como la máquina Enigma , han demostrado su eficacia en términos de seguridad, no obstante son engorrosos y lentos.
Una cifra transmitida en código Morse es casi inutilizable en primera línea. Los estadounidenses buscan un medio de codificación que proteja el intercambio de voz por radio, en el campo, durante la guerra entre ellos y los japoneses .
El ingeniero estadounidense Philip Johnston, que había crecido en las reservas navajos, tuvo la idea de usar su lenguaje como código. Prácticamente desconocido, este lenguaje, de construcción gramatical muy particular, es impenetrable.
Sin embargo, hay un problema: las palabras comunes del ejército no existen en el idioma navajo . Por tanto, se decidió inventar equivalentes entre las palabras navajo y el dialecto militar. Este léxico se estableció por asociación de ideas para que sea más fácil de recordar. El término " bombardero " se tradujo, por ejemplo, como "boquilla", mientras que las "bombas" lanzadas por estos dispositivos se convirtieron en "huevos" en el idioma navajo.
Así es como los Hablantes del código ( Windtalkers ) Navajo participaron en la Guerra del Pacífico . Su valentía en el combate fue reconocida oficialmente por el gobierno de Estados Unidos cuando les dedicó el 14 de agosto de 1982 .
Muchos consideran que Claude Shannon es el padre de la criptografía matemática. Trabajó durante varios años en los Laboratorios Bell, donde produjo un artículo titulado A Mathematical Theory of Cryptography ( Una teoría matemática de la criptografía ). Este artículo fue escrito en 1945 y publicado en el Bell System Technical Journal en 1949. Shannon continuó su trabajo produciendo otro artículo titulado A Mathematical Theory of Communication . La guerra había llevado a Shannon a interesarse por la criptografía porque los mensajes secretos son una aplicación interesante de la teoría de la comunicación . Se cree comúnmente que su primer artículo, publicado en 1949, fue el punto de partida para el desarrollo de la criptología moderna.
Shannon definió los dos objetivos principales de la criptología: el secreto y la autenticación . Hizo hincapié en la exploración del secreto y, treinta y cinco años después, GJ Simmons abordaría el tema de la autenticación. El artículo A Mathematical Theory of Communication destaca uno de los aspectos más significativos del trabajo de Shannon: la transición de la criptología del arte a la ciencia .
En sus artículos, Shannon ha descrito ambos tipos de secretos. Los primeros son aquellos diseñados con la intención de proteger un mensaje de adversarios con recursos infinitos para decodificar un mensaje (secreto teórico), y los segundos son aquellos diseñados para proteger un mensaje de adversarios con recursos limitados para decodificar un mensaje. secreto práctico). La mayor parte del trabajo de Shannon se refiere al secreto teórico. Shannon introdujo una definición de invulnerabilidad de un cifrado. El cifrado invulnerable se considera "un secreto perfecto". Shannon demostró que el secreto perfecto solo se puede obtener con una clave secreta cuya longitud sea igual a la longitud de la información a cifrar.
El trabajo de Shannon influyó en la investigación de la criptografía hasta la década de 1970, como lo demuestra el hecho de que los desarrolladores de la criptografía de clave pública , Martin Hellman y Whitfield Diffie , mencionaron los artículos de Shannon como una de sus principales influencias. Su trabajo también ha influido en los diseños modernos de cifrado de claves secretas. Al final del trabajo de Shannon, los avances en criptografía se ralentizaron hasta que Hellman y Diffie presentaron su artículo sobre criptografía de clave pública .
En la década de 1970, el uso de computadoras permitió tres grandes avances públicos (es decir, no secretos y no controlados por los servicios de inteligencia):
El primero de estos desarrollos fue la publicación del borrador del Estándar de cifrado de datos ( DES ) en el Registro Federal (en) el 17 de marzo de 1975. El cifrado DES fue propuesto por un grupo de investigación de IBM, por invitación de la Oficina Nacional de Estándares. (ahora Instituto Nacional de Estándares y Tecnología o NIST ), con el objetivo de desarrollar medios electrónicos de comunicación seguros para empresas como bancos y otras grandes organizaciones financieras. Después del asesoramiento y las modificaciones de la Agencia de Seguridad Nacional ( NSA ), el cifrado fue adoptado y publicado como la Publicación del Estándar de Procesamiento de Información Federal ( FIPS ; en francés, publicación de un estándar federal de procesamiento de información) en 1977 (actualmente FIPS 46-3) .
DES se basó en una clave secreta de 56 bits. DES fue el cifrado disponible públicamente bendecido por una agencia nacional, como la NSA. La publicación de las especificaciones para este cifrado por parte de la NBS ha estimulado enormemente el interés público y académico por la criptografía.
En 1984, el cifrado DES de 56 bits se reforzó y se convirtió en la variante DESX basada en una clave de 119 bits. El cifrado se refuerza por segunda vez para convertirse en la variante Triple DES basada en una clave de 168 bits en 1998. El cifrado DES envejecido fue reemplazado oficialmente por el Estándar de cifrado avanzado ( AES ) en 2001, cuando el Instituto Nacional de Estándares y Tecnología ( NIST ) anunció el Estándar Federal de Procesamiento de Información ( FIPS ) 197. Después de una competencia abierta, NIST seleccionó un cifrado presentado por dos criptógrafos belgas como el nuevo estándar denominado Estándar de cifrado avanzado ( AES ). Aunque el estándar AES se implementó ampliamente en 2016, las variaciones de DES que se habían incorporado en muchos estándares nacionales y organizacionales (como Triple DES) todavía existen en algunas aplicaciones.
Debido a los avances en el criptoanálisis y al aumento de la potencia de las computadoras, el estándar DES original con su clave de 56 bits es claramente inadecuado para proteger un mensaje de ataques de fuerza bruta . Un ataque de este tipo, llevado a cabo por la asociación Electronic Frontier Foundation en 1997, logró romper este cifrado en 56 horas.
El desarrollo del intercambio de claves Diffie-HellmanQuizás aún más importante fue el segundo desarrollo, en 1976, ya que cambió fundamentalmente el funcionamiento de los sistemas criptográficos. Fue la publicación del artículo New Directions in Cryptography ( Nuevas direcciones en criptografía ) de Whitfield Diffie y Martin Hellman . Este artículo introdujo un método radicalmente nuevo de distribución de claves criptográficas, que resolvió uno de los problemas fundamentales de la criptografía: la distribución de claves. Este modo de distribución de claves se denomina intercambio de claves Diffie-Hellman . El artículo también estimuló el desarrollo casi inmediato de una nueva clase de algoritmos de cifrado, los algoritmos de cifrado asimétrico .
Antes de esta fecha, todos los algoritmos de cifrado (antiguos y modernos) habían sido algoritmos de cifrado simétrico en los que tanto el remitente como el receptor utilizan la misma clave criptográfica con el algoritmo subyacente, todos los cuales deben conocer la clave y mantenerla en secreto. . Todas las máquinas electromecánicas utilizadas en la Segunda Guerra Mundial utilizaron este tipo de algoritmo, al igual que el código César y el código Atbash de los hebreos y todos los sistemas de cifrado a lo largo de la historia. En la práctica, la distribución de claves y su protección plantean grandes desafíos y reducen considerablemente la posibilidad de utilizar este tipo de cifrado y su seguridad, especialmente cuando un gran número de personas necesitan conocer la clave.
En tales sistemas, la clave tenía que intercambiarse entre las partes que se comunican de manera segura antes de cualquier uso (el término generalmente utilizado es "a través de un canal seguro") como un mensajero confiable con un maletín esposado a la muñeca, una cara de contacto a la cara o una paloma fiel. Este requisito nunca es trivial y muy rápidamente se vuelve inmanejable cuando aumenta el número de participantes o cuando no hay canales seguros disponibles para el intercambio de claves o cuando las claves deben cambiarse con frecuencia. Además, si un remitente envía mensajes a varias personas en un grupo y cada destinatario de un mensaje debe ser el único que puede descifrarlo, el remitente debe intercambiar una clave a través de un canal seguro con cada persona del grupo. Dicho sistema se conoce como cifrado de clave secreta o clave simétrica. El intercambio de claves Diffie-Hellman (y las posteriores mejoras y variaciones) ha simplificado el funcionamiento de dichos sistemas y los ha hecho más seguros de lo que había sido posible anteriormente en toda la historia.
El desarrollo del cifrado asimétricoEl cifrado asimétrico utiliza un par de claves relacionadas matemáticamente, cada una de las cuales descifra el cifrado realizado por el otro. Estos algoritmos tienen la propiedad adicional de que una de las claves emparejadas no puede deducirse de la otra mediante ningún proceso conocido que no sea una gran cantidad de prueba y error. Un algoritmo de este tipo se denomina algoritmo de cifrado de clave pública o algoritmo de clave asimétrica. Con tal algoritmo, un solo par de claves es suficiente para permitir que una persona se comunique con varios destinatarios. Al designar una clave del par como privada (siempre secreta) y la otra como pública (a menudo ampliamente disponible), no se necesita un canal seguro para el intercambio de claves. Siempre que la clave privada permanezca en secreto, la clave pública puede ser ampliamente conocida durante mucho tiempo sin comprometer la seguridad, lo que permite que el mismo par de claves se reutilice indefinidamente.
Para que dos usuarios de un algoritmo de clave asimétrica se comuniquen de forma segura a través de un canal no seguro, cada usuario debe conocer su clave pública y su clave privada, así como la clave pública del otro usuario. Aquí hay un escenario básico: Alice y Bob tienen cada uno un par de claves que posiblemente han usado durante años con muchos otros usuarios. Al comienzo de su conversación, intercambian sus claves públicas en claro a través de un canal no seguro. Alice luego encripta un mensaje usando su clave privada, luego encripta el resultado nuevamente usando la clave pública de Bob. A continuación, Alice envía el mensaje doblemente cifrado a Bob a través de un canal no seguro. Bob recibe el flujo de bits y lo descifra usando su propia clave privada, luego lo descifra nuevamente usando la clave pública de Alice. Si el resultado final es reconocible como un mensaje, Bob está seguro de que el mensaje es de alguien que conoce la clave privada de Alice (probablemente la propia Alice si ha protegido bien su clave privada), y que cualquiera que haya escuchado el mensaje en el canal no seguro no pudo descifrar el mensaje porque no tenía la clave privada de Bob.
Cifrado asimétrico algoritmos dependen para su eficacia en una clase de funciones matemáticas llamadas unidireccionales funciones , que requieren relativamente poca energía para funcionar de computación, pero grandes cantidades de computación para revertir, si es posible reversión. Un ejemplo clásico de función unidireccional es la multiplicación de números primos muy grandes . Es fácil multiplicar dos números primos grandes, pero muy difícil encontrar los factores del producto de dos números primos grandes.
Debido a las características de las funciones unidireccionales , la mayoría de las claves posibles son malas opciones para las claves de cifrado; solo una pequeña fracción de las claves posibles son aceptables. Como resultado, los algoritmos de cifrado asimétrico requieren claves muy largas para lograr el mismo nivel de seguridad que las claves de cifrado simétricas que son relativamente más cortas. La necesidad de generar pares de claves muy largos y realizar las operaciones de cifrado y descifrado utilizando estas claves largas hace que los algoritmos de cifrado asimétrico sean computacionalmente costosos en comparación con la mayoría de los algoritmos de cifrado simétrico. Dado que los algoritmos de cifrado simétrico pueden usar cualquier cadena de bits (aleatoria o al menos impredecible) como clave secreta, se puede generar rápidamente una clave secreta desechable para su uso a corto plazo en una sola sesión. Por lo tanto, es una práctica común usar claves asimétricas largas para intercambiar una clave simétrica desechable mucho más corta (pero igualmente fuerte). El algoritmo de cifrado asimétrico lento envía de forma segura una clave de sesión simétrica; el algoritmo de cifrado simétrico más rápido se hace cargo del resto de la llamada.
Descubrimientos mantenidos en secreto por el servicio de inteligencia del Reino UnidoLa criptografía asimétrica , el intercambio de claves Diffie-Hellman y los algoritmos de criptografía asimétrica más conocidos (generalmente llamados encriptación RSA ) parecen haber sido desarrollados de forma independiente por la Sede de Comunicaciones del Gobierno (GCHQ), el servicio de inteligencia del Gobierno Electrónico del Reino Unido , antes de la primera artículo sobre esta rama de la criptografía, publicado por Diffie y Hellman en 1976. De hecho, el GCHQ publicó documentos en los que afirmaba que había desarrollado criptografía de clave pública antes de la publicación del artículo de Diffie y Hellman. Varios artículos secretos clasificados fueron escritos en GCHQ durante las décadas de 1960 y 1970 y finalmente condujeron a algoritmos esencialmente idénticos al cifrado RSA y al intercambio de claves Diffie-Hellman en 1973 y 1974, unos años antes de que estos algoritmos fueran publicados por académicos estadounidenses. Algunos de estos artículos ya se han publicado y los inventores ( James Ellis , Clifford Cocks y Malcolm Williamson ) han hecho público su trabajo.
Además de permitir los tres principales avances mencionados anteriormente, las computadoras han hecho posible desarrollar funciones de hash criptográficas y usarlas en varios contextos.
Hash es una función aplicada a una cadena de caracteres o bits para producir un valor hash (una cadena de bits). El valor hash es un hash digital del mensaje. El valor hash también se conoce como mensaje de resumen o suma de comprobación . La función hash proporciona una salida de longitud fija: no importa cuánto tiempo se le envíe el mensaje, la función hash siempre produce un valor hash que contiene el mismo número de bits.
Una función hash criptográfica es una función hash que tiene ciertas características. En particular, una función hash criptográfica es una función unidireccional , es decir, una función cuyo reverso es imposible de calcular, incluso utilizando una gran cantidad de potencia informática durante un largo período de tiempo.
Usos de funciones hash criptográficas Comprobación de la integridad de un mensajeEl hash se utiliza para determinar si un mensaje se ha modificado en la transmisión. Si el valor hash del mensaje recibido es diferente del producido antes de que se enviara el mensaje, el mensaje ha sido modificado.
Es importante tener en cuenta que el hash es diferente al cifrado. El hash es una operación unidireccional (no reversible) que se utiliza para transformar un mensaje en un valor hash (una cadena de bits). Al comparar el valor hash de un mensaje antes y después de la transmisión, se puede ver si el mensaje se ha dañado durante la transmisión. No es posible volver a crear un mensaje a partir de su valor hash porque hay pérdida de información. El cifrado es una operación reversible (por lo tanto, sin pérdida de información) que se utiliza para transformar texto claro en texto cifrado incomprensible para un adversario. Una vez en su destino, el mensaje cifrado se puede descifrar para que el destinatario pueda entenderlo.
Firma de documentosLos algoritmos criptográficos que verifican la autenticidad de una firma digital en un documento no funcionan eficazmente en documentos grandes. Por lo tanto, el hash se utiliza para producir una huella digital de un documento que puede procesarse más fácilmente mediante un algoritmo de verificación de firma.
Validación de contraseñaLos sistemas informáticos utilizan el hash criptográfico para validar una contraseña sin guardar una copia. No sería prudente que un sistema informático guardara una copia de las contraseñas de sus usuarios, ya que los empleados de mantenimiento del sistema o los piratas informáticos podrían robar estas contraseñas . En lugar de conservar las contraseñas, los sistemas informáticos codifican las contraseñas inmediatamente después de su creación y solo retienen su valor hash. Al validar una contraseña, el sistema aplica un hash a la contraseña proporcionada por el usuario y compara el valor hash obtenido con el valor hash guardado al crear la contraseña.
Dado que las funciones hash criptográficas son unidireccionales funciones , un intruso que tuvo acceso a la tabla de valores hash de la contraseña no podía utilizar esta información para calcular las contraseñas.
Los desarrollos públicos de cifrado de la década de 1970 rompieron el monopolio virtual de las agencias gubernamentales sobre el cifrado de alta calidad. Por primera vez, las organizaciones no gubernamentales han tenido acceso a una criptografía de calidad cuyos códigos son irrompibles, incluso para los gobiernos.
Las controversias y los conflictos, tanto públicos como privados, comenzaron de manera más o menos inmediata. Estos conflictos recibieron el nombre de Crypto Wars (en francés : "guerras de criptografía"). Estas guerras continúan hoy, incluso en los países occidentales democráticos. En muchos países, por ejemplo, la exportación de criptomonedas está sujeta a restricciones. Hasta 1996, la exportación de algoritmos criptográficos con claves de más de 40 bits estaba estrictamente restringida a los Estados Unidos. En 2004, el ex director del FBI , Louis Freeh , en testimonio ante la Comisión Nacional de Ataques Terroristas contra Estados Unidos , pidió nuevas leyes contra el uso público del cifrado.
Uno de los más defensores del cifrado sólido para uso público ha sido Phil Zimmermann . Desarrolló y luego distribuyó Pretty Good Privacy ( PGP ), un sistema criptográfico de muy alta calidad. Distribuyó una versión gratuita de PGP cuando se sintió amenazado por la legislación que el gobierno de los EE. UU. Estaba revisando y que requeriría la inclusión de puertas traseras en todos los productos criptográficos desarrollados en los Estados Unidos. Su sistema se distribuyó en todo el mundo poco después de su distribución en Estados Unidos. El Departamento de Justicia de los Estados Unidos ha llevado a cabo una extensa investigación criminal sobre Phil Zimmermann por presunta violación de las restricciones a la exportación. El Departamento de Justicia finalmente abandonó su investigación y la distribución gratuita de PGP continuó en todo el mundo. PGP incluso terminó convirtiéndose en un estándar abierto de Internet ( RFC 2440 u OpenPGP ).
Aunque el cifrado AES y los cifrados asimétricos de buena calidad se consideran en general como irrompibles, a veces todavía se ponen en producción diseños e implementaciones de cifrado deficientes, lo que ha provocado fallos de cifrado en los últimos años.
Ejemplos notables de sistemas de cifrado rotos son:
Todos los cifrados mencionados en el párrafo anterior son cifrados simétricos .
Hasta ahora, ninguno de los algoritmos matemáticos utilizados en la criptografía de clave pública ha demostrado ser irrompible. En consecuencia, los descubrimientos matemáticos o el aumento del poder de las computadoras podrían hacerlas inseguras. Sin embargo, pocos criptólogos prevén tales avances en el futuro previsible. Por otro lado, los avances en matemáticas y el aumento gradual de la potencia y la disponibilidad de las computadoras debilitan los algoritmos de cifrado y obligan a los criptógrafos a utilizar claves cada vez más largas.