SECP256k1은, ECDSA(타원곡선 디지털 서명 알고리즘)의 한 종류로, 특정한 타원곡선을 사용하는 알고리즘이다. 방정식은 아래와같다.
y^2 = x^3 + 7
먼저 알고리즘에 대해 이해하려면, 타원곡선의 덧셈에 관해 이해해야 한다.
타원 곡선에서 덧셈은, 두 점 (P, Q) 을 지나는 직선과 타원 곡선의 교점R ( P 혹은 Q가 아닌) 으로 정의 한다.
특정 점 X의 2배수의 경우, 타원 곡선 상, X의 접선과의 교점으로 정의한다.
이제 다음과 같은 SECP256k1 타원 곡선이 있다고 하자.
임의의 점 P를 잡고, k배를 한다.
예시에선 k = 3 으로 잡았다.
결과적으로 나온 좌표 3P가 public key, 3이 private key에 대응한다.
'blockchain' 카테고리의 다른 글
[Cosmos + JS] ADR-036 구현하기 (1) | 2023.10.09 |
---|---|
[BIP32] HD지갑(Hierarchical Deterministic Wallet) 훝어보기 (1) | 2023.10.03 |
[Ethereum] Message prefix용도 (2) | 2023.10.02 |
[Crypto] Signature Replay Attack (0) | 2023.10.02 |
[Ethereum]메세지 서명 (signMessage) (1) | 2023.10.02 |