Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 12821|Atbildi: 0

[C] SM2 digitālā paraksta pārbaudes princips

[Kopēt saiti]
Publicēts 26.06.2019 10:09:45 | | |
SM2 ir digitālā paraksta algoritms, kura pamatā ir eliptiskas līknes, un elipsisko līkņu skaidrojumu var redzēt iepriekšējā Weibo par elipptiskajām līknēm, un tālāk ir īss ievads SM2 paraksta procesā.
Lai parakstītu informāciju, tā ir oriģinālā informācija, kas iegūta, izmantojot jaucējfunkciju pēc noteiktas apstrādes, jaukšanas algoritms izmanto valsts slepeno SM3 algoritmu, šis process arī tiek izlaists, tiek ieviests tikai atslēgas parakstīšanas un pārbaudes process.

1. Parakstīšanas process
Ļaujiet GG būt eliptiskas līknes atskaites punktam, dAdA ir privātā atslēga, PAPA ir publiskā atslēga, PA=dA∗GPA=dA∗G
Paraksta rezultāts (r,s) (r,s) tiek iegūts, digitāli parakstot EE, un aprēķina process ir šāds:
Pirmkārt, izvēlieties nejaušo skaitli kk, protams, šī skaitļa izvēle ir ierobežota, un pagaidām tas ir atstāts viens pats
Aprēķināt r=e+x1r=e+x1, kur (x1,y1)=k∗G(x1,y1)=k∗G
Aprēķināt s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA)
Var redzēt, ka priekšpuse tiek veikta ar privātu atslēgu.

2. Paraksta pārbaudes process
Paraksta pārbaude ir iegūtā paraksta, publiskās atslēgas, eliptiskas līknes parametru u.c. izmantošana, lai pārbaudītu parakstu, un galvenie pārbaudes soļi ir:
Pirmkārt, aprēķiniet t=r+st=r+s, ja t=0t=0, tad tas nozīmē, ka tas neizturēja.
Tad līknes punktus (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA aprēķina ar tt un ss
Pēc tam aprēķiniet R=x1+eR=x1+e un pēc tam pārbaudiet, vai RR un rr ir vienādi, ja tie ir vienādi, tas nozīmē, ka pārbaude ir nokārtota.

3) Pārbaudes princips
Kāpēc to var pārbaudīt, mēs to varētu arī atvasināt:
(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
Var redzēt, ka šis punkts eliptiskā līknē, kas iegūts saskaņā ar publisko atslēgu, atbilst punktam parakstīšanas brīdī.
Pēc tam pievienojiet šo x1x1 un saņemto informāciju, lai redzētu, vai tas atbilst nosūtītajam parakstam rr, un tas notiek.
---------------------
Autors: leowang666
Avots: CSDN
Oriģināls: https://blog.csdn.net/hugewaves/article/details/59205914
Paziņojums par autortiesībām: Šis raksts ir oriģināls emuāru autora raksts, lūdzu, pievienojiet emuāra ziņas saiti atkārtotai izdrukāšanai!





Iepriekšējo:【Oriģināls】 Google AdSense pārskaitījumu kolekcijas apmācība
Nākamo:Leņķa notikumu saistīšana/atribūtu saistīšana @HostListener, @HostBinding
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com