SM2 yra skaitmeninio parašo algoritmas, pagrįstas elipsinėmis kreivėmis, o elipsinių kreivių paaiškinimą galima pamatyti ankstesniame Weibo apie elipsines kreives, o toliau pateikiamas trumpas SM2 parašo proceso įvadas. Kad informacija būtų pasirašyta, tai yra originali informacija, gauta naudojant maišos funkciją po tam tikro apdorojimo, maišos algoritmas naudoja nacionalinį slaptą SM3 algoritmą, šis procesas taip pat praleidžiamas, įvedamas tik rakto pasirašymo ir tikrinimo procesas.
1. Pasirašymo procesas Tegul GG yra elipsinės kreivės atskaitos taškas, dAdA yra privatusis raktas, PAPA yra viešasis raktas, PA=dA∗GPA=dA∗G Parašo rezultatas (r,s) (r,s) gaunamas skaitmeniniu būdu pasirašant EE, o skaičiavimo procesas yra toks: Visų pirma, pasirinkite atsitiktinį skaičių kk, žinoma, šio skaičiaus pasirinkimas yra ribotas, ir kol kas jis paliekamas ramybėje Apskaičiuokite r=e+x1r=e+x1, kur (x1,y1)=k∗G(x1,y1)=k∗G Apskaičiuoti s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA) Galima pastebėti, kad priekis atliekamas privačiu raktu.
2. Parašo tikrinimo procesas Parašo tikrinimas yra gauto parašo, viešojo rakto, elipsinės kreivės parametrų ir kt. naudojimas parašui patikrinti, o pagrindiniai patikrinimo žingsniai yra šie: Pirmiausia apskaičiuokite t=r+st=r+s, jei t=0t=0, tai reiškia, kad jis neišlaikė. Tada kreivės taškai (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA apskaičiuojami tt ir ss Tada apskaičiuokite R=x1+eR=x1+e, tada patikrinkite, ar RR ir rr yra lygūs, jei jie lygūs, tai reiškia, kad patikrinimas išlaikytas.
3. Patikrinimo principas Kodėl tai galima patikrinti, mes taip pat galime jį išvesti: (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 Galima pastebėti, kad šis elipsinės kreivės taškas, gautas pagal viešąjį raktą, atitinka tašką pasirašymo metu. Tada pridėkite šį x1x1 ir gautą informaciją, kad pamatytumėte, ar jis atitinka išsiųstą parašą rr, ir jis praeina. --------------------- Autorius: leowang666 Šaltinis: CSDN Originalas: https://blog.csdn.net/hugewaves/article/details/59205914 Autorių teisių pranešimas: Šis straipsnis yra originalus straipsnis Bloggers, prašome pridėti dienoraščio įrašo nuorodą perspausdinti!
|