Tout d'abord, secp128r1 est obsolète. Utilisez des courbes qui offrent une meilleure sécurité pour la norme actuelle. Voir les courbes de sécurité de Daniel J. Bernstein et Tanja Lange.
Une courbe elliptique définie sur un champ de taille , q et chaque élément -point- a deux coordonnées X et Y . La courbe elliptique Secp128r1 a 2 128 -2 97 -1 de taille ℓ, soit un nombre de points un peu inférieur à 2 ^ 128. Cela signifie que nous avons besoin d'une représentation sur 128 bits.
La clé publique qui est également un point sur la courbe a deux coordonnées, par conséquent, nous devons stocker deux 128 bits.
Si nous regardons l'équation de la courbe elliptique Y 2 = X 3 + aX + b où
a = FFFFFFFD FFFFFFFF FFFFFFFF FFFFFF
b = E87579C1 1079F43D D824993C 2CEE5E
si nous savons X de l'équation que nous pouvons trouver Y . Puisque nous travaillons dans un domaine, le Y peut avoir au plus deux racines carrées. Y 2 aura y ou -y comme racine carrée. Cette connaissance peut être utilisée pour compresser la représentation d'un point et elle est appelée compression de point . Juste coordonnée x et un bit pour sélectionner y ou -y . Regardez maintenant le point de base (voir la recommandation Certicom )
base point = 03 161FF752 8B899B2D 0C28607C A52C5B86
= 04 161FF752 8B899B2D 0C28607C A52C5B86 CF5AC839 5BAFEB13 C02DA292 DDED7A83
Le premier octet détermine la structure
04
signifie qu'il n'y a pas de compression
03
signifie qu'il y a une compression et sélectionnez y comme positif
02
signifie qu'il y a une compression et sélectionnez y comme négatif
Maintenant, transformez-vous en paramètres OP;
pub:
04:
04:ce:24:34:d4:cb:f2:58:94:2f:8a:5f:06:d7:3f:ed: -->X
5a:50:ef:fb:cc:b7:49:62:16:62:9e:aa:d5:30:a8:a5 -->Y
premier octet 04
signifie qu'il n'y a pas de compression. La première ligne est la coordonnée X et la deuxième ligne est la coordonnée Y de votre clé publique.
Qu'en est-il de la clé privée n ? C'est juste un entier scalaire entre 0 <= n <= ℓ
privé: 00: 9f: bf: 2b: bd: 06: 86: 3a: a1: bc: 7c: 3e: 90: 57: 40: f4: bc
Par conséquent, le numéro ci-dessus - pas un point - est votre clé privée.
Vous pouvez également utiliser certains outils Web pour extraire ces informations.
Remarque: veuillez ne pas exposer votre clé privée.