robot de la enciclopedia para niños

Criptoanálisis para niños

Enciclopedia para niños

El criptoanálisis es el estudio de los sistemas que se usan para proteger información (llamados sistemas criptográficos). Su objetivo es encontrar puntos débiles en estos sistemas para poder descifrar mensajes o acceder a datos sin tener la clave secreta. En palabras más sencillas, es como intentar "romper" un código o un mensaje secreto. Las personas que hacen esto se llaman criptoanalistas.

Los métodos de criptoanálisis han cambiado mucho a lo largo de la historia. Al principio, se usaban lápiz y papel. Luego, aparecieron máquinas como Enigma, que fue muy importante durante la Segunda Guerra Mundial. Hoy en día, se usan computadoras muy potentes. A medida que los sistemas para proteger la información se hicieron más complejos, también lo hicieron las formas de intentar descifrarlos.

A mediados de los años 1970, se inventó un nuevo tipo de protección de información llamada criptografía asimétrica. Los métodos para "romper" estos sistemas son muy diferentes y a menudo implican resolver problemas complejos de matemática pura, como la factorización de enteros (encontrar los números primos que, multiplicados, dan un número grande).

Hoy en día, no siempre es posible "romper" un código por completo. Hay diferentes niveles de éxito en un ataque, desde encontrar una pequeña debilidad hasta descifrar todo el sistema.

¿Cuál es el objetivo del criptoanálisis?

Archivo:Lorenz-SZ42-2
La Lorenz-SZ42-2 fue una máquina de cifrado usada por el ejército alemán en la Segunda Guerra Mundial.

El objetivo principal del criptoanálisis es descubrir las debilidades en los sistemas criptográficos. Esto permite crear "ataques" para superar su seguridad sin conocer la información secreta. Para lograrlo, los criptoanalistas estudian a fondo cómo están diseñados estos sistemas y cómo funcionan.

Por ejemplo, en un sistema que cifra mensajes, un estudio de criptoanálisis podría intentar conseguir la clave secreta. O, a veces, simplemente buscan acceder al mensaje original sin necesidad de tener la clave. El criptoanálisis no solo se enfoca en descifrar mensajes, sino que también estudia otros tipos de algoritmos y protocolos criptográficos para encontrar formas de superar su seguridad.

Sin embargo, el criptoanálisis generalmente no incluye ataques que no se basen en las debilidades de la criptografía misma. Por ejemplo, no se considera criptoanálisis si alguien obtiene información secreta mediante el robo o el uso de programas espía (como los que registran lo que escribes en el teclado, llamados keyloggers). Aunque estos métodos son un riesgo para la seguridad informática, son diferentes del criptoanálisis tradicional.

Áreas de estudio del criptoanálisis

Para lograr su objetivo de "romper" la seguridad de los sistemas criptográficos, los criptoanalistas los estudian desde diferentes puntos de vista para encontrar debilidades.

La teoría de la información

La teoría de la información es una herramienta muy útil para saber qué tan seguros son los sistemas criptográficos. Por ejemplo, en los sistemas de cifrado, se analiza la entropía (que mide la incertidumbre o el desorden) de la clave, de los mensajes cifrados y de los mensajes originales. Como los mensajes originales suelen estar en idiomas humanos, también es importante estudiar su entropía.

Los criptoanalistas también investigan el nivel de secreto de los sistemas. Por ejemplo, en los sistemas de cifrado, estudian el grado de secreto para identificar aquellos que tienen un secreto perfecto a nivel teórico. Se ha descubierto que el secreto perfecto requiere que el número de claves sea tan grande como el número de mensajes. Esto es difícil de lograr, excepto en sistemas muy específicos como los llamados cifradores de libreta de un solo uso.

En la práctica, la mayoría de los sistemas usan un número limitado de claves. Para entender la seguridad de estos sistemas, los criptoanalistas han creado el concepto de distancia de unicidad. Este valor indica la cantidad mínima de caracteres cifrados que se necesitan para que solo haya una clave posible que se haya usado para crear ese mensaje cifrado. Para esto, se usa la entropía condicional, que mide la incertidumbre de la clave cuando ya se conoce el texto cifrado.

Para un sistema de cifrado, hay dos tipos de entropías condicionales importantes para un criptoanalista:

  • La incertidumbre de la clave cuando se conoce el mensaje cifrado. Si esta incertidumbre es cero, significa que el cifrado puede ser "roto".
  • La incertidumbre del mensaje original cuando se conoce el mensaje cifrado.

Se ha demostrado que existe una relación entre estas entropías. El objetivo de quien usa un cifrador es que la incertidumbre de la clave sea alta, incluso si el atacante tiene tanto el mensaje cifrado como el original (esto se llama ataque con texto claro conocido). Sin embargo, esto implica que la incertidumbre del mensaje original sea baja cuando solo se conoce el mensaje cifrado (ataque con solo texto cifrado disponible), lo cual no es bueno para la seguridad. Por eso, se busca un equilibrio para que el sistema sea fuerte ante ambos tipos de ataques.

Base matemática y capacidad de cálculo

La criptografía asimétrica, por ejemplo, basa su seguridad en problemas matemáticos que son difíciles de resolver. Por lo tanto, una forma de atacarlos es desarrollar métodos para solucionar esos problemas. Los algoritmos asimétricos se diseñan pensando en la dificultad de resolver ciertos desafíos matemáticos. Si se encuentra un algoritmo mejor que pueda resolver el problema, el criptosistema se debilita.

Algunos ejemplos son:

  • La seguridad del protocolo Diffie-Hellman depende de lo difícil que es calcular un logaritmo discreto. En 1983, Don Coppersmith encontró una forma más rápida de calcular logaritmos discretos en ciertos casos, lo que obligó a los expertos a usar grupos de números más grandes o diferentes tipos de grupos.
  • La seguridad del protocolo RSA depende en parte de lo difícil que es la factorización de enteros. Si se mejora la factorización, la seguridad de RSA se vería afectada. En 1980, se podía factorizar un número de 50 dígitos con muchas operaciones. Para 1984, la tecnología había avanzado tanto que se podía factorizar un número de 75 dígitos con la misma cantidad de operaciones. Los avances en la tecnología de computación también han hecho que estas operaciones se realicen mucho más rápido. La Ley de Moore predice que la velocidad de las computadoras seguirá aumentando. Los números de 150 cifras, como los usados en RSA, ya han sido factorizados. Hoy en día, los números de 150 cifras ya no se consideran lo suficientemente grandes para una clave RSA. Los números de varios cientos de dígitos todavía son muy difíciles de factorizar, pero los métodos seguirán mejorando, lo que obliga a que las claves sean cada vez más largas o a que se desarrollen nuevos algoritmos.

Otra diferencia de los algoritmos asimétricos es que, a diferencia de los ataques a sistemas simétricos, cualquier criptoanálisis puede usar la información que se obtiene de la clave pública.

Ataques criptoanalíticos

Los ataques criptoanalíticos son la aplicación de los estudios de criptoanálisis para aprovechar las debilidades de los sistemas criptográficos y así "romper" su seguridad.

Estos ataques varían en su fuerza y en la amenaza que representan para los sistemas. Se dice que un ataque explota una "debilidad teórica" si es un ataque que, aunque posible en teoría, es muy difícil de aplicar en la vida real. Muchos de los descubrimientos en la investigación moderna del criptoanálisis son de este tipo.

Cada ataque tiene sus propias características que lo hacen más o menos fácil de realizar.

No todos los ataques criptoanalíticos buscan "romper" el sistema por completo. El objetivo puede ser obtener información desconocida sobre el sistema para ir debilitando su seguridad poco a poco.

Tipos de ataques

Los ataques criptoanalíticos se pueden clasificar de varias maneras.

Según cómo actúa el atacante

Los ataques se pueden clasificar según la forma en que el atacante interactúa con la comunicación.

Ataques pasivos

En los ataques pasivos, el atacante no cambia la comunicación, solo la escucha o la observa para obtener información. Este tipo de ataques suelen usar técnicas para "escuchar" paquetes de datos (como el sniffing) y para analizar el tráfico de información. Son difíciles de detectar porque no alteran los datos. A veces, estos ataques se pueden dificultar cifrando la información que podría ser escuchada.

Un estudio reciente sobre la ciberseguridad de los dispositivos portátiles usó ataques pasivos a diferentes relojes inteligentes para ver si tenían vulnerabilidades importantes, especialmente durante el proceso de conexión.

Ataques activos

Estos ataques implican alguna modificación de los datos o la creación de información falsa. Hay muchas técnicas usadas en este tipo de ataques. Ejemplos:

  • Suplantación de identidad.
  • Modificación de mensajes: Capturar paquetes para luego eliminarlos, manipularlos, modificarlos o cambiar su orden.
  • Reenvío: Capturar paquetes y volver a enviarlos.
  • Degradación: Técnicas para que un servicio funcione peor.

Según el conocimiento previo del atacante

El criptoanálisis se puede realizar bajo diferentes supuestos sobre cuánta información se conoce del sistema antes de atacar. Como punto de partida básico, se asume que el algoritmo general es conocido. Esto se conoce como la Máxima de Shannon: "el enemigo conoce el sistema". Esta es una suposición razonable en la práctica, ya que a lo largo de la historia, muchos algoritmos secretos se han conocido por espionaje, traición o ingeniería inversa. (A veces, algunos códigos se han reconstruido solo por deducción, como el código Lorenz y el código PURPLE).

Otros supuestos se pueden clasificar así:

  • Ataque con solo texto cifrado disponible: El criptoanalista solo tiene acceso a una colección de mensajes cifrados.
  • Ataque con texto claro conocido: El atacante tiene un conjunto de mensajes cifrados y conoce sus versiones originales (sin cifrar).
  • Ataque con texto claro escogido (o ataque con texto cifrado elegido): El atacante puede obtener las versiones cifradas (o claras) de mensajes que él mismo elige.
  • Ataque adaptativo de texto claro escogido: Similar al anterior, pero el atacante puede elegir los siguientes mensajes claros basándose en la información que obtuvo de los descifrados anteriormente. También existe el ataque adaptativo de texto cifrado escogido.
  • Ataque de clave relacionada: El atacante puede obtener mensajes cifrados usando dos claves diferentes. Las claves son desconocidas, pero se sabe la relación entre ellas; por ejemplo, dos claves que solo se diferencian en un bit.

Estos tipos de ataques son más o menos probables en la práctica. Aunque algunos son más realistas que otros, los criptógrafos suelen ser muy cuidadosos y asumen el peor escenario posible al diseñar algoritmos. Piensan que si un sistema es seguro incluso contra amenazas poco realistas, entonces también resistirá el criptoanálisis en el mundo real.

Los supuestos de estos ataques son a menudo más realistas de lo que parece. Para un ataque con texto claro conocido, el criptoanalista podría saber o adivinar una parte del mensaje original, como el saludo de una carta cifrada ("Estimado Sr."). Un ataque de texto claro escogido es menos común, pero puede ser posible si, por ejemplo, convences a alguien de reenviar un mensaje que tú le enviaste antes, pero cifrado. Los ataques de clave relacionada son más teóricos, pero pueden ser realistas en ciertas situaciones, como al crear funciones hash criptográficas usando un cifrado por bloques.

Según el objetivo del criptoanálisis

Los resultados de un criptoanálisis también pueden variar en su utilidad. Por ejemplo, el criptógrafo Lars Knudsen clasificó varios tipos de ataques a cifrados por bloques según la cantidad y calidad de la información secreta que se podía descubrir:

  • Ruptura total: El atacante descubre la clave secreta.
  • Deducción global: El atacante encuentra una forma de cifrar y descifrar mensajes que funciona igual que el original, pero no obtiene la clave.
  • Deducción local (o de instancia): El atacante descubre mensajes originales o cifrados adicionales a los que ya conocía.
  • Deducción de información: El atacante descubre alguna información nueva que no conocía antes.
  • Distinción del algoritmo: El atacante puede diferenciar la información cifrada de una secuencia de datos al azar.

Estas categorías se pueden aplicar a ataques sobre otros tipos de algoritmos.

Según el costo

Los ataques se pueden clasificar por la cantidad de recursos que necesitan. Estos recursos pueden ser:

  • Tiempo: El número de "operaciones básicas" que deben realizarse. Esto es un poco general; las operaciones básicas pueden ser desde una suma hasta un cifrado completo.
  • Memoria: La cantidad de espacio de almacenamiento necesario para llevar a cabo el ataque.
  • Datos: La cantidad de mensajes originales y cifrados que se necesitan.

En el mundo académico de la criptografía, una debilidad o una ruptura en un algoritmo se define de forma muy estricta. Bruce Schneier lo resume así: "Romper un cifrado significa encontrar una debilidad que se puede aprovechar con menos esfuerzo que intentar todas las combinaciones posibles (fuerza bruta). No importa si la fuerza bruta requiere muchísimas operaciones; un ataque que requiera menos operaciones ya se considera una ruptura... en pocas palabras, una ruptura puede ser solo una debilidad teórica: una prueba de que el código no es tan bueno como se dice".

Ejemplos de ataques

Existen muchos métodos de ataque criptoanalíticos. Algunos están especializados en un tipo de criptografía, mientras que otros son más generales. Los principales son:

  • Especializados en cifrado clásico:
    • Análisis de frecuencias (contar qué letras aparecen más).
    • Método Kasiski.
    • Índice de coincidencia.
    • Índice mutuo de coincidencia.
  • Especializados en criptografía simétrica:
    • Criptoanálisis diferencial.
    • Criptoanálisis lineal.
    • Criptoanálisis integral.
    • Criptoanálisis estadístico.
    • Criptoanálisis de módulo n.
    • Ataque XSL (eXtended Sparse Linearisation).
    • Ataque de deslizamiento.
  • Generales (aplicados en distintos ámbitos):

Computadoras cuánticas

Las computadoras cuánticas podrían ser muy útiles para el criptoanálisis. Como los estados cuánticos pueden existir en varias formas a la vez, es posible un nuevo tipo de computación. En este, un bit no solo representa 0 o 1, sino cualquier combinación de ellos. Peter Shor demostró que esto era posible, y desde entonces, varios equipos han mostrado aspectos de la computación cuántica. Por ahora, solo se han hecho pruebas muy limitadas. A partir de 2006, no hay una perspectiva clara de una computadora cuántica real y útil.

Sin embargo, si se construyera una computadora cuántica, muchas cosas cambiarían. La computación en paralelo (hacer muchas cosas a la vez) sería la norma, y varios aspectos de la criptografía se verían afectados.

En particular, una computadora cuántica podría realizar búsquedas de claves por fuerza bruta de forma extremadamente rápida. Esto significa que los tamaños de clave que hoy se consideran imposibles de "romper" por fuerza bruta, estarían a su alcance. Los tamaños de clave necesarios para estar fuera del alcance de una computadora cuántica serían mucho más grandes que los actuales. Algunos han dicho que ningún cifrado sería seguro si las computadoras cuánticas estuvieran disponibles. Otros aseguran que simplemente añadiendo más bits a las claves se evitarían los ataques de fuerza bruta, incluso con computadoras cuánticas.

Otra posibilidad es que el aumento de la capacidad de cálculo haga posibles otros ataques de búsqueda de claves, más allá de la fuerza bruta, contra algoritmos que hoy son muy seguros. Por ejemplo, no todo el progreso en la factorización de números primos se debe a mejores algoritmos. Parte se debe al aumento del poder de las computadoras, y una computadora cuántica en funcionamiento podría acelerar mucho las tareas de factorización. Esto es bastante predecible, aunque no del todo claro. Lo que no se puede prever es un avance teórico que requiera la computación cuántica y que haga posibles ataques que hoy son inviables o incluso desconocidos. Sin un método para predecir estos avances, solo podemos esperar.

No se sabe si existe un método de cifrado que sea rápido de cifrar, pero que requiera un tiempo extremadamente largo para descifrar, incluso para una computadora cuántica.

Historia del criptoanálisis

El criptoanálisis ha evolucionado junto con la criptografía. La competencia entre ambos se ha dado a lo largo de toda la historia de la criptografía. Se diseñaban nuevas claves para reemplazar los sistemas que ya habían sido "rotos", y se desarrollaban nuevas técnicas de criptoanálisis para descifrar las claves mejoradas. En la práctica, se consideran las dos caras de la misma moneda: para crear un sistema criptográfico seguro, es necesario tener en cuenta los descubrimientos del criptoanálisis. De hecho, hoy en día se invita a la comunidad científica a intentar "romper" las nuevas claves criptográficas antes de considerar que un sistema es lo suficientemente seguro.

Criptoanálisis clásico

Archivo:Al-kindi-cryptanalysis
Primera página de Un manuscrito para el descifrado de mensajes criptográficos, de Al-Kindi.

Aunque la palabra criptoanálisis es relativamente nueva (fue creada por William F. Friedman en 1920), los métodos para "romper" códigos y cifrados son mucho más antiguos. La primera explicación conocida del criptoanálisis la hizo el sabio árabe del siglo IX, Yusuf Yaqub ibn Ishaq al-Sabbah Al-Kindi, en su libro Manuscrito para Descifrar Mensajes Criptográficos. Este libro incluye una descripción del método de análisis de frecuencias.

El análisis de frecuencias es la herramienta básica para "romper" los cifrados clásicos. En todos los idiomas conocidos, algunas letras aparecen más a menudo que otras. Por ejemplo, en español, las vocales son muy frecuentes, ocupando alrededor del 45% del texto, siendo la E y la A las más comunes. En cambio, letras como F, Z, J, X, W y K aparecen muy poco. También se pueden analizar las frecuencias de pares o tríos de letras. El análisis de frecuencias puede revelar el contenido original si el cifrado no logra ocultar estas estadísticas. Por ejemplo, en un cifrado de sustitución simple (donde cada letra se cambia por otra), la letra más frecuente en el mensaje cifrado sería probablemente la "E".

El análisis de frecuencias se basa tanto en el conocimiento lingüístico como en las estadísticas. Pero a medida que los cifrados se hicieron más complejos, las matemáticas se convirtieron en el enfoque principal del criptoanálisis. Este cambio fue muy claro durante la Segunda Guerra Mundial, cuando los esfuerzos para "romper" los códigos del Eje necesitaron un nivel de matemáticas más avanzado. Además, la automatización se usó por primera vez en el criptoanálisis, con dispositivos como la Bomba y Colossus, una de las primeras computadoras.

Criptoanálisis moderno

Archivo:Bombe-wh.700px
Réplica de un dispositivo Bombe.

Aunque las computadoras se usaron con mucho éxito durante la Segunda Guerra Mundial, también hicieron posibles nuevos métodos criptográficos que eran mucho más complejos que los usados hasta entonces. En general, la criptografía moderna se ha vuelto mucho más difícil de "romper" para los criptoanalistas que los métodos antiguos de lápiz y papel. Parece que hoy en día, los métodos para proteger la información llevan ventaja sobre los métodos de criptoanálisis puro. El historiador David Kahn escribió: "Muchos de los sistemas criptográficos que se venden hoy en día por cientos de empresas no pueden ser 'rotos' por ningún método conocido de criptoanálisis. De hecho, en algunos sistemas, incluso un ataque de texto claro escogido, donde se compara un fragmento de texto original seleccionado con su versión cifrada, no permite conocer el código para "romper" otros mensajes. En cierto sentido, entonces, el criptoanálisis está 'muerto'. Pero esta no es el final de la historia. El criptoanálisis puede estar 'muerto', pero hay más de una forma de lograr el objetivo." Kahn menciona luego otras posibilidades como la intercepción, la colocación de dispositivos de escucha y los ataques de canal lateral como sustitutos de los métodos tradicionales de criptoanálisis.

Kahn quizás se apresuró al decir que el criptoanálisis estaba "muerto"; todavía existen cifrados débiles. En el ámbito académico, se presentan nuevos diseños regularmente, y también son "rotos" con frecuencia. Por ejemplo, el cifrado por bloques Madryga, de 1984, resultó vulnerable a un ataque con solo texto cifrado disponible en 1998. FEAL-4, propuesto como reemplazo para el algoritmo estándar de cifrado de datos DES, fue "demolido" por muchos ataques de la comunidad académica. En la industria, los cifrados tampoco están libres de fallos. Por ejemplo, los algoritmos AS/1, AS/2 y CMEA, usados en la industria de teléfonos móviles, pueden ser "rotos" en horas, minutos o incluso en tiempo real con equipos informáticos comunes. En 2001, se demostró que el algoritmo WEP, usado para proteger redes Wi-Fi, es vulnerable a un ataque de clave relacionada.

Los resultados del criptoanálisis

Archivo:Zimmermann-telegramm-offen
El Telegrama Zimmerman, descifrado.

Los éxitos del criptoanálisis han influido mucho en la historia. La capacidad de leer los pensamientos o planes secretos de otros puede ser una ventaja decisiva, especialmente en tiempos de guerra. Por ejemplo, durante la Primera Guerra Mundial, el descifrado del Telegrama Zimmermann fue clave para que los Estados Unidos entraran en la guerra. En la Segunda Guerra Mundial, el criptoanálisis de los códigos alemanes, incluyendo la máquina Enigma y el código Lorenz, ha sido considerado un factor que acortó la guerra en Europa o incluso un elemento crucial que determinó el resultado final (ver ULTRA). Los Estados Unidos también se beneficiaron del criptoanálisis del código japonés PURPLE durante la guerra (ver MAGIC).

Todos los gobiernos han sabido desde hace mucho tiempo los beneficios potenciales del criptoanálisis para la inteligencia militar, tanto en la guerra como en la diplomacia. Por eso, a menudo han creado organizaciones dedicadas exclusivamente a descifrar códigos de otras naciones, como GCHQ y NSA, organizaciones que siguen muy activas hoy en día.

Véase también

Kids robot.svg En inglés: Cryptanalysis Facts for Kids

kids search engine
Criptoanálisis para Niños. Enciclopedia Kiddle.