전 세계 디지털 서명과 TLS 통신에 널리 쓰이는 암호 표준 ECDSA의 ‘출처 불명 시드값’을 둘러싼 20년 넘은 미스터리가 풀렸습니다. Anthropic에 따르면 자사 AI 모델 Claude가 NIST(미국 표준기술연구소)가 2000년에 채택한 타원곡선 암호 표준의 시드 파라미터가 어떻게 만들어졌는지를 30분 만에 알아냈습니다. 정답은 암호학적 해시도, 숨겨진 백도어도 아닌 1990년대 C 라이브러리의 난수 생성 함수와 유닉스 타임스탬프였습니다.
NSA가 남긴 설명 없는 숫자, 왜 의심받았나
ECDSA(타원곡선 디지털 서명 알고리즘)는 현재 가장 널리 쓰이는 타원곡선 암호 표준입니다. NIST는 2000년 FIPS 186-2 디지털 서명 표준을 통해 다양한 크기와 보안 수준의 표준 타원곡선을 발표했는데, 소수체(prime field)와 이진체(binary field) 기반 곡선들에는 ‘seed’라는 값이 함께 제공되었습니다. 이 seed의 해시값이 곡선의 계수 b를 결정하는 데 쓰였습니다.
문제는 이 seed 값들이 NSA(미국 국가안보국)에서 아무런 설명이나 근거 없이 제공되었다는 점입니다. 예를 들어 NIST P-256 곡선의 seed는 C49D3608 86E70493 6A6678E1 139D26B7 819F7E90라는 값인데, 이 숫자가 어디서 나왔는지에 대한 공식 설명이 전혀 없었습니다. 암호학자 Neal Koblitz와 Alfred Menezes는 이 논란을 정리한 글 “A Riddle Wrapped in an Enigma”를 통해 이 문제를 다룬 바 있고, 아마추어 연구자들 사이에서는 출처를 밝혀내는 사람에게 포상금을 거는 일까지 있었습니다.
가장 유력했던 가설은 NSA의 오랜 직원이었던 Jerry Solinas가 유머러스한 문구를 해시해서 seed를 만들었다는 이야기였습니다. 하지만 Solinas는 2023년 세상을 떠났고, 당시 동료들도 추가 설명을 내놓지 않으면서 진실은 영영 묻히는 듯했습니다.
Claude가 찾아낸 진짜 답: 해시가 아니라 난수 생성기
Anthropic 직원들도 이 ‘유머러스한 문구의 해시’라는 단서를 쫓아 직접 조사했지만 실패했습니다. 그런데 2026년 10월, 한 직원이 내부 연구용 모델에게 힌트를 전혀 주지 않은 채 “이 seed가 어떻게 생성됐는지 알아낼 수 있냐”고 물었고, Claude는 30분도 채 되지 않아 P-192, P-224, P-256, P-384, P-521 등 주요 NIST 곡선 seed의 생성 원리를 밝혀냈습니다.
결론은 놀랍도록 단순했습니다. 이 seed들은 어떤 해시 알고리즘의 결과물이 아니라, C 표준 라이브러리의 난수 생성 함수 lrand48을 유닉스 타임스탬프로 초기화해 나온 출력값이었습니다. 구체적인 작동 방식은 이렇습니다.
- 특정 시점(t)의 유닉스 타임스탬프로 난수 생성기를 초기화한다.
- 난수 생성기를 여러 번 반복 실행하며, 매 반복마다 20바이트씩 뽑아 ‘후보 seed’로 만든다.
- 예를 들어 P-256의 경우 1,842번째 반복에서 나온 값이 실제 표준으로 채택된 seed와 일치했다.
Claude는 소문으로 돌던 ‘유머 문구’를 그대로 검색하는 대신, 당시 이런 표준 곡선을 만드는 소프트웨어가 어떤 식으로 작성됐을지를 역으로 추론했습니다. 1990년대 C 라이브러리에 흔히 쓰이던 PRNG(의사난수 생성기)는 암호학적으로 약해서 출력 패턴을 알아볼 수 있다는 점에 착안해, 각 seed 값을 한 비트씩 밀어가며 인접한 비트 패턴이 알려진 PRNG의 출력과 일치하는지 검사하는 스캐너를 직접 작성했습니다. 이 접근법이 결국 정답으로 이어졌습니다.
이번 발견이 암호학적으로 의미하는 것
Anthropic은 이번 결과가 ECDSA에 새로운 취약점이나 공격 기법을 드러낸 것이 아니라고 명확히 밝혔습니다. 오히려 정반대입니다. 그동안 업계 일각에서는 NSA가 아무 설명 없이 제공한 seed 값에 의도적인 백도어가 숨겨져 있을지도 모른다는 의심을 거두지 못했습니다. 그런데 이번에 밝혀진 생성 방식은 누구나 재현 가능한 평범한 의사난수 생성기와 시스템 시계 조합이었습니다. 조작이나 은폐가 끼어들 여지가 거의 없는 단순한 절차였다는 점이 확인되면서, NIST 표준 곡선의 신뢰도는 오히려 더 높아진 셈입니다.
Anthropic 측은 이를 “수년간 이어진 추측에 마침표를 찍는 재미있는 에필로그”라고 표현하며, 대부분의 암호학 연구자는 이미 이 곡선들을 신뢰하고 있었고 이번 발견으로 실무자가 당장 바꿔야 할 것은 없다고 선을 그었습니다.
한국 개발자에게 주는 의미
ECDSA는 HTTPS, SSH, 블록체인 서명, 모바일 앱 보안 등 한국 개발 현장에서도 일상적으로 쓰이는 암호 표준입니다. 이번 소식 자체가 당장 코드를 수정하거나 보안 설정을 바꿔야 할 사안은 아니지만, 자신이 매일 쓰는 암호 라이브러리의 근간이 되는 표준이 어떻게 만들어졌는지를 이해하는 좋은 계기가 될 수 있습니다.
또 하나 눈여겨볼 지점은 AI 모델이 수십 년간 인간 전문가들도 풀지 못한 암호학 역사 문제를 가설 수립, 역추론, 도구 제작(스캐너 작성)까지 스스로 해내며 풀어냈다는 과정 자체입니다. 이는 단순 텍스트 생성을 넘어 가설 기반 탐정 작업에 가까운 리서치를 AI가 수행할 수 있음을 보여주는 사례로, 보안 연구나 리버스 엔지니어링 분야에서 AI 활용 가능성을 가늠해볼 수 있는 참고 사례이기도 합니다.

답글 남기기