Retour à l'accueil

Analyse des défauts de nonce ECDSA secp256k1

L'étude présente les signatures ECDSA comme des corpora de phase pour détecter les défauts de nonce de famille de défauts. Transfert prouvé des motifs repeated-r avec contrôle de sécurité de publication. La méthode combine la géométrie toroïdale et kNN sans divulguer les risques opérationnels.

Modes de nonce défectueux en ECDSA : stratification et transfert
Advertisement 728x90

Analyse de stratification des défauts de nonce dans ECDSA sur secp256k1

Les signatures ECDSA sur la courbe secp256k1 sont analysées comme des corpus de phase, où les défauts de génération de nonce se manifestent sous forme de familles persistantes (famille de défauts), plutôt que d'échecs isolés. Le passage aux coordonnées (u_r, u_z) permet la détection de motifs stratifiés via la géométrie torique et la recherche kNN. L'étude confirme la transférabilité des motifs de r répété dans 58 tests de reconstruction sur 58 avec validation complète des signatures, et aucune collision inter-adresse dans les corpus externes.

L'ECDSA standard utilise un nonce k pour générer le point R = k·G, d'où r = x(R) mod n. La composante s est calculée comme s = k^{-1} · (z + r · d) mod n. La vérification introduit w = s^{-1} mod n, u_z = z · w mod n, u_r = r · w mod n, avec récupération de R' = u_z · G + u_r · Q, où x(R') mod n = r.

Ces coordonnées (u_r, u_z) projettent la signature sur le tore Z_n × Z_n, révélant des métriques géométriques des modes défectueux.

Google AdInline article slot

Fondements théoriques et rôle du nonce

Le nonce k est crucial : sa répétition (r répété) indique un défaut systémique du générateur, et non un échec aléatoire. Dans la représentation de phase PhasePoint = (u_r, u_z, verification_x, verification_y_raw, branch_y), PhaseCorpus agrège les points d'un contexte d'adresse unique.

Relations ECDSA clés :

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 répétition de r se produit avec un k répété, faisant de u_r, u_z des marqueurs d'une famille de défauts. La méthode combine l'algèbre ECDSA avec l'homologie persistante et les tests de signification par permutation.

Google AdInline article slot

| Notation | Description | Rôle dans l'analyse |

|-------------|----------|---------------|

| G | Point de base | Génération de R et Q |

Google AdInline article slot

| n | Ordre du sous-groupe | Module de calcul |

| d | Clé privée | Secret du signataire |

| k | Nonce | Source des défauts |

| (r,s) | Signature | Données observables |

| (u_r, u_z) | Coordonnées de phase | Détection de motifs |

Conception expérimentale et matériaux

Objet — corpus de signatures secp256k1 comme ensembles de PhasePoint. Sujet — signatures de famille de défauts : r répété, géométrie de (u_r, u_z), transférabilité.

Hypothèse : les défauts laissent des traces stratifiées sur le tore, avec le r répété comme surface d'un mode plus profond.

Méthodologie :

  • Passage aux coordonnées de phase.
  • Détecteur kNN et résultants de corpus.
  • Rejeu synthétique sur données contrôlées.
  • Audit de sécurité de publication.

Corpus : 30 contextes d'adresse, 6257 signatures. R répété dans 1 contexte, collisions inter-adresse de r — 0. Balayage de propriétés confirmant la transférabilité pour 4 scénarios, reconstruction — 58/58 avec validation ECDSA. Enchevêtrement d'état — 0 détections. Audit identifiant 498 problèmes (30 critiques), bloquant la publication de données sensibles.

Comparaison avec les outils commerciaux :

| Caractéristique | Commercial (CertiK, Hacken) | Suite de stratification ECDSA |

|-----------------|--------------------------------|-----------------------------|

| Tâche | Vulnérabilités de contrat | Famille de défauts dans le nonce |

| Appareil | Fuzzing, vérification | Géométrie torique, kNN |

| Sortie | Rapports de vulnérabilité | Classification des modes |

| Public | Développeurs, plateformes | Laboratoires, organismes de normalisation |

Résultats et assertions prouvées

Transfert prouvé de famille de défauts d'un donneur réel vers 58 cibles d'adresse avec validation cryptographique. Transfert spontané absent dans les corpus externes.

Limitations : transférabilité mathématique prouvée, mais la publication exclut les étapes opérationnelles, les r/s/z bruts, les scripts de récupération. Agrégats assainis pour reproductibilité.

Extraits de code pour rejeu synthétique (sécurisé) :

import numpy as np
# Exemple de génération de PhasePoint (assaini)
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)

Les vérifications de signification par permutation sur données synthétiques confirment la robustesse.

Reproductibilité et sécurité de publication

Le projet définit des limites d'interprétation : la rigueur scientifique n'abaisse pas le seuil d'exploitation. Le contrôle synthétique uniquement et l'audit assurent un pipeline sécurisé.

Nouveauté scientifique : intégration de l'algèbre ECDSA, géométrie torique de Z_n × Z_n, analyse de corpus et sécurité de publication.

Points clés à retenir :

  • Le r répété est un indicateur d'une famille de défauts, transférable dans 58 tests sur 58.
  • Les coordonnées de phase (u_r, u_z) révèlent la stratification sur le tore.
  • Aucune collision inter-adresse de r dans les corpus externes.
  • La sécurité de publication bloque 30 risques critiques.
  • Méthode applicable pour classer les générateurs de nonce sans divulguer de vulnérabilités.

— Editorial Team

Advertisement 728x90

Lire ensuite