stringtranslate.com

Firma de Schnorr

En criptografía , una firma Schnorr es una firma digital producida por el algoritmo de firma Schnorr que fue descrito por Claus Schnorr . Es un esquema de firma digital conocido por su simplicidad, entre los primeros cuya seguridad se basa en la intratabilidad de ciertos problemas de logaritmos discretos . Es eficiente y genera firmas cortas. [1] Estaba amparado por la patente estadounidense 4.995.082 que expiró en febrero de 2010.

Algoritmo

Elección de parámetros

Notación

A continuación,

Generación de claves

Firma

Para firmar un mensaje, :

La firma es el par, .

Tenga en cuenta que ; si , entonces la representación de la firma puede caber en 64 bytes.

Verificando

Si entonces se verifica la firma.

Prueba de corrección

Es relativamente fácil ver que si el mensaje firmado es igual al mensaje verificado:

, y por lo tanto .

Elementos públicos : , , , , , . Elementos privados: , .

Esto sólo demuestra que un mensaje firmado correctamente se verificará correctamente; se requieren muchas otras propiedades para un algoritmo de firma seguro.

Fuga de claves debido a la reutilización de valores nonce

Al igual que con los algoritmos de firma estrechamente relacionados DSA , ECDSA y ElGamal , la reutilización del valor nonce secreto en dos firmas Schnorr de mensajes diferentes permitirá a los observadores recuperar la clave privada. [2] En el caso de las firmas Schnorr, esto simplemente requiere restar valores:

.

Si, pero entonces, se puede aislar de forma sencilla. De hecho, incluso pequeños sesgos en el valor o una fuga parcial de pueden revelar la clave privada, después de recopilar suficientes firmas y resolver el problema del número oculto. [2]

Argumento de seguridad

El esquema de firma se construyó aplicando la transformación Fiat-Shamir [3] al protocolo de identificación de Schnorr. [4] [5] Por lo tanto, (según los argumentos de Fiat y Shamir), es seguro si se modela como un oráculo aleatorio .

Su seguridad también se puede argumentar en el modelo de grupo genérico , bajo el supuesto de que es "resistente a la preimagen de prefijo aleatorio" y "resistente a la segunda preimagen de prefijo aleatorio". [6] En particular, no necesita ser resistente a colisiones .

En 2012, Seurin [1] proporcionó una prueba exacta del esquema de firma de Schnorr. En particular, Seurin muestra que la prueba de seguridad que utiliza el lema de bifurcación es el mejor resultado posible para cualquier esquema de firma basado en homomorfismos de grupo unidireccionales, incluidas las firmas de tipo Schnorr y los esquemas de firma de Guillou-Quisquater. Es decir, bajo el supuesto ROMDL, cualquier reducción algebraica debe perder un factor en su razón de tiempo hasta el éxito, donde es una función que permanece cercana a 1 siempre que " sea notablemente menor que 1", donde es la probabilidad de falsificar un error al realizar como máximo consultas al oráculo aleatorio.

Firmas cortas de Schnorr

El proceso mencionado anteriormente logra un nivel de seguridad de t bits con 4 firmas de t bits. Por ejemplo, un nivel de seguridad de 128 bits requeriría firmas de 512 bits (64 bytes). La seguridad está limitada por ataques logarítmicos discretos en el grupo, que tienen una complejidad de la raíz cuadrada del tamaño del grupo.

En el artículo original de Schnorr de 1991, se sugirió que, dado que no se requiere resistencia a colisiones en el hash, las funciones hash más cortas pueden ser igual de seguras y, de hecho, desarrollos recientes sugieren que se puede lograr un nivel de seguridad de t bits con firmas de 3 t bits. [6] Entonces, un nivel de seguridad de 128 bits requeriría solo firmas de 384 bits (48 bytes), y esto podría lograrse truncando el tamaño de e hasta que sea la mitad de la longitud del campo de bits s .

Véase también

Referencias

  1. ^ ab Seurin, Yannick (12 de enero de 2012). "Sobre la seguridad exacta de las firmas de tipo Schnorr en el modelo de Oracle aleatorio". Archivo de ePrints de criptología . Asociación Internacional de Investigación Criptológica . Consultado el 6 de febrero de 2023 .
  2. ^ ab Tibouchi, Mehdi (13 de noviembre de 2017). "Ataques a las firmas Schnorr con nonces sesgados" (PDF) . Taller ECC . Consultado el 6 de febrero de 2023 .
  3. ^ Fiat, Amos ; Shamir, Adi (1987). "Cómo demostrar su valía: soluciones prácticas a los problemas de identificación y firma". En Andrew M. Odlyzko (ed.). Avances en criptología . Conferencia sobre la teoría y aplicación de técnicas criptográficas. Actas de CRYPTO '86. Apuntes de clase en informática. Vol. 263. págs. 186–194. doi : 10.1007/3-540-47721-7_12 . ISBN 978-3-540-18047-0.S2CID 4838652  .
  4. ^ Schnorr, CP (1990). "Identificación y firmas eficientes para tarjetas inteligentes". En Gilles Brassard (ed.). Avances en criptología . Conferencia sobre la teoría y aplicación de técnicas criptográficas. Actas de CRYPTO '89. Apuntes de conferencias sobre informática. Vol. 435. págs. 239–252. doi : 10.1007/0-387-34805-0_22 . ISBN 978-0-387-97317-3.S2CID 5526090  .
  5. ^ Schnorr, CP (1991). "Generación eficiente de firmas mediante tarjetas inteligentes". Revista de criptología . 4 (3): 161–174. doi :10.1007/BF00196725. S2CID  10976365.
  6. ^ ab Neven, Gregory; Smart, Nigel ; Warinschi, Bogdan. "Requisitos de la función hash para las firmas Schnorr". IBM Research . Consultado el 19 de julio de 2012 .

Enlaces externos