La indistinguibilidad del texto cifrado es una propiedad de muchos sistemas de cifrado . Intuitivamente, si un sistema tiene la propiedad de indistinguibilidad, entonces un atacante no podrá distinguir pares de textos cifrados en función de los textos sin formato que cifran. La propiedad de indistinguibilidad para los ataques basados en el texto sin formato elegido se considera un requisito básico para los criptosistemas de clave pública probablemente más seguros , aunque algunos sistemas de cifrado también tienen una propiedad de indistinguibilidad para los ataques basados en el texto sin formato elegido y para los ataques adaptativos basados en el texto cifrado elegido. La indistinguibilidad de los ataques de texto sin formato elegido es el equivalente a la seguridad semántica de un sistema, por lo que estas definiciones se consideran intercambiables en muchas pruebas criptográficas.
Un criptosistema se considera seguro desde el punto de vista de la indistinguibilidad [1] si ningún atacante, después de haber recibido un texto cifrado seleccionado aleatoriamente de un espacio de mensaje de dos elementos definido por el adversario, puede identificar el texto sin formato correspondiente a este texto cifrado con una probabilidad significativamente mejor que con adivinanzas aleatorias (1⁄2 ). Si cualquier atacante puede lograr discernir el texto cifrado elegido con una probabilidad significativamente mayor que 1⁄2, entonces se dice que ese atacante tiene una "ventaja" para discernir el texto cifrado, y el sistema no se considera seguro desde el punto de vista de la indistinguibilidad . . Esta definición incluye la noción de que, en un sistema seguro, un atacante no debe obtener ninguna información al ver el texto cifrado . Por lo tanto, un atacante no debería poder distinguir entre textos cifrados mejor que si adivinara al azar.
La seguridad en términos de indistinguibilidad tiene muchas definiciones, dependiendo de las suposiciones sobre las capacidades del atacante. Generalmente se usa la siguiente analogía. Un criptosistema es una especie de juego . Además, un criptosistema se considera seguro si ningún participante puede ganar el juego con una probabilidad significativamente mayor que un participante que actuará al azar. Los conceptos más comunes utilizados en criptografía son la indistinguibilidad de los ataques de texto sin formato elegido (abreviado como IND-CPA), la indistinguibilidad de los ataques de texto cifrado elegido (no adaptativo) (IND-CCA1) y la indistinguibilidad de los ataques de texto cifrado elegido adaptativo (IND-CCA). CPA).CCA2). La seguridad en el sentido de cada una de las definiciones anteriores implica seguridad en el sentido de cada una de las anteriores: un criptosistema que es seguro IND-CCA1 también es seguro IND-CPA y, en consecuencia, un sistema que es seguro IND-CCA2 es a la vez IND-CCA1 e IND-CPA seguro. Por lo tanto, la seguridad en el sentido de IND-CCA2 es la más sólida de las tres definiciones.
Para un algoritmo probabilístico para el cifrado de claves asimétricas, la indistinguibilidad en el sentido de IND-CPA [2] está determinada por el siguiente juego entre el atacante y el probador. Para los sistemas basados en seguridad computacional, el atacante es modelado por una máquina de Turing polinómica probabilística , lo que significa que debe completar el juego y adivinar un número polinomial de pasos de tiempo. En esta definición, E(PK, M ) representa el texto cifrado del mensaje M , obtenido mediante la clave PK :
Un criptosistema es seguro en el sentido de IND-CPA si cualquier atacante creíble en tiempo polinomial tiene solo una pequeña "ventaja" para distinguir los textos cifrados sobre las conjeturas aleatorias. El atacante tiene una "ventaja" insignificante si gana el juego anterior con probabilidad , donde es una función insignificante para el parámetro de seguridad k , es decir, para cualquier función polinómica (distinta de cero) , que tiene , tal que para todos .
Aunque el atacante conoce , y PK, la naturaleza probabilística de E significa que el texto cifrado será solo uno de muchos textos cifrados válidos y, por lo tanto , cifrar y comparar los textos cifrados recibidos con el texto cifrado del probador no le da al atacante ninguna ventaja significativa.
Aunque la definición anterior es específica de los criptosistemas de clave asimétrica , se puede adaptar al caso simétrico reemplazando la función de cifrado de clave pública con el cifrado de Oracle , que almacena la clave secreta de cifrado y cifra textos sin formato arbitrarios a pedido del atacante.
La seguridad en el sentido de IND-CCA1 e IND-CCA2 [1] se define de manera similar a la confiabilidad del sistema en el sentido de IND-CPA. Sin embargo, además de la clave pública (o el cifrado de Oracle , en el caso simétrico ), el atacante tiene acceso al descifrado de Oracle, que descifra textos cifrados arbitrarios a petición del atacante y devuelve el texto sin formato . En la definición de IND-CCA1, un atacante solo puede consultar el oráculo hasta que haya recibido el texto cifrado bajo prueba. En la definición IND-CCA2, el atacante puede continuar consultando el oráculo después de recibir el texto cifrado bajo prueba, con la advertencia de que no puede enviarlo para descifrarlo (de lo contrario, la definición sería trivial).
Un criptosistema es seguro en el sentido de IND-CCA1 o IND-CCA2 si ninguno de los oponentes tiene una ventaja significativa en el juego dado.
A veces , se requieren sistemas de cifrado en los que un atacante no puede distinguir una cadena de texto cifrado de una cadena aleatoria. [3]
Si el atacante ni siquiera puede saber si el mensaje existe, esto le da a la persona que escribió el mensaje una negación plausible .
Algunas personas que crean canales de comunicación encriptados prefieren hacer que el contenido de cada texto encriptado sea indistinguible de los datos aleatorios para dificultar el análisis del tráfico. [cuatro]
Algunas personas que crean sistemas para almacenar datos cifrados prefieren que los datos no se distingan de los datos aleatorios para que sea más fácil ocultarlos . Por ejemplo, algunos tipos de cifrado de disco , como TrueCrypt , intentan ocultar datos en los datos aleatorios que quedan de ciertos tipos de destrucción de datos . Como otro ejemplo, algunos tipos de esteganografía intentan ocultar datos haciéndolos coincidir con las características estadísticas del ruido de imagen "aleatorio" en fotografías digitales .
Por el momento, existen algoritmos criptográficos especialmente diseñados para sistemas de encriptación negable , en los que los textos cifrados son indistinguibles de cadenas de bits aleatorias. [5] [6] [7]
Si el algoritmo de cifrado E puede construirse de tal manera que un atacante (generalmente definido como un observador de tiempo polinomial) que conoce el texto sin formato del mensaje m no puede distinguir entre E(m) y una cadena de bits aleatoria recién generada del misma longitud, como E(m), entonces se deduce que si E(m1) tiene la misma longitud que E(m2), estos dos textos cifrados serán indistinguibles entre sí para un atacante, incluso si conoce el texto sin formato m1 y m2 (IND-CPA). [ocho]
La mayoría de las aplicaciones no requieren un algoritmo de cifrado para crear textos cifrados que no se pueden distinguir de los bits aleatorios. Sin embargo, algunos autores creen que dichos algoritmos de encriptación son conceptualmente más simples y fáciles de usar, y más versátiles en la práctica, y la mayoría de los algoritmos de encriptación IND-CPA parecen producir mensajes encriptados que no se distinguen de los bits aleatorios. [9]
La indiscernibilidad es una propiedad importante para mantener la confidencialidad de los mensajes cifrados. Sin embargo, se ha encontrado que en algunos casos la propiedad de indistinguibilidad implica otras propiedades no relacionadas explícitamente con la seguridad. A veces, tales definiciones equivalentes tienen significados completamente diferentes. Por ejemplo, se sabe que la propiedad de indistinguibilidad en el sentido de IND-CPA es equivalente a la propiedad de inflexibilidad para ataques de escenarios similares (NM-CCA2). Esta equivalencia no es inmediatamente obvia, ya que la inflexibilidad es una propiedad relacionada con la integridad del mensaje, no con la confidencialidad. También se ha demostrado que la indistinguibilidad puede derivarse de alguna otra definición o viceversa. La siguiente lista enumera algunas consecuencias conocidas, aunque están lejos de ser completas: