타원곡선

  • 타원을 그린 곡선을 찾는다면 원뿔곡선 항목으로.

1 개요

타원곡선(橢圓曲線、elliptic curve)이란 아주 간단히 말하면 [math]y^2 = x^3 + Ax + B [/math]꼴의 도형의 방정식으로 나타나는 곡선을 의미한다. 엄밀히 말하면 위 형태는 바이어스트라스 표준형(Weierstrass normal form)으로(원의 방정식의 '표준형' 등 할 때 같은 표준형이다), x와 y에 대한 삼차식은 대부분의 경우 대수적 변형을 통해 위 표준형으로 만들 수 있다고 한다. 더 정확히 말하자면 A나 B에 자질구레한 조건이 붙어있어야 하지만 그런 건 전공자들이나 생각하도록 하자. 보통 y좌표가 무한대라는 설정무한점을 추가하는데, 쌩뚱맞아 보이지만 이 무한점은 매우 중요하다.

우선 이 곡선은 타원하고 그다지 상관이 없다. 위 곡선에 '타원곡선'이란 이름이 붙은 이유는 타원의 둘레를 구하기 위한 적분에서 유래했던 역사적 이유이지만, 지금은 그것과 전혀 상관없이 사용되고 있다. 물론 이 마이너해 보이는 항목이 등재된 이유는 이름이 혼동스러워서인 것은 당연히 아니고, 수학 전반에서 엄청난 중요성을 갖고 있기 때문이다. 같은 대상을 실해석학에서, 복소해석학에서, 대수기하학에서, 정수론에서 모두 이야기할 수 있는 경우는 그렇게 많지 않다.

타원곡선은 일부 일반인들에게도 페르마의 마지막 정리의 증명의 중간과정이나 또는 타원곡선 암호 등으로 친숙하겠지만, 그걸 일반인이라 부르는지는 둘째치고 이걸 제대로 배우려면 보통 수학과 대학원 수준에서야 등장하는 쉽지 않은 내용임을 감안하고 보도록 하자. 각 절에서 첫 번째 문단만 읽고 넘어가는 것을 추천한다.

2 타원적분

타원의 둘레를 구하기 위한 적분 계산에서 나왔다고 한다. 타원의 둘레를 구하기 위해 적분을 해 보면 삼차식의 제곱근호를 동반한 유리식이 튀어나오는데, 이것이 타원적분이란 이름이 붙은 유래.

더 자세히 알기 위해서는 다음 링크 수학노트:타원적분론 입문 수학노트:타원적분 영문위키:Elliptic Integral 등을 참고하거나, 타원 항목을 참조

타원적분은 생각 외로 단순한 곳에서도 발견되는데, 대표적으로 단진자의 주기를 구하기 위해 필요하다. 단진자의 운동을 나타내는 미분방정식이 비선형이므로 고등학교나 일반물리 정도의 수준에서는 이를 선형으로 근사하여 단진동처럼 풀이하지만, 비선형인 채로 제대로 문제를 풀면 타원적분이 나타나게 된다.

3 복소타원곡선과 리만곡면

미지수 x와 y가 복소수일 때에 생각하는 타원곡선은 곡면이 되는데, 이는 복소수가 두 개의 차원을 가지고 있기 때문이다. 엄밀하게 말하면 리만 곡면(Riemann surface), 즉 복소평면의 구조가 주어진 곡면으로 이해할 수 있다. 타원곡선이 나타내는 리만곡면의 모양은 토러스, 즉 도넛의 표면처럼 생겼다. 도저히 이해가 불가능하지만 그렇단다.

이를 수학적으로 이해하려면 다음의 과정이 필요하다. 토러스 항목에서도 알 수 있듯이, 토러스는 복소수 집합 C를 복소수의 격자(lattice) Λ에 대해 잉여군을 취한 것이라 할 수 있다. 이제 바이어스트라스 함수

[math] P(z) = z^{-2} + \sum_{w \in \land - \{0\} } ((z-w)^{-2} - w^{-2} ) [/math]

는 Λ에 대한 주기함수, 즉 임의의 w∈Λ에 대해 P(z+w) = P(z)를 만족한다. 따라서 이는 C/Λ 위의 함수로 생각될 수 있다. 한편 P(z)와 그 미분 P'(z)는 Λ에 대해 주어지는 상수 A와 B에 대해

[math] (P'(z))^2 = P(z)^3 + A P(z) + B [/math]

의 방정식을 만족하고, 이것은 타원곡선의 방정식이다. 타원곡선 E가 하나 있으면 적절한 격자 Λ가 존재해 이 방정식이 E가 되게 할 수 있고, 그러면 (x,y) = (P(z), P'(z)) 로 주어진 함수 C/Λ -> E가 일대일대응이 되는 것.

4 타원곡선의

모든 타원곡선에는 다음과 같은 두 점을 더하는 매우 신기한 연산이 있다. 두 점 P = (x1 , y1)와 Q = (x2 , y2) 가 있다고 할 때, 이들의 합 P+Q는 다음과 같이 정의한다.

(1) P와 Q를 잇는 직선 l은 타원곡선과 다른 한 점 R = (x3 , -y3)에서 만난다.
(2) R을 x축에 대칭시킨 S = (x3 , y3)가 P+Q가 된다.
(3) 예외규칙 1: 무한점 ∞에 대해서는 "∞을 지나는 직선은 y축과 평행한 직선이다" 라는 규칙을 적용시킨다. 예를 들어 l이 y축에 평행해서 다른 일반 점하고 안 만날 때는, R은 ∞로 정의한다. 만약 P=∞일 때는, l은 'Q를 지나고 y축에 평행한 직선'이 된다.
(4) 예외규칙 2: 만약 l이 다른 한 점 R에서 만나지 않을 경우에는, l은 P 또는 Q에서 접할 것이다. 이 때 R은 l이 접하는 점이 된다.
(5) 예외규칙 3: P=Q인 경우에는 l은 'P에서 그은 접선'으로 정의한다. 이 때 l이 다른 한 점 R에서 만나지 않는다면 l은 P에서 변곡점을 가져야 하며, 이 때 R은 P로 생각한다.
(6) 예외규칙 4: ∞에서 그은 접선은 ∞에서 변곡점을 가진다. ∞를 x축에 대칭시키면 ∞이다.

예외규칙이 겁나 많아서 복잡해보이지만, 사실 (1)과 (2)만 중요하다. 더 귀찮은 사람은 세 점이 나란히 직선 위에 있으면 더해서 0이라고 기억하자. 어쨌든 이렇게 정의한 연산은 무려 교환법칙과 결합법칙을 만족시키며, ∞을 항등원으로 갖고, 'x축에 대한 대칭점'을 역원으로 갖는 신기한 성질들을 지닌다. 한마디로 말해서 이 된다.

이렇게 말은 했지만 납득하기 힘든 독자가 많을 것이다. 왜 l이 다른 한 점에서 만나야 하는지, 저 예외규칙들은 왜 있는 건지, 그리고 무엇보다도 교환법칙과 결합법칙을 만족시키는 건 어떻게 설명할 수 있는지? 사실 적절한 수학실력과 근성을 가지면 이 사실들을 직접 확인해 볼 수도 있겠지만, 웬만한 사람들은 그냥 인정하고 넘어가도록 하자. 필요한 계산도 엄청 고통스럽고, 이 사실들을 자연스럽고 간명하게 설명하는 대수기하의 방법이 존재하기 (물론 매우 어렵긴 하지만) 때문이다.

굳이 이걸 하고자 하는 사람들을 위해서는... 우선 l이 타원곡선과 두 점에서 만나면 다른 한 점에서도 만나야 한다는 것은, '삼차식이 두 개의 근을 가지면 하나의 근을 더 가져야 한다'는 이유로 설명할 수 있다. 무한점의 경우에는 (x와 y가 실수인 경우에) y가 무한대로 갈 때의 극한, 접선 예외규칙의 경우에는 Q가 P로 접근할 때의 극한 이런 식으로 억지로 납득할 수 있을 것이다. [1] 사실 교환법칙, 항등원, 역원에 대한 내용은, 위 예외규칙들을 잘 숙지했다면 증명하기는 쉬운 내용이긴 하다. 문제는 결합법칙인데, 이건 진짜 답이 없다. 우주급의 근성으로 좌표를 계산해야 한다. [2]

5 타원곡선과 정수론

보통 정수론에서는 두 가지 상황에서 타원곡선을 생각한다. 하나는 x와 y가 유리수일 때, 즉 타원곡선의 유리수점의 집합 E(Q)를 생각하는 것이다. [3] 이 유리수점은 위의 연산에 대해 닫혀 있고, 모델-베유 정리(Mordell-Weil theorem)에 의해 모든 유리수점은 유한 개의 유리수점의 합으로 나타낼 수 있다. [4] 또 다른 하나는 x와 y가 정수이고, 이를 N으로 나눈 나머지를 생각하는 것이다. 즉 합동방정식

E: [math]y^2 \equiv x^3 + Ax + B (mod N)[/math]

의 해들의 집합 E(N)을 생각하는 것. [5] 보통 N이 소수일 때를 생각한다. 예를 들어서

E: [math]y^2 = x^3 + x + 1[/math]

에서

E(3) = {(0,1), (0,2), (1,0), ∞[6]}
E(5) = {(0,1), (0,4), (2,1), (2,4), (3,1), (3,4), (2,4), (3,4), ∞}

정도가 되겠다.

보다 고급과정에서는 |E(p)|의 정보들을 모두 모아 L-함수(L-function)란 매우 중요한 대상을 만들고 연구한다. 이 L-함수의 정의에 대해선 버츠와 스위너톤-다이어 추측을 참고하도록 하자. 이 L-함수는 E(Q)의 크기를 어림하는 추정치로 생각되고, 이 추정이 맞는지 틀리는지가 바로 버츠와 스위너톤-다이어 추측의 내용. [7]

한편 이 타원곡선의 L-함수와 보형형식(modular form)의 L-함수는 매우 성질이 비슷해서, 수학자들은 '모든 타원곡선의 L-함수는 어떤 보형형식의 L-함수로 나타낼 수 있다'라는 생각을 하게 되었다. 이것이 바로 그 유명한 타니야마-시무라 추측(Taniyama-Shimura conjecture), 페르마의 마지막 정리 증명의 핵심 내용이다. 여기에 대한 자세한 이야기는 페르마의 마지막 정리 항목 2.4에 서술되어 있다. 참고로 이 타니야마-시무라 추측과 페르마의 마지막 정리를 연결짓는 엡실론 추측(epsilon conjecture)의 내용은, 만약 다음의 정수해
[math]a^p + b^p = c^p[/math]
가 있다고 가정한다면, 다음의 타원곡선
[math]y^2 = x(x-a^p )(x-b^p)[/math]
의 L-함수는 어떤 보형형식의 L-함수로 나타낼 수 없다는 것이다. [8]

이런 식으로 정수론에서의 타원곡선은 특이한 성질들을 매우 많이 갖고 있을 뿐만이 아니라 수학의 굵직한 문제들을 푸는 강력한 도구가 되었고, 덕분에 주목받게 되었다. 사실상 타원곡선만을 위한 문제인 버츠와 스위너톤-다이어 추측밀레니엄 문제로 설정된 것을 생각해보자. 물론 주목을 받고 있다 뿐이지, 여전히 수학자들은 타원곡선에 대해 아는 것보다 모르는 것이 훨씬 많다. 어찌 보면 정수론에서의 소수와 대단히 비슷한 포지션을 갖고 있다. 심지어는 이 타원곡선마저도 실생활에 응용이 되고 있는 것과 똑같다...

5.1 타원곡선 암호

타원곡선 암호는 RSA처럼 공개키 암호화 방식으로, 위에 말한 타원곡선의 합동방정식의 해인 E(p)를 이용한다. RSA가 e와 M=pq를 공개하고 마치 평서문 a를 (a^e^ mod m)으로 암호하는 것처럼, 비슷하게 타원곡선 암호는 e와 E(p)를 공개하고, 보내려는 평서문을 타원곡선의 점 X에 대응시키고 X를 위에 소개한 군 연산을 이용해 e번 더한 점 eX로 보내는 것이다. 물론 여기서 당연히 p는 RSA에서처럼 적기도 힘든 수가 되고, E(p)의 구조는 고사하고 원소의 개수가 무엇인지조차 감을 잡을 수 없게 된다.

6 교재

조지프 힐럴 실버먼(Joseph Hillel Silverman)의 타원곡선에 대한 책 2권(The Arithmetic of Elliptic Curves, Advanced Topics in the Arithmetic of Elliptic Curves)이 가장 표준적인 책이다. AMS의 Citation수치로 봐도 압도적이다. 그리고 데일 휴스몰러(Dale Husemöller)의 책이 있는데, GTM시리즈 이긴 하지만 연습문제 거의 없고, 책도 400페이지 내외이고, 게르트 팔팅스 교수의 리뷰를 보면 실버먼의 모든 토픽을 다루고 있다고 하는 걸로 봐선 Springer Monograph in Mathematics의 책 같다. 교재보단 Reference같다고 할까나? 또 다른 고수분 추가 부탁.
  1. 물론 이게 올바른 이해방법이란 건 아니다.
  2. 그나마 계산을 줄이는 트릭을 위해서는 다음 링크 정도를 참고.
  3. 정수론에서 타원곡선의 A와 B는 보통 유리수이다.
  4. 대수학을 배운 위키러들이 알아들을 수 있는 정확한 내용은 이는 E(Q)의 군이 유한생성 가환군이라는 것이다.
  5. 여기서 A와 B는 정수, 혹은 분모가 N하고 서로소인 유리수여야 한다.
  6. 여기까지 읽어온 위키러들은 대부분 우리의 친구 무한점을 까먹고 있었을 것이다!!!
  7. 국소-대역 원리(local-global principle)에 따르면 디오판틴 방정식의 global field solution, 즉 Q-solution이 local field solution, 즉 p-adic 해와 real/complex solution과 관련이 있어야 하기 때문이다.
  8. 이를 보통 이 타원곡선이 'modular가 아니다' 고 한다.