Stap 12: De handtekening controleren
Nu hebt u uw handtekening, u wilt controleren of het, het is ook heel simpel, en u hoeft alleen de openbare sleutel (en kromme parameters natuurlijk) om dat te doen. U kunt deze vergelijking berekenen van een punt P :
P = S ^ -1 * z * G + S ^ -1 * R * Qa
Als de x -coördinaat van het punt P is gelijk aan R, dat dat betekent is de handtekening geldig, dat anders is het niet.
Vrij eenvoudig, hè? nu laten we eens kijken waarom en hoe... en dit zal vergen sommige wiskunde om te controleren of:
We hebben:
P = S ^ -1 * z * G + S ^ -1 * R * Qa
maar Qa = dA * G, dus:
P = S ^ -1 * z * G + S ^ -1 * R * dA * G = S ^ -1 (z + dA * R) * G
Maar de x-coördinaat van P moet overeenkomen met R en R is de x-coördinaat van k * G, wat betekent dat:
k * G = S ^ -1 (z + dA * R) * G
We kunnen vereenvoudigen door het verwijderen van G die ons geeft:
k = S ^ -1 (z + dA * R)
door het omkeren van k en S, krijgen we:
S = k ^ -1 (z + dA * R)
en dat is de vergelijking die is gebruikt voor het genereren van de handtekening... dus het komt overeen met, en dat is de reden waarom u kunt controleren of de handtekening die eerste vergelijking hierboven.