본문 바로가기

blockchain

SECP256k1 훝어보기

 

 

 

 

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에 대응한다.