stringtranslate.com

Criptografía

Máquina de cifrado de Lorenz de doce rotores con mecanismo
Máquina de cifrado de Lorenz , utilizada en la Segunda Guerra Mundial para cifrar las comunicaciones del Alto Mando alemán

La criptografía , o criptología (del griego antiguo : κρυπτός , romanizadokryptós "oculto, secreto"; y γράφειν graphein , "escribir", o -λογία -logia , "estudio", respectivamente [1] ), es la práctica y el estudio de técnicas para la comunicación segura en presencia de comportamiento adversario . [2] De manera más general, la criptografía trata sobre la construcción y el análisis de protocolos que evitan que terceros o el público lean mensajes privados. [3] La criptografía moderna existe en la intersección de las disciplinas de las matemáticas, la informática , la seguridad de la información , la ingeniería eléctrica , el procesamiento de señales digitales , la física y otras. [4] Los conceptos básicos relacionados con la seguridad de la información ( confidencialidad de los datos , integridad de los datos , autenticación y no repudio ) también son fundamentales para la criptografía. [5] Las aplicaciones prácticas de la criptografía incluyen el comercio electrónico , las tarjetas de pago basadas en chip , las monedas digitales , las contraseñas de computadoras y las comunicaciones militares .

La criptografía antes de la era moderna era efectivamente sinónimo de cifrado , convirtiendo información legible ( texto simple ) en texto sin sentido ininteligible ( texto cifrado ), que solo se puede leer invirtiendo el proceso ( descifrado ). El remitente de un mensaje cifrado (codificado) comparte la técnica de descifrado (decodificación) solo con los destinatarios previstos para impedir el acceso de los adversarios. La literatura criptográfica a menudo utiliza los nombres "Alice" (o "A") para el remitente, "Bob" (o "B") para el destinatario previsto y "Eve" (o "E") para el adversario que escucha a escondidas . [6] Desde el desarrollo de las máquinas de cifrado de rotor en la Primera Guerra Mundial y la llegada de las computadoras en la Segunda Guerra Mundial , los métodos criptográficos se han vuelto cada vez más complejos y sus aplicaciones más variadas.

La criptografía moderna se basa en gran medida en la teoría matemática y la práctica de la ciencia informática; los algoritmos criptográficos están diseñados en torno a supuestos de dureza computacional , lo que hace que dichos algoritmos sean difíciles de romper en la práctica real por cualquier adversario. Si bien es teóricamente posible entrar en un sistema bien diseñado, es inviable en la práctica real hacerlo. Por lo tanto, estos esquemas, si están bien diseñados, se denominan "computacionalmente seguros". Los avances teóricos (por ejemplo, las mejoras en los algoritmos de factorización de números enteros ) y la tecnología informática más rápida requieren que estos diseños se reevalúen continuamente y, si es necesario, se adapten. Los esquemas teóricamente seguros de la información que se puede demostrar que no se pueden romper ni siquiera con un poder de cómputo ilimitado, como el bloc de un solo uso , son mucho más difíciles de usar en la práctica que los mejores esquemas teóricamente rompibles pero computacionalmente seguros.

El crecimiento de la tecnología criptográfica ha planteado una serie de cuestiones jurídicas en la era de la información . El potencial de la criptografía para su uso como herramienta de espionaje y sedición ha llevado a muchos gobiernos a clasificarla como un arma y a limitar o incluso prohibir su uso y exportación. [7] En algunas jurisdicciones donde el uso de la criptografía es legal, las leyes permiten a los investigadores obligar a la divulgación de claves de cifrado para documentos relevantes para una investigación. [8] [9] La criptografía también desempeña un papel importante en la gestión de derechos digitales y en las disputas por infracción de derechos de autor en relación con los medios digitales . [10]

Terminología

Diagrama que muestra el tercer cambio de la cifra alfabética: D se convierte en A y E se convierte en B
Se cree que Julio César utilizó cifrados por desplazamiento del alfabeto hace más de 2000 años. [6] Este es un ejemplo con k = 3. En otras palabras, las letras del alfabeto se desplazan tres en una dirección para cifrar y tres en la otra dirección para descifrar.

El primer uso del término "criptografía" (en oposición a " criptograma ") se remonta al siglo XIX, y tiene su origen en " El escarabajo de oro ", un cuento de Edgar Allan Poe . [11] [12]

Hasta los tiempos modernos, la criptografía se refería casi exclusivamente al "cifrado", que es el proceso de convertir información ordinaria (llamada texto simple ) en una forma ininteligible (llamada texto cifrado ). [13] El descifrado es lo inverso, en otras palabras, pasar del texto cifrado ininteligible de nuevo al texto simple. Un cifrado (o cifrador) es un par de algoritmos que llevan a cabo el cifrado y el descifrado inverso. El funcionamiento detallado de un cifrado está controlado tanto por el algoritmo como, en cada caso, por una "clave". La clave es un secreto (idealmente conocido solo por los comunicantes), normalmente una cadena de caracteres (idealmente corta para que pueda ser recordada por el usuario), que se necesita para descifrar el texto cifrado. En términos matemáticos formales, un " criptosistema " es la lista ordenada de elementos de textos simples finitos posibles, textos cifrados finitos posibles, claves finitas posibles y los algoritmos de cifrado y descifrado que corresponden a cada clave. Las claves son importantes tanto formalmente como en la práctica, ya que los sistemas de cifrado sin claves variables pueden descifrarse fácilmente con solo conocer el sistema de cifrado utilizado y, por lo tanto, son inútiles (o incluso contraproducentes) para la mayoría de los propósitos. Históricamente, los sistemas de cifrado se solían utilizar directamente para cifrar o descifrar sin procedimientos adicionales como la autenticación o las comprobaciones de integridad.

Existen dos tipos principales de criptosistemas: simétricos y asimétricos . En los sistemas simétricos, los únicos conocidos hasta la década de 1970, la misma clave secreta cifra y descifra un mensaje. La manipulación de datos en sistemas simétricos es significativamente más rápida que en los sistemas asimétricos. Los sistemas asimétricos utilizan una "clave pública" para cifrar un mensaje y una "clave privada" relacionada para descifrarlo. La ventaja de los sistemas asimétricos es que la clave pública se puede publicar libremente, lo que permite a las partes establecer una comunicación segura sin tener una clave secreta compartida. En la práctica, los sistemas asimétricos se utilizan para intercambiar primero una clave secreta y luego la comunicación segura procede a través de un sistema simétrico más eficiente que utiliza esa clave. [14] Los ejemplos de sistemas asimétricos incluyen el intercambio de claves Diffie-Hellman , RSA ( Rivest-Shamir-Adleman ), ECC ( Criptografía de curva elíptica ) y la criptografía postcuántica . Los algoritmos simétricos seguros incluyen el AES ( Estándar de cifrado avanzado ) de uso común que reemplazó al antiguo DES ( Estándar de cifrado de datos ). [15] Los algoritmos simétricos inseguros incluyen esquemas de enredo del lenguaje infantil como Pig Latin u otras jergas , y todos los esquemas criptográficos históricos, por más serios que hayan sido concebidos, anteriores a la invención de la libreta de un solo uso a principios del siglo XX.

En el uso coloquial , el término " código " se utiliza a menudo para referirse a cualquier método de cifrado o de ocultación de significados. Sin embargo, en criptografía, código tiene un significado más específico: la sustitución de una unidad de texto simple (es decir, una palabra o frase con significado) por una palabra clave (por ejemplo, "ualabí" sustituye a "ataque al amanecer"). Un cifrado, en cambio, es un esquema para cambiar o sustituir un elemento por debajo de dicho nivel (una letra, una sílaba o un par de letras, etc.) para producir un texto cifrado.

Criptoanálisis es el término utilizado para el estudio de métodos para obtener el significado de información cifrada sin acceso a la clave normalmente requerida para hacerlo; es decir, es el estudio de cómo "descifrar" algoritmos de cifrado o sus implementaciones.

Algunos utilizan los términos "criptografía" y "criptología" indistintamente en inglés, [16] mientras que otros (incluida la práctica militar estadounidense en general) utilizan "criptografía" para referirse específicamente al uso y la práctica de técnicas criptográficas y "criptología" para referirse al estudio combinado de la criptografía y el criptoanálisis. [17] [18] El inglés es más flexible que varios otros idiomas en los que "criptología" (realizada por criptólogos) siempre se utiliza en el segundo sentido mencionado anteriormente. El RFC  2828 advierte que la esteganografía a veces se incluye en la criptología. [19]

El estudio de las características de los lenguajes que tienen alguna aplicación en criptografía o criptología (por ejemplo, datos de frecuencia, combinaciones de letras, patrones universales, etc.) se denomina criptolingüística. La criptolingüística se utiliza especialmente en aplicaciones de inteligencia militar para descifrar comunicaciones extranjeras. [20] [21]

Historia

Antes de la era moderna, la criptografía se centraba en la confidencialidad de los mensajes (es decir, el cifrado): la conversión de mensajes de una forma comprensible a una incomprensible y viceversa en el otro extremo, volviéndolos ilegibles para interceptores o fisgones sin conocimiento secreto (es decir, la clave necesaria para descifrar ese mensaje). El cifrado intentaba garantizar el secreto en las comunicaciones, como las de espías , líderes militares y diplomáticos. En las últimas décadas, el campo se ha expandido más allá de las preocupaciones de confidencialidad para incluir técnicas para la verificación de la integridad de los mensajes, la autenticación de la identidad del remitente/receptor, las firmas digitales , las pruebas interactivas y la computación segura , entre otras.

Criptografía clásica

Palo de Skytala con tira de papel enrollada en espiral
Escítala griega antigua reconstruida , un dispositivo de cifrado temprano

Los principales tipos de cifrados clásicos son los cifrados de transposición , que reorganizan el orden de las letras en un mensaje (por ejemplo, "hola mundo" se convierte en "ehlol owrdl" en un esquema de reordenamiento trivialmente simple), y los cifrados de sustitución , que reemplazan sistemáticamente letras o grupos de letras con otras letras o grupos de letras (por ejemplo, "vuela de inmediato" se convierte en "gmz bu podf" reemplazando cada letra con la que la sigue en el alfabeto latino ). [22] Las versiones simples de cualquiera de ellos nunca han ofrecido mucha confidencialidad frente a oponentes emprendedores. Un cifrado de sustitución temprano fue el cifrado de César , en el que cada letra en el texto simple se reemplazaba por una letra un número fijo de posiciones más abajo en el alfabeto. Suetonio informa que Julio César lo usó con un desplazamiento de tres para comunicarse con sus generales. Atbash es un ejemplo de un cifrado hebreo temprano. El uso más antiguo conocido de la criptografía es un texto cifrado tallado en piedra en Egipto ( c.  1900 a. C. ), pero es posible que se haya hecho para diversión de observadores alfabetizados más que como una forma de ocultar información.

Se dice que los griegos de la época clásica conocían los cifrados (por ejemplo, el cifrado de transposición de escítala que se afirma que fue utilizado por el ejército espartano ). [23] La esteganografía (es decir, ocultar incluso la existencia de un mensaje para mantenerlo confidencial) también se desarrolló por primera vez en la antigüedad. Un ejemplo temprano, de Heródoto , fue un mensaje tatuado en la cabeza rapada de un esclavo y oculto bajo el cabello que había vuelto a crecer. [13] Otros métodos de esteganografía implican "ocultarse a simple vista", como usar un cifrado musical para disfrazar un mensaje cifrado dentro de una partitura regular. Ejemplos más modernos de esteganografía incluyen el uso de tinta invisible , micropuntos y marcas de agua digitales para ocultar información.

En la India, el Kamasutra de Vātsyāyana , de 2000 años de antigüedad, habla de dos tipos diferentes de cifrados llamados Kautiliyam y Mulavediya. En el Kautiliyam, las sustituciones de letras del cifrado se basan en relaciones fonéticas, como las vocales que se convierten en consonantes. En el Mulavediya, el alfabeto cifrado consiste en emparejar letras y utilizar las recíprocas. [13]

En la Persia sasánida , había dos escrituras secretas, según el autor musulmán Ibn al-Nadim : la šāh-dabīrīya (literalmente "escritura del rey"), que se utilizaba para la correspondencia oficial, y la rāz-saharīya , que se utilizaba para comunicar mensajes secretos con otros países. [24]

David Kahn señala en The Codebreakers que la criptología moderna se originó entre los árabes , las primeras personas en documentar sistemáticamente los métodos criptoanalíticos. [25] Al-Khalil (717-786) escribió el Libro de mensajes criptográficos , que contiene el primer uso de permutaciones y combinaciones para enumerar todas las posibles palabras árabes con y sin vocales. [26]

Texto árabe de un libro de Al-Kindi
Primera página de un libro de Al-Kindi que trata sobre el cifrado de mensajes

Los textos cifrados producidos por un cifrador clásico (y algunos cifrados modernos) revelarán información estadística sobre el texto simple, y esa información a menudo puede usarse para descifrar el cifrado. Después del descubrimiento del análisis de frecuencia , casi todos esos cifrados podían ser descifrados por un atacante informado. Dichos cifrados clásicos aún gozan de popularidad hoy en día, aunque principalmente como rompecabezas (ver criptograma ). El matemático y polímata árabe Al-Kindi escribió un libro sobre criptografía titulado Risalah fi Istikhraj al-Mu'amma ( Manuscrito para descifrar mensajes criptográficos ), que describía el primer uso conocido de técnicas de criptoanálisis de análisis de frecuencia. [27] [28]

Máquina de metal del tamaño de un libro con un dial grande en la página izquierda y diecinueve diales pequeños en la página derecha.
Máquina de cifrado francesa del siglo XVI, con forma de libro y el escudo de armas de Enrique II de Francia
manuscrito de Gabriel de Luetz d'Aramon en volumen encuadernado
Carta cifrada de Gabriel de Luetz d'Aramon , embajador francés en el Imperio Otomano , después de 1546, con desciframiento parcial

Las frecuencias de las letras de los idiomas pueden resultar de poca ayuda para algunas técnicas de cifrado históricas extendidas, como el cifrado homofónico , que tienden a aplanar la distribución de frecuencias. Para esos cifrados, las frecuencias de los grupos de letras de los idiomas (o n-gramas) pueden proporcionar un ataque.

En esencia, todos los cifrados siguieron siendo vulnerables al criptoanálisis mediante la técnica de análisis de frecuencia hasta el desarrollo del cifrado polialfabético , más claramente por Leon Battista Alberti alrededor del año 1467, aunque hay algunos indicios de que ya lo conocía Al-Kindi. [28] La innovación de Alberti fue utilizar diferentes cifrados (es decir, alfabetos de sustitución) para varias partes de un mensaje (quizás para cada letra sucesiva de texto simple en el límite). También inventó lo que probablemente fue el primer dispositivo de cifrado automático , una rueda que implementó una realización parcial de su invención. En el cifrado Vigenère , un cifrado polialfabético , el cifrado utiliza una palabra clave , que controla la sustitución de letras dependiendo de qué letra de la palabra clave se utiliza. A mediados del siglo XIX, Charles Babbage demostró que el cifrado Vigenère era vulnerable al examen de Kasiski , pero esto fue publicado por primera vez unos diez años después por Friedrich Kasiski . [29]

Aunque el análisis de frecuencia puede ser una técnica poderosa y general contra muchos cifrados, el cifrado ha seguido siendo a menudo eficaz en la práctica, ya que muchos criptoanalistas potenciales desconocían la técnica. Descifrar un mensaje sin utilizar el análisis de frecuencia requería esencialmente el conocimiento del cifrado utilizado y quizás de la clave involucrada, lo que hacía que el espionaje, el soborno, el robo, la deserción, etc., fueran enfoques más atractivos para los criptoanalistas desinformados. Finalmente, en el siglo XIX se reconoció explícitamente que el secreto del algoritmo de un cifrado no es una salvaguarda sensata ni práctica de la seguridad del mensaje; de ​​hecho, se comprendió además que cualquier esquema criptográfico adecuado (incluidos los cifrados) debería seguir siendo seguro incluso si el adversario comprende completamente el algoritmo del cifrado en sí. La seguridad de la clave utilizada debería ser suficiente por sí sola para que un buen cifrado mantenga la confidencialidad ante un ataque. Este principio fundamental fue enunciado explícitamente por primera vez en 1883 por Auguste Kerckhoffs y generalmente se denomina Principio de Kerckhoffs ; Alternativamente, y de forma más contundente, Claude Shannon , el inventor de la teoría de la información y los fundamentos de la criptografía teórica, lo reiteró como la máxima de Shannon : "el enemigo conoce el sistema".

Se han utilizado diferentes dispositivos físicos y ayudas para ayudar con los cifrados. Uno de los primeros puede haber sido la escítala de la antigua Grecia, una varilla supuestamente utilizada por los espartanos como ayuda para un cifrado de transposición. En la época medieval, se inventaron otras ayudas como la rejilla de cifrado , que también se utilizó para una especie de esteganografía. Con la invención de los cifrados polialfabéticos llegaron ayudas más sofisticadas como el disco de cifrado del propio Alberti , el esquema de tabula recta de Johannes Trithemius y el cifrado de rueda de Thomas Jefferson (no conocido públicamente, y reinventado independientemente por Bazeries alrededor de 1900). Muchos dispositivos mecánicos de cifrado/descifrado se inventaron a principios del siglo XX, y varios se patentaron, entre ellos las máquinas de rotor , entre las que se incluye la famosa máquina Enigma utilizada por el gobierno y el ejército alemán desde fines de la década de 1920 y durante la Segunda Guerra Mundial . [30] Los cifrados implementados por ejemplos de mejor calidad de estos diseños de máquinas provocaron un aumento sustancial en la dificultad criptoanalítica después de la Primera Guerra Mundial. [31]

Criptografía de la era informática temprana

El criptoanálisis de los nuevos dispositivos de cifrado mecánico resultó ser difícil y laborioso. En el Reino Unido, los esfuerzos criptoanalíticos en Bletchley Park durante la Segunda Guerra Mundial impulsaron el desarrollo de medios más eficientes para llevar a cabo tareas repetitivas, como el descifrado de códigos militares . Esto culminó con el desarrollo de Colossus , la primera computadora digital, programable y totalmente electrónica del mundo , que ayudó a descifrar los códigos generados por la máquina Lorenz SZ40/42 del ejército alemán .

La investigación académica abierta y extensa sobre criptografía es relativamente reciente, y comenzó a mediados de la década de 1970. A principios de la década de 1970, el personal de IBM diseñó el algoritmo Data Encryption Standard (DES) que se convirtió en el primer estándar de criptografía del gobierno federal en los Estados Unidos. [32] En 1976, Whitfield Diffie y Martin Hellman publicaron el algoritmo de intercambio de claves Diffie-Hellman. [33] En 1977, el algoritmo RSA se publicó en la columna Scientific American de Martin Gardner . [34] Desde entonces, la criptografía se ha convertido en una herramienta ampliamente utilizada en comunicaciones, redes de computadoras y seguridad informática en general.

Algunas técnicas criptográficas modernas sólo pueden mantener sus claves secretas si ciertos problemas matemáticos son intratables , como la factorización de números enteros o los problemas de logaritmos discretos , por lo que existen profundas conexiones con las matemáticas abstractas . Hay muy pocos criptosistemas que hayan demostrado ser incondicionalmente seguros. El bloc de un solo uso es uno de ellos, y Claude Shannon lo demostró. Hay unos pocos algoritmos importantes que han demostrado ser seguros bajo ciertas suposiciones. Por ejemplo, la inviabilidad de factorizar números enteros extremadamente grandes es la base para creer que RSA es seguro, y algunos otros sistemas, pero aun así, no hay pruebas de inquebrantabilidad disponibles ya que el problema matemático subyacente permanece abierto. En la práctica, estos se utilizan ampliamente y la mayoría de los observadores competentes creen que son inquebrantables en la práctica. Hay sistemas similares a RSA, como uno de Michael O. Rabin , que son demostrablemente seguros siempre que la factorización de n = pq sea imposible; es bastante inutilizable en la práctica. El problema del logaritmo discreto es la base para creer que algunos otros criptosistemas son seguros y, nuevamente, existen sistemas relacionados, menos prácticos, que son demostrablemente seguros en relación con el problema de solubilidad o insolubilidad del logaritmo discreto. [35]

Además de conocer la historia criptográfica, los diseñadores de algoritmos y sistemas criptográficos también deben considerar sensatamente los posibles desarrollos futuros mientras trabajan en sus diseños. Por ejemplo, las mejoras continuas en la capacidad de procesamiento de las computadoras han aumentado el alcance de los ataques de fuerza bruta , por lo que al especificar longitudes de clave , las longitudes de clave requeridas están avanzando de manera similar. [36] El impacto potencial de la computación cuántica ya está siendo considerado por algunos diseñadores de sistemas criptográficos que desarrollan criptografía post-cuántica. [¿ Cuándo? ] La anunciada inminencia de pequeñas implementaciones de estas máquinas puede estar haciendo que la necesidad de precaución preventiva sea algo más que meramente especulativa. [5]

Criptografía moderna

Antes de principios del siglo XX, la criptografía se ocupaba principalmente de los patrones lingüísticos y lexicográficos . Desde entonces, la criptografía ha ampliado su alcance y ahora hace un uso extensivo de subdisciplinas matemáticas, incluidas la teoría de la información , la complejidad computacional , la estadística, la combinatoria , el álgebra abstracta , la teoría de números y las matemáticas finitas . [37] La ​​criptografía también es una rama de la ingeniería, pero una inusual ya que se ocupa de la oposición activa, inteligente y malévola; otros tipos de ingeniería (por ejemplo, la ingeniería civil o química) solo necesitan lidiar con fuerzas naturales neutrales. También hay una investigación activa que examina la relación entre los problemas criptográficos y la física cuántica .

Así como el desarrollo de las computadoras digitales y de la electrónica ayudó al criptoanálisis, hizo posible cifrados mucho más complejos. Además, las computadoras permitieron el cifrado de cualquier tipo de datos representables en cualquier formato binario, a diferencia de los cifrados clásicos que solo cifraban textos escritos; esto era nuevo y significativo. El uso de la computadora ha suplantado así a la criptografía lingüística, tanto para el diseño de cifrados como para el criptoanálisis. Muchos cifrados informáticos pueden caracterizarse por su funcionamiento en secuencias de bits binarios (a veces en grupos o bloques), a diferencia de los esquemas clásicos y mecánicos, que generalmente manipulan caracteres tradicionales (es decir, letras y dígitos) directamente. Sin embargo, las computadoras también han ayudado al criptoanálisis, lo que ha compensado en cierta medida la mayor complejidad de los cifrados. No obstante, los buenos cifrados modernos se han mantenido por delante del criptoanálisis; Generalmente, el uso de un cifrado de calidad es muy eficiente (es decir, rápido y requiere pocos recursos, como memoria o capacidad de CPU), mientras que descifrarlo requiere un esfuerzo de muchos órdenes de magnitud mayor, y mucho mayor que el requerido para cualquier cifrado clásico, lo que hace que el criptoanálisis sea tan ineficiente y poco práctico que resulta prácticamente imposible.

Criptografía de clave simétrica

Diagrama que muestra el proceso de cifrado con una clave y de descifrado
Criptografía de clave simétrica, donde se utiliza una única clave para el cifrado y descifrado

La criptografía de clave simétrica se refiere a métodos de cifrado en los que tanto el emisor como el receptor comparten la misma clave (o, menos comúnmente, en los que sus claves son diferentes, pero están relacionadas de una manera fácilmente computable). Este fue el único tipo de cifrado conocido públicamente hasta junio de 1976. [33]

Diagrama lógico que muestra el proceso de cifrado del Algoritmo Internacional de Cifrado de Datos
Una ronda (de 8,5) del cifrado IDEA , utilizado en la mayoría de las versiones de software compatible con PGP y OpenPGP para el cifrado de mensajes con ahorro de tiempo

Los cifrados de clave simétrica se implementan como cifrados de bloque o cifrados de flujo . Un cifrado de bloque cifra la entrada en bloques de texto sin formato, a diferencia de caracteres individuales, el formato de entrada utilizado por un cifrado de flujo.

El Estándar de cifrado de datos (DES) y el Estándar de cifrado avanzado (AES) son diseños de cifrado de bloques que han sido designados estándares de criptografía por el gobierno de los EE. UU. (aunque la designación de DES fue finalmente retirada después de que se adoptara el AES). [38] A pesar de su desuso como estándar oficial, DES (especialmente su variante triple-DES , aún aprobada y mucho más segura ) sigue siendo bastante popular; se utiliza en una amplia gama de aplicaciones, desde el cifrado ATM [39] hasta la privacidad del correo electrónico [40] y el acceso remoto seguro . [41] Se han diseñado y publicado muchos otros cifrados de bloques, con una variación considerable en calidad. Muchos, incluso algunos diseñados por profesionales capacitados, han sido completamente descifrados, como FEAL . [5] [42]

Los cifrados de flujo, a diferencia del tipo "bloque", crean un flujo de material de clave de longitud arbitraria, que se combina con el texto simple bit a bit o carácter a carácter, de forma similar a la libreta de un solo uso . En un cifrado de flujo, el flujo de salida se crea en función de un estado interno oculto que cambia a medida que opera el cifrado. Ese estado interno se configura inicialmente utilizando el material de clave secreta. RC4 es un cifrado de flujo ampliamente utilizado. [5] Los cifrados de bloque se pueden utilizar como cifrados de flujo generando bloques de un flujo de clave (en lugar de un generador de números pseudoaleatorios ) y aplicando una operación XOR a cada bit del texto simple con cada bit del flujo de clave. [43]

Los códigos de autenticación de mensajes (MAC) son muy similares a las funciones hash criptográficas , excepto que se puede usar una clave secreta para autenticar el valor hash al recibirlo; [5] [44] esta complicación adicional bloquea un esquema de ataque contra algoritmos de resumen simple , por lo que se ha pensado que vale la pena el esfuerzo. Las funciones hash criptográficas son un tercer tipo de algoritmo criptográfico. Toman un mensaje de cualquier longitud como entrada y generan un hash corto de longitud fija , que se puede usar en (por ejemplo) una firma digital. Para las buenas funciones hash, un atacante no puede encontrar dos mensajes que produzcan el mismo hash. MD4 es una función hash de uso prolongado que ahora está rota; MD5 , una variante reforzada de MD4, también se usa ampliamente pero está rota en la práctica. La Agencia de Seguridad Nacional de los EE. UU. desarrolló la serie de algoritmos hash seguros de funciones hash similares a MD5: SHA-0 era un algoritmo defectuoso que la agencia retiró; SHA-1 se implementa ampliamente y es más seguro que MD5, pero los criptoanalistas han identificado ataques en su contra; La familia SHA-2 mejora a SHA-1, pero es vulnerable a conflictos a partir de 2011; y la autoridad de estándares de EE. UU. pensó que era "prudente" desde una perspectiva de seguridad desarrollar un nuevo estándar para "mejorar significativamente la robustez del conjunto de herramientas de algoritmos hash general del NIST ". [45] Por lo tanto, se pretendía que una competencia de diseño de funciones hash seleccionara un nuevo estándar nacional estadounidense, que se llamaría SHA-3 , para 2012. La competencia terminó el 2 de octubre de 2012, cuando el NIST anunció que Keccak sería el nuevo algoritmo hash SHA-3. [46] A diferencia de los cifrados de bloque y flujo que son invertibles, las funciones hash criptográficas producen una salida hash que no se puede usar para recuperar los datos de entrada originales. Las funciones hash criptográficas se utilizan para verificar la autenticidad de los datos recuperados de una fuente no confiable o para agregar una capa de seguridad.

Criptografía de clave pública

Diagrama de criptografía de clave pública que muestra la clave pública y la clave privada
Criptografía de clave pública, donde se utilizan claves diferentes para el cifrado y descifrado.

Los criptosistemas de clave simétrica utilizan la misma clave para cifrar y descifrar un mensaje, aunque un mensaje o un grupo de mensajes pueden tener una clave distinta a la de otros. Una desventaja importante de los cifrados simétricos es la gestión de claves necesaria para utilizarlos de forma segura. Idealmente, cada par de partes que se comunican debe compartir una clave diferente, y quizás también para cada texto cifrado intercambiado. La cantidad de claves necesarias aumenta con el cuadrado de la cantidad de miembros de la red, lo que requiere muy rápidamente esquemas complejos de gestión de claves para mantenerlas todas coherentes y secretas.

Fotografías de Whitfield Diffie y Martin Hellman
Whitfield Diffie y Martin Hellman , autores del primer artículo publicado sobre criptografía de clave pública.

En un artículo innovador de 1976, Whitfield Diffie y Martin Hellman propusieron la noción de criptografía de clave pública (también llamada, de manera más general, criptografía de clave asimétrica ) en la que se utilizan dos claves diferentes pero matemáticamente relacionadas: una clave pública y una clave privada . [47] Un sistema de clave pública está construido de tal manera que el cálculo de una clave (la "clave privada") es computacionalmente inviable a partir de la otra (la "clave pública"), aunque estén necesariamente relacionadas. En cambio, ambas claves se generan en secreto, como un par interrelacionado. [48] El historiador David Kahn describió la criptografía de clave pública como "el concepto nuevo más revolucionario en el campo desde que surgió la sustitución polialfabética en el Renacimiento". [49]

En los criptosistemas de clave pública, la clave pública puede distribuirse libremente, mientras que su clave privada emparejada debe permanecer secreta. En un sistema de cifrado de clave pública, la clave pública se utiliza para cifrar, mientras que la clave privada o secreta se utiliza para descifrar. Si bien Diffie y Hellman no pudieron encontrar un sistema de este tipo, demostraron que la criptografía de clave pública era posible al presentar el protocolo de intercambio de claves Diffie-Hellman , una solución que ahora se usa ampliamente en comunicaciones seguras para permitir que dos partes acuerden en secreto una clave de cifrado compartida . [33] El estándar X.509 define el formato más comúnmente utilizado para los certificados de clave pública . [50]

La publicación de Diffie y Hellman desencadenó un gran esfuerzo académico por encontrar un sistema práctico de cifrado de clave pública. Esta carrera finalmente fue ganada en 1978 por Ronald Rivest , Adi Shamir y Len Adleman , cuya solución se conoce desde entonces como el algoritmo RSA . [51]

Los algoritmos Diffie-Hellman y RSA , además de ser los primeros ejemplos conocidos públicamente de algoritmos de clave pública de alta calidad, han estado entre los más utilizados. Otros algoritmos de clave asimétrica incluyen el criptosistema Cramer-Shoup , el cifrado ElGamal y varias técnicas de curva elíptica .

Un documento publicado en 1997 por el Cuartel General de Comunicaciones del Gobierno ( GCHQ ), una organización de inteligencia británica, reveló que los criptógrafos del GCHQ habían anticipado varios desarrollos académicos. [52] Según se informa, alrededor de 1970, James H. Ellis había concebido los principios de la criptografía de clave asimétrica. En 1973, Clifford Cocks inventó una solución que era muy similar en su lógica de diseño a RSA. [52] [53] En 1974, se afirma que Malcolm J. Williamson desarrolló el intercambio de claves Diffie-Hellman. [54]

En este ejemplo, el mensaje solo está firmado y no cifrado. 1) Alice firma un mensaje con su clave privada. 2) Bob puede verificar que Alice envió el mensaje y que éste no ha sido modificado.

La criptografía de clave pública también se utiliza para implementar esquemas de firma digital . Una firma digital recuerda a una firma ordinaria; ambas tienen la característica de ser fáciles de producir para un usuario, pero difíciles de falsificar para cualquier otra persona . Las firmas digitales también pueden estar vinculadas permanentemente al contenido del mensaje que se está firmando; luego no se pueden "mover" de un documento a otro, ya que cualquier intento será detectable. En los esquemas de firma digital, hay dos algoritmos: uno para la firma , en el que se utiliza una clave secreta para procesar el mensaje (o un hash del mensaje, o ambos), y otro para la verificación , en el que se utiliza la clave pública coincidente con el mensaje para verificar la validez de la firma. RSA y DSA son dos de los esquemas de firma digital más populares. Las firmas digitales son fundamentales para el funcionamiento de las infraestructuras de clave pública y muchos esquemas de seguridad de red (por ejemplo, SSL/TLS , muchas VPN , etc.). [42]

Los algoritmos de clave pública se basan con mayor frecuencia en la complejidad computacional de problemas "duros", a menudo de la teoría de números . Por ejemplo, la dificultad de RSA está relacionada con el problema de factorización de enteros , mientras que Diffie-Hellman y DSA están relacionadas con el problema del logaritmo discreto . La seguridad de la criptografía de curva elíptica se basa en problemas de teoría de números que involucran curvas elípticas . Debido a la dificultad de los problemas subyacentes, la mayoría de los algoritmos de clave pública involucran operaciones como la multiplicación modular y la exponenciación, que son mucho más costosas computacionalmente que las técnicas utilizadas en la mayoría de los cifrados de bloque, especialmente con tamaños de clave típicos. Como resultado, los criptosistemas de clave pública son comúnmente criptosistemas híbridos , en los que se utiliza un algoritmo de cifrado de clave simétrica rápido y de alta calidad para el mensaje en sí, mientras que la clave simétrica relevante se envía con el mensaje, pero cifrada utilizando un algoritmo de clave pública. De manera similar, a menudo se utilizan esquemas de firma híbridos, en los que se calcula una función hash criptográfica y solo se firma digitalmente el hash resultante. [5]

Funciones hash criptográficas

Las funciones hash criptográficas son funciones que toman una entrada de longitud variable y devuelven una salida de longitud fija, que se puede usar, por ejemplo, en una firma digital. Para que una función hash sea segura, debe ser difícil calcular dos entradas que generen el mismo valor ( resistencia a colisiones ) y calcular una entrada que genere un valor hash de salida determinado ( resistencia a preimagen ). MD4 es una función hash de uso prolongado que ahora está rota; MD5 , una variante reforzada de MD4, también se usa ampliamente pero está rota en la práctica. La Agencia de Seguridad Nacional de los Estados Unidos desarrolló la serie de algoritmos hash seguros de funciones hash similares a MD5: SHA-0 era un algoritmo defectuoso que la agencia retiró; SHA-1 se implementa ampliamente y es más seguro que MD5, pero los criptoanalistas han identificado ataques en su contra; la familia SHA-2 mejora SHA-1, pero es vulnerable a conflictos a partir de 2011; y la autoridad de estándares de EE. UU. pensó que era "prudente" desde una perspectiva de seguridad desarrollar un nuevo estándar para "mejorar significativamente la robustez del conjunto de herramientas de algoritmos hash general del NIST ". [45] Por lo tanto, se pretendía que una competencia de diseño de funciones hash seleccionara un nuevo estándar nacional estadounidense, que se llamaría SHA-3 , para 2012. La competencia finalizó el 2 de octubre de 2012, cuando el NIST anunció que Keccak sería el nuevo algoritmo hash SHA-3. [46] A diferencia de los cifrados de bloque y flujo que son invertibles, las funciones hash criptográficas producen una salida hash que no se puede utilizar para recuperar los datos de entrada originales. Las funciones hash criptográficas se utilizan para verificar la autenticidad de los datos recuperados de una fuente no confiable o para agregar una capa de seguridad.

Criptoanálisis

Teclado de máquina de escribir Enigma sobre muchos rotores en una caja de madera
Las variantes de la máquina Enigma , utilizadas por las autoridades militares y civiles de Alemania desde finales de la década de 1920 hasta la Segunda Guerra Mundial , implementaron un cifrado polialfabético electromecánico complejo . El descifrado y la lectura del cifrado Enigma en la Oficina de Cifrado de Polonia , durante siete años antes de la guerra, y su posterior descifrado en Bletchley Park , fueron importantes para la victoria aliada. [13]

El objetivo del criptoanálisis es encontrar alguna debilidad o inseguridad en un esquema criptográfico, permitiendo así su subversión o evasión.

Es un error común pensar que todos los métodos de cifrado se pueden descifrar. En relación con su trabajo en Bell Labs durante la Segunda Guerra Mundial , Claude Shannon demostró que el cifrado de libreta de un solo uso es irrompible, siempre que el material de la clave sea verdaderamente aleatorio , nunca se reutilice, se mantenga en secreto de todos los posibles atacantes y tenga una longitud igual o mayor que el mensaje. [55] La mayoría de los cifrados , aparte de la libreta de un solo uso, se pueden descifrar con suficiente esfuerzo computacional mediante un ataque de fuerza bruta , pero la cantidad de esfuerzo necesario puede depender exponencialmente del tamaño de la clave, en comparación con el esfuerzo necesario para utilizar el cifrado. En tales casos, se podría lograr una seguridad efectiva si se demuestra que el esfuerzo requerido (es decir, el "factor de trabajo", en términos de Shannon) está más allá de la capacidad de cualquier adversario. Esto significa que se debe demostrar que no se puede encontrar un método eficiente (a diferencia del método de fuerza bruta que consume mucho tiempo) para descifrar el cifrado. Dado que hasta la fecha no se ha encontrado tal prueba, la libreta de un solo uso sigue siendo el único cifrado teóricamente irrompible. Aunque el cifrado de un solo uso bien implementado no se puede romper, el análisis del tráfico aún es posible.

Existe una amplia variedad de ataques criptoanalíticos, y se pueden clasificar de varias maneras. Una distinción común gira en torno a lo que Eve (un atacante) sabe y qué capacidades están disponibles. En un ataque de solo texto cifrado , Eve tiene acceso solo al texto cifrado (los buenos criptosistemas modernos suelen ser efectivamente inmunes a los ataques de solo texto cifrado). En un ataque de texto plano conocido , Eve tiene acceso a un texto cifrado y su texto plano correspondiente (o a muchos pares de estos). En un ataque de texto plano elegido , Eve puede elegir un texto plano y aprender su texto cifrado correspondiente (quizás muchas veces); un ejemplo es la jardinería , utilizada por los británicos durante la Segunda Guerra Mundial. En un ataque de texto cifrado elegido , Eve puede elegir textos cifrados y aprender sus textos planos correspondientes. [5] Finalmente, en un ataque de hombre en el medio, Eve se interpone entre Alice (el remitente) y Bob (el destinatario), accede y modifica el tráfico y luego lo reenvía al destinatario. [56] También son importantes, y a menudo de forma abrumadora, los errores (generalmente en el diseño o uso de uno de los protocolos involucrados).

El criptoanálisis de los cifrados de clave simétrica normalmente implica la búsqueda de ataques contra los cifrados de bloque o de flujo que sean más eficientes que cualquier ataque que pudiera hacerse contra un cifrado perfecto. Por ejemplo, un simple ataque de fuerza bruta contra DES requiere un texto plano conocido y 2,55 descifrados , probando aproximadamente la mitad de las claves posibles, para llegar a un punto en el que las probabilidades sean mejores que incluso de que se haya encontrado la clave buscada. Pero esto puede no ser suficiente garantía; un ataque de criptoanálisis lineal contra DES requiere 2,43 textos planos conocidos (con sus correspondientes textos cifrados) y aproximadamente 2,43 operaciones DES. [57] Esto es una mejora considerable con respecto a los ataques de fuerza bruta.

Los algoritmos de clave pública se basan en la dificultad computacional de varios problemas. Los más famosos de ellos son la dificultad de la factorización entera de semiprimos y la dificultad de calcular logaritmos discretos , que aún no se ha demostrado que sean solucionables en tiempo polinomial ( P ) utilizando solo una computadora clásica de Turing-completa . Gran parte del criptoanálisis de clave pública se ocupa del diseño de algoritmos en P que puedan resolver estos problemas, o utilizando otras tecnologías, como las computadoras cuánticas . Por ejemplo, los algoritmos más conocidos para resolver la versión basada en curvas elípticas del logaritmo discreto requieren mucho más tiempo que los algoritmos más conocidos para factorizar, al menos para problemas de tamaño más o menos equivalente. Por lo tanto, para lograr una fuerza de cifrado equivalente, las técnicas que dependen de la dificultad de factorizar números compuestos grandes, como el criptosistema RSA, requieren claves más grandes que las técnicas de curva elíptica. Por esta razón, los criptosistemas de clave pública basados ​​en curvas elípticas se han vuelto populares desde su invención a mediados de la década de 1990.

Mientras que el criptoanálisis puro utiliza debilidades en los propios algoritmos, otros ataques a criptosistemas se basan en el uso real de los algoritmos en dispositivos reales, y se denominan ataques de canal lateral . Si un criptoanalista tiene acceso, por ejemplo, a la cantidad de tiempo que el dispositivo tardó en cifrar una serie de textos sin formato o informar un error en un carácter de contraseña o PIN, puede utilizar un ataque de tiempo para romper un cifrado que de otro modo sería resistente al análisis. Un atacante también podría estudiar el patrón y la longitud de los mensajes para derivar información valiosa; esto se conoce como análisis de tráfico [58] y puede ser bastante útil para un adversario alerta. La mala administración de un criptosistema, como permitir claves demasiado cortas, hará que cualquier sistema sea vulnerable, independientemente de otras virtudes. La ingeniería social y otros ataques contra humanos (por ejemplo, soborno, extorsión , chantaje , espionaje, criptoanálisis de manguera de goma o tortura) se emplean habitualmente debido a que son más rentables y factibles de realizar en una cantidad de tiempo razonable en comparación con el criptoanálisis puro por un amplio margen.

Primitivas criptográficas

Gran parte del trabajo teórico en criptografía se centra en los primitivos criptográficos (algoritmos con propiedades criptográficas básicas) y su relación con otros problemas criptográficos. A partir de estos primitivos básicos se construyen herramientas criptográficas más complicadas. Estos primitivos proporcionan propiedades fundamentales, que se utilizan para desarrollar herramientas más complejas llamadas criptosistemas o protocolos criptográficos , que garantizan una o más propiedades de seguridad de alto nivel. Sin embargo, tenga en cuenta que la distinción entre primitivos criptográficos y criptosistemas es bastante arbitraria; por ejemplo, el algoritmo RSA a veces se considera un criptosistema y a veces un primitivo. Los ejemplos típicos de primitivos criptográficos incluyen funciones pseudoaleatorias , funciones unidireccionales , etc.

Criptosistemas

A menudo se utilizan uno o más primitivos criptográficos para desarrollar un algoritmo más complejo, llamado sistema criptográfico o criptosistema . Los criptosistemas (por ejemplo, el cifrado El-Gamal ) están diseñados para proporcionar una funcionalidad particular (por ejemplo, cifrado de clave pública) al tiempo que garantizan ciertas propiedades de seguridad (por ejemplo, seguridad de ataque de texto simple elegido (CPA) en el modelo de oráculo aleatorio ). Los criptosistemas utilizan las propiedades de los primitivos criptográficos subyacentes para respaldar las propiedades de seguridad del sistema. Como la distinción entre primitivos y criptosistemas es algo arbitraria, se puede derivar un criptosistema sofisticado de una combinación de varios criptosistemas más primitivos. En muchos casos, la estructura del criptosistema implica una comunicación de ida y vuelta entre dos o más partes en el espacio (por ejemplo, entre el remitente de un mensaje seguro y su receptor) o a través del tiempo (por ejemplo, datos de respaldo protegidos criptográficamente ). Dichos criptosistemas a veces se denominan protocolos criptográficos .

Algunos criptosistemas ampliamente conocidos incluyen RSA, la firma Schnorr , el cifrado ElGamal y Pretty Good Privacy (PGP). Los criptosistemas más complejos incluyen sistemas de dinero electrónico [59] , sistemas de cifrado de firmas , etc. Algunos criptosistemas más "teóricos" [ se necesita aclaración ] incluyen sistemas de prueba interactiva [60] ( como pruebas de conocimiento cero ) [61] y sistemas para compartir secretos [ 62] [63]

Criptografía ligera

La criptografía ligera (LWC) se refiere a algoritmos criptográficos desarrollados para un entorno estrictamente restringido. El crecimiento de la Internet de las cosas (IdC) ha impulsado la investigación en el desarrollo de algoritmos ligeros que se adapten mejor al entorno. Un entorno de IoT requiere restricciones estrictas en el consumo de energía, la potencia de procesamiento y la seguridad. [64] Algoritmos como PRESENT, AES y SPECK son ejemplos de los numerosos algoritmos LWC que se han desarrollado para alcanzar el estándar establecido por el Instituto Nacional de Estándares y Tecnología . [65]

Aplicaciones

Cryptography is widely used on the internet to help protect user-data and prevent eavesdropping. To ensure secrecy during transmission, many systems use private key cryptography to protect transmitted information. With public-key systems, one can maintain secrecy without a master key or a large number of keys.[66] But, some algorithms like BitLocker and VeraCrypt are generally not private-public key cryptography. For example, Veracrypt uses a password hash to generate the single private key. However, it can be configured to run in public-private key systems. The C++ opensource encryption library OpenSSL provides free and opensource encryption software and tools. The most commonly used encryption cipher suit is AES,[67] as it has hardware acceleration for all x86 based processors that has AES-NI. A close contender is ChaCha20-Poly1305, which is a stream cipher, however it is commonly used for mobile devices as they are ARM based which does not feature AES-NI instruction set extension.

Cybersecurity

Cryptography can be used to secure communications by encrypting them. Websites use encryption via HTTPS.[68] "End-to-end" encryption, where only sender and receiver can read messages, is implemented for email in Pretty Good Privacy and for secure messaging in general in WhatsApp, Signal and Telegram.[68]

Operating systems use encryption to keep passwords secret, conceal parts of the system, and ensure that software updates are truly from the system maker.[68] Instead of storing plaintext passwords, computer systems store hashes thereof; then, when a user logs in, the system passes the given password through a cryptographic hash function and compares it to the hashed value on file. In this manner, neither the system nor an attacker has at any point access to the password in plaintext.[68]

Encryption is sometimes used to encrypt one's entire drive. For example, University College London has implemented BitLocker (a program by Microsoft) to render drive data opaque without users logging in.[68]

Cryptocurrencies and cryptoeconomics

Cryptographic techniques enable cryptocurrency technologies, such as distributed ledger technologies (e.g., blockchains), which finance cryptoeconomics applications such as decentralized finance (DeFi). Key cryptographic techniques that enable cryptocurrencies and cryptoeconomics include, but are not limited to: cryptographic keys, cryptographic hash function, asymmetric (public key) encryption, Multi-Factor Authentication (MFA), End-to-End Encryption (E2EE), and Zero Knowledge Proofs (ZKP).

Legal issues

Prohibitions

Cryptography has long been of interest to intelligence gathering and law enforcement agencies.[9] Secret communications may be criminal or even treasonous.[citation needed] Because of its facilitation of privacy, and the diminution of privacy attendant on its prohibition, cryptography is also of considerable interest to civil rights supporters. Accordingly, there has been a history of controversial legal issues surrounding cryptography, especially since the advent of inexpensive computers has made widespread access to high-quality cryptography possible.

In some countries, even the domestic use of cryptography is, or has been, restricted. Until 1999, France significantly restricted the use of cryptography domestically, though it has since relaxed many of these rules. In China and Iran, a license is still required to use cryptography.[7] Many countries have tight restrictions on the use of cryptography. Among the more restrictive are laws in Belarus, Kazakhstan, Mongolia, Pakistan, Singapore, Tunisia, and Vietnam.[69]

In the United States, cryptography is legal for domestic use, but there has been much conflict over legal issues related to cryptography.[9] One particularly important issue has been the export of cryptography and cryptographic software and hardware. Probably because of the importance of cryptanalysis in World War II and an expectation that cryptography would continue to be important for national security, many Western governments have, at some point, strictly regulated export of cryptography. After World War II, it was illegal in the US to sell or distribute encryption technology overseas; in fact, encryption was designated as auxiliary military equipment and put on the United States Munitions List.[70] Until the development of the personal computer, asymmetric key algorithms (i.e., public key techniques), and the Internet, this was not especially problematic. However, as the Internet grew and computers became more widely available, high-quality encryption techniques became well known around the globe.

Export controls

In the 1990s, there were several challenges to US export regulation of cryptography. After the source code for Philip Zimmermann's Pretty Good Privacy (PGP) encryption program found its way onto the Internet in June 1991, a complaint by RSA Security (then called RSA Data Security, Inc.) resulted in a lengthy criminal investigation of Zimmermann by the US Customs Service and the FBI, though no charges were ever filed.[71][72] Daniel J. Bernstein, then a graduate student at UC Berkeley, brought a lawsuit against the US government challenging some aspects of the restrictions based on free speech grounds. The 1995 case Bernstein v. United States ultimately resulted in a 1999 decision that printed source code for cryptographic algorithms and systems was protected as free speech by the United States Constitution.[73]

In 1996, thirty-nine countries signed the Wassenaar Arrangement, an arms control treaty that deals with the export of arms and "dual-use" technologies such as cryptography. The treaty stipulated that the use of cryptography with short key-lengths (56-bit for symmetric encryption, 512-bit for RSA) would no longer be export-controlled.[74] Cryptography exports from the US became less strictly regulated as a consequence of a major relaxation in 2000;[75] there are no longer very many restrictions on key sizes in US-exported mass-market software. Since this relaxation in US export restrictions, and because most personal computers connected to the Internet include US-sourced web browsers such as Firefox or Internet Explorer, almost every Internet user worldwide has potential access to quality cryptography via their browsers (e.g., via Transport Layer Security). The Mozilla Thunderbird and Microsoft Outlook E-mail client programs similarly can transmit and receive emails via TLS, and can send and receive email encrypted with S/MIME. Many Internet users do not realize that their basic application software contains such extensive cryptosystems. These browsers and email programs are so ubiquitous that even governments whose intent is to regulate civilian use of cryptography generally do not find it practical to do much to control distribution or use of cryptography of this quality, so even when such laws are in force, actual enforcement is often effectively impossible.[citation needed]

NSA involvement

NSA headquarters in Fort Meade, Maryland

Another contentious issue connected to cryptography in the United States is the influence of the National Security Agency on cipher development and policy.[9] The NSA was involved with the design of DES during its development at IBM and its consideration by the National Bureau of Standards as a possible Federal Standard for cryptography.[76] DES was designed to be resistant to differential cryptanalysis,[77] a powerful and general cryptanalytic technique known to the NSA and IBM, that became publicly known only when it was rediscovered in the late 1980s.[78] According to Steven Levy, IBM discovered differential cryptanalysis,[72] but kept the technique secret at the NSA's request. The technique became publicly known only when Biham and Shamir re-discovered and announced it some years later. The entire affair illustrates the difficulty of determining what resources and knowledge an attacker might actually have.

Another instance of the NSA's involvement was the 1993 Clipper chip affair, an encryption microchip intended to be part of the Capstone cryptography-control initiative. Clipper was widely criticized by cryptographers for two reasons. The cipher algorithm (called Skipjack) was then classified (declassified in 1998, long after the Clipper initiative lapsed). The classified cipher caused concerns that the NSA had deliberately made the cipher weak to assist its intelligence efforts. The whole initiative was also criticized based on its violation of Kerckhoffs's Principle, as the scheme included a special escrow key held by the government for use by law enforcement (i.e. wiretapping).[72]

Digital rights management

Cryptography is central to digital rights management (DRM), a group of techniques for technologically controlling use of copyrighted material, being widely implemented and deployed at the behest of some copyright holders. In 1998, U.S. President Bill Clinton signed the Digital Millennium Copyright Act (DMCA), which criminalized all production, dissemination, and use of certain cryptanalytic techniques and technology (now known or later discovered); specifically, those that could be used to circumvent DRM technological schemes.[79] This had a noticeable impact on the cryptography research community since an argument can be made that any cryptanalytic research violated the DMCA. Similar statutes have since been enacted in several countries and regions, including the implementation in the EU Copyright Directive. Similar restrictions are called for by treaties signed by World Intellectual Property Organization member-states.

The United States Department of Justice and FBI have not enforced the DMCA as rigorously as had been feared by some, but the law, nonetheless, remains a controversial one. Niels Ferguson, a well-respected cryptography researcher, has publicly stated that he will not release some of his research into an Intel security design for fear of prosecution under the DMCA.[80] Cryptologist Bruce Schneier has argued that the DMCA encourages vendor lock-in, while inhibiting actual measures toward cyber-security.[81] Both Alan Cox (longtime Linux kernel developer) and Edward Felten (and some of his students at Princeton) have encountered problems related to the Act. Dmitry Sklyarov was arrested during a visit to the US from Russia, and jailed for five months pending trial for alleged violations of the DMCA arising from work he had done in Russia, where the work was legal. In 2007, the cryptographic keys responsible for Blu-ray and HD DVD content scrambling were discovered and released onto the Internet. In both cases, the Motion Picture Association of America sent out numerous DMCA takedown notices, and there was a massive Internet backlash[10] triggered by the perceived impact of such notices on fair use and free speech.

Forced disclosure of encryption keys

In the United Kingdom, the Regulation of Investigatory Powers Act gives UK police the powers to force suspects to decrypt files or hand over passwords that protect encryption keys. Failure to comply is an offense in its own right, punishable on conviction by a two-year jail sentence or up to five years in cases involving national security.[8] Successful prosecutions have occurred under the Act; the first, in 2009,[82] resulted in a term of 13 months' imprisonment.[83] Similar forced disclosure laws in Australia, Finland, France, and India compel individual suspects under investigation to hand over encryption keys or passwords during a criminal investigation.

In the United States, the federal criminal case of United States v. Fricosu addressed whether a search warrant can compel a person to reveal an encryption passphrase or password.[84] The Electronic Frontier Foundation (EFF) argued that this is a violation of the protection from self-incrimination given by the Fifth Amendment.[85] In 2012, the court ruled that under the All Writs Act, the defendant was required to produce an unencrypted hard drive for the court.[86]

In many jurisdictions, the legal status of forced disclosure remains unclear.

The 2016 FBI–Apple encryption dispute concerns the ability of courts in the United States to compel manufacturers' assistance in unlocking cell phones whose contents are cryptographically protected.

As a potential counter-measure to forced disclosure some cryptographic software supports plausible deniability, where the encrypted data is indistinguishable from unused random data (for example such as that of a drive which has been securely wiped).

See also

References

  1. ^ Liddell, Henry George; Scott, Robert; Jones, Henry Stuart; McKenzie, Roderick (1984). A Greek-English Lexicon. Oxford University Press.
  2. ^ Rivest, Ronald L. (1990). "Cryptography". In J. Van Leeuwen (ed.). Handbook of Theoretical Computer Science. Vol. 1. Elsevier.
  3. ^ Bellare, Mihir; Rogaway, Phillip (21 September 2005). "Introduction". Introduction to Modern Cryptography. p. 10.
  4. ^ Sadkhan, Sattar B. (December 2013). "Key note lecture multidisciplinary in cryptology and information security". 2013 International Conference on Electrical Communication, Computer, Power, and Control Engineering (ICECCPCE). pp. 1–2. doi:10.1109/ICECCPCE.2013.6998773. ISBN 978-1-4799-5633-3. S2CID 22378547. Archived from the original on 27 August 2022. Retrieved 20 September 2022.
  5. ^ a b c d e f g Menezes, A.J.; van Oorschot, P.C.; Vanstone, S.A. (1997). Handbook of Applied Cryptography. Taylor & Francis. ISBN 978-0-8493-8523-0.
  6. ^ a b Biggs, Norman (2008). Codes: An introduction to Information Communication and Cryptography. Springer. p. 171.
  7. ^ a b "Overview per country". Crypto Law Survey. February 2013. Archived from the original on 1 January 2013. Retrieved 26 March 2015.
  8. ^ a b "UK Data Encryption Disclosure Law Takes Effect". PC World. 1 October 2007. Archived from the original on 20 January 2012. Retrieved 26 March 2015.
  9. ^ a b c d Ranger, Steve (24 March 2015). "The undercover war on your internet secrets: How online surveillance cracked our trust in the web". TechRepublic. Archived from the original on 12 June 2016. Retrieved 12 June 2016.
  10. ^ a b Doctorow, Cory (2 May 2007). "Digg users revolt over AACS key". Boing Boing. Archived from the original on 12 May 2015. Retrieved 26 March 2015.
  11. ^ Whalen, Terence (1994). "The Code for Gold: Edgar Allan Poe and Cryptography". Representations. 46 (46). University of California Press: 35–57. doi:10.2307/2928778. JSTOR 2928778.
  12. ^ Rosenheim, Shawn (1997). The Cryptographic Imagination: Secret Writing from Edgar Poe to the Internet. Johns Hopkins University Press. p. 20. ISBN 978-0801853319.
  13. ^ a b c d Kahn, David (1967). The Codebreakers. ISBN 978-0-684-83130-5.
  14. ^ "An Introduction to Modern Cryptosystems". Archived from the original on 17 November 2015. Retrieved 12 October 2015.
  15. ^ Sharbaf, M.S. (1 November 2011). "Quantum cryptography: An emerging technology in network security". 2011 IEEE International Conference on Technologies for Homeland Security (HST). pp. 13–19. doi:10.1109/THS.2011.6107841. ISBN 978-1-4577-1376-7. S2CID 17915038.
  16. ^ "cryptology | Britannica". www.britannica.com. Archived from the original on 10 July 2022. Retrieved 22 June 2022.
  17. ^ Oded Goldreich, Foundations of Cryptography, Volume 1: Basic Tools, Cambridge University Press, 2001, ISBN 0-521-79172-3
  18. ^ "Cryptology (definition)". Merriam-Webster's Collegiate Dictionary (11th ed.). Merriam-Webster. Retrieved 26 March 2015.
  19. ^ Shirey, Rob (May 2000). "Internet Security Glossary". Internet Engineering Task Force. doi:10.17487/RFC2828. RFC 2828. Archived from the original on 18 April 2015. Retrieved 26 March 2015.
  20. ^ Military.com (13 May 2021). "What's a Cryptologic Linguist?". Military.com. Retrieved 17 July 2023.
  21. ^ James D. Benson; Michael J. Cummings; William S. Greaves, eds. (January 1988). Linguistics in a Systemic Perspective. John Benjamins Publishing Company. p. 38. ISBN 9789027278760.
  22. ^ Saltzman, Benjamin A. (1 October 2018). "Vt hkskdkxt: Early Medieval Cryptography, Textual Errors, and Scribal Agency". Speculum. 93 (4): 975–1009. doi:10.1086/698861. ISSN 0038-7134. S2CID 165362817. Archived from the original on 26 February 2022. Retrieved 26 February 2022.
  23. ^ I︠A︡shchenko, V.V. (2002). Cryptography: an introduction. AMS Bookstore. p. 6. ISBN 978-0-8218-2986-8.
  24. ^ electricpulp.com. "CODES – Encyclopaedia Iranica". www.iranicaonline.org. Archived from the original on 5 March 2017. Retrieved 4 March 2017.
  25. ^ Kahn, David (1996). The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet. Simon and Schuster. ISBN 978-1439103555. Archived from the original on 1 July 2023. Retrieved 16 October 2020.
  26. ^ Broemeling, Lyle D. (1 November 2011). "An Account of Early Statistical Inference in Arab Cryptology". The American Statistician. 65 (4): 255–257. doi:10.1198/tas.2011.10191. S2CID 123537702.
  27. ^ Singh, Simon (2000). The Code Book. New York: Anchor Books. pp. 14–20. ISBN 978-0-385-49532-5.
  28. ^ a b Al-Kadi, Ibrahim A. (April 1992). "The origins of cryptology: The Arab contributions". Cryptologia. 16 (2): 97–126. doi:10.1080/0161-119291866801.
  29. ^ Schrödel, Tobias (October 2008). "Breaking Short Vigenère Ciphers". Cryptologia. 32 (4): 334–337. doi:10.1080/01611190802336097. S2CID 21812933.
  30. ^ Hakim, Joy (1995). A History of US: War, Peace and all that Jazz. New York: Oxford University Press. ISBN 978-0-19-509514-2.
  31. ^ Gannon, James (2001). Stealing Secrets, Telling Lies: How Spies and Codebreakers Helped Shape the Twentieth Century. Washington, D.C.: Brassey's. ISBN 978-1-57488-367-1.
  32. ^ "The Legacy of DES – Schneier on Security". www.schneier.com. Archived from the original on 23 February 2022. Retrieved 26 January 2022.
  33. ^ a b c Diffie, Whitfield; Hellman, Martin (November 1976). "New Directions in Cryptography" (PDF). IEEE Transactions on Information Theory. IT-22 (6): 644–654. CiteSeerX 10.1.1.37.9720. doi:10.1109/tit.1976.1055638. Archived (PDF) from the original on 3 December 2017. Retrieved 16 November 2015.
  34. ^ Singh, Simon (1999). The Code Book: The Science of Secrecy From Ancient Egypt To Quantum Cryptography (First Anchor Books ed.). New York: Anchor Books. pp. 278. ISBN 978-0-385-49532-5.
  35. ^ Cryptography: Theory and Practice, Third Edition (Discrete Mathematics and Its Applications), 2005, by Douglas R. Stinson, Chapman and Hall/CRC
  36. ^ Blaze, Matt; Diffie, Whitefield; Rivest, Ronald L.; Schneier, Bruce; Shimomura, Tsutomu; Thompson, Eric; Wiener, Michael (January 1996). "Minimal key lengths for symmetric ciphers to provide adequate commercial security". Fortify. Archived from the original on 24 September 2015. Retrieved 26 March 2015.
  37. ^ Diffie, W.; Hellman, M. (1 September 2006). "New directions in cryptography". IEEE Transactions on Information Theory. 22 (6): 644–654. doi:10.1109/TIT.1976.1055638. Archived from the original on 19 April 2022. Retrieved 19 April 2022.
  38. ^ "FIPS PUB 197: The official Advanced Encryption Standard" (PDF). Computer Security Resource Center. National Institute of Standards and Technology. Archived from the original (PDF) on 7 April 2015. Retrieved 26 March 2015.
  39. ^ "NCUA letter to credit unions" (PDF). National Credit Union Administration. July 2004. Archived (PDF) from the original on 12 September 2014. Retrieved 26 March 2015.
  40. ^ Finney, Hal; Thayer, Rodney L.; Donnerhacke, Lutz; Callas, Jon (November 1998). "Open PGP Message Format". Internet Engineering Task Force. doi:10.17487/RFC2440. RFC 2440. Archived from the original on 15 March 2015. Retrieved 26 March 2015.
  41. ^ Golen, Pawel (19 July 2002). "SSH". WindowSecurity. Archived from the original on 29 October 2009. Retrieved 26 March 2015.
  42. ^ a b Schneier, Bruce (1996). Applied Cryptography (2nd ed.). Wiley. ISBN 978-0-471-11709-4.
  43. ^ Paar, Christof (2009). Understanding cryptography : a textbook for students and practitioners. Jan Pelzl. Berlin: Springer. p. 123. ISBN 978-3-642-04101-3. OCLC 567365751.
  44. ^ Bernstein, Daniel J.; Lange, Tanja (14 September 2017). "Post-quantum cryptography". Nature. 549 (7671): 188–194. Bibcode:2017Natur.549..188B. doi:10.1038/nature23461. ISSN 0028-0836. PMID 28905891. S2CID 4446249. Archived from the original on 10 July 2022. Retrieved 26 August 2022.
  45. ^ a b "Announcing Request for Candidate Algorithm Nominations for a New Cryptographic Hash Algorithm (SHA–3) Family" (PDF). Federal Register. 72 (212). 2 November 2007. Archived (PDF) from the original on 28 February 2008.
  46. ^ a b "NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition". NIST. National Institute of Standards and Technology. 2 October 2012. Archived from the original on 2 April 2015. Retrieved 26 March 2015.
  47. ^ Diffie, Whitfield; Hellman, Martin (8 June 1976). "Multi-user cryptographic techniques". AFIPS Proceedings. 45: 109–112. doi:10.1145/1499799.1499815. S2CID 13210741.
  48. ^ Ralph Merkle was working on similar ideas at the time and encountered publication delays, and Hellman has suggested that the term used should be Diffie–Hellman–Merkle asymmetric key cryptography.
  49. ^ Kahn, David (Fall 1979). "Cryptology Goes Public". Foreign Affairs. 58 (1): 141–159. doi:10.2307/20040343. JSTOR 20040343.
  50. ^ "Using Client-Certificate based authentication with NGINX on Ubuntu". SSLTrust. Archived from the original on 26 August 2019. Retrieved 13 June 2019.
  51. ^ Rivest, Ronald L.; Shamir, A.; Adleman, L. (1978). "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" (PDF). Communications of the ACM. 21 (2): 120–126. CiteSeerX 10.1.1.607.2677. doi:10.1145/359340.359342. S2CID 2873616. Archived from the original (PDF) on 16 November 2001. Previously released as an MIT "Technical Memo" in April 1977, and published in Martin Gardner's Scientific American Mathematical recreations column
  52. ^ a b Wayner, Peter (24 December 1997). "British Document Outlines Early Encryption Discovery". The New York Times. Archived from the original on 27 June 2017. Retrieved 26 March 2015.
  53. ^ Cocks, Clifford (20 November 1973). "A Note on 'Non-Secret Encryption'" (PDF). CESG Research Report. Archived (PDF) from the original on 27 July 2011. Retrieved 22 July 2009.
  54. ^ Singh, Simon (1999). The Code Book. Doubleday. pp. 279–292. ISBN 9780385495318.
  55. ^ Shannon, Claude; Weaver, Warren (1963). The Mathematical Theory of Communication. University of Illinois Press. ISBN 978-0-252-72548-7.
  56. ^ "An Example of a Man-in-the-middle Attack Against Server Authenticated SSL-sessions" (PDF). Archived (PDF) from the original on 3 June 2016. Retrieved 13 October 2015.
  57. ^ Junod, Pascal (2001). "On the Complexity of Matsui's Attack". Selected Areas in Cryptography (PDF). Lecture Notes in Computer Science. Vol. 2259. pp. 199–211. doi:10.1007/3-540-45537-X_16. ISBN 978-3-540-43066-7.
  58. ^ Song, Dawn; Wagner, David A.; Tian, Xuqing (2001). "Timing Analysis of Keystrokes and Timing Attacks on SSH" (PDF). Tenth USENIX Security Symposium.
  59. ^ Brands, S. (1994). "Untraceable Off-line Cash in Wallet with Observers". Advances in Cryptology – CRYPTO' 93. Lecture Notes in Computer Science. Vol. 773. pp. 302–318. doi:10.1007/3-540-48329-2_26. ISBN 978-3-540-57766-9. Archived from the original on 26 July 2011.
  60. ^ Babai, László (1985). "Trading group theory for randomness". Proceedings of the seventeenth annual ACM symposium on Theory of computing – STOC '85. pp. 421–429. CiteSeerX 10.1.1.130.3397. doi:10.1145/22145.22192. ISBN 978-0-89791-151-1. S2CID 17981195.
  61. ^ Goldwasser, S.; Micali, S.; Rackoff, C. (1989). "The Knowledge Complexity of Interactive Proof Systems". SIAM Journal on Computing. 18 (1): 186–208. CiteSeerX 10.1.1.397.4002. doi:10.1137/0218012.
  62. ^ Blakley, G. (June 1979). "Safeguarding cryptographic keys". Proceedings of AFIPS 1979. 48: 313–317.
  63. ^ Shamir, A. (1979). "How to share a secret". Communications of the ACM. 22 (11): 612–613. doi:10.1145/359168.359176. S2CID 16321225.
  64. ^ Gunathilake, Nilupulee A.; Al-Dubai, Ahmed; Buchana, William J. (2 November 2020). "Recent Advances and Trends in Lightweight Cryptography for IoT Security". 2020 16th International Conference on Network and Service Management (CNSM). Izmir, Turkey: IEEE. pp. 1–5. doi:10.23919/CNSM50824.2020.9269083. ISBN 978-3-903176-31-7. S2CID 227277538. Archived from the original on 24 April 2021. Retrieved 24 April 2021.
  65. ^ Thakor, Vishal A.; Razzaque, Mohammad Abdur; Khandaker, Muhammad R. A. (2021). "Lightweight Cryptography Algorithms for Resource-Constrained IoT Devices: A Review, Comparison and Research Opportunities". IEEE Access. 9: 28177–28193. Bibcode:2021IEEEA...928177T. doi:10.1109/ACCESS.2021.3052867. ISSN 2169-3536. S2CID 232042514.
  66. ^ Cohen, Fred (1995). "2.4 – Applications of Cryptography". all.net. Archived from the original on 24 August 1999. Retrieved 21 December 2021.
  67. ^ "4 Common Encryption Methods to Shield Sensitive Data From Prying Eyes". GetApp. Archived from the original on 14 May 2022. Retrieved 14 May 2022.
  68. ^ a b c d e Chamberlain, Austin (12 March 2017). "Applications of Cryptography | UCL Risky Business". blogs.ucl.ac.uk. Archived from the original on 26 February 2018. Retrieved 21 December 2021.
  69. ^ "6.5.1 What Are the Cryptographic Policies of Some Countries?". RSA Laboratories. Archived from the original on 16 April 2015. Retrieved 26 March 2015.
  70. ^ Rosenoer, Jonathan (1995). "Cryptography & Speech". CyberLaw. Archived from the original on 1 December 2005. Retrieved 23 June 2006.
  71. ^ "Case Closed on Zimmermann PGP Investigation". IEEE Computer Society's Technical Committee on Security and Privacy. 14 February 1996. Archived from the original on 11 June 2010. Retrieved 26 March 2015.
  72. ^ a b c Levy, Steven (2001). Crypto: How the Code Rebels Beat the Government – Saving Privacy in the Digital Age. Penguin Books. p. 56. ISBN 978-0-14-024432-8. OCLC 244148644.
  73. ^ "Bernstein v USDOJ". Electronic Privacy Information Center. United States Court of Appeals for the Ninth Circuit. 6 May 1999. Archived from the original on 13 August 2009. Retrieved 26 March 2015.
  74. ^ "Dual-use List – Category 5 – Part 2 – "Information Security"" (PDF). Wassenaar Arrangement. Archived from the original on 26 September 2018. Retrieved 26 March 2015.
  75. ^ ".4 United States Cryptography Export/Import Laws". RSA Laboratories. Archived from the original on 31 March 2015. Retrieved 26 March 2015.
  76. ^ Schneier, Bruce (15 June 2000). "The Data Encryption Standard (DES)". Crypto-Gram. Archived from the original on 2 January 2010. Retrieved 26 March 2015.
  77. ^ Coppersmith, D. (May 1994). "The Data Encryption Standard (DES) and its strength against attacks" (PDF). IBM Journal of Research and Development. 38 (3): 243–250. doi:10.1147/rd.383.0243. Archived from the original on 4 March 2016. Retrieved 26 March 2015.
  78. ^ Biham, E.; Shamir, A. (1991). "Differential cryptanalysis of DES-like cryptosystems". Journal of Cryptology. 4 (1): 3–72. doi:10.1007/bf00630563. S2CID 206783462.
  79. ^ "The Digital Millennium Copyright Act of 1998" (PDF). United States Copyright Office. Archived (PDF) from the original on 8 August 2007. Retrieved 26 March 2015.
  80. ^ Ferguson, Niels (15 August 2001). "Censorship in action: why I don't publish my HDCP results". Archived from the original on 1 December 2001. Retrieved 16 February 2009.
  81. ^ Schneier, Bruce (6 August 2001). "Arrest of Computer Researcher Is Arrest of First Amendment Rights". InternetWeek. Archived from the original on 7 March 2017. Retrieved 7 March 2017.
  82. ^ Williams, Christopher (11 August 2009). "Two convicted for refusal to decrypt data". The Register. Archived from the original on 17 March 2015. Retrieved 26 March 2015.
  83. ^ Williams, Christopher (24 November 2009). "UK jails schizophrenic for refusal to decrypt files". The Register. Archived from the original on 26 March 2015. Retrieved 26 March 2015.
  84. ^ Ingold, John (4 January 2012). "Password case reframes Fifth Amendment rights in context of digital world". The Denver Post. Archived from the original on 2 April 2015. Retrieved 26 March 2015.
  85. ^ Leyden, John (13 July 2011). "US court test for rights not to hand over crypto keys". The Register. Archived from the original on 24 October 2014. Retrieved 26 March 2015.
  86. ^ "Order Granting Application under the All Writs Act Requiring Defendant Fricosu to Assist in the Execution of Previously Issued Search Warrants" (PDF). United States District Court for the District of Colorado. Archived (PDF) from the original on 9 June 2021. Retrieved 26 March 2015.

Further reading

External links