Aller au contenu principal

A.1.3. Signature

A.1.3. Signature

Avec notre clé privée et la valeur k que nous venons de générer, nous pouvons maintenant calculer la signature en utilisant les mécanismes ECDSA standards. Tout d'abord, le point kG est calculé, et la coordonnée X de ce point est convertie en entier puis réduite modulo q, produisant la première moitié de la signature:

r = 0x113A63990598A3828C407C0F4D2438D990DF99A7F

que nous utilisons, avec x (la clé privée), k (que nous avons calculé ci-dessus) et h = bits2int(h1), pour calculer la seconde moitié de la signature:

s = 0x1313A2E03F5412DDB296A22E2C455335545672D9F

Une signature ECDSA est une paire d'entiers. Dans de nombreux protocoles qui nécessitent qu'une signature soit une séquence de bits (ou d'octets), il est courant d'encoder la signature comme une SEQUENCE ASN.1 de deux valeurs INTEGER, avec les règles DER. Cela produit la signature de 48 octets suivante:

30 2E 02 15 01 13 A6 39 90 59 8A 38 28 C4 07 C0
F4 D2 43 8D 99 0D F9 9A 7F 02 15 01 31 3A 2E 03
F5 41 2D DB 29 6A 22 E2 C4 55 33 55 45 67 2D 9F