Un ataque de texto simple elegido ( CPA ) es un modelo de ataque para el criptoanálisis que presupone que el atacante puede obtener los textos cifrados de textos simples arbitrarios . [1] El objetivo del ataque es obtener información que reduzca la seguridad del esquema de cifrado . [2]
Los cifrados modernos tienen como objetivo proporcionar seguridad semántica, también conocida como indistinguibilidad del texto cifrado ante ataques de texto simple elegido , y por lo tanto, por diseño, generalmente son inmunes a los ataques de texto simple elegido si se implementan correctamente.
En un ataque de texto simple elegido, el adversario puede (posiblemente de forma adaptativa ) solicitar los textos cifrados de mensajes de texto simple arbitrarios. Esto se formaliza permitiendo que el adversario interactúe con un oráculo de cifrado , visto como una caja negra . El objetivo del atacante es revelar toda o parte de la clave de cifrado secreta.
En la práctica, puede parecer inviable que un atacante pueda obtener textos cifrados de textos simples determinados. Sin embargo, la criptografía moderna se implementa en software o hardware y se utiliza para una amplia gama de aplicaciones; en muchos casos, un ataque de texto simple elegido suele ser muy factible (véase también En la práctica). Los ataques de texto simple elegido se vuelven extremadamente importantes en el contexto de la criptografía de clave pública , donde la clave de cifrado es pública y, por lo tanto, los atacantes pueden cifrar cualquier texto simple que elijan.
Existen dos formas de ataques de texto simple elegido:
Un ataque general por lotes de texto simple elegido se lleva a cabo de la siguiente manera [ verificación fallida ] :
Considere la siguiente extensión de la situación anterior. Después del último paso,
Un cifrado tiene encriptaciones indistinguibles bajo un ataque de texto simple elegido si después de ejecutar el experimento anterior con n = 1 [ verificación fallida ] el adversario no puede adivinar correctamente ( b = b' ) con una probabilidad no despreciable mejor que 1/2. [3]
Los siguientes ejemplos demuestran cómo algunos cifrados que cumplen con otras definiciones de seguridad pueden romperse con un ataque de texto simple elegido.
El siguiente ataque al cifrado César permite la recuperación completa de la clave secreta:
Attack at dawn
,Nggnpx ng qnja
.A
→N
, T
→G
y así sucesivamente. Esto llevaría al adversario a determinar que 13 era la clave utilizada en el cifrado César.Con metodologías de cifrado más complejas o intrincadas, el método de descifrado requiere más recursos; sin embargo, el concepto central sigue siendo relativamente el mismo.
El siguiente ataque a un block de un solo uso permite recuperar por completo la clave secreta. Supongamos que la longitud del mensaje y la longitud de la clave son iguales a n .
Si bien el block de un solo uso se utiliza como ejemplo de un criptosistema seguro en términos de información , esta seguridad solo se cumple en el caso de definiciones de seguridad más débiles que la seguridad CPA. Esto se debe a que, según la definición formal de seguridad CPA, el oráculo de cifrado no tiene estado. Esta vulnerabilidad puede no ser aplicable a todas las implementaciones prácticas: el block de un solo uso puede volverse seguro si se evita la reutilización de claves (de ahí el nombre de block de "un solo uso").
En la Segunda Guerra Mundial, los criptoanalistas de la Marina de los EE. UU. descubrieron que Japón estaba planeando atacar una ubicación denominada "AF". Creían que "AF" podría ser la isla Midway , porque otras ubicaciones en las islas hawaianas tenían palabras clave que comenzaban con "A". Para probar su hipótesis de que "AF" correspondía a "Midway Island", pidieron a las fuerzas estadounidenses en Midway que enviaran un mensaje de texto sin formato sobre los suministros bajos. Los japoneses interceptaron el mensaje e inmediatamente informaron a sus superiores que "AF" tenía poco agua, lo que confirmó la hipótesis de la Marina y les permitió posicionar su fuerza para ganar la batalla . [3] [4]
También durante la Segunda Guerra Mundial , los descifradores de códigos aliados en Bletchley Park a veces pedían a la Royal Air Force que colocara minas en una posición que no tuviera abreviaturas o alternativas en la referencia de cuadrícula del sistema naval alemán. La esperanza era que los alemanes, al ver las minas, usaran una máquina Enigma para cifrar un mensaje de advertencia sobre las minas y un mensaje de "todo despejado" después de que fueran removidas, dando a los aliados suficiente información sobre el mensaje para descifrar el Enigma naval alemán. Este proceso de plantar un texto claro conocido se llamaba jardinería . [5] Los descifradores de códigos aliados también ayudaron a crear mensajes enviados por el agente doble Juan Pujol García , cuyos informes de radio cifrados fueron recibidos en Madrid, descifrados manualmente y luego reencriptados con una máquina Enigma para su transmisión a Berlín. [6] Esto ayudó a los descifradores de códigos a descifrar el código utilizado en la segunda etapa, habiendo proporcionado el texto original . [7]
En la actualidad, los ataques de texto simple elegido (CPA) se utilizan a menudo para romper cifrados simétricos . Para que se considere seguro mediante CPA, el cifrado simétrico no debe ser vulnerable a ataques de texto simple elegido. Por lo tanto, es importante que los implementadores de cifrados simétricos comprendan cómo un atacante intentaría romper su cifrado y realizar mejoras relevantes.
En algunos ataques de texto simple elegido, es posible que el atacante solo deba elegir una pequeña parte del texto simple; dichos ataques se conocen como ataques de inyección de texto simple.
Un ataque de texto simple elegido es más poderoso que un ataque de texto simple conocido , porque el atacante puede apuntar directamente a términos o patrones específicos sin tener que esperar a que aparezcan de forma natural, lo que permite una recopilación más rápida de datos relevantes para el criptoanálisis. Por lo tanto, cualquier cifrado que evite ataques de texto simple elegido también es seguro contra ataques de texto simple conocido y solo de texto cifrado .
Sin embargo, un ataque de texto simple elegido es menos poderoso que un ataque de texto cifrado elegido , donde el atacante puede obtener los textos simples de textos cifrados arbitrarios. Un atacante CCA a veces puede romper un sistema seguro CPA. [3] Por ejemplo, el cifrado El Gamal es seguro contra ataques de texto simple elegido, pero vulnerable a ataques de texto cifrado elegido porque es incondicionalmente maleable .
Los nazis creían que Pujol, a quien llamaban en código Alaric Arabel, era uno de sus activos más preciados.