앤트로픽 클로드, 25년 묵은 NIST 암호화 곡선 기원 비밀 풀었다
앤트로픽의 Claude가 25년간 베일에 싸여 있던 NIST ECDSA 타원곡선 시드의 기원을 30분 만에 규명했다. 시드는 소문과 달리 문구 해시가 아닌 1997~1998년 유닉스 타임스탬프를 적용한 C 언어 lrand48 난수 생성기 출력값으로 확인됐다. 이번 규명으로 해당 곡선에 의도적인 백도어가 없었음이 입증됐다.

지난 25년 동안 암호학계에는 찜찜한 의문이 하나 있었습니다. 전 세계 웹 트래픽의 표준 보안 규격인 NIST의 타원곡선암호(ECDSA)에 미국 국가안보국(NSA)이 백도어를 심어둔 것은 아닐까 하는 의혹이었습니다.
2000년 미국 국립표준기술연구소(NIST)가 채택한 표준 문서에는 곡선의 계수를 결정하는 정체불명의 '시드(seed)' 값이 들어 있었지만, NSA는 이 숫자가 어디서 나왔는지 전혀 설명하지 않았습니다. 오랜 세월 음모론과 함께 현상금까지 걸렸던 이 25년 묵은 수수께끼를, 앤트로픽의 인공지능 클로드(Claude)가 30분 만에 풀어냈습니다.
거창한 암호가 아니라, 그냥 C 표준 라이브러리였습니다
그동안 업계에서 가장 유력했던 가설은 전직 NSA 직원이었던 제리 솔리나스의 회고였습니다. 1990년대 당시 '밥과 제리에게 월급을 올려줘라' 같은 농담성 문구를 해시 처리해 시드를 만들었다는 소문이었습니다. 하지만 솔리나스는 2023년 세상을 떠났고, 개발자들의 기억도 흐려져 진위 파악이 불가능했습니다.
2026년 10월, 앤트로픽 연구진은 내부 연구용 클로드 모델에 농담 문구에 대한 힌트를 일절 주지 않은 채 시드의 출처를 찾아보라고 요청했습니다.
클로드는 소문 대신 당시 개발 환경에 주목했습니다. 1990년대 C 라이브러리에 내장된 취약한 의사난수 생성기(PRNG)를 썼을 것이라 가정한 뒤, 자체 스캐너를 작성해 34가지 조합을 대조했습니다. 그 결과 일부 시드의 최상위 비트가 모두 0이라는 사실을 포착했는데, 이는 전형적인 구형 선형합동 생성기인 lrand48의 특징이었습니다.
이어서 클로드는 격자 기저 축소(LLL) 알고리즘을 사용해 생성기의 내부 상태를 역추적했습니다. 그 결과는 허무할 정도로 단순했습니다. 1997년 5월부터 1998년 4월 사이의 유닉스 타임스탬프를 시드로 넣고 돌린 난수였습니다. 대표적으로 쓰이는 P-256 곡선은 생성기가 뱉어낸 1,842번째 후보 값을 그대로 가져다 쓴 것이었습니다.
이번 발견으로 받게 된 현상금 36,864달러는 비영리단체 인터넷 보안 연구 그룹(ISRG)에 전액 기부될 예정입니다.
왜 중요한가
우선 전 세계 보안 생태계 입장에서는 오랜 체증이 내려가는 소식입니다. 시계 시간(타임스탬프)을 넣고 표준 난수 함수를 돌린 단순한 방식이었음이 입증되면서, NSA가 계산된 취약점이나 백도어를 설계했을 가능성은 사실상 사라졌습니다. 수많은 인터넷 기기가 의심 없이 기존 표준을 계속 신뢰해도 된다는 뜻입니다.
AI의 역량 측면에서도 의미가 큽니다. 이번 사례는 단순한 코딩 보조를 넘어섰습니다. 과거 프로그래머의 작업 패턴을 역사적으로 추론하고, 자체 도구를 코딩하며, 고등 수학 알고리즘을 결합해 스스로 결론을 검증해 냈습니다. 이 모든 과정이 30분도 채 걸리지 않았습니다.
인간 전문가들이 25년 동안 소문에 얽매여 풀지 못했던 수수께끼를, AI가 편견 없는 가설 검증으로 해결한 셈입니다. 리버스 엔지니어링이나 레거시 코드 감사 영역에서 AI가 얼마나 강력한 탐정 역할을 할 수 있는지 보여준 인상적인 장면입니다.
출처 (1)
- anthropic.com(새 탭에서 열림)원문anthropic.com