See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 12821|Vastuse: 0

[C] SM2 digitaalallkirja verifitseerimise põhimõte

[Kopeeri link]
Postitatud 26.06.2019 10:09:45 | | |
SM2 on digitaalne signatuurialgoritm, mis põhineb elliptilistel kõveratel, ning elliptiliste kõverate selgitust võib näha eelmises Weibos elliptiliste kõverate kohta, järgnevalt on lühike sissejuhatus SM2 signatuuri protsessi.
Selleks, et info ee allkirjastatakse, on see algne info, mis saadakse räsi funktsiooni kaudu pärast teatud töötlemist, räsi algoritm kasutab riikliku saladuse SM3 algoritmi, see protsess jäetakse samuti vahele, sisse viiakse ainult võtmete allkirjastamise ja kinnitamise protsess.

1. Allkirjastamisprotsess
Olgu GG elliptilisel kõveral võrdluspunkt, dAdA privaatvõti, PAPA avalik võti, PA=dA∗GPA=dA∗G
Allkirja tulemus (r,s) (r,s) saadakse EE digitaalse allkirjastamisega ning arvutusprotsess on järgmine:
Esiteks vali juhuslik arv kk, muidugi on selle arvu valik piiratud ja see jääb praegu rahule
Arvuta r=e+x1r=e+x1, kus (x1,y1)=k∗G(x1,y1)=k∗G
Arvuta s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA)
Näha on, et esiosa tehakse privaatvõtmega.

2. Allkirja kontrollimise protsess
Allkirja kontrollimiseks kasutatakse saadud allkirja, avaliku võtme, elliptilise kõvera parameetrite jms kasutamist allkirja kontrollimiseks ning peamised kontrolli sammud on:
Esiteks arvuta t=r+st=r+s, kui t=0t=0, siis tähendab see, et see ei läbinud.
Siis arvutatakse kõvera punktid (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA abil tt ja ss
Seejärel arvutada R=x1+eR=x1+e ja kontrollida, kas RR ja rr on võrdsed, kui need on võrdsed, tähendab see, et kontroll on läbitud.

3. Kontrolli põhimõte
Miks seda saab kontrollida, võime selle sama hästi tuletada:
(x1,y1)=s∗G+t∗PA =s∗G+(r+s)∗PA =s∗G+(r+s)∗dA∗G=(1+dA)∗s∗G+r∗dA∗G=(1+dA)∗(1+dA)−1∗(k−r∗dA)∗G+r∗dA∗G=(k−r∗dA)∗G+r∗dA∗G=k∗G(x1,y1)=s∗G+t∗PA =s∗G+(r+s)∗PA            =s∗G+(r+s)∗dA∗G=(1+dA)∗s∗G+r∗dA∗G=(1+dA)∗(1+dA)−1∗(k−r∗dA)∗G+r∗dA∗G=(k−r∗dA)∗G+r∗dA∗G=k∗G
On näha, et see punkt elliptilisel kõveral, mis saadakse avaliku võtme järgi, on kooskõlas allkirjastamise hetke punktiga.
Seejärel lisan selle x1x1 ja saadud info, et näha, kas see vastab saadetud allkirjale rr, ja see läbib.
---------------------
Autor: leowang666
Allikas: CSDN
Originaal: https://blog.csdn.net/hugewaves/article/details/59205914
Autoriõiguse teade: See artikkel on blogija originaalartikkel, palun lisa blogipostituse link kordustrükkimiseks!





Eelmine:【Original】Google AdSense pangaülekande kogumise õpetus
Järgmine:Nurksündmuste sidumine/atribuudi sidumine @HostListener, @HostBinding
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com