Anthropic 프론티어 레드팀은 16일(현지시간) 내부 연구용 Claude 모델이 미국 전자서명 표준 ECDSA에 쓰이는 NIST 타원곡선의 시드(seed)가 1997~1998년 유닉스 타임스탬프로 초기화한 C 라이브러리 난수 생성기 lrand48의 출력이었다는 사실을 밝혀냈다고 발표했다. NSA가 설명 없이 내놓아 백도어 의혹을 낳은 수수께끼가 약 26년 만에 풀렸다.
핵심 정리
- Claude는 P-192·P-224·P-256·P-384·P-521 다섯 개 NIST 소수체 곡선 시드의 생성 방식을 30분이 채 안 돼 찾아냈다.
- 가장 널리 쓰이는 P-256의 시드는 1997년 8월 16일 01시 52분 34초(UTC) 시각으로 초기화한 난수열의 1,842번째 후보였다.
- 현상금을 운영한 암호학자 Filippo Valsorda는 결과를 직접 재현했고, 상금 36,864달러는 Let's Encrypt 운영 비영리단체 ISRG에 기부된다.
NIST 타원곡선 시드 논란이란
NIST는 2000년 FIPS 186-2로 ECDSA를 채택하면서 곡선 매개변수를 만드는 데 쓴 160비트 시드를 함께 공개했다. 시드를 해시해 곡선 계수를 얻는 구조로, "임의로 골랐다"는 증명 장치였다. 그러나 시드 자체는 NSA가 근거 없이 제공한 값이었다. 원하는 곡선이 나올 때까지 시드를 바꿨을 수 있다는 의혹이 이어졌다.
당시 작업에 관여한 NSA 직원 고(故) Jerry Solinas는 2015년 "여러 번 해시하기보다는 카운터를 쓴 것으로 기억하지만 세부는 모른다"고 회고했다. 시드가 영어 문장의 해시값이라는 소문도 돌았지만 틀린 단서였다.
Claude는 시드에서 무엇을 찾았나
Anthropic 연구 노트에 따르면 한 직원이 별다른 힌트 없이 내부 연구 모델에 시드 생성 방식을 물었다. 모델은 난수 생성기와 출력 구간 조합 34가지를 검사하다가 시드 10개 중 4개에서 20개 단어의 최상위 비트가 모두 0이라는 점을 발견했다. 우연히 나올 확률은 5,810분의 1이다. lrand48은 48비트 내부 상태 중 상위 31비트만 내놓기 때문에 생기는 흔적이었다.
Claude는 숨은 17비트의 경우의 수 2의 17제곱을 모두 대입해 이 4개 시드가 이어지는 출력과 일치함을 확인했다. 소수체 곡선 시드는 잘린 출력에서 내부 상태를 복원하는 격자 문제로 보고 LLL 기저 축소 알고리즘을 적용했다. 그 결과 NIST 곡선 5개와 ANSI X9.62 예제 곡선 5개에서 같은 패턴을 찾았고, 복원한 상태로 시드 160비트 전체를 다시 만들어냈다. 상태를 되돌리자 1997년 5월~1998년 4월의 유닉스 타임스탬프가 나왔다.
이진체 곡선 B-233·B-283·B-409·B-571은 시계값을 절반으로 나눠 초기화한 것으로 분석됐다. 이 계산을 되돌리면 1998년 4월 17일이 나와, P-224 생성 2주 뒤에 해당한다. 모델이 스스로 가설을 세우고 검증한 AI 에이전트형 연구 사례다.
NIST 곡선 백도어 의혹은 사라졌나
Anthropic은 이번 결과가 암호 해독이나 새로운 공격, ECDSA 곡선의 약점이 아니라고 못 박았다. 오히려 시드가 재현 가능해지면서 의도적 백도어가 숨어 있을 여지는 크게 줄었다고 설명했다.
Valsorda의 현상금 종료 공지도 같은 결론을 냈다. 그는 Go로 알고리즘을 재구현해 결과를 검증했고, 가장 넉넉하게 잡아도 시드 선택의 자유도는 약 30비트에 그쳐 약한 곡선을 골라내기에는 턱없이 부족하다고 분석했다. 다만 Anthropic은 타임스탬프 방식으로 미리 고른 시드를 감추는 것이 이론상 가능하다는 점도 함께 적었다.
아직 풀리지 않은 부분
이진체 곡선 B-163의 시드는 Claude가 시도한 어떤 방식에도 맞지 않았다. P-224·P-256·P-384·P-521의 기준점(base point) 생성 방식도 여전히 알 수 없다. 1997년 5월에 만든 곡선 6개의 기준점은 Arjen Lenstra의 FreeLIP 라이브러리 난수 생성기로 재현했지만, 나머지는 이 방식에 맞지 않았다.
P-256은 같은 실행의 876번째 후보도 유효했지만 채택되지 않았고, Anthropic은 그 선택 기준을 모른다고 밝혔다.
맥락과 전망
Anthropic은 최근 모델의 보안 능력을 둘러싼 정책을 잇따라 내놓고 있다. 차단된 사이버 보안 요청을 하위 모델로 넘기는 Sonnet 5.5의 안전장치가 대표적이다. 이번 사례는 같은 능력이 표준 검증에 쓰일 수 있음을 보여준다.
Valsorda는 NIST 곡선이 양자내성 서명으로 대체될 즈음 수수께끼가 풀렸다고 짚었다. B-163 시드와 기준점 문제는 다음 과제다.
자주 묻는 질문
P-256 같은 NIST 곡선을 계속 써도 되나?
Anthropic과 Valsorda 모두 이번 발견이 곡선의 약점이 아니라고 밝혔다. 시드가 타임스탬프 기반 난수로 확인되면서 오히려 의도적 백도어 가능성이 줄었다. 당장 바꿀 설정이나 조치는 없다.
Claude가 NIST 시드를 푸는 데 걸린 시간은?
Anthropic은 내부 연구 모델이 다섯 개 NIST 소수체 곡선 시드의 생성 방식을 30분이 채 안 돼 찾았다고 밝혔다. 이후 Valsorda가 Go로 알고리즘을 재구현해 결과를 검증했다.
NIST 곡선 시드 현상금은 누구에게 가나?
현상금 36,864달러는 Anthropic 팀의 뜻에 따라 Let's Encrypt를 운영하는 비영리단체 ISRG에 기부된다. Valsorda는 기부로 상금이 세 배로 늘었다고 설명했다.






