번역은 댓글이 안 달려서 재미를 잃고 접음 ㅎㅎ 대신 다른 주제로 글을 써봄
=====
밀레니엄 난제인 리만가설에는 10억의 상금이 걸려있다. 그런데 21세기 수학에서 가장 어렵고도 중요하다고 여겨지는 난제치고는 10억이 초라하게 느껴진다. (강남에 아파트 한 채 사기도 어렵다.) 10억을 버는 가장 어려운 방법이 바로 리만가설을 푸는 것이라는 농담이 있을 정도이니… 물론 리만가설을 해결하면 아벨상은 따놓은 당상이니 플러스 10억에 (필즈상은 상금이 1000만 원 수준) 이후에 초청강연 한 번에 천만 원 넘게 받을 테니 직간접적인 이익을 모두 합치면 10억보다는 훨씬 클 테지만 그래도 100억 이하이지 아닐까 싶다.
리만 가설보다 더 큰 상금이 걸려있는 수학문제가 있을까? 상금이라고 표현하기는 애매하지만, 이산로그(DL; Discrete Logarithm)라는 문제가 있다. Finite cyclic group $G$와 그의 generator $g$에 대해 $h \in G$가 주어져 있을 때 $g^n = h$가 되는 자연수 $n$을 찾는 간단한 문제다. $(Z_p, +)$처럼 이산로그가 쉬운 group도 존재하지만, 일반적으로는 효율적인 알고리즘이 알려져 있지 않다 [1]. $(Z_p^{\times}, \times)$만 되어도 아직 알려진 다항시간 알고리즘이 없다. 그리고 소인수분해와 함께, 이산로그는 우리가 매일 사용하고 있는 암호시스템들의 초석이다. 이산로그를 효율적으로 해결할 수 있게 되면, 우리는 기존 암호시스템들을 폐기하고 인터넷보안 체계를 재정립해야 한다.
그래서 이산로그에는 얼마의 상금이 걸려있냐면… 최소 백만 비트코인, 현재 시가로 50조 원 정도이다. 사실 일반적인 인터넷 뱅킹 시스템은 핸드폰 인증이라던가 좀 다른 종류의 안전장치들이 있어서 이산로그를 푼다고 마음대로 할 수는 없다. 그런데 비트코인은 탈중앙화를 철학으로 가져가면서, 온전히 암호학에 안전성을 기반하고 있다. 비트코인도 시간이 흐름에 따라 추가적인 안전장치가 생겼지만 [2], Satoshi가 채굴한 것으로 보이는 초창기 백만 비트코인은 Satoshi가 자취를 감추면서 2009년 1월부터 10년 넘게 거래 없이 묶여있게 되었고, 이산로그만 해결할 수 있으면 내 마음대로 사용할 수 있다.
사실 일반적인 이산로그 알고리즘을 고안할 필요도 없다 [3]. 비트코인이 사용하고 있는 타원곡선인 Secp256k1 위에서의 이산로그만 풀면 된다. Secp256k1는 아래 16진법으로 표기한 (a,b,p,g1,g2)에 대해 타원곡선 y^2 = x^3 + a x + b (mod p)이 이루는 Group을 사용하고, (g1, g2)를 generator로 사용한다.
a = 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
b= 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
g1 = 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
g2 = 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8
심지어 더 나아가 알고리즘을 고안할 필요도 없이 하나의 instance에 대해서 풀어도 각각 50 비트코인이 주어진다 [4]. 비트코인의 첫 번째 블록의 채굴보상인 50 비트코인은 Secp256k1 위에서 아래 $h = (h1, h2)$에 대해 이산로그를 풀면 내 마음대로 쓸 수 있다.
h1= 96B538E8 53519C72 6A2C91E6 1EC11600 AE139081 3A627C66 FB8BE794 7BE63C52
h2= DA758937 9515D4E0 A604F814 1781E622 94721166 BF621E73 A82CBF23 42C858EE
50 비트코인. 그러니까 시가로 27억이다. 이 어처구니없는 산수문제 하나에 밀레니엄 난제 상금과 아벨상 상금을 합친 것 정도의 상금이 걸려있다.
=====
[1] Shor’s algorithm과 같은 양자알고리즘 제외.
[2] P2PK에서 P2PKH로 바뀌었다. P2PKH 하에서는 SHA-256이라는 해시함수(Cryptographic Hash Function)의 역상을 찾는 문제까지 해결해야 한다.
[3] 사실 일반적인 이산로그를 효율적으로 푸는 것은 불가능하다는 결과가 있다. Victor Shoup의 "Lower bounds for discrete logarithm and related problems"
[4] 당시에 채굴보상은 50 비트코인이었는데, Satoshi가 의도적으로 채굴 시에 여러 지갑주소로 받은 듯하다.
답은 lattice다
오 암호를 꽤 아시는군요
원래는 이런 암호쪽으로 하고싶었는데,,,
늦지 않았습니다 ㅎㅎ
전망이 별로 안좋대서,,
그런가요? 그럼 어느 분야가 전망이 괜찮다고 사람들이 이야기하나요...?
어떤 일본인 사업자가 IUTGC라는 기관을 만들고 abc 추측에 대한 모치즈키 신이치의 Inter-Universal Teichmüller Theory이 거짓인걸 증명하면 100만 달러 주겠다고 상금걸음
밀레니엄 난제 상금이랑 동일하네요