Firma digital de criptomoneda ideal

2

¿Cuáles son las características de la firma digital ideal para la verificación de transacciones con criptomonedas?

La razón por la que pregunto es porque esta respuesta sobre firmas de bitcoin describe una vulnerabilidad potencial que hace este uso particular ECDSA subóptimo con una posible solución en los comentarios.

Entiendo que las características ideales pueden ser actualmente imposibles, como no tener colisiones o, lo que es peor, siempre contradictorias, pero me gustaría saber para comprender esta aplicación particular de firmas digitales.

    
pregunta Community 02.01.2014 - 04:38
fuente

2 respuestas

2

El problema con ECDSA no está relacionado con lo que está firmado con ECDSA; la necesidad de un parámetro k completamente aleatorio para cada firma se aplica independientemente de si la firma es para una moneda criptográfica o un correo electrónico o un certificado digital o lo que sea. >

ECDSA, como un esquema de firma digital, es bastante razonable. Es eficiente (más rápido que RSA), su firma es corta (más corta que RSA), se ha estudiado durante bastante tiempo. La necesidad de aleatoriedad es un tema importante, pero existen soluciones . En cualquier caso, puede verse como un problema de implementación; y las computadoras modernas (incluidos los teléfonos inteligentes) tienen acceso a toda la aleatoriedad necesaria. Si solo el código está escrito correctamente.

    
respondido por el Tom Leek 02.01.2014 - 17:46
fuente
0

Simplemente respete los requisitos de la ECDSA y todo estará bien. Usar RSA para firmas también estaría bien.

Ese caso particular que usted señaló, al reutilizar el número aleatorio en la transacción, el atacante puede recuperar la clave privada simplemente resolviendo

Key=((r * modpow((s1 - s2), p - 2, p) * ((m1 * s2) - (m2 * s1)) % p

Ejemplo de ataque:

R=6819641642398093696120236467967538361543858578256722584730163952555838220871
S1=5111069398017465712735164463809304352000044522184731945150717785434666956473
M1=4834837306435966184874350434501389872155834069808640791394730023708942795899
S2=31133511789966193434473156682648022965280901634950536313584626906865295404159
M2=108808786585075507407446857551522706228868950080801424952567576192808212665067

Da el resultado 35027840177330064405683178523079910253772859809146826320797401203281604260438

Que representa la clave para 1FaapwdwYVVBiV6Qvkis88c2KHPoxX1Jb1

Referencias

enlace

    
respondido por el OPSXCQ 11.09.2018 - 15:43
fuente

Lea otras preguntas en las etiquetas