Cómo derivar la clave pública de tezos a partir de los puntos de la curva (SECP256K1 o P-256)
1 respuesta
- votos
-
- 2019-02-27
Las clavespúblicasen Tezos se almacenanen forma comprimida:
<1 byte prefix>|X
- Elprefijoesb '\ x02' si Yespar,b '\ x03' de lo contrario,ahoratiene una clave comprimida de 33bytes de longitud;
- Agregueelprefijotezosb '\ x03 \ xfe \ xe2V'para secp256k1,b '\ x03 \ xb2 \ x8b \ x7f'parap256;
- Codifique conel algoritmo Base58 con suma de comprobación.
Consulte lasfuentes pytezos.crypto para verejemplos deimplementación.
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ées "Y" aquí?(Unerrortipográfico,¿debería ser X?)What is `Y` here? (A typo, should be X?)
- 0
- 2020-01-17
- arvidj
-
X,Y son de laecuación de la curvaelíptica,para secp256k1es `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
¿Cómopuedo derivar la clavepública de Tezos apartir de lospuntos x,y de la curva (ya sea
SECP256K1
oP-256
)?Porejemplo,para Ethereum,puede calcularesto usando
Keccak-256
en[x,y]
. Luego,la dirección se obtienetomando los últimos 40bytes (20 caracteres hexadecimales) yprefijándolos con 0xpara untotal de 42bytes.