Análisis de Estratificación de Defectos en Nonces de ECDSA en secp256k1
Las firmas ECDSA en la curva secp256k1 se analizan como corpus de fase, donde los defectos en la generación de nonces se manifiestan como familias persistentes (defecto-familia), en lugar de fallos aislados. La transición a coordenadas (u_r, u_z) permite la detección de patrones estratificados mediante geometría tórica y búsqueda kNN. El estudio confirma la transferibilidad de patrones de r repetida en 58 de 58 pruebas de reconstrucción con validación completa de firmas, y sin colisiones entre direcciones en corpus externos.
El ECDSA estándar utiliza un nonce k para generar el punto R = k·G, de donde r = x(R) mod n. El componente s se calcula como s = k^{-1} · (z + r · d) mod n. La verificación introduce w = s^{-1} mod n, u_z = z · w mod n, u_r = r · w mod n, con recuperación de R' = u_z · G + u_r · Q, donde x(R') mod n = r.
Estas coordenadas (u_r, u_z) proyectan la firma en el toro Z_n × Z_n, revelando métricas geométricas de modos defectuosos.
Fundamentos Teóricos y el Papel del Nonce
El nonce k es crítico: su repetición (r repetida) indica un defecto sistémico del generador, no un fallo aleatorio. En la representación de fase PuntoDeFase = (u_r, u_z, verification_x, verification_y_raw, branch_y), CorpusDeFase agrega puntos de un único contexto de dirección.
Relaciones clave de ECDSA:
Q = d · G
R = k · G, r = x(R) mod n
s = k^{-1} · (z + r · d) mod n
w = s^{-1} mod n
u_z = z · w mod n, u_r = r · w mod n
R' = u_z · G + u_r · Q
x(R') mod n = r
La repetición de r ocurre con k repetido, haciendo de u_r, u_z marcadores de una defecto-familia. El método combina álgebra ECDSA con homología persistente y pruebas de significancia de permutación.
| Notación | Descripción | Rol en el Análisis |
|-------------|----------|---------------|
| G | Punto base | Generación de R y Q |
| n | Orden del subgrupo | Módulo de cálculo |
| d | Clave privada | Secreto del firmante |
| k | Nonce | Fuente de defectos |
| (r,s) | Firma | Datos observables |
| (u_r, u_z) | Coordenadas de fase | Detección de patrones |
Diseño Experimental y Materiales
Objeto — corpus de firmas secp256k1 como conjuntos de PuntoDeFase. Sujeto — firmas de defecto-familia: r repetida, geometría de (u_r, u_z), transferibilidad.
Hipótesis: los defectos dejan trazas estratificadas en el toro, con r repetida siendo la superficie de un modo más profundo.
Metodología:
- Transición a coordenadas de fase.
- Detector kNN y resultantes de corpus.
- Reproducción sintética en datos controlados.
- Auditoría de seguridad para publicación.
Corpus: 30 contextos de dirección, 6257 firmas. R repetida en 1 contexto, colisiones de r entre direcciones — 0. Barrido de propiedades confirmó transferibilidad para 4 escenarios, reconstrucción — 58/58 con validación ECDSA. Enredo de estado — 0 detecciones. Auditoría identificó 498 problemas (30 críticos), bloqueando publicación de datos sensibles.
Comparación con herramientas comerciales:
| Característica | Comercial (CertiK, Hacken) | Suite de Estratificación ECDSA |
|-----------------|--------------------------------|-----------------------------|
| Tarea | Vulnerabilidades de contrato | Defecto-familia en nonce |
| Aparato | Fuzzing, verificación | Geometría tórica, kNN |
| Salida | Informes de vulnerabilidad | Clasificación de modos |
| Audiencia | Desarrolladores, exchanges | Laboratorios, organismos de estándares |
Resultados y Afirmaciones Probadas
Transferencia probada de defecto-familia de un donante real a 58 objetivos de dirección con validación criptográfica. Transferencia espontánea ausente en corpus externos.
Limitaciones: transferibilidad matemática probada, pero la publicación excluye pasos operativos, r/s/z crudos, scripts de recuperación. Agregados sanitizados para reproducibilidad.
Fragmentos de código para reproducción sintética (seguro):
import numpy as np
# Ejemplo de generación de PuntoDeFase (sanitizado)
def phase_point(r, s, z, Q):
n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 # secp256k1
w = pow(s, -1, n)
u_z = (z * w) % n
u_r = (r * w) % n
return (u_r, u_z)
Chequeos de significancia de permutación en datos sintéticos confirman robustez.
Reproducibilidad y Seguridad de Publicación
El proyecto define límites de interpretación: el rigor científico no reduce el umbral de explotación. Control solo sintético y auditoría aseguran un flujo seguro.
Novedad científica: integración de álgebra ECDSA, geometría tórica de Z_n × Z_n, análisis de corpus y seguridad de publicación.
Conclusiones Clave:
- R repetida es un indicador de una defecto-familia, transferible en 58/58 pruebas.
- Coordenadas de fase (u_r, u_z) revelan estratificación en el toro.
- Sin colisiones de r entre direcciones en corpus externos.
- Seguridad de publicación bloquea 30 riesgos críticos.
- Método aplicable para clasificar generadores de nonces sin revelar vulnerabilidades.
— Editorial Team
Aún no hay comentarios.