Förstå hur ECDSA skyddar dina data. (11 / 15 steg)
Steg 11: Skapa en signatur
Så hur ska du skriva en fil/meddelande?
Först måste du veta att signaturen är 40 byte och representeras av två värden 20 byte, den första heter R och den andra heter S... så paret (R, S) tillsammans är signaturen ECDSA... nu här är hur du kan skapa dessa två värden för att underteckna en fil... först måste du generera ett slumpmässigt "k" (värde 20-byte) och Använd punkt multiplikation för att beräkna poängen P = k * G. Den punkten x -värde kommer att representera "R". Eftersom punkten på kurvan P representeras av dess (x, y) koordinater (vart och ett med 20 bytes lång), behöver du bara värdet på "x" (20 byte) för att underteckna, och detta värde kommer att kallas "R". Nu allt du behöver är "S" värdet.
För att beräkna S, måste du göra en SHA1 hash av meddelandet, detta ger du en 20 bytes värde som du betraktar som en mycket stort heltal och vi kallar det "z". Nu kan du beräkna S med ekvationen:
S = k ^ -1 (z + dA * R) mod p
Notera här den k ^ -1 som är denmodulära multiplicative inversenav k... det är i princip inversen av k, men eftersom vi har att göra med heltal, då detta inte är möjligt, så det är ett nummer så att (k ^ -1 * k) mod p är lika med 1. Och igen, jag påminna er om att k är slumptal används för att generera R, z är hashen av meddelandet att underteckna, dA är den privata nyckeln och R är x-koordinaten för k * G (där G är peka av beskärning av parametrarna kurva).