Maleabilidad (criptografía)

La maleabilidad es una propiedad de algunos algoritmos criptográficos. Un algoritmo de la codificación es maleable si es posible para un adversario transformar un ciphertext en otro ciphertext que descifra a plaintext relacionado. Es decir considerando una codificación de un plaintext, es posible generar otro ciphertext que descifra a, para una función conocida, sin saber necesariamente o aprender.

La maleabilidad a menudo es una propiedad indeseable en cryptosystem de uso general, ya que permite que un atacante modifique los contenido de un mensaje. Por ejemplo, suponga que un banco usa una cifra de la corriente para esconder su información financiera, y un usuario envía un mensaje criptografiado que contiene, supongamos,"." si un atacante puede modificar el mensaje en el alambre y puede adivinar el formato del mensaje no criptografiado, el atacante podría ser capaz de cambiar la cantidad de la transacción o el recipiente de los fondos, p.ej"."

la otra mano, algunos cryptosystems son maleables por el diseño. En otras palabras, en algunas circunstancias se puede ver como un rasgo del cual cualquiera puede transformar una codificación en una codificación válida de (para alguna clase restringida de funciones) sin el necesariamente aprendizaje. Tales esquemas se conocen como homomorphic esquemas de la codificación.

Un cryptosystem puede ser semánticamente seguro contra ataques de plaintext elegidos o hasta ataques de ciphertext elegidos no adaptables (CCA1) todavía siendo maleable. Sin embargo, la seguridad contra ataques de ciphertext elegidos adaptables (CCA2) es equivalente a la no maleabilidad.

Ejemplo cryptosystems maleable

En una cifra de la corriente, el ciphertext se produce tomando el exclusivo o del plaintext y una corriente pseudoarbitraria basada en una llave secreta, como. Un adversario puede construir una codificación de para cualquiera, como.

En el RSA cryptosystem, un plaintext se codifica como, donde está la clave pública. Considerando tal ciphertext, un adversario puede construir una codificación de para cualquiera, como. Por esta razón, RSA comúnmente se usa juntos con el acolchado de métodos como el OAEP o PKCS1.

En ElGamal cryptosystem, un plaintext se codifica como, donde está la clave pública. Considerando tal ciphertext, un adversario puede calcular, que es una codificación válida de, para cualquiera.

En contraste, el sistema de Cramer-Shoup (que está basado en ElGamal) no es maleable.

En Paillier, ElGamal y RSA cryptosystems, también es posible combinar varios ciphertexts juntos de un modo útil de producir ciphertext relacionado. En Paillier, considerando sólo la clave pública y una codificación de y, uno puede calcular una codificación válida de su suma. En ElGamal y en RSA, uno puede combinar codificaciones de y obtener una codificación válida de su producto.



Buscar