SM2 er en digital signaturalgoritme baseret på elliptiske kurver, og forklaringen af elliptiske kurver kan ses i den tidligere Weibo om elliptiske kurver, og følgende er en kort introduktion til processen med SM2-signatur. For at informationen ee skal signeres, er dette den oprindelige information, der opnås gennem hashfunktionen efter en vis behandling; hashing-algoritmen bruger den nationale hemmelige SM3-algoritme, denne proces springes også over, kun nøglesignering og verifikationsprocessen introduceres.
1. Underskriftsprocessen Lad GG være referencepunktet på den elliptiske kurve, dAdA er den private nøgle, PAPA er den offentlige nøgle, PA=dA∗GPA=dA∗G Signaturresultatet (r,s) (r,s) opnås ved digitalt at underskrive EE, og beregningsprocessen er: Først og fremmest, vælg det tilfældige tal kk, selvfølgelig er valget af dette tal begrænset, og det er uændret for nu Beregn r=e+x1r=e+x1, hvor (x1,y1)=k∗G(x1,y1)=k∗G Beregn s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA) Det kan ses, at fronten udføres med en privat nøgle.
2. Processen med underskriftsverifikation Verifikation af signaturen sker ved brug af den opnåede signatur, public key, elliptiske kurveparametre osv. til at verificere signaturen, og hovedtrinene i verifikationen er: Beregn først t=r+st=r+s, hvis t=0t=0, betyder det, at den ikke beståede. Så beregnes punkterne på kurven (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA ved tt og ss Beregn derefter R=x1+eR=x1+e, og verificér derefter, om RR og rr er ens; hvis de er ens, betyder det, at verifikationen er bestået.
3. Princippet om verifikation Hvorfor dette kan verificeres, kan vi lige så godt udlede det: (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 Det kan ses, at dette punkt på den elliptiske kurve, opnået ifølge den offentlige nøgle, er konsistent med punktet på signeringstidspunktet. Tilføj derefter dette x1x1 og den modtagne information for at se, om det matcher den sendte signatur rr, og så går det videre. --------------------- Forfatter: leowang666 Kilde: CSDN Oprindelig: https://blog.csdn.net/hugewaves/article/details/59205914 Ophavsretsmeddelelse: Denne artikel er en original artikel af bloggeren, vedhæft venligst bloglinket til genoptryk!
|