곡선의 점 (SECP256K1 또는 P-256)에서 tezos 공개 키를 파생하는 방법
1 대답
- 투표
-
- 2019-02-27
Tezos의 공개 키는 압축 된 형식으로 저장됩니다.
<1 byte prefix>|X
- 접두사는 Y가 짝수이면b '\ x02'이고 그렇지 않으면b '\ x03'입니다. 이제 33 바이트 길이의 압축 키를 갖게됩니다.
- secp256k1의 경우tezos 접두사b '\ x03 \ xfe \ xe2V',p256의 경우b '\ x03 \ xb2 \ x8b \ x7f'추가
- 체크섬을 사용하여 Base58 알고리즘으로 인코딩합니다.
pytezos.crypto 소스에서 구현 예를 확인하세요.
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.
-
여기서 'Y'는 무엇입니까?(오타,X 여야합니까?)What is `Y` here? (A typo, should be X?)
- 0
- 2020-01-17
- arvidj
-
X,Y는 타원 곡선 방정식에서 파생되었으며 secp256k1의 경우`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
곡선의 x,y 점 (
SECP256K1
또는P-256
)에서 Tezos 공개 키를 어떻게 파생시킬 수 있습니까?예를 들어 Ethereum의 경우
Keccak-256
에서[x,y]
을 사용하여이를 계산할 수 있습니다. 주소는 마지막 40 바이트 (20 16 진수 문자)를 취하고 총 42 바이트에 대해 0x 접두사를 붙여서 얻습니다.