차밍이

블록체인 공부하기 : 비트코인 주소와 키 생성 방식 - (3) 본문

블록체인/블록체인 공부

블록체인 공부하기 : 비트코인 주소와 키 생성 방식 - (3)

2022. 1. 19. 00:01
반응형

03.Cryptographic Keys(암호화 키)

암호화 방식 두 가지

1. 대칭키 암호화 방식(Symmetric-key Cryptography)

  • 이 방식은 오래전부터 사용된 방식
  • 수신자와 발신자 메시지를 암호문으로 바꾸는 규칙을 공유하고 있음
  • 모두 함께 알고 있는 그 규칙에 의해 암호화와 복호화가 모두 진행됨
  • 상대적으로 키의 크기가 작아 변환 속도가 빠름
  • 모두 같은 키를 공유해야 하므로 키 관리가 어려움
  • 잦은 키 변경이 있는 경우 당사자들 모두가 안전하게 전달받을 수 있도록 해야 함

2. 공개키 방식, 비대칭키 암호화 방식(Asymmetric-key or Public-key Crypography)

  • 공유하는 키가 제삼자에게 공유되어도 무방함
  • 키 전달에 불편함을 없앤 방식
  • 누구나 알게 돼도 괜찮은 공개키와 자신만이 갖는 개인키를 사용해 데이터를 암호화하는 방식
  • 한 쌍의 공개키와 개인키를 소유하고 있는 사람은 공개키를 다른 사람들에게 공개하고, 개인키는 자신만이 알 수 있도록 숨김

공개키 암호화 방식의 두 가지 종류

2-1. 수신자의 공개키를 이용해 문서를 암호화해 전달할 경우

  • 누구나 할 수 있음
  • 하지만, 내용을 확인하는 것은 개인키를 가진 사람만 가능

2-2. 발신자가 문서를 자신의 개인키로 암호화하는 경우

  • 발신자의 공개키를 이용해서 문서를 확인 가능
  • 발신자가 해당 문서를 보냈다는 것을 증명할 수 있음
  • 암호화폐 거래(Transaction)는 모두 이 공개키 암호화 방식을 이용해 서명해야만 유효한 것으로 인정됨
  • 개인키로 서명한 거래(Transaction)를 공개키로 검증할 수 있어 거래의 주체가 확실하다고 검증할 수 있음

비트코인의 키 생성 방식(Key Generation in Bitcoin)

  • 개인키 생성
    • 256-bit의 랜덤으로 생성된 숫자
  • 공개키 생성
    • secp256 k1이라는 표준에 정의된 타원 곡선과 상수 집합을 이용해서 개인키로부터 공개키를 연산하게 됨
    • 연산 과정은 단방향으로만 가능하게 되어있음
    • 개인키를 이용해서 공개키 생성은 쉬움
    • 생성된 공개키를 사용해서 개인키를 알아내는 것은 불가능함
    • 이런 방식으로 개인키와 공개키 쌍은 생성됨
  • 비트코인 주소
    • 공개키를 연산에 이용하여 생성
    • 공개키는 더블 해싱(SHA256, RIPEMD160)한 뒤, Base58Check Encoding을 적용해서 주소 값을 얻을 수 있음

Reference : KMOOC - 포스텍 암호화폐 이론 및 응용 강좌

반응형

관련된 글 보기

Comments