Étape 12 : Vérification de la signature
Maintenant que vous avez votre signature, vous voulez le vérifier, c’est aussi assez simple, et vous avez seulement besoin de la clé publique (et bien sûr, les paramètres de courbe) de le faire. Cette équation permet de calculer un point P :
P = S ^ -1 * z * G + S ^ -1 * R * Qa
Si la coordonnée x du point P est égale à R, cela signifie que la signature est valide, que sinon ce n'est pas.
Assez simple, hein ? maintenant nous allons voir pourquoi et comment... et cela va nécessiter des mathématiques pour vérifier :
Nous avons:
P = S ^ -1 * z * G + S ^ -1 * R * Qa
mais Qa = dA * G, donc :
P = S ^ -1 * z * G + S ^ -1 * R * dA * G = S ^ -1 (z + dA * R) * G
Mais doit correspondre à la coordonnée x du P R et R est la coordonnée x du k * G, ce qui signifie que :
k * G = S ^ -1 (z + dA * R) * G
Nous pouvons simplifier en supprimant de G qui nous donne :
k = S ^ -1 (z + dA * R)
en inversant les k et S, on obtient :
S = k ^ -1 (z + dA * R)
et c’est l’équation utilisée pour générer la signature... elle correspond, et c’est la raison pourquoi vous pouvez vérifier la signature avec la première équation ci-dessus.