SM2 är en digital signaturalgoritm baserad på elliptiska kurvor, och förklaringen av elliptiska kurvor kan ses i den tidigare Weibo om elliptiska kurvor, och följande är en kort introduktion till processen för SM2-signatur. För att informationen ee ska signeras är detta den ursprungliga informationen som erhålls via hashfunktionen efter viss bearbetning, hashningsalgoritmen använder den nationella hemliga SM3-algoritmen, denna process hoppas också över, endast nyckelsignering och verifieringsprocess införs.
1. Processen för att skriva under Låt GG vara referenspunkten på den elliptiska kurvan, dAdA är den privata nyckeln, PAPA är den publika nyckeln, PA=dA∗GPA=dA∗G Signaturresultatet (r,s) (r,s) erhålls genom att digitalt signera EE:n, och beräkningsprocessen är: Först och främst, välj det slumpmässiga talet kk, naturligtvis är valet av detta tal begränsat och det lämnas ifred för tillfället Beräkna r=e+x1r=e+x1, där (x1,y1)=k∗G(x1,y1)=k∗G Beräkna s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA) Det kan ses att fronten är utförd med en privat nyckel.
2. Processen för signaturverifiering Verifiering av signaturen innebär att använda den erhållna signaturen, publika nyckeln, parametrar för elliptiska kurvor etc. för att verifiera signaturen, och de viktigaste stegen i verifieringen är: Beräkna först t=r+st=r+s, om t=0t=0 betyder det att den inte klarade sig. Då beräknas punkterna på kurvan (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA med tt och ss Beräkna sedan R=x1+eR=x1+e, och verifiera om RR och rr är lika, om de är lika betyder det att verifieringen är godkänd.
3. Principen om verifiering Varför detta kan verifieras kan vi lika gärna härleda 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 att denna punkt på den elliptiska kurvan som erhålls enligt den publika nyckeln är förenlig med punkten vid signeringstillfället. Lägg sedan till detta x1x1 och den mottagna informationen för att se om det matchar den skickade signaturen rr, och det passerar. --------------------- Författare: leowang666 Källa: CSDN Original: https://blog.csdn.net/hugewaves/article/details/59205914 Upphovsrättsmeddelande: Denna artikel är en originalartikel av bloggaren, vänligen bifoga länken till blogginlägget för återpublicering!
|