Zpět na domů

Nonces v Schnorr a MuSig2: matematická analýza a metriky

Článek představuje matematický přístup k analýze skrytých nonces v kryptografických podpisích Schnorr a MuSig2. Jsou popsány metody převodu podpisů na afinní omezení a metriky pro odhalení strukturálních vzorů. Podrobně jsou prozkoumány compression- a connectivity-modely s praktickými příklady implementace.

Geometrie nonces: matematické základy kryptoanalýzy v Bitcoin
Advertisement 728x90

# Analýza skrytých nonců v Schnorr a MuSig2: matematické základy a metriky

Současné kryptografické podpisy, jako Schnorr (BIP340) a MuSig2 (BIP327), vyžadují nejen ověření platnosti, ale i hlubokou analýzu strukturálních vlastností. V tomto článku se prozkoumává metoda transformace podpisů do sady afinních omezení pro odhalení skrytých vzorů v noncích. Tento přístup umožňuje přechod od binární kontroly k kvantitativnímu hodnocení geometrie rodiny nonců, což je klíčové pro forenzní analýzu v podmínkách částečného úniku dat.

Základní principy afinního zobrazení

Klíčový nápad spočívá v interpretaci rovnice podpisu jako afinního omezení. Pro BIP340 se rovnice s = k + e·d mod n stává základem pro konstrukci funkce skrytého noncu k_i(d') = s_i - e_i·d' mod n, kde d' je kandidát na tajný klíč. Při správné hodnotě d' = d tato funkce obnoví skutečné kanonické noncy. Pro chybné kandidáty vzniká pseudonáhodná rodina, jejíž statistické vlastnosti se výrazně liší od reálných dat.

BIP340 Membership Bridge

Normalizační přechod prostřednictvím obnovení bodu R* = sG - eP umožňuje striktní klasifikaci podpisů podle pěti kritérií:

Google AdInline article slot
  • r v mezích pole
  • s v přípustném rozsahu
  • Nenulový bod R*
  • Soudržnost Y-souřadnice
  • Shoda X-souřadnice

Tento most vylučuje falešné pozitiva při analýze tím, že filtruje nepotřebné řádky před aplikací metrik. Bez této fáze se jakákoli následná analýza stává zranitelnou vůči artefaktům parsování.

Geometrie rodiny nonců

Kompresní metriky

Analýza souboru podpisů jednoho klíče vychází z měření komprese rodiny K(d'):

  • Unikátní noncy: U_k(d') = |{k_i(d')}|
  • Kolize: C_k(d') = m - U_k(d')
  • Delta-analýza:

- Unikátní delty: U_Δ(d') = |{Δ_i(d')}|

Google AdInline article slot

- Opakující se delty: C_Δ(d') = (m-1) - U_Δ(d')

  • Prefixové metriky pro bitové úrovně 128/64/32/16:

- U_pref_b(d') = |{Pref_b(k_i(d'))}|

Tyto metriky odhalují charakteristické vzory:

Google AdInline article slot
  • Opakované použití nonců → růst kolizí
  • Žebříková generace → opakování delt
  • Krátký nonce → anomálně nízká entropie vysokých prefixů

Model konektivity

Pro odhalení lokálních struktur se používá dvoulisťový systém:

K_plus = sorted([k_i(d') for i in range(m)])
K_minus = sorted([-k_i(d') % n for i in range(m)])

Analýza probíhá ve čtyřech režimech sousedství (++/--/+-/-+), kde se počítá:

  • Lokální podpora delt: Support_local(d') = max_mode max_δ count_mode(δ)
  • Opakující se hmota: Mass_repeat(d') = Σ max(count(δ)-1, 0)
  • Prefixová podpora pro úrovně 128/96/64/32/16

Tento přístup odhaluje skryté klastry a lokální symetrie, které nejsou dostupné při globální analýze.

Specifika MuSig2

Protokolová validní lineární transformace

Pro MuSig2 se analýza provádí ne na finálním podpisu, ale na částečných podpisích s plným kontextem relace. Klíčové komponenty:

  • Agregovaný klíč Q
  • Společný nonce R
  • Koeficienty b, e, a
  • Parity faktorů g a gacc

Parita klíče je určena jako par_key = g·gacc mod n, což umožňuje správné zpracování sudých/licheých Y-souřadnic. Částečný podpis se převádí do afinní formy prostřednictvím obnovení surového noncu z kontextu relace.

Kritické rozdíly oproti BIP340

  • Absence přímé rovnice s = k + ed
  • Nutnost zohlednění agregace klíčů
  • Závislost na parametrech specifických pro relaci
  • Dvojité zpracování parity (klíč + nonce)

To vyžaduje úpravu všech metrik pro práci s protokolově validními strukturami místo surových dat.

Co je důležité

  • Membership bridge — povinná fáze filtrování před analýzou
  • Kompresní metriky jsou efektivní pro odhalení opakování a žebříkových vzorů
  • Analýza konektivity odhaluje lokální struktury prostřednictvím dvoulisťového modelu
  • MuSig2 vyžaduje samostatné zpracování prostřednictvím kontextu relace
  • Všechny závěry vycházejí z měřitelných matematických vlastností, nikoli z heuristik

Praktická implementace

Systém je implementován jako interaktivní demo na GitHubu. Klíčové komponenty:

  • Validátor příslušnosti k BIP340
  • Generátor afinních rodin pro zadané d'
  • Sada metrik komprese/konektivity
  • Vizualizátor geometrie nonců

Příklad výpočtu prefixové podpory:

def top_prefix_support(k_list, bits):
    prefix_mask = (1 << (256 - bits)) - 1
    prefixes = [k & prefix_mask for k in k_list]
    return max(Counter(prefixes).values())

Artefakty projektu potvrzují funkčnost metrik na reálných datech s známými zranitelnostmi. Důležité poznamenat: systém přímo neobnovuje soukromé klíče, ale poskytuje měřitelné signály pro následnou analýzu.

Tento přístup rozšiřuje nástroje kryptografické analýzy tím, že převádí úlohu z oblasti hádání do oblasti měřitelných matematických vlastností. Pro vývojáře to znamená možnost ověření kvality generování nonců a odhalení skrytých zranitelností v implementacích.

— Editorial Team

Advertisement 728x90

Číst dál