비트코인/암호학 13

[비트코인 암호학] 1.2 타원곡선의 점 덧셈1

[비트코인 암호학] 1.1 타원곡선 [비트코인 암호학] 0. 비트코인의 거래와 서명 비트코인 블록체인에서 하나의 블록을 단순하게 표현하면 다음과 같습니다. 각 블록들은 이전 블록의 해시와 거래 내역을 담고 있습니다. 거래 kwjdnjs.tistory.com 이전 글에서 타원곡선에 대해 알아봤습니다. 이번 글에서는 타원곡선에서 정의된 점 덧셈에 대해 알아보겠습니다. 먼저 타원곡선 상의 두 점 A와 B가 존재한다고 가정해보겠습니다. 점 덧셈을 하기 위해 먼저 두 점 A와 B를 지나는 직선을 그립니다. 그리고 해당 직선이 점 A, B가 아니면서 타원곡선과 만나는 점 C를 찾습니다. 이렇게 구한 점 C의 x축 대칭인 점을 찾습니다. 최종적으로 구해진 점 -C가 바로 점 A와 B의 점 덧셈 값입니다. 이를 다음과..

[비트코인 암호학] 1.1 타원곡선

[비트코인 암호학] 0. 비트코인의 거래와 서명 비트코인 블록체인에서 하나의 블록을 단순하게 표현하면 다음과 같습니다. 각 블록들은 이전 블록의 해시와 거래 내역을 담고 있습니다. 거래 내역 중 하나의 거래를 확대해서 살펴보겠습 kwjdnjs.tistory.com ECDSA는 Elliptic Curve Digital Signature Algorithm의 약자로 번역하면 타원곡선 디지털 서명 알고리즘이 됩니다. 따라서 ECDSA를 이해하기 위해 먼저 타원곡선에 대해 알아보겠습니다. 타원곡선은 다음과 같은 방정식으로 정의된 곡선입니다. 실제 a와 b의 값을 변경하면서 그래프를 그릴 경우 다음과 같은 결과를 얻을 수 있습니다. 비트코인은 secp256k1을 사용합니다. 해당 타원곡선은 다음과 같이 a=0, b..

[비트코인 암호학] 0. 비트코인의 거래와 서명

비트코인 블록체인에서 하나의 블록을 단순하게 표현하면 다음과 같습니다. 각 블록들은 이전 블록의 해시와 거래 내역을 담고 있습니다. 거래 내역 중 하나의 거래를 확대해서 살펴보겠습니다. 블록 내의 각각의 거래를 단순하게 표현하면 위와 같이 이전 거래 내역과 공개키 그리고 개인키와 서명으로 이뤄져 있습니다. 각 거래들은 이전 거래 내역을 포함하여 하나의 체인을 구성하게 됩니다. 그리고 이렇게 거래들의 체인을 구성하는 과정에서 개인키와 공개키를 이용한 서명과 검증 과정을 거치게 됩니다. 이 과정에서 ECDSA라고 부르는 디지털 서명 방식을 사용합니다. 앞으로 이어지는 글들을 통해 ECDSA가 어떻게 구성되는지 그리고 어떤 방식으로 서명을 검증하는지에 대해 알아보겠습니다. [비트코인 암호학] 1.1 타원곡선 ..