Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 12821|Válasz: 0

[C] Az SM2 digitális aláírás ellenőrzésének elve

[Linket másol]
Közzétéve 2019. 06. 26. 10:09:45 | | |
Az SM2 egy digitális aláírási algoritmus, amely elliptikus görbéken alapul, és az elliptikus görbék magyarázata a korábbi Weibóban látható az elliptikus görbékről, az alábbiakban rövid bevezetés az SM2 aláírásának folyamatába.
Az információs ee aláírásához ez az eredeti információ, amelyet bizonyos feldolgozások után a hash függvény kap, a hash-algoritmus a nemzeti titok SM3 algoritmust használja, ezt a folyamatot is kihagyják, csak a kulcsaláírás és ellenőrzési folyamat következik be.

1. Az aláírás folyamata
Legyen GG az elliptikus görbe referenciapontja, dAdA a privát kulcs, a PAPA a nyilvános kulcs, PA=dA∗GPA=dA∗G
Az aláírási eredményt (r,s) (r,s) az EE digitális aláírásával kapjuk, és a számítási folyamat a következő:
Először is, válaszd ki a véletlenszámot kk, természetesen ennek a számnak a választása korlátozott, és egyelőre békén hagyjuk
Számoljuk ki r=e+x1r=e+x1, ahol (x1,y1)=k∗G(x1,y1)=k∗G
Számold ki s=(1+dA)−1∗(k−r∗dA)s=(1+dA)−1∗(k−r∗dA)
Látható, hogy az elülső részt privát kulcs segítségével készítik.

2. Az aláírásellenőrzés folyamata
Az aláírás ellenőrzése során a megszerzett aláírást, nyilvános kulcsot, elliptikus görbe paramétereket stb. használjuk az aláírás ellenőrzésére, és a hitelesítés fő lépései a következők:
Először számoljuk ki t=r+st=r+s, ha t=0t=0, akkor az azt jelenti, hogy nem ment át.
Ezután a görbe (x1,y1) = s∗G+t∗ PA (x1,y1)=s∗G+t∗ PA pontjait tt és ss alapján számítják ki
Ezután számoljuk ki R=x1+eR=x1+e-t, majd ellenőrizzük, hogy RR és rr egyenlőek-e, ha egyenlőek, akkor az ellenőrzés megtörtént.

3. Az ellenőrzés elve
Miért lehet ezt igazolni, akár levezethetjük:
(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
Látható, hogy ez az elliptikus görbe pontja, amelyet a nyilvános kulcs alapján kapunk, összhangban van az aláírás idején lévő ponttal.
Ezután hozzáadom ezt az x1x1-et és a beérkezett információt, hogy megnézzem, egyezik-e az elküldött aláírással rr, és átmegy.
---------------------
Szerző: leowang666
Forrás: CSDN
Eredeti: https://blog.csdn.net/hugewaves/article/details/59205914
Szerzői jogi értesítés: Ez a cikk a blogger eredeti cikke, kérjük, csatolja a blogbejegyzés linkjét újranyomáshoz!





Előző:【Original】Google AdSense wire transfer collection tutorial
Következő:Szög eseménykötés/attribútum-kötések @HostListener, @HostBinding
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com