SM2 er en digital signaturalgoritme basert på elliptiske kurver, og forklaringen av elliptiske kurver kan sees i den forrige Weibo om elliptiske kurver, og følgende er en kort introduksjon til prosessen med SM2-signatur. For at informasjonen ee skal signeres, er dette den opprinnelige informasjonen som oppnås gjennom hash-funksjonen etter en viss behandling, hashing-algoritmen bruker den nasjonale hemmelige SM3-algoritmen, denne prosessen hoppes også over, kun nøkkelsignering og verifiseringsprosessen introduseres.
1. Signeringsprosessen La GG være referansepunktet på den elliptiske kurven, dAdA er den private nøkkelen, PAPA er den offentlige nøkkelen, PA=dA∗GPA=dA∗G Signaturresultatet (r,s) (r,s) oppnås ved digital signering av EE, og beregningsprosessen er: Først og fremst, velg det tilfeldige tallet kk, selvfølgelig, valget av dette tallet er begrenset, og det får være for nå 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 sees at fronten utføres med en privat nøkkel.
2. Prosessen med signaturverifisering Verifisering av signaturen innebærer å bruke den oppnådde signaturen, offentlig nøkkel, parametre for elliptiske kurver osv. for å verifisere signaturen, og hovedstegene i verifiseringen er: Først, beregn t=r+st=r+s, hvis t=0t=0 betyr det at den ikke passerte. Da beregnes punktene på kurven (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA med tt og ss Beregn deretter R=x1+eR=x1+e, og verifiser om RR og rr er like; hvis de er like, betyr det at verifiseringen er bestanket.
3. Verifikasjonsprinsippet Hvorfor dette kan verifiseres, kan vi like gjerne utlede 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 sees at dette punktet på den elliptiske kurven oppnådd i henhold til den offentlige nøkkelen er konsistent med punktet på signeringstidspunktet. Legg deretter til denne x1x1 og den mottatte informasjonen for å se om den matcher den sendte signaturen rr, og den består. --------------------- Forfatter: leowang666 Kilde: CSDN Original: https://blog.csdn.net/hugewaves/article/details/59205914 Opphavsrettsmerknad: Denne artikkelen er en original artikkel av bloggeren, vennligst legg ved lenken til blogginnlegget for gjenutgivelse!
|