El sistema Cramer-Shoup es un algoritmo de cifrado de clave asimétrica y fue el primer sistema eficiente que demostró ser seguro contra ataques de texto cifrado adaptables elegidos utilizando suposiciones criptográficas estándar. Su seguridad se basa en la intransigencia computacional (ampliamente asumida, pero no probada) de la suposición de Diffie-Hellman decisional . Desarrollado por Ronald Cramer y Victor Shoup en 1998, es una extensión del criptosistema ElGamal . A diferencia de ElGamal, que es extremadamente maleable, Cramer-Shoup agrega otros elementos para garantizar la no maleabilidad incluso contra un atacante ingenioso. Esta no maleabilidad se logra mediante el uso de una función hash unidireccional universal y cálculos adicionales, lo que da como resultado un texto cifrado que es el doble de grande que en ElGamal.
La definición de seguridad lograda por Cramer-Shoup se denomina formalmente " indistinguibilidad bajo un ataque de texto cifrado elegido adaptativo " (IND-CCA2). Esta definición de seguridad es actualmente la definición más sólida conocida para un criptosistema de clave pública: supone que el atacante tiene acceso a un oráculo de descifrado que descifrará cualquier texto cifrado utilizando la clave de descifrado secreta del esquema. El componente "adaptativo" de la definición de seguridad significa que el atacante tiene acceso a este oráculo de descifrado tanto antes como después de observar un texto cifrado objetivo específico para atacar (aunque se le prohíbe utilizar el oráculo simplemente para descifrar este texto cifrado objetivo). La noción más débil de seguridad contra ataques de texto cifrado elegido no adaptativos (IND-CCA1) solo permite al atacante acceder al oráculo de descifrado antes de observar el texto cifrado objetivo.
Aunque era bien sabido que muchos sistemas criptográficos de uso generalizado no eran seguros contra este tipo de atacantes, durante muchos años los diseñadores de sistemas consideraron que el ataque era poco práctico y de interés fundamentalmente teórico. Esto empezó a cambiar a finales de los años 90, en particular cuando Daniel Bleichenbacher demostró un ataque práctico de texto cifrado adaptable contra servidores SSL utilizando una forma de cifrado RSA . [1]
Cramer–Shoup no fue el primer esquema de cifrado que proporcionó seguridad contra ataques de texto cifrado elegido adaptativo. Naor–Yung, Rackoff–Simon y Dolev–Dwork–Naor propusieron conversiones demostrablemente seguras de esquemas estándar (IND-CPA) a esquemas IND-CCA1 e IND-CCA2. Estas técnicas son seguras bajo un conjunto estándar de suposiciones criptográficas (sin oráculos aleatorios), sin embargo, se basan en técnicas complejas de prueba de conocimiento cero y son ineficientes en términos de costo computacional y tamaño del texto cifrado. Una variedad de otros enfoques, incluidos OAEP de Bellare / Rogaway y Fujisaki–Okamoto, logran construcciones eficientes utilizando una abstracción matemática conocida como oráculo aleatorio . Desafortunadamente, para implementar estos esquemas en la práctica se requiere la sustitución de alguna función práctica (por ejemplo, una función hash criptográfica ) en lugar del oráculo aleatorio. Un creciente cuerpo de evidencia sugiere la inseguridad de este enfoque, [2] aunque no se han demostrado ataques prácticos contra esquemas implementados.
Cramer-Shoup consta de tres algoritmos: el generador de claves, el algoritmo de cifrado y el algoritmo de descifrado.
Para cifrar un mensaje a Alice bajo su clave pública ,
Para descifrar un texto cifrado con la clave secreta de Alicia ,
La etapa de descifrado descifra correctamente cualquier texto cifrado correctamente formado, ya que
Si el espacio de mensajes posibles es mayor que el tamaño de , entonces Cramer-Shoup puede usarse en un criptosistema híbrido para mejorar la eficiencia en mensajes largos.