Comment dériver la clé publique Tezos des points de la courbe (SECP256K1 ou P-256)
1 réponses
- votes
-
- 2019-02-27
Les cléspubliques des Tezos sont stockées sousforme comprimée:
<1 byte prefix>|X
- préfixeest B '\ x02' Si Yestmême,B '\ x03' sinon,vous avezmaintenant une clé comprimée de 33 octets long;
- Ajouter lepréfixe Tezos B '\ x03 \ xfe \ xe2v'pour SECP256K1,B '\ x03 \ xb2 \ x8b \ x7f'pourp256;
- encode avecbase58 algo avec checksum.
Checkout Pytezos.crypto Sourcespour lesexemples demiseen œuvre.
Public keys in Tezos are stored in compressed form:
<1 byte prefix>|X
- Prefix is b'\x02' if Y is even, b'\x03' otherwise, now you have a compressed key of 33 bytes long;
- Add tezos prefix b'\x03\xfe\xe2V' for secp256k1, b'\x03\xb2\x8b\x7f' for p256;
- Encode with Base58 algo with checksum.
Checkout pytezos.crypto sources for implementation examples.
-
Qu'est-ce que `y`ici?(Unefaute defrappe devrait être x?)What is `Y` here? (A typo, should be X?)
- 0
- 2020-01-17
- arvidj
-
X,y viennent de l'équation de la courbeelliptique,pour SECP256K1 c'est `y ^ 2=x ^ 3 + 7`X, Y are from the elliptic curve equation, for secp256k1 it's `y^2 = x^3 + 7`
- 0
- 2020-01-17
- Michael Zaikin
Commentpuis-je dériver la clépublique Tezos de x,despoints Y sur la courbe (
SECP256K1
ouP-256
)?Parexemple,pour Ethereum,vouspouvez calculer cecien utilisant
Keccak-256
sur le[x,y]
. L'adresseestensuite obtenueen prenant les 40 derniers octets (20 caractères hexagonales)et lepréfixant avec 0xpour untotal de 42 octets.