Kriptografia ya baada ya kvanta (Post-Quantum Cryptography, PQC), inahusu uundaji wa mbinu za kriptografia zinazolengwa kustahimili mashambulio kutoka kwa kompyuta za kawaida na mashambulio ambayo kompyuta za kvanta zenye uwezo wa kutosha zinaweza kutekeleza siku zijazo. Sahihi za kidijitali zinazotumiwa katika mifumo ya blokcheini ni vipengele vya msingi vya usalama kwa kuidhinisha na kuthibitisha miamala. Usalama wa mbinu za sahihi za kidijitali zinazotegemea mikunjo ya duaradufu, zinazotumiwa leo katika mifumo kama Bitcoin na Ethereum, unategemea matatizo ya kihisabati ambayo yanaweza kutatuliwa na algoriti ya Shor kwenye kompyuta ya kvanta yenye nguvu ya kutosha. Hali hii inaibua swali la jinsi usalama wa muda mrefu wa kriptografia unavyoweza kulindwa katika miundombinu ya blokcheini.
Utafiti ulioandaliwa na Tushar Jain wenye kichwa “Performance Analysis of Quantum-Secure Digital Signature Algorithms in Blockchain” unalinganisha jinsi algoriti za sahihi za kidijitali za baada ya kvanta zinavyoathiri gharama ya miamala, ukubwa wa funguo na sahihi, ukubwa wa data ya miamala na muda wa uthibitishaji wa bloku katika mfumo unaofanana na blokcheini. Utafiti unatathmini ML-DSA, ambayo ni toleo lililosanifishwa la CRYSTALS-Dilithium, pamoja na algoriti za Falcon na Hawk katika prototaipu moja ya blokcheini; algoriti ya HAETAE inachunguzwa kwa vipimo huru vya utendaji wa kriptografia.
Katika majaribio, prototaipu ya blokcheini yenye nodi moja na inayotegemea akaunti ilitumika. Kwa kila algoriti, uundaji wa funguo mara 100, miamala 1.000 iliyosainiwa kwa muundo uleule wa muamala, na uthibitishaji wa bloku uliorudiwa mara 100 ulitathminiwa. Miamala iliundwa kama uhamisho wa kiasi kisichobadilika kutoka kwenye pochi ya mtumaji aitwaye Alice kwenda kwenye pochi ya mpokeaji aitwaye Bob. Mawasiliano ya mtandao, makubaliano yaliyosambazwa na usambazaji halisi wa bloku hayakujumuishwa katika wigo wa prototaipu.
Kulingana na matokeo ya chanzo, ukubwa wa bloku yenye miamala 1.000 ni baiti 5.092.084 kwa ML-DSA-44, baiti 9.859.084 kwa ML-DSA-87, baiti 2.497.118 kwa Falcon-512 na baiti 2.651.084 kwa Hawk-512. Kwa hiyo, katika programu iliyochunguzwa Falcon-512 na Hawk-512 zilizalisha data ndogo zaidi ya miamala na bloku kuliko seti za vigezo vya ML-DSA zilizolinganishwa.
Muda wa kuthibitisha sahihi kwa kila muamala ulipimwa kuwa mikrosekunde 47,1 (µs) kwa Hawk-512, 51,6 µs kwa Falcon-512, 97,5 µs kwa ML-DSA-44 na 234,1 µs kwa ML-DSA-87. Kwa upande mwingine, uundaji wa funguo wa ML-DSA-44 ulikuwa 78,9 µs, wakati Falcon-512 ulikuwa 5.721,4 µs na Hawk-512 ulikuwa 1.477,8 µs. Tofauti hizi zinaonyesha kuwa algoriti kuunda funguo kwa haraka hakumaanishi kwamba itatoa sahihi ndogo zaidi au uthibitishaji wa haraka zaidi.
Algoriti za HAETAE-120, HAETAE-180 na HAETAE-260 pia zilitathminiwa; hata hivyo, hazikuunganishwa kwenye prototaipu ya blokcheini kwa sababu ya matatizo ya uoanifu na kompaila ya programu. Nyakati za algoriti hizi ni vipimo huru vya uundaji wa funguo, usainishaji na uthibitishaji pekee. Hazipaswi kutafsiriwa kana kwamba matokeo ya ukubwa wa bloku au muda wa uthibitishaji wa bloku yalipatikana kwa HAETAE.
Ugunduzi mkuu wa utafiti ni kwamba hakuna kiongozi mmoja wa kipekee wa utendaji miongoni mwa algoriti za sahihi za kidijitali za baada ya kvanta. ML-DSA ilionyesha faida kwa muundo wake uliosanifishwa na gharama ndogo ya uundaji wa funguo; Falcon kwa sahihi ndogo na uthibitishaji wa haraka; na Hawk hasa kwa utendaji wa usainishaji na uthibitishaji. Hata hivyo, matokeo yamewekewa mipaka na kompyuta fulani, mazingira ya programu na prototaipu yenye nodi moja. Katika mitandao halisi ya blokcheini, upana wa bendi, uthibitishaji wa nodi nyingi, makubaliano, matumizi ya nishati na usambazaji wa bloku vinapaswa kuchunguzwa kando.
Kwa mashirika yanayoendeleza miundombinu ya blokcheini nchini Uturuki, wahandisi wa programu na watafiti wa usalama wa mtandao, utafiti unaonyesha kwamba uchaguzi wa algoriti ya baada ya kvanta haupaswi kufanywa kwa kuzingatia kiwango cha usalama wa kinadharia pekee; ucheleweshaji wa uthibitishaji, ukubwa wa data, ugumu wa utekelezaji na uwezo wa rasilimali wa mfumo lengwa vinapaswa kutathminiwa pamoja. Hata hivyo, utafiti haukufanya jaribio kwenye mtandao wa blokcheini maalumu wa Uturuki au miundombinu ya ndani.
Kwa Nini Blokcheini Zinaweza Kuhitaji Sahihi za Kidijitali za Baada ya Kvanta?
Usalama wa miamala ya blokcheini unategemea kuthibitisha ikiwa sahihi ya kidijitali inayoidhinisha muamala ni halali. Mifumo ya sasa ya sahihi inayotegemea mikunjo ya duaradufu hutumia matatizo ya kihisabati yanayochukuliwa kuwa magumu kwa kompyuta za kawaida. Kwa kuwa kompyuta za kvanta zenye ukubwa wa kutosha na uwezo wa kusahihisha makosa zinaweza kutatua kwa ufanisi baadhi ya matatizo haya kwa kutumia algoriti ya Shor, kwa muda mrefu inaweza kutokea haja ya kuhamia mbinu tofauti za sahihi.
Sahihi ya kidijitali hufanya nini katika blokcheini?
Blokcheini (blockchain), ni mfumo wa kumbukumbu ambapo miamala huhifadhiwa katika bloku na bloku huunganishwa kwa thamani za hash za kriptografia. Katika blokcheini zilizogawanywa, nodi tofauti hukagua usahihi wa kumbukumbu hizi.
Sahihi ya kidijitali huwezesha kuthibitisha ikiwa muamala ulisainiwa na mwenye ufunguo aliyeidhinishwa. Katika usainishaji hutumiwa ufunguo wa siri (secret/private key), na katika uthibitishaji hutumiwa ufunguo husika wa umma (public key).
Muundo wa msingi wa sahihi ya kidijitali unaweza kugawanywa katika kazi tatu:
- KeyGen: Huunda jozi ya ufunguo wa umma na ufunguo wa siri.
- Sign: Hutumia ufunguo wa siri kuunda sahihi ya kidijitali juu ya ujumbe au muamala.
- Verify: Hukagua uhusiano wa kihisabati kati ya ufunguo wa umma, ujumbe na sahihi.
Kazi hizi kwa ujumla huonyeshwa kama:
\[ (pk,sk)\leftarrow KeyGen() \]
\[ \sigma\leftarrow Sign(sk,M) \]
\[ Verify(pk,M,\sigma)\in\{0,1\} \]
Katika hapa \(pk\) ni ufunguo wa umma, \(sk\) ni ufunguo wa siri, \(M\) ni ujumbe unaosainiwa na \(\sigma\) ni sahihi ya kidijitali. Matokeo ya uthibitishaji kuwa 1 yanaonyesha kuwa sahihi imekubaliwa chini ya masharti ya mbinu husika; kuwa 0 kunaonyesha kuwa imekataliwa.
Uwakilishi huu wa sehemu tatu unalenga kueleza utendaji wa jumla wa mifumo ya kriptografia. Miundo ya funguo, kanuni za kuunda sahihi na masharti ya uthibitishaji ya algoriti halisi zilizotumiwa katika utafiti hutofautiana.
Kwa nini kriptografia ya mikunjo ya duaradufu inaweza kuathiriwa na kompyuta za kvanta?
Kriptografia ya Mikunjo ya Duaradufu (Elliptic Curve Cryptography, ECC), inategemea ugumu wa kutatua baadhi ya matatizo ya kihisabati ya mikunjo ya duaradufu kwa kompyuta za kawaida. Katika mifumo ikolojia ya Bitcoin na Ethereum, mbinu za sahihi kama ECDSA au Schnorr zinahusishwa na familia hii.
Tatizo la logarithimu disikriti la mkunjo wa duaradufu linategemea ugumu wa kukokotoa skalari ya ufunguo wa siri unaohusiana kutoka kwenye nukta ya ufunguo wa umma chini ya hali za kawaida.
Algoriti ya Shor, ni algoriti ya kvanta inayoweza kutatua matatizo kama uchanganuzi wa namba kamili kuwa vigawanyaji na logarithimu disikriti kwa muda wa polinomu kwenye kompyuta za kvanta zenye uwezo wa kutosha. Kwa hiyo, algoriti ya Shor inatishia usalama wa muda mrefu wa baadhi ya mifumo iliyopo ya kriptografia ya ufunguo wa umma.
Hata hivyo, utafiti unaeleza kuwa kompyuta za kvanta za kiwango kikubwa na zenye uwezo wa kutosha kwa kriptografia bado hazipo. Hakuna shambulio halisi la kvanta lililofanywa katika utafiti. Tishio la kvanta ndilo msingi wa kisayansi wa kuchunguza algoriti mbadala za sahihi.
Kriptografia ya baada ya kvanta ina maana gani?
Post-Quantum Cryptography (PQC), inajumuisha algoriti za kriptografia zinazoweza kufanya kazi kwenye kompyuta za kawaida na zinazolengwa kustahimili mashambulio ya kvanta yanayojulikana.
Neno hili halimaanishi kuwa algoriti lazima ziendeshwe kwenye kompyuta ya kvanta. Katika utafiti, ML-DSA, Falcon, Hawk na HAETAE zilitathminiwa kwenye kompyuta ya kawaida ya mezani ya x86_64.
Usalama wa algoriti za baada ya kvanta pia unategemea dhana za kihisabati. Kubuni algoriti kama “ya baada ya kvanta” si uthibitisho wa majaribio kwamba ni salama kabisa dhidi ya mashambulio yote yanayowezekana ya kawaida au ya kvanta.
Kriptografia inayotegemea kimiani ni nini?
Kriptografia inayotegemea kimiani (Lattice-Based Cryptography), hutumia ugumu wa kihesabu wa baadhi ya matatizo ya vekta au utatuzi katika miundo ya kihisabati ya vipimo vingi.
Kimiani inaweza kufikiriwa kama muundo wa kawaida wa nukta za kihisabati unaotengenezwa na vekta fulani zenye vizidishi vya namba kamili. Katika matumizi ya kriptografia, kwa kuwa muundo huu una vipimo vingi, kupata baadhi ya vekta fupi au mahusiano ya siri huwa kugumu kihesabu.
Chanzo kinaeleza kuwa algoriti nne hutumia matatizo tofauti ya kimiani na miundo tofauti ya kihisabati:
- ML-DSA: Inahusishwa na matatizo ya kimiani za moduli kama Module-LWE na Module-SIS.
- Falcon: Hutumia kimiani inayotegemea NTRU na mbinu ya sahihi ya GPV.
- Hawk: Inategemea miundo katika mfumo wa tatizo la isomorfizimu ya kimiani (Lattice Isomorphism Problem, LIP).
- HAETAE: Hutumia matatizo ya kimiani za moduli na mbinu ya Fiat–Shamir-with-aborts.
Pete ya polinomu ni nini?
Katika chanzo, pete ifuatayo ya polinomu hutumiwa katika uwakilishi wa kihisabati wa algoriti zinazotegemea kimiani:
\[ R_q=\mathbb{Z}_q[X]/(X^n+1) \]
Usemi huu unawakilisha muundo wa algebra ambapo vizidishi vinatathminiwa kwa moduli \(q\) na polinomu zinachakatwa kwa mujibu wa uhusiano \(X^n+1\).
\(\mathbb{Z}_q\): Ni madarasa ya namba kamili kwa moduli \(q\).
\(X\): Ni kigezo rasmi cha polinomu.
\(n\): Ni kigezo kinachohusiana na daraja la polinomu inayotumiwa.
\(q\): Ni moduli ya namba msingi inayotumiwa katika arithmetiki ya moduli.
\((X^n+1)\): Hubainisha uhusiano wa upunguzaji katika operesheni za polinomu.
Katika mfumo huu, polinomu hazichukuliwi kama vielezi vya kawaida vya algebra vyenye daraja lisilo na kikomo. Uhusiano husika wa upunguzaji hutumika na vizidishi huwekwa ndani ya arithmetiki ya moduli.
Kwa nini NTT ni muhimu?
Number Theoretic Transform (NTT), ni ubadilishaji unaofanana na Fourier transform disikriti lakini hufafanuliwa juu ya miundo inayofaa ya arithmetiki ya moduli yenye ukomo badala ya namba changamano.
Ugumu wa kihesabu wa mbinu rahisi inayotumiwa kufanya uzidishaji wa polinomu moja kwa moja ni takribani:
\[ O(n^2) \]
wakati katika mbinu zinazofaa zinazotegemea ubadilishaji unaweza kupunguzwa hadi:
\[ O(n\log n) \]
.
Alama \(O\) hapa ni uwasilishaji wa ugumu wa ki-asimptoti unaoonyesha jinsi idadi ya operesheni za algoriti inavyopanuka kadiri ukubwa wa ingizo unavyoongezeka.
\(n^2\) inawakilisha ukuaji wa mraba kadiri \(n\) inavyoongezeka; \(n\log n\) inawakilisha ugumu wa karibu na mstari unaokua polepole zaidi. Hata hivyo, uwasilishaji huu hauonyeshi moja kwa moja ni mikrosekunde ngapi zinahitajika kwenye kompyuta fulani. Muda halisi hutegemea utekelezaji, maunzi, ufikiaji wa kumbukumbu na operesheni nyingine zinazotumiwa.
Chanzo kinaeleza NTT kama mojawapo ya zana muhimu za kihisabati za kuharakisha operesheni za polinomu katika algoriti za sahihi zinazotegemea lattice.
Tofauti Kuu Kati ya ML-DSA, Falcon, Hawk na HAETAE ni Zipi?
ML-DSA, Falcon, Hawk na HAETAE ni algoriti tofauti zinazotegemea lattice zilizoundwa kwa ajili ya kutengeneza sahihi za kidijitali za baada ya kvanta. Katika chanzo, zinachunguzwa kwa ukubwa wa funguo na sahihi, gharama ya kuunda funguo, muda wa usainishaji na utendaji wa uthibitishaji. ML-DSA, Falcon na Hawk zilijaribiwa katika prototaipu ya blokcheini; ulinganisho wa HAETAE uliwekewa mpaka wa vipimo huru vya kriptografia pekee.
CRYSTALS-Dilithium na ML-DSA
CRYSTALS-Dilithium, ni algoriti ya sahihi ya kidijitali inayotegemea matatizo ya kimiani za moduli. Toleo lake lililosanifishwa na NIST linajulikana kama Module-Lattice-Based Digital Signature Algorithm (ML-DSA) .
Katika chanzo, vigezo vya msingi vya pete ya polinomu kwa ML-DSA vimetolewa kama:
\[ n=256,\qquad q=8380417 \]
.
Hapa \(n\) inawakilisha kigezo kinachohusiana na ukubwa wa polinomu inayotumiwa, na \(q\) inawakilisha thamani ya arithmetiki ya moduli. Lahaja za ML-DSA-44, ML-DSA-65 na ML-DSA-87 hutumia thamani zilezile za msingi za \(n\) na \(q\), lakini hutofautiana kwa ukubwa wa matritsi na vigezo vya usalama.
Uundaji wa funguo wa ML-DSA
Chanzo kinaeleza muundo wa kihisabati wa uundaji wa funguo kwa kiwango cha juu. Kwanza hutengenezwa matritsi ya umma \(A\), pamoja na vekta fupi za siri \(s_1\) na \(s_2\):
\[ A\in R_q^{k\times\ell} \]
\[ s_1\in\mathcal{S}_{\eta}^{\ell}, \qquad s_2\in\mathcal{S}_{\eta}^{k} \]
Kisha:
\[ t=As_1+s_2\pmod q \]
hukokotolewa.
\(A\): Ni matritsi ya umma.
\(s_1\) na \(s_2\): Ni vekta fupi za siri zinazochukuliwa sampuli ndani ya mipaka fulani.
\(k,\ell\): Ni vigezo vinavyoamua ukubwa wa matritsi na vekta.
\(\eta\): Ni kigezo kinachohusiana na mipaka ya kuchukua sampuli za thamani za siri.
\(t\): Ni thamani iliyokokotolewa inayotumiwa katika muundo wa ufunguo wa umma.
Chanzo kinaonyesha mchakato kwa muhtasari ufuatao:
\[ pk=(A,t),\qquad sk=(s_1,s_2) \]
Uwakilishi huu unaeleza muundo mkuu wa kihisabati. Katika utekelezaji halisi wa kiwango, kuna mbegu, hash saidizi, usimbaji uliobanwa na nyuga za ziada; kwa hiyo milinganyo hii miwili si muundo kamili wa kusawazisha funguo.
Mchakato wa usainishaji wa ML-DSA
Chanzo kinaeleza utaratibu wa usainishaji kwa hatua fulani za msingi. Kwanza huundwa vekta ya nasibu ya kuficha \(y\), kisha:
\[ w=Ay \]
hukokotolewa.
Thamani ya changamoto huundwa kutoka kwa ujumbe \(M\) na thamani ya commitment iliyokokotolewa:
\[ c=H(M\parallel w) \]
Hapa \(H\) inawakilisha operesheni ya hash ya kriptografia, na \(\parallel\) inawakilisha kuunganisha data.
Kisha:
\[ z=y+cs_1 \]
hutumika kupata thamani ya jibu.
Katika maelezo ya kiwango cha juu ya chanzo, sahihi inaonyeshwa kwa vipengele \(c\) na \(z\). Hata hivyo, usimbaji halisi wa sahihi ya ML-DSA pia una thamani za hint, mgawanyo wa biti za juu/chini, ukaguzi wa mipaka na hatua za kuchukua sampuli upya.
Mchakato wa uthibitishaji wa ML-DSA
Chanzo kinatoa uhusiano wa muhtasari ufuatao kwa uthibitishaji:
\[ w'=Az-ct\pmod q \]
Kisha, kwa kukokotoa changamoto upya:
\[ c=H(M\parallel w') \]
sharti hutathminiwa.
Maelezo haya ya kihisabati ni muhtasari wa kufundishia; hayaonyeshi pekee yake ukaguzi wote wa hint, uundaji upya wa biti za juu na mipaka ya norma katika uthibitishaji halisi wa kiwango. Chanzo pia kinaeleza wazi kuwa ukaguzi huu wa ziada ni muhimu.
Seti za vigezo vya ML-DSA
| Kigezo | ML-DSA-44 | ML-DSA-65 | ML-DSA-87 |
|---|---|---|---|
| (k, ℓ) | (4, 3) | (6, 4) | (8, 5) |
| Ufunguo wa umma (baiti) | 1.312 | 1.952 | 2.592 |
| Ufunguo wa siri (baiti) | 2.560 | 4.032 | 4.896 |
| Sahihi (baiti) | 2.420 | 3.309 | 4.627 |
Kadiri vigezo vya usalama vinavyoongezeka, ukubwa wa matritsi, ukubwa wa sahihi na gharama za operesheni zinaweza kuongezeka. Hata hivyo, seti kubwa zaidi ya vigezo peke yake haimaanishi kuwa lahaja hiyo itatoa utendaji bora katika mfumo fulani.
Algoriti ya Falcon
Falcon, ni mbinu ya sahihi ya baada ya kvanta inayotegemea muundo wa kimiani wa NTRU na mbinu ya sahihi inayotegemea GPV. Chanzo kinaeleza kuwa Falcon imepata umuhimu hasa kwa lengo la kutengeneza sahihi na funguo za umma zenye ukubwa mdogo.
Pete inayotumiwa kwa Falcon pia ni:
\[ R_q=\mathbb{Z}_q[X]/(X^n+1) \]
Chanzo kinatoa vigezo:
\[ n\in\{512,1024\},\qquad q=12289 \]
.
Msingi wa kihisabati wa uundaji wa funguo wa Falcon
Katika chanzo, uhusiano wa NTRU kwa polinomu fupi \(f,g,F,G\) umetolewa kama:
\[ fG-gF=q \]
.
Usawa huu unaonyesha uhusiano maalumu wa algebra kati ya polinomu. Kupata polinomu fupi zinazofaa huchangia katika kujenga msingi wa kimiani unaohusiana na muundo wa ufunguo wa siri wa Falcon.
Msingi wa siri wa trapdoor kwa kiwango cha juu huonyeshwa kama:
\[ B= \begin{pmatrix} g & -f\\ G & -F \end{pmatrix} \]
.
Polinomu ya ufunguo wa umma hufafanuliwa kwa uhusiano:
\[ h=gf^{-1}\pmod q \]
.
Hapa \(f^{-1}\) inawakilisha kinyume cha kuzidisha cha \(f\) katika pete husika ya polinomu. Hii si aina ileile ya operesheni ya kugawanya inayotumiwa kwa namba halisi za kawaida.
Katika uwakilishi wa kiwango cha juu wa chanzo:
\[ pk=h,\qquad sk=B \]
huandikwa. Muundo wa ufunguo wa siri katika utekelezaji halisi wa Falcon na data saidizi inayohitajika kwa kuchukua sampuli ni ya kina zaidi kuliko muhtasari huu.
Usainishaji na uthibitishaji wa Falcon
Falcon inalenga kutengeneza vekta fupi ya kimiani iliyo karibu na lengo linalotokana na hash ya ujumbe na inayokidhi masharti fulani ya norma. Muundo wa trapdoor katika ufunguo wa siri huwezesha kuchukua sampuli hii.
Chanzo kinaeleza vekta fupi ya sahihi kwa:
\[ s=c-v=(s_1,s_2) \]
Katika hapa \(c\) inahusiana na lengo linalotengenezwa kutoka kwa hash ya ujumbe, na \(v\) inahusiana na vekta ya lattice iliyochaguliwa kwa kutumia trapdoor.
Katika uthibitishaji, hukaguliwa kama vekta ya sahihi ni fupi na kama inatimiza uhusiano husika wa kihisabati wa umma:
\[ sA=H(m)\pmod q \]
Chanzo kinatoa usawa huu kama uwakilishi wa kiwango cha juu wa kufundishia wa Falcon. Uthibitishaji halisi wa sahihi una usimbaji na ukaguzi wa norma wa ziada.
Thamani za vigezo vya Falcon
| Kigezo | Falcon-512 | Falcon-1024 |
|---|---|---|
| Kiwango lengwa cha usalama cha NIST | I | V |
| Daraja la pete n | 512 | 1.024 |
| Moduli q | 12.289 | 12.289 |
| Mkengeuko wastani wa kukadiriwa s | 165,74 | 168,39 |
| Kikomo cha juu cha norma ya sahihi β | 5.833,93 | 8.382,44 |
| Urefu wa salt (bit) | 320 | 320 |
Muundo wa kihisabati ambao Falcon hutumia kwa kuchukua sampuli zinazofanana na mgawanyo wa kawaida na kutengeneza sahihi fupi unahusiana pia na uundaji mgumu zaidi wa funguo, pamoja na faida zake za utendaji. Hali hii inaonekana wazi katika matokeo ya majaribio ya utafiti.
Algoriti ya Hawk
Hawk, ni mbinu ya sahihi ya kidijitali inayotumia miundo ya kihisabati inayohusiana na tatizo la isomorfizimu ya kimiani. Katika chanzo, seti za vigezo za HAWK-512 na HAWK-1024 zimechunguzwa.
Daraja la polinomu kwa Hawk:
\[ n\in\{512,1024\} \]
limepewa.
Katika uundaji wa funguo, polinomu fupi \(f\) na \(g\) huchukuliwa sampuli. Kisha polinomu zinazofaa \(F\) na \(G\) hupatikana ili:
\[ fG-gF=1 \]
utimizwe.
Chanzo kinaonyesha muundo wa msingi wa siri kama:
\[ B= \begin{pmatrix} f & F\\ g & G \end{pmatrix} \]
Kisha, kwa ufunguo wa umma, aina ya quadratic:
\[ Q=B\star B \]
hufafanuliwa. Hapa \(\star\) ni ishara inayowakilisha operesheni husika ya matritsi/umbo katika algoriti ya chanzo; haipaswi kupunguzwa kuwa maana ya kuzidisha skalari kwa kawaida.
Muhtasari wa ufunguo wa umma:
\[ h_{pub}=H(Q) \]
hukokotolewa.
Katika chanzo, uwakilishi wa kiwango cha juu wa funguo ni:
\[ pk=Q,\qquad sk=(B,h_{pub}) \]
.
Usainishaji na uthibitishaji wa Hawk
Wakati wa usainishaji, thamani mpya za hash huundwa kwa kutumia ujumbe na hash ya ufunguo wa umma. Thamani ya nasibu ya salt hutengenezwa na vekta fupi huchukuliwa sampuli.
Katika chanzo, uhusiano mkuu wa kukokotoa ni:
\[ w\leftarrow B^{-1}x \]
\[ s\leftarrow\frac{1}{2}(h-w) \]
Matokeo ya sahihi yanajumuisha salt husika na vipengele vilivyobanwa.
Katika uthibitishaji:
\[ w\leftarrow h-2s \]
hukokotolewa na sharti linalohitajika la norma hukaguliwa:
\[ \|w\|_Q\leq bound \]
Norma hii inawakilisha kipimo cha urefu wa kihisabati kinachohusiana na \(Q\). bound ni kikomo cha kukubali cha algoriti husika. Masharti haya ya kihisabati pekee si utekelezaji kamili wa Hawk; yanafupisha muundo wa kiwango cha juu ulioelezwa katika chanzo.
Ukubwa wa funguo na sahihi wa Hawk
| Kigezo | HAWK-512 | HAWK-1024 |
|---|---|---|
| Daraja n | 512 | 1.024 |
| Ufunguo wa umma (baiti) | 1.024 | 2.440 |
| Ufunguo wa siri (baiti) | 184 | 360 |
| Sahihi (baiti) | 555 | 1.221 |
Chanzo kinaeleza kuwa Hawk inavutia hasa kwa kuzalisha sahihi fupi na kwa usainishaji wa haraka. Hata hivyo, wakati wa utafiti Hawk haikuainishwa kama algoriti ya sahihi ya kidijitali iliyosanifishwa na NIST. Faida ya utendaji si sawa na usanifishaji au hakikisho la usalama.
Algoriti ya HAETAE
HAETAE, ni algoriti nyingine ya sahihi inayotegemea kimiani na inayotegemea mbinu ya Fiat–Shamir-with-aborts. Katika chanzo, inajadiliwa hasa kwa upande wa muundo unaolenga kupunguza ukubwa wa sahihi na ufunguo wa uthibitishaji.
Kwa HAETAE:
\[ n=256,\qquad q=64513 \]
vigezo vimeripotiwa.
Katika uundaji wa funguo wa kiwango cha juu wa algoriti, hutumiwa matritsi ya umma na vekta fupi za siri. Chanzo kinatoa uhusiano wa kihisabati ufuatao:
\[ b\leftarrow A_{gen}s_{gen}+e_{gen} \]
Hapa \(A_{gen}\) ni matritsi ya umma iliyoundwa, \(s_{gen}\) ni vekta fupi ya siri na \(e_{gen}\) ni vekta ya kosa. Tatizo la kihisabati lililo nyuma ya uhusiano huu linahusishwa na dhana za usalama zinazotegemea lattice za moduli.
Utaratibu wa usainishaji wa HAETAE
Katika chanzo, wakati wa usainishaji vekta ya kuficha hupatikana kutoka kwa mchukuaji sampuli wa hipasfia (hyperball):
\[ y\leftarrow U(Hyperball) \]
Kisha thamani ya changamoto huundwa kwa kutumia fungsi ya hash, biti za juu na taarifa saidizi:
\[ c\leftarrow H(HighBits(Ay,\alpha),aux(y),M) \]
Hapa \(HighBits\) inawakilisha sehemu ya biti za juu ya operesheni husika ya utenganishaji, \(aux\) ni taarifa saidizi, \(\alpha\) ni kigezo cha utenganishaji na \(M\) ni ujumbe.
Vekta ya jibu:
\[ z\leftarrow y+(-1)^b c\cdot s \]
hukokotolewa kwa uhusiano huu.
Hapa \(b\in\{0,1\}\) ni thamani ya binary inayotumiwa kuamua alama. Pia hukokotolewa thamani saidizi za hint kwa uthabiti wa biti za juu. Wagombea wasiokidhi mipaka ya norma lazima wachukuliwe sampuli upya.
Chanzo kinafupisha katika uthibitishaji urejeshaji wa vipengele husika kutoka kwa sahihi, kukokotoa upya thamani ya hash na ukaguzi wa norma. Hatua hizi si maelezo kamili ya utekelezaji yanayochukua nafasi ya kiwango kamili cha kiufundi cha HAETAE.
Seti za vigezo vya HAETAE
| Kigezo | HAETAE-120 | HAETAE-180 | HAETAE-260 |
|---|---|---|---|
| (k, ℓ) | (2, 4) | (3, 6) | (4, 7) |
| Ufunguo wa umma (baiti) | 992 | 1.472 | 2.080 |
| Ufunguo wa siri (baiti) | 1.408 | 2.112 | 2.752 |
| Sahihi (baiti) | 1.474 | 2.349 | 2.948 |
Chanzo kinahusisha seti za HAETAE-120, HAETAE-180 na HAETAE-260 kwa takribani na viwango vya usalama vya NIST 2, 3 na 5. Hata hivyo, si sahihi kulinganisha madaraja ya usalama ya majina haya ya vigezo kwa ukubwa wa namba pekee au kupunguza usalama wa familia tofauti za algoriti kuwa namba moja.
Mbinu na Matokeo ya Utafiti
Lengo kuu la jaribio
Utafiti uliandaliwa kuchunguza athari zinazoweza kupimika za kubadilisha algoriti ya sahihi ya kidijitali katika programu inayofanana na blokcheini.
ML-DSA, Falcon na Hawk zilitathminiwa chini ya modeli ileile ya muamala. Kwa njia hii, lengo lilikuwa kuweka mtiririko wa miamala na miundo ya data kuwa thabiti kadiri iwezekanavyo, isipokuwa kubadilisha algoriti.
HAETAE, kwa sababu ya kutolingana na mnyororo wa zana za programu, si sehemu ya jaribio hilo hilo lililounganishwa. Matokeo ya HAETAE yanajumuisha tu vipimo huru vya kriptografia.
Mazingira ya jaribio
| Kipengele | Taarifa iliyotolewa katika chanzo |
|---|---|
| Usanifu wa kompyuta | Kompyuta ya mezani ya x86_64 |
| Mfumo wa uendeshaji | Windows ya biti 64 |
| Kompaila | Microsoft Visual C++ |
| Hali ya uundaji | Release |
| Maktaba ya kriptografia | liboqs |
| Utekelezaji wa Hawk | Utekelezaji wa marejeleo wa C wa waandishi |
| Utekelezaji wa HAETAE | Programu huru za marejeleo za benchmark |
| Mtandao wa blokcheini | Prototaipu ya ndani ya nodi moja |
| Itifaki ya makubaliano | Haipo katika prototaipu |
| Mawasiliano ya mtandao | Hayapo katika prototaipu |
| Idadi ya miamala katika bloku moja | 1.000 |
| Marudio ya uundaji wa funguo | 100 |
| Marudio ya uthibitishaji wa bloku | 100 |
| Kipimo cha muda | Kipima muda cha saa ya ukutani chenye mwonekano wa juu |
Ingawa chanzo kinataja mfumo wa uendeshaji na mazingira ya uundaji, hakiripoti kikamilifu katika PDF modeli kamili ya kichakataji, idadi ya viini, marudio ya saa, kiasi cha RAM, nambari ya toleo la liboqs na bendera za kina za kompaila. Kwa hiyo, matokeo katika faili chanzo hayamaanishi kuwa muda uleule lazima upatikane kwenye kompyuta nyingine.
Usanifu wa prototaipu
Miundo minne ya msingi ya data ilitumika katika utafiti:
- Transaction: Inajumuisha ufunguo wa umma wa mtumaji, ufunguo wa umma wa mpokeaji, kiasi cha uhamisho, thamani ya nonce inayoongezeka na sahihi ya kidijitali.
- Block: Inajumuisha faharasa ya bloku, heshi ya bloku iliyotangulia, muhuri wa muda, orodha ya miamala na heshi ya bloku.
- Blockchain: Huwezesha bloku kuhifadhiwa kwa mpangilio na kuthibitishwa.
- Wallet: Husimamia jozi ya ufunguo wa umma/siri kwa algoriti husika na husaini muamala.
Nonce, ni thamani ya kihesabu inayotumiwa katika muamala na kuongezwa kwa kila muamala mpya. Nonce katika jaribio hili inawakilisha mpangilio wa miamala; haina kazi sawa na dhana ya proof-of-work nonce inayotumiwa katika uchimbaji wa Bitcoin.
Kwa heshi na viungo vya bloku, SHA3-256 ilitumika. Chanzo kinaeleza kuwa kilitumia kazi hii ya heshi kugundua mabadiliko katika maudhui ya bloku kupitia kuhesabu upya.
Jambo muhimu hapa ni kwamba SHA3-256 si mojawapo ya algoriti za sahihi ya kidijitali zinazolinganishwa na utafiti. Kigezo kikuu cha ulinganisho katika utafiti ni mbinu ya ML-DSA, Falcon au Hawk inayotumiwa kwa sahihi ya muamala.
Uthibitishaji wa bloku hufanya nini?
Katika chanzo, uthibitishaji wa bloku hufanya ukaguzi mkuu mitatu:
- Je, faharasa ya bloku na heshi ya bloku iliyotangulia vinaendana na muundo wa mnyororo?
- Je, heshi ya bloku hupatikana bila kubadilika maudhui ya bloku yanapohesabiwa upya?
- Je, sahihi za kidijitali za miamala yote ndani ya bloku zinaweza kuthibitishwa kwa ufunguo wa umma wa mtumaji husika?
Ikiwa mojawapo ya ukaguzi huu itashindwa, bloku hukataliwa.
Mbinu hii haijumuishi sheria zote za makubaliano au uthibitishaji wa kiuchumi za mtandao halisi wa blokcheini. Mawasiliano ya mtandao na makubaliano yaliachwa nje ya upeo wa utafiti kwa makusudi.
Algoriti hubadilishwaje katika majaribio?
Prototaipu hukusanya kazi mahususi za algoriti katika kiolesura dhahania cha Crypto . Kiolesura hiki kina kazi za pamoja kama kuunda funguo, kutengeneza sahihi na kuthibitisha.
Kwa ML-DSA hutumiwa OqsMldsaCrypto, kwa Falcon OqsFalconCrypto na kwa Hawk HawkCrypto .
Kwa muundo huu, usimamizi wa pochi, muamala na bloku hubaki uleule huku algoriti ya sahihi ikiweza kubadilishwa. Hivyo ukubwa wa data na gharama za ukokotoaji wa kriptografia za algoriti hulinganishwa.
Mpangilio wa vipimo
- Jozi ya funguo huundwa mara 100 kwa algoriti iliyochaguliwa na muda wa wastani hurekodiwa.
- Pochi za Alice na Bob huundwa.
- Miamala 1.000 yenye kiasi kisichobadilika na thamani ya nonce inayoongezeka huandaliwa kutoka Alice kwenda Bob.
- Kila muamala husainiwa kwa algoriti husika na muda wa wastani wa kusaini kwa kila muamala huhesabiwa.
- Miamala 1.000 hukusanywa katika bloku moja na bloku hugeuzwa kuwa mfuatano.
- Ukubwa wa data wa bloku na ukubwa wa wastani wa muamala hupimwa.
- Hukaguliwa kuwa bloku inakubaliwa kwa usahihi.
- Biti moja katika sahihi ya muamala wa kwanza hubadilishwa na hujaribiwa kuwa kosa la uthibitishaji linagunduliwa.
- Blok asili huthibitishwa mara 100 na muda wa uthibitishaji huhesabiwa.
Lengo la hatua hizi ni kutathmini mbinu ya sahihi katika muktadha wa programu wa pamoja. Jaribio halikupima kufanya kazi kwa wakati mmoja kwa nodi zote za blokcheini wala usambazaji wa miamala kwenye mtandao.
Kwa nini ukubwa wa sahihi na funguo ni muhimu?
Muamala katika blokcheini haujumuishi kiasi cha uhamisho pekee. Taarifa za mtumaji na mpokeaji, nambari ya mpangilio, sahihi na sehemu za ziada za muundo wa data unaotumiwa huathiri ukubwa wa jumla wa muamala.
Hasa katika mifumo inayotumia sahihi kubwa, tofauti ya kilobaiti kadhaa kwa kila muamala inaweza kuunda tofauti ya kiwango cha megabaiti katika bloku zenye miamala mingi.
Kwa sababu hiyo, watafiti hawakupima tu kasi ya uthibitishaji wa sahihi, bali pia athari za sahihi kwenye ugeuzaji kuwa mfuatano wa miamala na bloku.
Ukubwa wa bloku zenye miamala 1.000
| Algoriti | Ufunguo wa umma | Sahihi | Wastani wa muamala | Ukubwa wa bloku |
|---|---|---|---|---|
| ML-DSA-44 | 1.312 | 2.420 | 5.092 | 5.092.084 |
| ML-DSA-65 | 1.952 | 3.309 | 7.261 | 7.261.084 |
| ML-DSA-87 | 2.592 | 4.627 | 9.859 | 9.859.084 |
| Falcon-512 | 897 | 658 | 2.497 | 2.497.118 |
| Falcon-1024 | 1.793 | 1.275 | 4.905 | 4.904.685 |
| Hawk-512 | 1.024 | 555 | 2.651 | 2.651.084 |
| Hawk-1024 | 2.440 | 1.221 | 6.149 | 6.149.084 |
Thamani za wastani za muamala katika jedwali zimeripotiwa zikiwa zimezungushwa hadi baiti kamili. Hasa kwa Falcon-1024, ukweli kwamba ukubwa wa bloku hauwi sawa kabisa na matokeo ya 1.000 × 4.905 unapaswa kutathminiwa pamoja na kuzungushwa kwa ukubwa wa wastani wa muamala na data ya ziada katika kiwango cha bloku. Thamani ya baiti 4.904.685 iliyotolewa katika chanzo haijabadilishwa.
Ni algoriti zipi zinazojitokeza kwa ukubwa wa data?
Katika familia ya ML-DSA, kadiri vigezo vya usalama vinavyoongezeka, ukubwa wa ufunguo wa umma, sahihi na bloku huongezeka. ML-DSA-44 huunda bloku ya takribani 5,09 MB, huku ML-DSA-87 ikifikia takribani 9,86 MB.
Falcon-512 ina ukubwa wa bloku wa takribani 2,50 MB na Hawk-512 takribani 2,65 MB. Ukubwa wa data wa algoriti hizi mbili ulikuwa chini ya ML-DSA-44 na ML-DSA-87.
Hata hivyo, si sahihi kulinganisha ukubwa wa sahihi peke yake na ukubwa wa bloku. Kwa mfano, sahihi ya Hawk-512 ya baiti 555 ni ndogo kuliko sahihi ya Falcon-512 ya baiti 658. Licha ya hilo, bloku ya Falcon-512 yenye miamala 1.000 ni ndogo kuliko bloku ya Hawk-512. Sababu ni kwamba ukubwa wa jumla wa muamala pia huathiriwa na funguo za umma na sehemu nyingine zilizogeuzwa kuwa mfuatano.
Muda wa uundaji wa funguo, kusaini na kuthibitisha
| Algoriti | Uundaji wa funguo | Kusaini / muamala | Uthibitishaji / muamala |
|---|---|---|---|
| ML-DSA-44 | 78,9 | 281,3 | 97,5 |
| ML-DSA-65 | 138,4 | 457,8 | 144,5 |
| ML-DSA-87 | 200,3 | 570,9 | 234,1 |
| Falcon-512 | 5.721,4 | 206,1 | 51,6 |
| Falcon-1024 | 16.825,6 | 401,9 | 103,5 |
| Hawk-512 | 1.477,8 | 31,4 | 47,1 |
| Hawk-1024 | 9.549,2 | 70,0 | 98,5 |
Thamani zote ziko katika mikrosekunde. Mikrosekunde moja ni sehemu ya milioni moja ya sekunde:
\[ 1\,\mu s=10^{-6}\,s \]
Milisekunde moja ni mikrosekunde 1.000:
\[ 1\,ms=1000\,\mu s \]
Ubadilishaji huu wa vitengo ni muhimu. Kwa mfano, muda wa uundaji wa ufunguo wa Falcon-512 ni 5.721,4 µs, yaani takribani 5,72 ms. Muda wa kusaini wa Hawk-512 ni 31,4 µs, yaani 0,0314 ms. Ubadilishaji huu si kipimo kipya cha utendaji.
Muda wa kusaini kwa kila muamala
Katika vipimo vya chanzo, muda mfupi zaidi wa kusaini uliripotiwa kwa Hawk-512 kuwa 31,4 µs. Kwa Hawk-1024 ulipimwa 70,0 µs, kwa Falcon-512 206,1 µs na kwa ML-DSA-44 281,3 µs.
Matokeo haya yanaonyesha kuwa Hawk ilionyesha utendaji imara katika kusaini kwa kasi katika utekelezaji uliochunguzwa.
Hata hivyo, muda mfupi wa kusaini haumaanishi moja kwa moja gharama ndogo ya jumla ya mfumo. Uundaji wa funguo, uthibitishaji, ukubwa wa sahihi na ugumu wa utekelezaji ni vigezo tofauti.
Muda wa kuthibitisha sahihi kwa kila muamala
Katika chanzo, muda mfupi zaidi wa uthibitishaji kwa kila muamala uliripotiwa kwa Hawk-512 kuwa 47,1 µs. Falcon-512 iko katika 51,6 µs, ML-DSA-44 97,5 µs, Falcon-1024 103,5 µs na ML-DSA-87 234,1 µs.
Wakati sahihi za miamala yote katika bloku lazima zithibitishwe, muda wa uthibitishaji kwa kila muamala huwa muhimu kwa gharama ya jumla ya uthibitishaji.
Hata hivyo, katika jaribio hili ucheleweshaji wa uthibitishaji ulipimwa katika prototaipu ya ndani ya nodi moja. Katika mtandao halisi wa blokcheini, kukubaliwa kwa muamala, usambazaji wa mtandao, makubaliano na ukaguzi mwingine vinaweza kubadilisha ucheleweshaji wa jumla.
Muda wa uthibitishaji wa bloku unapaswa kufasiriwaje?
Katika chanzo, muda wa uthibitishaji kwa kila muamala ulihesabiwa kutokana na uthibitishaji wa kurudiwa wa bloku zenye miamala 1.000.
Kwa mfano, muda wa wastani wa uthibitishaji kwa kila muamala wa Hawk-512 uliripotiwa kuwa 47,1 µs. Kwa miamala 1.000, thamani hii ni takribani:
\[ 1000\times47.1\,\mu s=47.1\,ms \]
sawa na.
Vivyo hivyo, kwa Falcon-512:
\[ 1000\times51.6\,\mu s=51.6\,ms \]
na kwa ML-DSA-87:
\[ 1000\times234.1\,\mu s=234.1\,ms \]
hupatikana.
Matokeo haya ni uonyeshaji wa muda wa wastani kwa kila muamala ulioripotiwa katika chanzo katika kiwango cha bloku. Chanzo pia kinaeleza kuwa mchakato halisi wa uthibitishaji wa bloku ulipimwa kwa kuendeshwa mara kwa mara. Kwa hiyo, haya si matokeo yaliyokadiriwa kinadharia kutoka thamani huru za micro-benchmark pekee.
Hata hivyo, chanzo hakijatenganisha kikamilifu kwa kila sehemu ni kiasi gani cha muda uliopimwa kwa bloku nzima kinahusiana na ukokotoaji wa heshi, kiasi gani na ugeuzaji wa data kuwa mfuatano, au kiasi gani na uthibitishaji wa sahihi.
Throughput ya uthibitishaji ina maana gani?
Throughput, ni kiasi cha kazi ambacho mfumo unaweza kukamilisha ndani ya kipindi fulani cha muda. Katika muktadha wa uthibitishaji wa sahihi, inahusu idadi ya sahihi zinazoweza kuthibitishwa kwa kila kitengo cha muda.
Matokeo ya chanzo yanaonyesha kuwa muda mfupi wa uthibitishaji kwa kila muamala unaweza kutoa faida kwa uwezo wa ukokotoaji wa kriptografia wa nodi zinazothibitisha.
Hata hivyo, uwezo wa kinadharia wa kuchakata miamala unaoweza kuhesabiwa kutokana na muda wa uthibitishaji pekee si sawa na idadi ya miamala kwa sekunde ya blokcheini halisi (Transactions Per Second, TPS). TPS halisi huathiriwa na mtandao, uundaji wa bloku, makubaliano, hifadhi, ukaguzi mwingine wa miamala na sheria za itifaki.
Matokeo huru ya benchmark ya HAETAE
| Algoriti | Ufunguo wa umma (baiti) | Sahihi (baiti) | Uundaji wa funguo (µs) | Kusaini (µs) | Uthibitishaji (µs) |
|---|---|---|---|---|---|
| HAETAE-120 | 992 | 1.474 | 390,4 | 1.654,7 | 71,5 |
| HAETAE-180 | 1.472 | 2.349 | 626,3 | 2.083,5 | 132,6 |
| HAETAE-260 | 2.080 | 2.948 | 539,6 | 2.925,0 | 158,4 |
Thamani za uundaji wa funguo, kusaini na kuthibitisha katika jedwali hili ni vipimo huru vya kriptografia vya utekelezaji wa marejeleo wa HAETAE.
Muda wa kusaini wa HAETAE-120 uliripotiwa kuwa 1.654,7 µs na wa HAETAE-260 kuwa 2.925,0 µs. Muda wa uthibitishaji uko katika kiwango cha 71,5–158,4 µs.
Wakati wa kulinganisha thamani hizi na muda kwa kila muamala wa ML-DSA, Falcon na Hawk uliopimwa katika muktadha wa bloku katika Jedwali VI, lazima ikumbukwe kuwa upeo wa majaribio ni tofauti.
Katika HAETAE, ugeuzaji wa bloku kuwa mfuatano, muundo wa data ya muamala na gharama ya uthibitishaji wa bloku hazikujumuishwa katika matokeo haya. Chanzo hakijahesabu ukubwa wa bloku yenye miamala 1.000 kwa HAETAE.
Kwa nini HAETAE haikuunganishwa katika prototaipu ya blokcheini?
Kulingana na chanzo, utekelezaji wa marejeleo wa HAETAE unategemea vipengele fulani vya lugha mahususi kwa GCC na uzalishaji wa nambari nasibu unaotegemea OpenSSL. Katika mnyororo wa zana wa Microsoft Visual C++ uliotumiwa na utafiti kwenye Windows, msimbo huu haukuweza kujengwa kwa usafi bila marekebisho ya ziada au mabadiliko ya utegemezi.
Kwa hiyo HAETAE ilitathminiwa kupitia programu huru za majaribio pekee. Hali hii haimaanishi kuwa algoriti si halali kisayansi; inaonyesha upeo wa ujumuishaji wa utafiti katika mazingira mahususi ya programu.
Tofauti kati ya ukubwa wa sahihi na ukubwa wa bloku
Katika chanzo, Hawk-512 hutoa mojawapo ya ukubwa mfupi zaidi wa sahihi: baiti 555. Kwa Falcon-512, ukubwa wa sahihi ni baiti 658.
Licha ya hilo, Falcon-512 ni ndogo kwa ukubwa wa jumla wa muamala. Katika Jedwali V la chanzo, wastani wa muamala ni baiti 2.497 kwa Falcon-512 na baiti 2.651 kwa Hawk-512.
Hii inaonyesha kwamba gharama ya data katika blokcheini haipaswi kutathminiwa kwa kuangalia urefu wa sahihi pekee. Namna ya kugeuza funguo za umma kuwa mfuatano na sehemu nyingine za muamala pia huchangia ukubwa wa jumla.
Gharama ya uundaji wa funguo katika uchaguzi wa algoriti
ML-DSA-44, ikiwa na muda wa uundaji wa funguo wa 78,9 µs, hutoa mojawapo ya matokeo ya haraka zaidi ya uundaji wa funguo miongoni mwa algoriti zilizounganishwa zilizochunguzwa. Uundaji wa funguo wa Falcon-512 ulipimwa kuwa 5.721,4 µs, na wa Hawk-512 kuwa 1.477,8 µs.
Tofauti hii inaweza kuwa muhimu kwa programu zinazohitaji kuunda ufunguo mpya kwa kila muamala. Hata hivyo, kwa kuwa mifumo mingi hutumia ufunguo uleule wa pochi kwa miamala mingi, gharama ya uundaji wa funguo na gharama ya kusaini/kuthibitisha kwa kila muamala zinapaswa kutathminiwa kando.
Ni algoriti ipi bora zaidi?
Kwa mujibu wa matokeo ya chanzo, hakuna jibu moja linalotumika kwa vigezo vyote kwa swali hili.
| Kigezo | Matokeo yanayojitokeza katika chanzo | Kikomo cha tafsiri |
|---|---|---|
| Uundaji wa funguo | ML-DSA inaonyesha gharama ndogo ya uundaji wa funguo. | Haimaanishi kuwa ni kiongozi kamili katika uthibitishaji wa miamala na bloku. |
| Ukubwa mdogo wa bloku | Falcon-512 hutoa matokeo madogo zaidi ya bloku yaliyopimwa, takribani 2,50 MB. | Inatumika kwa prototaipu moja yenye miamala 1.000. |
| Sahihi fupi | Hawk-512 inajitokeza kwa ukubwa wa sahihi wa baiti 555. | Sahihi fupi zaidi haimaanishi kila wakati muamala mdogo zaidi kwa jumla. |
| Kusaini kwa kasi | Hawk-512 ina muda wa chini zaidi ulioripotiwa wa kusaini kwa kila muamala, 31,4 µs. | Ni matokeo katika mazingira mahususi ya programu/vifaa. |
| Uthibitishaji wa haraka | Hawk-512, 47,1 µs; Falcon-512, 51,6 µs. | Muda wa mtandao na makubaliano haujajumuishwa. |
| Muundo uliosanifishwa | ML-DSA imesanifishwa na NIST. | Usanifishaji haumaanishi kuwa utendaji ni bora zaidi katika kila kigezo. |
| HAETAE | Matokeo huru ya benchmark yametolewa. | Haijapimwa katika kiwango cha bloku. |
Nguvu za utafiti
Mojawapo ya vipengele muhimu vya utafiti ni kulinganisha algoriti tofauti kwa kutumia modeli ya pamoja ya muamala. Hivyo inaweza kuchunguzwa moja kwa moja jinsi ukubwa wa funguo na sahihi unavyojitokeza katika data ya muamala iliyogeuzwa kuwa mfuatano.
Kipengele cha pili muhimu ni kwamba gharama ya uthibitishaji haikutokana tu na uthibitishaji huru wa sahihi, bali na kuthibitisha mara kwa mara bloku iliyokamilishwa.
Kipengele cha tatu muhimu ni kwamba ukosefu wa ujumuishaji wa HAETAE haujafichwa. Chanzo kinatenganisha wazi upeo tofauti wa vipimo.
Vikwazo vya utafiti
Kufanya majaribio kwenye nodi moja ya ndani kunamaanisha kuwa athari za ucheleweshaji wa mtandao na usambazaji wa bloku katika blokcheini halisi zilizogawanywa hazikupimwa.
Ukubwa wa bloku uliwekwa kuwa miamala 1.000 katika majaribio yote. Hakuna matokeo tofauti yaliyotolewa kwa ukubwa tofauti wa bloku.
Miamala iliwekewa kikomo cha uhamisho rahisi kati ya akaunti. Miito ya mikataba mahiri, sehemu tofauti za miamala na mizigo changamano ya programu haikutathminiwa.
Matumizi ya kumbukumbu na nishati hayakupimwa. Pia hakuna ulinganisho kwenye vifaa vinavyotegemea ARM, mifumo iliyopachikwa au usanifu tofauti wa vichakataji.
Utafiti hautumii algoriti za sahihi za jadi kama ECDSA au Schnorr kama algoriti za marejeleo zilizopimwa katika jedwali lilelile la majaribio. Kwa hiyo, kutokana na data ya chanzo haiwezekani kutoa hitimisho la nambari kama “sahihi za baada ya kvanta ni haraka kiasi hiki kuliko ECDSA”.
Matokeo yanayoungwa mkono na utafiti
- Katika prototaipu ya nodi moja, ML-DSA, Falcon na Hawk ziliweza kutumika kama algoriti za sahihi zinazoweza kubadilishwa.
- Katika familia ya ML-DSA, ukubwa wa sahihi, ufunguo wa umma na bloku uliongezeka kadiri ukubwa wa vigezo ulivyoongezeka.
- Falcon-512 na Hawk-512 zilizalisha ukubwa mdogo wa bloku kuliko seti husika za vigezo za ML-DSA katika bloku zenye miamala 1.000 zilizopimwa katika chanzo.
- Hawk-512 ilionyesha utendaji unaojitokeza katika muda wa kusaini na uthibitishaji.
- ML-DSA ilitoa ucheleweshaji mdogo katika uundaji wa funguo.
- Uundaji wa funguo wa Falcon ulionyesha gharama kubwa zaidi ya ukokotoaji kuliko ML-DSA katika mazingira ya majaribio ya chanzo.
- HAETAE ilichunguzwa kwa vipimo huru lakini haikuunganishwa katika blokcheini.
- Uchaguzi wa sahihi unapaswa kufanywa kwa kutathmini pamoja ukubwa wa bloku, muda wa uthibitishaji, ugumu wa utekelezaji na hali ya usanifishaji.
Ujumlishaji ambao utafiti hauungi mkono
- Jaribio hili halikufanywa kwenye kompyuta ya kvanta.
- Ustahimilivu kamili wa algoriti dhidi ya mashambulio yote yanayowezekana ya kvanta haujathibitishwa kwa majaribio.
- Haijathibitishwa kuwa algoriti hizi zitatoa utendaji uleule kwenye mtandao mkuu halisi wa Bitcoin au Ethereum.
- Usambazaji wa bloku, makubaliano au throughput ya mtandao halisi uliogawanywa haukupimwa.
- Utendaji wa HAETAE katika kiwango cha bloku haukujaribiwa moja kwa moja.
- Matumizi ya nishati, matumizi ya kumbukumbu na matokeo katika madaraja tofauti ya vifaa hayajatolewa.
- Thamani za ulinganisho wa ECDSA ambazo hazipo katika chanzo haziwezi kuongezwa.
- Kuwa kwa algoriti moja haraka zaidi hakumaanishi moja kwa moja kuwa ni salama zaidi kuliko nyingine.
- Kutokana na matokeo haya haiwezekani kuhesabu kwa uhakika ni miamala mingapi kwa sekunde blokcheini halisi inaweza kutekeleza.
Utafiti wa baadaye
Mwandishi anapendekeza kwamba baadaye prototaipu ihamishiwe katika mazingira yenye nodi nyingi na ucheleweshaji wa mtandao pamoja na usambazaji wa bloku vichunguzwe. Upanuzi huu utasaidia kuelewa jinsi gharama ya kriptografia inavyoathiri utendaji wa mtandao halisi uliogawanywa.
Pia inapendekezwa kupanua majaribio kwa ukubwa tofauti wa bloku, miamala ya mikataba mahiri na mizigo mbalimbali zaidi ya kazi.
Kuunganisha HAETAE katika prototaipu ya blokcheini kwa kompaila na vitegemezi vinavyofaa vya programu pia ni mojawapo ya malengo ya kazi inayofuata.
Hatimaye, kupima matumizi ya kumbukumbu na nishati kwenye vichakataji tofauti kunaonekana kuwa muhimu kwa kutathmini uwezekano wa kutumia algoriti za baada ya kvanta kwenye vifaa vyenye rasilimali chache.
Hitimisho la jumla la utafiti
Utafiti wa Tushar Jain unaonyesha kuwa katika kutathmini algoriti za sahihi za kidijitali za baada ya kvanta, haitoshi kuangalia sifa za usalama wa kihisabati pekee au muda wa operesheni za kriptografia pekee.
ML-DSA, Falcon na Hawk zilionyesha faida tofauti katika modeli ileile ya programu. ML-DSA ilijitokeza kwa muda mdogo wa uundaji wa funguo na muundo uliosanifishwa, Falcon kwa data ndogo ya muamala/bloku, na Hawk kwa sahihi fupi pamoja na ucheleweshaji mdogo wa kusaini/kuthibitisha.
Hata hivyo, utafiti hautambui algoriti yoyote kama chaguo moja sahihi kwa hali zote za matumizi. Katika mifumo halisi ya blokcheini, uchaguzi wa algoriti unapaswa kufanywa kwa kutathmini pamoja mahitaji ya usalama, ukubwa wa data, ucheleweshaji wa muamala, ugumu wa utekelezaji na mahitaji ya miundombinu ya mtandao.
Maelezo ya Chanzo na Mbinu
Utafiti asilia: Performance Analysis of Quantum-Secure Digital Signature Algorithms in Blockchain.
Mwandishi: Tushar Jain.
Mpangilio wa mwandishi: Ni utafiti wa mwandishi mmoja.
Mchango sawa: Hautumiki; utafiti una mwandishi mmoja.
Mwandishi wa mawasiliano: Anwani ya mawasiliano ya mwandishi mmoja imetolewa katika PDF; hakuna alama tofauti ya corresponding-author.
Taasisi: Institute of Computer Science, University of Tartu, Tartu, Estonia.
Kitambulisho cha arXiv: arXiv:2601.17785.
Toleo lililochunguzwa: arXiv:2601.17785v1.
Tarehe ya kuwasilisha: 25 Januari 2026.
DOI: 10.48550/arXiv.2601.17785.
Kiungo rasmi cha chanzo: https://arxiv.org/abs/2601.17785
Jukwaa la chanzo: arXiv.
Uwanja wa kisayansi: Computer Science – Cryptography and Security (cs.CR); Quantum Physics (quant-ph).
Aina ya chanzo: Ripoti ya awali ya utafiti / preprint ya arXiv (preliminary report / preprint).
Hali ya mapitio ya kitaalamu: Rekodi ya arXiv iliyochunguzwa peke yake si ushahidi wa mapitio ya kitaalamu. Katika uchunguzi huu, toleo tofauti la jarida au mkutano lililopitiwa kitaalamu la utafiti halikuthibitishwa.
Jarida na mchapishaji: Katika PDF iliyopakiwa na rekodi ya arXiv iliyothibitishwa, hakuna rekodi ya mwisho ya jarida tofauti lililopitiwa kitaalamu, juzuu, toleo au mchapishaji.
DOI ya Jarida: DOI tofauti ya jarida haijathibitishwa; DOI ya arXiv haijawasilishwa kama DOI ya jarida.
Leseni/hakimiliki: Rekodi ya ufikiaji wazi haimaanishi kuwa vielelezo vyote vya chanzo vinaweza kutumiwa tena bila masharti. Kwa kuwa maelezo yote ya leseni ya wazi ya matumizi tena inayoweza kutumika kwa PDF iliyochunguzwa hayajathibitishwa, vielelezo vya chanzo havijanakiliwa; data za ukweli zilizoripotiwa zimeonyeshwa kwa SVG huru za Verianla.
Aina ya kisayansi ya utafiti: Kipimo linganishi cha utendaji wa kriptografia kwenye prototaipu ya blokcheini ya nodi moja na uchanganuzi huru wa micro-benchmark.
Algoriti kuu: ML-DSA-44, ML-DSA-65, ML-DSA-87, Falcon-512, Falcon-1024, Hawk-512, Hawk-1024.
Algoriti zilizopimwa kwa kujitegemea pekee: HAETAE-120, HAETAE-180, HAETAE-260.
Miundombinu ya kriptografia: liboqs, utekelezaji wa marejeleo wa C wa Hawk na programu za marejeleo za benchmark za HAETAE.
Mazingira ya utekelezaji: Kompyuta ya mezani ya Windows x86_64, Microsoft Visual C++, hali ya uundaji ya Release.
Modeli ya blokcheini: Prototaipu ya ndani ya nodi moja, inayotegemea akaunti, isiyo na mtandao wala makubaliano.
Mzigo wa majaribio: Miamala 1.000 iliyosainiwa katika bloku moja.
Marudio ya majaribio: Uundaji wa funguo 100 na uthibitishaji wa bloku 100; kusaini miamala 1.000 katika muktadha wa bloku.
Tokeo kuu la ukubwa: ML-DSA-87 baiti 9.859.084, Falcon-512 baiti 2.497.118, Hawk-512 baiti 2.651.084 za ukubwa wa bloku.
Tokeo kuu la kusaini: Hawk-512 31,4 µs, Falcon-512 206,1 µs, ML-DSA-44 281,3 µs.
Tokeo kuu la uthibitishaji: Hawk-512 47,1 µs, Falcon-512 51,6 µs, ML-DSA-87 234,1 µs za uthibitishaji kwa kila muamala.
Kikomo cha kipimo cha HAETAE: Kwa kuwa HAETAE haikuunganishwa katika prototaipu ya blokcheini, matokeo yaliyounganishwa kuhusu ukubwa wa muamala, ukubwa wa bloku na muda wa uthibitishaji wa bloku wa HAETAE hayapo katika chanzo.
Tafsiri ya usalama: Utafiti hauthibitishi upya usalama dhidi ya kvanta kupitia jaribio la kriptanalisi. Unachukua dhana za usalama za algoriti kutoka fasihi husika na kuchunguza utendaji wao wa utekelezaji.
Upeo wa fomula: Milinganyo ya kihisabati ya ML-DSA, Falcon, Hawk na HAETAE imewasilishwa katika chanzo kama muhtasari wa kiwango cha juu wa KeyGen/Sign/Verify. Haiwakilishi maelezo yote ya sampuli, usimbaji, kujaribu upya, vidokezo na ukaguzi wa mipaka wa viwango halisi.
Kielelezo 1: Kinalinganisha ukubwa wa wastani wa miamala iliyogeuzwa kuwa mfuatano. Verianla imeunga mkono maudhui haya ya kisayansi kwa grafu huru ya ukubwa wa bloku kutoka nambari za Jedwali V la chanzo.
Kielelezo 2: Kinaonyesha muda wa uundaji wa funguo, kusaini na kuthibitisha. Verianla imeandaa grafu huru ya uthibitishaji kwa kila muamala kutoka thamani zilizo wazi katika Jedwali VI la chanzo.
Majedwali: Chanzo kina majedwali saba. Jedwali I–IV yana vigezo vya algoriti, Jedwali V lina ukubwa wa bloku, Jedwali VI lina vipimo vya muda vilivyounganishwa, na Jedwali VII lina matokeo huru ya benchmark ya HAETAE.
Uzalishikaji upya: Chanzo kinaeleza kuwa msimbo wa prototaipu na programu za benchmark zimechapishwa kwenye GitHub.
Hifadhi ya msimbo: https://github.com/Stanotron/Post-Quantum-Blockchain
Data ghafi: Majedwali ya vipimo yametolewa katika PDF; upatikanaji wa rekodi ghafi za muda za kila marudio katika faili tofauti ya data haujathibitishwa katika uchunguzi huu.
Maelezo ya vifaa: Taarifa ya kompyuta ya mezani ya x86_64 na Windows imetolewa. Modeli ya kichakataji, RAM, nambari ya toleo la liboqs na vigezo vyote vya uboreshaji wa uundaji havijaripotiwa kikamilifu katika PDF.
Ufadhili: Hakuna tamko tofauti la wazi la ufadhili wa utafiti lililotambuliwa katika PDF.
Shukrani: Mwandishi anamshukuru Doç. Dr. Sedat Akleylek kutoka University of Tartu Institute of Computer Science kwa ushauri na mrejesho wenye thamani. Shukrani hii haijaongezwa kwenye orodha ya waandishi au watafiti wenza.
Mgongano wa maslahi: Hakuna tamko tofauti la mgongano wa maslahi lililotambuliwa katika PDF ya chanzo.
CRediT/mchango wa mwandishi: Hakuna matriksi tofauti ya michango ya CRediT iliyotambuliwa. Utafiti una mwandishi mmoja.
Muktadha wa Türkiye: Utafiti hautathmini nodi za blokcheini au miundombinu ya vifaa nchini Türkiye. Mafunzo ya kihandisi yanayoweza kutolewa kwa Türkiye yanahitaji uthibitishaji tofauti wa utekelezaji.
Kikomo kikuu cha tafsiri: Matokeo ya chanzo yanatumika kwa prototaipu mahususi ya ndani, aina isiyobadilika ya muamala na mazingira ya majaribio. Usalama dhidi ya kvanta wa blokcheini halisi zilizogawanywa, throughput ya mtandao, matumizi ya nishati au utendaji wa nodi nyingi haujathibitishwa kwa majaribio katika utafiti huohuo.
Acha maoni
Anwani yako ya barua pepe haitachapishwa. Sehemu za lazima zimewekewa alama ya *