관리 메뉴

평행우주 : world 1

[블록체인이론] 비트코인의 개인키와 공개키 본문

텃밭 1 : BlockChain/이론

[블록체인이론] 비트코인의 개인키와 공개키

parallelworlds 2022. 3. 6. 04:28

개인키와 공개키

  • 비트코인 지갑에는 쌍으로 구성된 키가 여러 개 들어있다.
  • 각각의 쌍은 개인키과 공개키로 구성되어 있다
  • 개인키(k)는 숫자로 구성되어 있으며, 대개 무작위로 숫자를 추출한다
  • 일방 암호함수인 타원곡선 곱셈함수를 이용해서 개인키로부터 공개키(K)를 생성한다.
  • 그리고 일방 암호해시함수를 이용해서 공개키(K)로부터 비트코인 주소를 생성한다

 

 

비트코인에서 비대칭 암호학(공개키/개인키)를 사용하는 이유

  • 이 비대칭 암호학은 거래를 암호화하기 위해 사용하는 것은 아니다
  • 그보다 비대칭 암호학의 유용한 특성은 디지털 서명을 생성하는 능력이다
  • 숫자 서명을 만들어 내기 위해 개인키가 디지털 지문에 적용되기도 한다
  • 이 경우 개인키에 대한 정보를 가진 사람만이 숫자 서명을 만들어 낼 수 있다
  • 공개키와 거래 지문에 접근이 가능한 경우 서명을 입증할 수 있다
  • 비대칭 암호학의 유용한 특성은 누구나 모든 거래에서 모든 서명을 입증하는 일이 가능하고,
  • 동시에 개인키 소유주만이 유효한 서명을 만들어 낼 수 있다는 점이다.

 

 

개인키

  • 무작위로 추출한 단순한 숫자로 구성된다
  • 거래에서 사용되는 돈의 소유권을 증명하게 되면 비트코인을 소비할 수 있게 되는데,
  • 이때 필요한 서명을 하기 위해 개인키를 사용한다
  • 개인키는 절대 다른 사람들에게 공개되어서는 안 된다
  • 개인키를 한 번 분실하게 되면 다시 찾을 수 없고, 해당 개인키로 묶여있는 돈도 찾을 수 없다

 

무작위로 뽑은 숫자로 개인키 생성하기

비트코인 소프트웨어는 기본적인 운영체제의 난수생성기를 이용해 246비트의 무작위성을 만들어 낸다 

 

 

 

공개키

  • 공개키는 타원곡선 곱셈 함수를 이용해 개인키로부터 계산된다
  • 이 과정을 거꾸로 진행할 수는 없다
  • 즉, 개인키로부터 공개키를 계산하는 것은 가능하지만. 역은 성립하지 않는다

 

 

비트코인 주소

  • 숫자와 문자로 구성된 문자열로, 어떤 누구와도 공유할 수 있다
  • 일방 함수를 사용해서 공개키로부터 생성된다
  • 이때 일방 암호화 해싱을 사용한다. 
  • 이 해싱 알고리즘은 임의 크기의 입력값으로부터 해시값을 생성해 내는 일방 함수다.

 

 

 

Comments