타원곡선(2)
-
[밑바닥비트코인] 4. 유한체와 타원곡선
이전 장에서 유한체와 타원곡선이 무엇인지 각각 살펴보았다. 유한체라 함은 여러 조건(덧셈에 닫힘, 항등원, 역원의 존재... 등)을 만족하는 유한개의 원소를 가진 집합이고, 타원 곡선에서는 점 덧셈이라는 것을 하는데, 우리가 익히 알고있는 실수 간의 덧셈의 방식이 아니라 특이하게 수행되는 연산방식을 말한다. 놀랍게도, 실수체 뿐만 아니라 유한체 위에서 타원곡선이 정의될 수 있다. 다시말해 유한체끼리의 점덧셈이 가능하다는 의미이다. 유한체와 타원곡선 유한체 위에서 정의된 타원곡선은 조금 특이하게 생겼다. 출처 : https://cse.unl.edu/~ssamal/crypto/EEECC.php '곡선'이라는 말이 무색하게도 점들이 여러군데 산재해있음을 확인할 수 있다. 하지만 이러한 유한체의 타원곡선의 특성..
2021.07.12 -
[밑바닥비트코인] 3. 타원곡선
비트코인에서 쓰이는 암호화 기법을 알아보기 전에 타원곡선의 정의와, 타원곡선 위에서 연산이 어떻게 이뤄지는지에 대해서 살펴보도록하자. 타원곡선 타원곡선은 다음과 같은 형태의 방정식을 갖는다. 비트코인은 secp256k1이라는 타원곡선을 사용하며, 여기서 a의 값은 0, b의 값은 7이다. 그러면 타원곡선에서 점 간의 연산은 어떻게 하는 것일까? 그에 대한 해답은 아래에 있다. 출처 : https://stackoverflow.com/questions/19800518/python-matplotlib-for-elliptic-curve-with-sympy-solve 더하고자 하는 두 점(P, Q)을 연장한 선이 타원곡선과 만나는 점(R)을 x축 대칭한 점이 P+Q가 된다. 타원곡선에서 한 점 A를 x축 대칭하면..
2021.07.04