El esquema de Schnorr y su papel en Bitcoin

Contenido

  • Referencia histórica





  • La esencia del protocolo Schnorr





  • Esquema de firma de Schnorr





  • ¿Por qué las firmas de Schnorr se consideran mejores que ECDSA?





Comentario del autor

Este artículo está dirigido a personas que ya están familiarizadas con los conceptos básicos de seguridad de la información. Si las palabras Proof of Knowledge Protocol, Public Key Cryptosystem no son hechizos para usted, ¡es bienvenido!





Referencia histórica

El circuito de Schnorr se inventó en la década de 1980. Klaus-Peter Schnorr. Klaus Schnorr es un criptógrafo alemán, académico, en ese momento profesor e investigador en la Universidad de Frankfurt. Antes de la publicación del esquema en sí, Klaus Schnorr se confundió con las patentes, lo que dificultó su uso directo hasta 2008.





En 2008, el mismo año en que Satoshi Nakamoto presentó Bitcoin al mundo, la patente de Klaus Schnorr expiró. Aunque las firmas de Schnorr ya eran utilizables, Satoshi Nakamoto eligió ECDSA para Bitcoin. Esto se debe al hecho de que el esquema de Schnorr aún no estaba estandarizado y se usaba ampliamente.





ECDSA , . , DSA, ECDSA, - , (NIST). Coderpunks , , , .





. , h, g, x g x h.





, , .. .





k q, . I .





.





s .





.





A: ~ k \ leftarrow \ mathbb {Z} _q, I = g \ cdot k \\ B: ~ r \ leftarrow \ mathbb {Z} _q \\ A: ~ s \ equiv r \ cdot x + k ~ (\ texto {mod} ~ q) \\ B: ~ g ^ s \ cdot h ^ {- r} == I

, r - , .





\ text {Grupo especificado} ~ (G, q, g) \\ \ text {Gen} (1 ^ n) = x \ leftarrow \ mathbb {Z} _q;  ~ h = g ^ x;  ~ sk = x;  ~ pk = h ~~~ (salida ~ (sk, pk)) \\ \ text {Signo} _x (m) = k \ leftarrow \ mathbb {Z} _q;  ~ I = g ^ k;  ~ r \ equiv H (yo | m);  ~ s = r \ cdot x + k ~ (salida ~ (r, s)) \\ \ text {Verificar} \ left (h, m, (r, s) \ right) = I \ equiv g ^ s \ cdot h ^ {- r}, ~ H (I | M) == r \\ sk - clave ~ secreta, ~ pk - clave ~ pública

, - m ( , ), I , .





r ( ): r \ equiv H \ left (I | m \ right) -, . r pk. - 2010- , , , , , Helios.





public key (pk) - , .. n ( 33 ). , 2 , .. 2n (64 ). .. .





(, , k). , k . , .





ECDSA?

, ECDSA .

















ECDSA

, ECDSA , , ECDSA . 2009 ECDSA x3+7 , - , . ECDSA . , .





. ? :





, , sequence scriptSig - , , .





value scriptPubKey - , , , .





, - ECDSA . , .. ?





ECDSA . , , .





ECDSA

, . , , , . , , , , , . , .





ECDSA

: scriptSig , , scriptPubKey, . . , ( , ). . ECDSA, , n , m .. .





?

. ? 4 , ECDSA , 4 . , , .





, , , .





, , , . , .





, , . , , , .





. ? , . , . . , , . , , . , .





 El esquema de Schnorr es uno de los esquemas de autenticación más eficientes y basados ​​en teoría. Resultó no ser muy popular debido a la dilatada patente que duró hasta 2008. Aunque el esquema ha sufrido algunos cambios desde sus inicios, sus ideas básicas se han mantenido intactas y son muy valoradas en criptografía.





Fuentes

  • Artículo Las firmas de Schnorr y la inevitabilidad de la privacidad en Bitcoin





  • Wiki





  • Seminario de la ITMO sobre el esquema Schnorr





  • Conferencia sobre firmas Schnorr en Bitcoin












All Articles