Cifrado maleable

De Wikipedia, la enciclopedia libre

Un esquema de cifrado es maleable (en inglés malleable) si conocido un texto cifrado se puede fácilmente crear otro texto cifrado tal que el resultado de descifrar () y el resultado de descifrar () tienen una relación[1]

Este concepto fue introducido en 1991 por D. Dolev, Dwork y J. L. Carter.[2]

Implicaciones[editar]

La maleabilidad de un cifrado permite, sin saber la clave, alterar el texto cifrado para conseguir cambiar el significado del texto plano. De esta forma podemos cambiar el significado. Esto es aprovechado en alguna aplicación (Ej. protocolo Off-the-Record) para que el código cifrado no pueda ser usado como prueba de que ese mensaje ha sido enviado por un conocedor de la clave secreta. En estas aplicaciones se quiere tener la prueba de que cualquiera puede generar un código cifrado concreto.[3]​ Técnicamente no es un cifrado negable, pero su negabilidad se refiere a la imposibilidad de que una tercera parte pruebe la autenticidad del mensaje.[4]

Un mensaje cifrado con este tipo de cifrado no prueba de ninguna forma la integridad o la autenticidad, En los sistemas de cifrado no-maleables es difícil, sin conocer la clave, producir textos cifrados que al descifrar produzcan texto plano con significado. Cualquier cambio que un atacante pudiera realizar en el texto cifrado, al descifrar normalmente tendría como resultado un texto plano con bits aleatorios en lugar de texto plano con significado en el contexto. Esto se podría aprovechar como técnica de autenticación (Ej. Protocolo de Needham-Schroeder) aunque es una práctica muy pobre, ya que hay ataques que pueden romper este tipo de protección. Sin embargo en algunos casos es difícil aplicar este tipo de ataques.[1]

Ejemplos[editar]

  • El cifrador de flujo one-time-pad cifra el texto plano haciendo un XOR con una clave. Para descifrar vuelve a aplicar la función XOR. Este tipo de cifrado es maleable ya que un cambio en cualquier bit en el texto cifrado se corresponderá con un cambio en el correspondiente bit del texto plano. Por tanto si un atacante obtiene o puede adivinar el texto plano, entonces este atacante puede componer el texto cifrado para cualquier otro mensaje de la misma longitud sin conocer la clave privada. Usando notación matemática:
Si es la clave secreta y es el texto cifrado. Un adversario puede construir un cifrado de para cualquier , con .
  • En el criptosistema RSA, un texto plano es cifrado como donde es la clave pública. Dado un texto cifrado, un adversario puede construir un cifrado de para cualquier , haciendo . Por esta razón, RSA es comúnmente usado junto con un esquema de relleno como OAEP o PKCS1.
  • El cifrado ElGamal, un texto plano es cifrado con , donde es la clave pública. Dado un texto cifrado , un adversario puede hallar , el cual es un cifrado válido de , para cualquier .
  • En el sistema criptográfico Paillier, cifrado ElGamal, y RSA, es posible combinar varios textos cifrados junto de cierta forma para producir un texto cifrado relacionado. En el sistema criptográfico Paillier, dada solo la clave pública y un cifrado de y , se puede calcular un cifrado válido de su suma . En el cifrado ElGamal y RSA, se pueden combiar cifrado de y para obtener un cifrado válido de su producto .

Referencias[editar]

  1. a b Matej Pivoluska,"Non-malleable encryption and message authentication". Diploma Thesis. Brno 2010
  2. Dolev, D., Dwork, C., Naor, M. (1991). ”Non–malleable Cryptography”. Annual ACM Symposium on Theory of Computing archive Proceedings of the twenty-third annual ACM symposium on Theory of computing: 542 - 552
  3. Jiang Bian et al.,"Off-the-record Instant Messaging for Group Conversation". Department of Computer Science of Arkansas at Little Rock, Arkansas USA
  4. Nikita Borisov et al.,"Off-the-Record Communication, or, Why Not To Use PGP"