Metodi ta' firma

ML-DSA-87 spjegat matematikament

Kif ML-DSA-87 (FIPS 204) jiffirma reċensjoni ta' McGesund — minn Module-LWE, għar-rejection sampling, sal-verifika fil-browser.

Aġġornat: 2026-09-07

1. Dwar xiex jitkellem dan l-artiklu

Meta xi ħadd iħalli reċensjoni fuq McGesund, fl-isfond jiġri aktar milli t-test jagħti x'wieħed jaħseb. Meta tintbagħat, ir-reċensjoni tiġi iffirmata diġitalment. Din il-firma tista' aktar tard tiġi kkalkulata mill-ġdid minn kull viżitatur fil-browser tiegħu stess — mingħajr ma jafda fina u mingħajr ma jistaqsina.

Għall-klijenti mill-pjan Pro 'l fuq dan isir fost l-oħrajn b'ML-DSA-87. Dan l-artiklu jispjega x'jiġri matematikament waqt dan.

Nota importanti minn qabel:

ML-DSA mhuwiex kriptaġġ. It-test tar-reċensjoni jibqa' jinqara pubblikament — dan hu s-sens ta' reċensjoni. ML-DSA ma jipprovax is-segretezza, iżda l-oriġini u l-integrità.

ML-DSA ġie żviluppat minn CRYSTALS-Dilithium u huwa standardizzat bħala FIPS 204. In-numru 87 jindika l-livell tal-parametri. Hemm tlieta:

  • ML-DSA-44
  • ML-DSA-65
  • ML-DSA-87

ML-DSA-87 huwa l-ogħla wieħed u jinsab fil-kategorija ta' sigurtà NIST 5.


2. X'jiġi ffirmat eżattament?

Mhux it-test tar-reċensjoni nnifsu jidħol fil-firma, iżda oġġett ta' data kompatt li jissiġilla b'mod univoku t-test. F'McGesund fil-qalba tiegħu jidher hekk:

{
  "v":   1,
  "typ": "rev-comment",
  "f":   "<ID tal-kumpanija>",
  "c":   "<ID tar-reċensjoni>",
  "h":   "<SHA-256 tat-test tar-reċensjoni>",
  "rh":  "<SHA-256 tar-rekord sħiħ tas-sottomissjoni>",
  "rv":  1,
  "qh":  "<SHA-256 tal-envelope QR, biss għal reċensjonijiet bil-QR>",
  "iat": 1757203200
}

Dan l-oġġett huwa l-messaġġ tagħna mm. Jorbot flimkien sitt affermazzjonijiet:

  1. Ma' liema kumpanija tappartjeni r-reċensjoni (f)
  2. Liema reċensjoni hija maħsuba (c)
  3. Liema test kien warajha — bħala valur hash (h)
  4. Liema rekord kollu kemm hu ġie sottomess (rh): it-test, il-qlub, l-istat ġeografiku u d-dettalji tal-okkażjoni, serjalizzati b'mod kanoniku u hashjati — fil-verżjoni tal-iskema rv
  5. Minn liema kodiċi QR ġejja r-reċensjoni (qh); bla QR il-qasam jaqa'
  6. Meta saret il-firma (iat)

Jekk xi ħadd aktar tard ibiddel karattru wieħed biss fit-test tar-reċensjoni, h ma jgħoddx aktar — u lanqas rh. Min minflok imiss biss il-qlub iħalli lil h intatt, imma jkisser lil rh. Jekk xi ħadd ibiddel wieħed minn dawn il-valuri hash, il-firma ma tgħoddx aktar. Eżattament din il-katina hija l-punt.


3. X'għandha tiżgura l-firma

Viżitatur li jaqra r-reċensjoni għandu jkun jista' jivverifika huwa stess tliet affarijiet:

  1. Ir-reċensjoni nħarġet tabilħaqq minn McGesund.
  2. It-test ma nbidilx minn meta ntbagħat.
  3. Ħadd ma jista' jivvinta reċensjoni ġdida li tidher valida.

Għal dan jeżisti par ta' ċwievet:

  • ċavetta privata — tinsab esklużivament fis-servizz tal-firma
  • ċavetta pubblika — jista' jkollu kulħadd, u tiġi indirizzata permezz tal-ID taċ-ċavetta (kid) fl-envelope

L-iffirmar isir biċ-ċavetta privata. Il-verifika ssir bil-pubblika — u dan fil-browser tal-qarrej, mhux fuq is-server tagħna.


4. Għaliex metodu post-kwantistiku?

Ħafna mill-metodi ta' firma komuni llum jistrieħu fuq il-fattorizzazzjoni ta' numri kbar jew fuq logaritmi diskreti. Kompjuter kwantistiku b'saħħtu biżżejjed jista' jsolvi eżattament dawn il-problemi ferm aktar malajr b'algoritmi magħrufa.

Għal reċensjoni din mhijiex mistoqsija akkademika. Reċensjoni għandha tibqa' verifikabbli anki fi għaxar snin oħra. Min jiffirma llum, jiffirma għall-ħajja kollha tal-entrata.

Għalhekk ML-DSA juża bażi differenti:

Problemi ta’ lattic˙i\boxed{\text{Problemi ta' lattiċi}}

B'mod aktar preċiż: Module-LWE u Module-SIS.


5. X'inhu lattiċe?

Fil-bidu, sempliċement punti fl-ispazju. Ħa nieħdu żewġ vetturi:

b1=(2,0),b2=(1,2).b_1=(2,0), \qquad b_2=(1,2).

Il-kombinazzjonijiet kollha b'numri sħaħ

ab1+bb2,a,bZa\,b_1+b\,b_2, \qquad a,b\in\mathbb{Z}

jiffurmaw il-lattiċe. Pereżempju:

2b1+b2=(4,0)+(1,2)=(5,2).2b_1+b_2 = (4,0)+(1,2) = (5,2).
b₁ = (2,0)b₂ = (1,2)(5,2)0
Żewġ vetturi, u l-kombinazzjonijiet kollha tagħhom b'numri sħaħ: lattiċe. Il-punt immarkat joħroġ minn darbtejn b₁ u darba b₂.

Dak li jgħodd:

F'dimensjonijiet żgħar il-problemi tal-lattiċi huma faċli. F'dimensjonijiet għoljin ħafna ċerti kompiti jsiru diffiċli immens.


6. Polinomji minflok numri singoli

ML-DSA ma jaħdimx b'vetturi f'żewġ dimensjonijiet, iżda b'polinomji u b'vetturi ta' polinomji.

Polinomju bħal

a(x)=1+2x+x3a(x)=1+2x+x^3

jista' jinkiteb bħala lista ta' koeffiċjenti:

a=(1,2,0,1).a=(1,2,0,1).

Il-kalkolu jsir f'anell:

Rq=Zq[x]/(xn+1).R_q=\mathbb{Z}_q[x]/(x^n+1).

Dan ifisser żewġ affarijiet:

  • Zq\mathbb{Z}_q: kalkolu modulo qq
  • xn=1x^n=-1: regola addizzjonali li tiffissa t-tul tal-polinomju

Għat-tliet livelli kollha ta' ML-DSA jgħodd:

n=256,q=8380417.n=256, \qquad q=8380417.

Mela polinomju għandu 256 koeffiċjent, meqjus modulo 8,380,417. Dak li jinbidel bejn il-livelli mhuwiex nn jew qq, iżda d-daqs tal-matriċi — dwar dan aktar tard.

Fil-mixja: il-multiplikazzjoni ta' polinomji f'dan l-anell fil-prattika ssir permezz tan-NTT, il-varjant numeriku-teoretiku tat-trasformazzjoni ta' Fourier mgħaġġla. Mela ML-DSA bl-ebda mod ma jgħaddi mingħajr l-ideat tal-FFT; dawn sempliċement jinsabu fl-aritmetika minflok fil-prinċipju tal-firma.


7. It-trikk ċentrali: Module-LWE

L-idea prinċipali hija Module Learning With Errors:

t=As1+s2(modq).\mathbf{t}=\mathbf{A}\mathbf{s}_1+\mathbf{s}_2 \pmod q.

Fejn:

  • A\mathbf{A} — matriċi pubblika ta' polinomji, li tidher każwali
  • s1,s2\mathbf{s}_1,\mathbf{s}_2 — vetturi sigrieti żgħar
  • t\mathbf{t} — valur pubbliku

Attakkant jaf A\mathbf{A} u t\mathbf{t}, imma mhux s1,s2\mathbf{s}_1,\mathbf{s}_2. Għalih l-ekwazzjoni tidher bħal ekwazzjoni każwali b'ħoss fiha. Is-sigrieti ż-żgħar m'għandux ikun jista' jikkalkulahom lura b'mod effiċjenti minnha.


8. Eżempju numeriku ċkejken

Nieħdu apposta varjant ridikolament żgħir — numri normali minflok polinomji, dimensjoni 2 minflok 256, u

q=17.q=17.

Ħa jkun

A=(3572),s1=(11),s2=(10).A=\begin{pmatrix}3&5\\7&2\end{pmatrix}, \qquad \mathbf{s}_1=\begin{pmatrix}1\\-1\end{pmatrix}, \qquad \mathbf{s}_2=\begin{pmatrix}1\\0\end{pmatrix}.

Allura:

As1=(3572)=(25),A\mathbf{s}_1=\begin{pmatrix}3-5\\7-2\end{pmatrix}=\begin{pmatrix}-2\\5\end{pmatrix},
t=As1+s2=(25)+(10)=(15)    (165)(mod17).\mathbf{t}=A\mathbf{s}_1+\mathbf{s}_2=\begin{pmatrix}-2\\5\end{pmatrix}+\begin{pmatrix}1\\0\end{pmatrix}=\begin{pmatrix}-1\\5\end{pmatrix} \;\equiv\; \boxed{\begin{pmatrix}16\\5\end{pmatrix}} \pmod{17}.

F'dan il-format ċkejken wieħed jista' jipprova l-possibbiltajiet kollha. F'ML-DSA-87 A\mathbf{A} hija matriċi 8×78\times 7 ta' polinomji b'256 koeffiċjent kull wieħed — dawn huma aktar minn 14,000 inkognita fl-istruttura tal-lattiċe.


9. Il-par ta' ċwievet tas-servizz tal-firma

Iċ-ċavetta privata fiha fost l-oħrajn il-vetturi ż-żgħar s1,s2\mathbf{s}_1,\mathbf{s}_2. F'ML-DSA-87 il-koeffiċjenti tagħhom ġejjin mill-intervall

[η,η]biη=2,[-\eta,\eta] \quad\text{bi}\quad \eta=2,

mela minn {2,1,0,1,2}\{-2,-1,0,1,2\}. Din iċ-ċokon mhijiex dettall, iżda l-qalba: huwa biss għax is-sigrieti huma żgħar li tinħoloq problema diffiċli ta' lattiċe.

Iċ-ċavetta pubblika hija, b'mod simplifikat,

(ρ,t1).(\rho,\mathbf{t}_1).

ρ\rho huwa seed li minnu A\mathbf{A} tista' tinbena mill-ġdid b'mod deterministiku — mela l-matriċi ma għandhiex għalfejn tiġi trażmessa. t1\mathbf{t}_1 huma l-bits ta' fuq ta' t\mathbf{t}; il-d=13d=13 bits t'isfel jitħallew barra, u dan iċekken sew iċ-ċavetta. Din it-tħollija hija aktar tard ir-raġuni għall-hekk imsejħa hints.

B'hekk tinħoloq l-assimetrija mixtieqa:

verifika pubblika    iffirmar sigriet\boxed{\text{verifika pubblika}\;\neq\;\text{iffirmar sigriet}}

10. Ir-reċensjoni ssir numru

Is-servizz tal-firma l-ewwel jagħmel il-hash tal-oġġett tal-payload mit-taqsima 2:

μ=H(m).\mu=H(m).

Fl-eżempju tal-logħba tagħna nieħdu mini-hash artifiċjali. Fis-sistema vera μ\mu huwa twil 512 bit u jorbot magħha wkoll iċ-ċavetta pubblika — b'hekk firma ma tistax tiġi interpretata mill-ġdid fuq ċavetta oħra.


11. Commitment

Is-servizz tal-firma jiġbed vettur żgħir każwali y\mathbf{y}. Fl-eżempju tagħna:

y=(21).\mathbf{y}=\begin{pmatrix}2\\-1\end{pmatrix}.

Minn dan joħroġ valur intermedju, il-commitment:

w=Ay=(32+5(1)72+2(1))=(112).\mathbf{w}=A\mathbf{y} =\begin{pmatrix}3\cdot2+5\cdot(-1)\\7\cdot2+2\cdot(-1)\end{pmatrix} =\begin{pmatrix}1\\12\end{pmatrix}.

Din għadha mhijiex firma.


12. Mir-reċensjoni toħroġ challenge

Il-messaġġ u l-commitment jiġu hashjati flimkien:

c=H(μ,w).c=H(\mu,\mathbf{w}).

F'ML-DSA-87 cc huwa polinomju b'eżattament τ=60\tau=60 koeffiċjent minn {1,+1}\{-1,+1\}; il-196 l-oħra kollha huma żero. Din l-istruttura hija mixtieqa: iżżomm cs1c\cdot\mathbf{s}_1 żgħir.

Fl-eżempju tal-logħba tagħna nissettjaw sempliċement

c=2.c=2.

13. Il-firma vera u proprja

z=y+cs1.\mathbf{z}=\mathbf{y}+c\,\mathbf{s}_1.

Bil-valuri tagħna:

cs1=2(11)=(22),c\,\mathbf{s}_1=2\begin{pmatrix}1\\-1\end{pmatrix}=\begin{pmatrix}2\\-2\end{pmatrix},
z=(21)+(22)=(43)\mathbf{z}=\begin{pmatrix}2\\-1\end{pmatrix}+\begin{pmatrix}2\\-2\end{pmatrix} =\boxed{\begin{pmatrix}4\\-3\end{pmatrix}}

14. Il-pass li faċilment jinqabeż: Rejection Sampling

Hawn qiegħed il-punt fejn ML-DSA jvarja minn kostruzzjoni naïva — u mhuwiex fakultattiv.

z=y+cs1\mathbf{z}=\mathbf{y}+c\,\mathbf{s}_1 fih is-sigriet s1\mathbf{s}_1. Li kieku z\mathbf{z} jinħareġ dejjem hekk kif inhu, s1\mathbf{s}_1 kien jista' jiġi kkalkulat statistikament minn firem biżżejjed. F'portal ta' reċensjonijiet b'għadd kbir ħafna ta' firem kuljum dan mhuwiex riskju teoretiku.

Għalhekk is-servizz tal-firma jivverifika qabel il-ħruġ jekk z\mathbf{z} jikxifx wisq, u f'każ kuntrarju jarmi l-firma — imbagħad jerġa' jibda mill-bidu b'y\mathbf{y} każwali ġdid. Dan jissejjaħ Fiat-Shamir with Aborts.

Il-kundizzjoni essenzjalment tgħid:

z<γ1β.\|\mathbf{z}\|_\infty < \gamma_1-\beta.
Commitment w = AyChallenge c = H(μ, w)Tweġiba z = y + c · s₁‖z‖∞ < γ₁ − β ?ivaIl-firma tinħareġle — y ġdid
Tliet passi u ċiklu wieħed. Jekk z joħroġ kbir wisq, xejn ma jiġi rranġat — id-dawra kollha tintrema u tinbeda mill-ġdid b'y każwali frisk. Għalhekk hawnhekk l-iffirmar huwa proċedura b'ċiklu.

Għal ML-DSA-87 jgħodd γ1=219\gamma_1=2^{19} u β=τη=602=120\beta=\tau\cdot\eta=60\cdot2=120. Ma' dan jiżdied it-tieni limitu fuq il-bits t'isfel. Fil-prattika diversi dawriet huma normali — mela l-iffirmar huwa proċedura b'ċiklu, mhux pass wieħed.

Għall-verifika huwa importanti: eżattament dan il-limitu jivverifikah ukoll il-browser aktar tard. Firma b'koeffiċjenti kbar wisq tiġi rifjutata, anki jekk l-ekwazzjoni toħroġ.


15. Għaliex il-browser jista' jivverifika dan

Il-browser tal-qarrej jaf:

  • ir-reċensjoni u b'hekk mm
  • iċ-ċavetta pubblika (ρ,t1)(\rho,\mathbf{t}_1)
  • il-firma (c~,z,h)(\tilde c,\mathbf{z},\mathbf{h})

Ma jafx s1\mathbf{s}_1. Ir-rabta li xorta twasslu 'l quddiem hija:

z=y+cs1Az=Ay+cAs1.\mathbf{z}=\mathbf{y}+c\,\mathbf{s}_1 \quad\Longrightarrow\quad A\mathbf{z}=A\mathbf{y}+c\,A\mathbf{s}_1.

U billi jgħodd

t=As1+s2\mathbf{t}=A\mathbf{s}_1+\mathbf{s}_2

l-As1A\mathbf{s}_1 mhux magħruf jista' jiġi sostitwit bil-valur pubbliku:

Azct=Aycs2.A\mathbf{z}-c\,\mathbf{t}=A\mathbf{y}-c\,\mathbf{s}_2.

Din hija l-ekwazzjoni ċentrali — u tgħid xi ħaġa importanti: il-browser ma jirrikostruwixxix AyA\mathbf{y} b'mod eżatt, iżda biss sat-terminu żgħir cs2c\,\mathbf{s}_2.


16. L-eżempju ċkejken sat-tmiem

Kellna:

A=(3572),t=(15),c=2,z=(43).A=\begin{pmatrix}3&5\\7&2\end{pmatrix},\quad \mathbf{t}=\begin{pmatrix}-1\\5\end{pmatrix},\quad c=2,\quad \mathbf{z}=\begin{pmatrix}4\\-3\end{pmatrix}.

Ejja nikkalkulaw:

Az=(1215286)=(322),ct=2(15)=(210),A\mathbf{z}=\begin{pmatrix}12-15\\28-6\end{pmatrix}=\begin{pmatrix}-3\\22\end{pmatrix}, \qquad c\,\mathbf{t}=2\begin{pmatrix}-1\\5\end{pmatrix}=\begin{pmatrix}-2\\10\end{pmatrix},
Azct=(112).A\mathbf{z}-c\,\mathbf{t}=\begin{pmatrix}-1\\12\end{pmatrix}.

Il-commitment oriġinali kien

w=(112).\mathbf{w}=\begin{pmatrix}1\\12\end{pmatrix}.

Id-differenza hija

(112)(112)=(20)=cs2.\begin{pmatrix}-1\\12\end{pmatrix}-\begin{pmatrix}1\\12\end{pmatrix} =\begin{pmatrix}-2\\0\end{pmatrix} =-c\,\mathbf{s}_2.

Mela eżattament it-terminu żgħir ta' żball li kien imbassar. Il-verifikatur ma jiksibx w\mathbf{w}, iżda xi ħaġa li tinsab qrib w\mathbf{w}.

Eżattament għalhekk ML-DSA ma jqabbilx il-valuri nnifishom, iżda l-bits ta' fuq tagħhom. U eżattament għalhekk il-firma fiha wkoll vettur ta' hints h\mathbf{h}: dan jgħid b'mod kompatt f'liema postijiet l-arrotondament qaleb minn naħa għall-oħra minħabba t-terminu żgħir ta' żball. F'ML-DSA-87 huma permessi mhux aktar minn ω=75\omega=75 hints bħal dawn. Ma jikxfux is-sigriet — isewwu biss l-arrotondament.

Fl-aħħar il-browser jerġa' jikkalkula l-challenge. Jekk taqbel,

cg˙did=c,c_{\text{ġdid}}=c,

u jekk in-normi kollha jinsabu fil-limiti, il-firma hija valida.


17. X'jiġri jekk xi ħadd ibiddel ir-reċensjoni?

Ejja nassumu li xi ħadd b'aċċess għall-bażi tad-data — anki xi ħadd tagħna — ibiddel it-test tar-reċensjoni jew waħda mill-qlub. Allura jinbidel mill-inqas wieħed miż-żewġ valuri hash fil-payload (h fil-każ tat-test, rh fil-każ ta' kull qasam tar-rekord):

H(m)H(m).H(m)\neq H(m').

B'hekk tinbidel il-challenge:

cc.c\neq c'.

Iżda l-firma eżistenti nħolqot għall-challenge l-antika. Il-browser jikkalkula u jinduna:

cg˙didcfirmaFirma mhux validac_{\text{ġdid}}\neq c_{\text{firma}} \quad\Longrightarrow\quad \boxed{\text{Firma mhux valida}}

Is-sentenza deċiżiva dwar dan: nistgħu nħassru reċensjoni, imma ma nistgħux nibdluha mingħajr ma jinduna ħadd. F'McGesund l-istess verifika ssir ukoll kull lejl min-naħa tas-server fuq l-istokk kollu — reċensjoni li ma tgħaddix minn din il-verifika ma tibqax tidħol fil-medja tal-kumpanija.


18. Għaliex ħadd ma jista' jivvinta firma?

Attakkant jaf A\mathbf{A} u t\mathbf{t}, imma mhux s1,s2\mathbf{s}_1,\mathbf{s}_2. Biex jibni firma valida, ikollu jsib triplu (c~,z,h)(\tilde c,\mathbf{z},\mathbf{h}) li

  • jissodisfa l-ekwazzjoni ta' verifika u
  • jibqa' fil-limiti tan-normi u
  • jaqbel mal-challenge li toħroġ eżattament minn dawn il-valuri nnifishom.

Fil-qalba tiegħu dan iwassal għal problema diffiċli ta' lattiċe — konkretament għal Module-SIS: li ssib soluzzjonijiet qosra ta' ekwazzjoni omoġenja modulo qq. Il-kundizzjoni taċ-ċokon mhijiex xi ħaġa żejda, iżda hija l-livell ta' diffikultà nnifsu. Mingħajrha soluzzjoni tkun triviali.

data pubblika    problema diffic˙li ta’ lattic˙e\boxed{\text{data pubblika}\;\rightarrow\;\text{problema diffiċli ta' lattiċe}}

19. Għaliex “Module”?

Il-kelma tiddeskrivi l-istruttura bejn vetturi sempliċi u lattiċi ġenerali. Minflok ma jaħdem b'numri singoli, ML-DSA jaħdem b'vetturi ta' polinomji:

a=(a1(x),a2(x),,ak(x)),\mathbf{a}=(a_1(x),a_2(x),\ldots,a_k(x)),

u b'matriċi magħmula minnhom:

A=(a1,1(x)a1,2(x)a2,1(x)a2,2(x)).\mathbf{A}= \begin{pmatrix} a_{1,1}(x)&a_{1,2}(x)&\cdots\\ a_{2,1}(x)&a_{2,2}(x)&\cdots\\ \vdots&\vdots&\ddots \end{pmatrix}.

Il-vantaġġ: tikseb id-dimensjoni għolja ta' lattiċe, imma żżomm rappreżentazzjoni kompatta u effiċjenti għall-kalkolu. Is-sigurtà tista' tiġi aġġustata bir-reqqa permezz tad-daqs tal-matriċi, mingħajr ma jinbidel l-anell.


20. Għaliex proprju 87?

It-tliet livelli ma jvarjawx fl-anell, iżda fid-dimensjonijiet:

ParametruML-DSA-44ML-DSA-65ML-DSA-87
Daqs tal-matriċi (k,)(k,\ell)4×44\times46×56\times58×78\times7
Firxa tas-sigriet η\eta242
Piż tal-challenge τ\tau394960
Ċavetta pubblika1,312 B1,952 B2,592 B
Firma2,420 B3,309 B4,627 B
Kategorija NIST235

Ta' min jinnota: ML-DSA-87 mhuwiex sempliċement “ML-DSA-65, imma akbar”. Il-firxa tas-sigriet η\eta terġa' tinżel minn 4 għal 2; hawnhekk is-sigurtà ġejja mill-matriċi akbar, mhux minn koeffiċjenti akbar. Din hija għażla ta' parametri awtonoma u standardizzata.

struttura matematika akbarmarg˙ni ta’ sigurtaˋ ogħla\boxed{\text{struttura matematika akbar}\rightarrow\text{marġni ta' sigurtà ogħla}}

Il-prezz: 4,627 byte għal kull firma — għal kull timbru li jinħażen u li waqt il-verifika jiġi mogħti lill-browser. Għalhekk f'McGesund maġenb ML-DSA-87 hemm ukoll FALCON bħala għażla, li jissodisfa b'1,280 byte.


21. Fiat-Shamir: għaliex taħdem mingħajr interlokutur

Prova interattiva kienet timxi hekk:

  1. Is-servizz tal-firma jibgħat commitment.
  2. Il-verifikatur jibgħat challenge każwali.
  3. Is-servizz tal-firma jwieġeb.
  4. Il-verifikatur jikkalkula.

F'reċensjoni dan id-djalogu ma jeżistix — il-qarrej jasal xhur wara. Is-soluzzjoni hija t-trasformazzjoni ta' Fiat-Shamir: il-challenge ma tinġibidx bix-xorti, iżda tiġi hashjata mid-data nnifisha:

c=H(c˙avetta pubblika,  messag˙g˙,  commitment).c=H(\text{ċavetta pubblika},\;\text{messaġġ},\;\text{commitment}).

B'hekk djalogu jsir dokument. Is-servizz tal-firma ma jistax jagħżel il-challenge, għax biex jagħmel dan ikollu jikkontrolla l-hash.


22. Il-proċess sħiħ

SERVIZZ TAL-FIRMA (MCGESUND)BROWSER TAL-VIŻITATURċavetta privata s₁, s₂Payload m = {Kumpanija, Reċensjoni, h, rh, iat}Hash μvettur każwali yCommitment w = AyChallenge c = H(μ, w)z = y + c · s₁Firma (c, z, hints) + kidReċensjoni + firma + ċavetta pubb.Az − c·t → bits ta' fuq + hintsikkalkula l-challenge mill-ġdidchallenge ikkalkulata mill-ġdid = dik mogħtija?validamhux validaarmi, jekk z ikun kbir wisq(Rejection Sampling)
It-triq sħiħa ta' reċensjoni. Il-qabża lura mitquba hija r-rejection sampling — tittieħed daqstant drabi kemm hemm bżonn sakemm z ikun żgħir biżżejjed biex ma jikxef xejn dwar iċ-ċavetta sigrieta.

23. X'tagħmel McGesund konkretament b'dan

Tliet saffi jaqbdu ma' xulxin:

L-envelope. Kull reċensjoni ffirmata ġġorr firma Ed25519. Din hija l-varjant obbligatorju — klassiku, ċkejken, u verifikabbli b'mod nattiv f'kull browser.

It-timbri post-kwantistiċi. Barra minn hekk jistgħu jitqiegħdu maġenbu firma waħda jew tnejn reżistenti għall-kwanti. Liema minnhom jiddependi mill-pjan:

Pjanlivelli ta' firma disponibbli
BasisEd25519, FN-DSA-512
KlassikEd25519, FN-DSA-512, FN-DSA-1024
ProEd25519, FN-DSA-1024, ML-DSA-87
PremiumEd25519, FN-DSA-1024, ML-DSA-87, it-tnejn f'parallel

Il-varjant parallel huwa ridondanti apposta. Jekk waħda miż-żewġ familji matematiċi — lattiċi NTRU f'FALCON, lattiċi ta' moduli f'ML-DSA — tirriżulta aktar dgħajfa milli maħsub illum, l-oħra tkompli żżomm.

L-ankra taż-żmien. Il-marka tas-swaba' taċ-ċavetta tal-firma tiġi ankrata permezz ta' OpenTimestamps ġo blokk ta' Bitcoin. B'hekk mhux biss jiġi ppruvat li l-firma hija ġenwina, iżda wkoll li kienet diġà teżisti f'mument partikolari — mingħajr ma xi ħadd irid jemmen it-timbru taż-żmien tagħna.

Dan kollu jiġi vverifikat fil-browser tal-qarrej, permezz ta' modulu WASM. Aħna nfornu d-data; il-kalkolu jsir fuq l-apparat tal-viżitatur. Li kieku għada nitilqu mill-internet, reċensjoni li tkun diġà tniżżlet tibqa' verifikabbli.


24. ML-DSA u FALCON ħdejn xulxin

ProprjetàFALCON (FN-DSA)ML-DSA
Tipfirma diġitalifirma diġitali
Familja ta' lattiċiNTRUModule-LWE / Module-SIS
AnellZq[x]/(xn+1)\mathbb{Z}_q[x]/(x^n+1), q=12289q=12289Zq[x]/(x256+1)\mathbb{Z}_q[x]/(x^{256}+1), q=8380417q=8380417
Mekkaniżmu ċentralivettur qasir permezz ta' kampjunar Gawssjanchallenge-tweġiba b'abbandun
FFT / NTTFFT f'virgola mobbli, kritiku għas-sigurtàNTT, aritmetika biss
Daqs tal-firma (l-ogħla livell)1,280 B4,627 B
Implimentazzjonieżiġenti (virgola mobbli)relattivament dritta
Standardizzazzjonimaħsub bħala FIPS 206 (FN-DSA), għadu ma ġiex konklużFIPS 204, konkluż

Fil-qosor: ML-DSA huwa eħfef biex jiġi implimentat u vverifikat b'mod korrett, filwaqt li FALCON jagħti firem ferm aktar kompatti. Fil-kodiċi QR ma jinsab l-ebda wieħed mit-tnejn — hemmhekk hemm biss l-envelope Ed25519. Għalhekk id-daqs tal-firma jgħodd fil-ħżin u fil-konsenja, u r-robustezza fl-implimentazzjoni. Għalhekk noffru t-tnejn.


25. Sentenza waħda biex tieħu miegħek

ML-DSA joħloq minn vettur sigriet qasir tweg˙iba għal challengeli g˙iet hashjata mir-rec˙ensjoni nnifisha — verifikabbligħal kull min għandu c˙-c˙avetta pubblika.\boxed{ \begin{array}{c} \text{ML-DSA joħloq minn vettur sigriet qasir tweġiba għal challenge}\\ \text{li ġiet hashjata mir-reċensjoni nnifisha — verifikabbli}\\ \text{għal kull min għandu ċ-ċavetta pubblika.} \end{array}}

Min għandu l-vettur sigriet jiffirma f'millisekondi. Min m'għandux ikollu jsolvi problema ta' lattiċe f'aktar minn 14,000 dimensjoni — anki b'kompjuter kwantistiku.

Għall-qarrej ta' reċensjoni dan ifisser sempliċement: mhux obbligat jemminna. Jista' jikkalkula huwa stess.