signature – ¿Por qué es importante que un esquema de firma no tenga oráculos aleatorios?

Pregunta:

Existe una gran cantidad de artículos que proponen esquemas de firmas sin oráculos aleatorios ( compruébelo usted mismo ). ¿Qué significa eso y por qué es importante ?

Respuesta:

Un "oráculo aleatorio" es esencialmente una función hash perfecta. Es un dispositivo que toma un mensaje de cualquier longitud y lo asigna aleatoriamente a un mensaje de una longitud fija, de modo que la misma entrada siempre produce la misma salida. Los oráculos aleatorios no existen. Para los algoritmos que los requieran, se utilizan funciones hash criptográficas. Sin embargo, las funciones hash criptográficas no son oráculos realmente aleatorios y cualquier defecto en la función hash podría traducirse en vulnerabilidades en el esquema de firmas.

La forma más sencilla de hacer un esquema de firmas es comenzar con un hash de lo que necesita para firmar a una longitud fija. Dado que los esquemas de firmas generalmente no intentan diseñar funciones hash, simplemente asumen un oráculo aleatorio para realizar esta función y luego demuestran sus propiedades de seguridad asumiendo que se usa un oráculo aleatorio.

Los algoritmos de firma que no requieren oráculos aleatorios no requieren que hagas hash de lo que estás firmando. Operan en un mensaje de longitud arbitraria, reduciéndolo a una firma de longitud fija como parte de su propia operación. Debido a que no tiene que sustituir una función hash por un oráculo aleatorio, no hay riesgo de que la función hash agregue nuevas vulnerabilidades al esquema de firmas.

Por ejemplo, supongamos que tiene un esquema de firmas que requiere un oráculo aleatorio y se ha demostrado que el esquema de firmas no tiene vulnerabilidades. Utiliza MD5 como el oráculo aleatorio. Vaya, ahora podemos generar colisiones MD5, por lo que ahora alguien puede falsificar dos mensajes diferentes que tienen la misma firma con demasiada facilidad. Todas las propiedades de seguridad del algoritmo de firma no lo ayudarán porque la función hash no es un oráculo aleatorio e introdujo vulnerabilidades que un oráculo aleatorio (ya que es teóricamente perfecto) no tiene.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba