Claude, NIST 곡선 시드 생성 경로 추적

Anthropic Research2026년 10월 17일 (토)
  • •Claude가 NIST 곡선 시드 5개를 유닉스 타임스탬프로 초기화한 lrand48 난수 생성기와 연결
  • •Anthropic은 조사 결과가 ECDSA의 결함을 찾은 것은 아니며 의도적 백도어 가능성을 낮춘다고 설명
  • •6개 곡선의 기준점도 추적했지만 B-163 등 일부 생성 경로는 미해명 상태

Anthropic 연구진은 Claude가 오랜 추측을 불러온 NIST 타원곡선 시드 대부분의 출처를 간단한 난수 생성 과정으로 추적했다고 밝혔습니다. NIST P-192, P-224, P-256, P-384, P-521의 시드는 유닉스 타임스탬프로 초기화한 C 라이브러리 난수 생성기 lrand48에서 나왔습니다. Anthropic은 이 결과가 ECDSA 곡선의 암호 해독이나 공격, 취약점을 드러낸 것은 아니며, 의도적 백도어 가능성을 낮춘다고 설명했습니다.

2026년 10월 Anthropic 직원은 소문으로 돌던 암호문구 단서를 주지 않은 채 내부 연구 모델에 시드 조사를 요청했고, Claude는 30분도 안 돼 출처를 찾았습니다. NIST는 2000년 ECDSA를 FIPS 186-2 디지털 서명 표준의 일부로 채택했으며, NSA는 시드 값을 제공했지만 생성 방식을 설명하지 않았습니다.

연구진은 유닉스 타임스탬프로 초기화한 lrand48에서 20바이트 후보를 뽑아 표준 시드와 일치할 때까지 반복하는 과정을 확인했습니다. P-256의 공개 시드는 1,842번째 후보였습니다. Claude는 공개된 값을 한 비트씩 훑으며 생성기와 출력 구간 조합 34개를 시험했습니다. 10개 시드 중 4개는 20개 단어 모두의 최상위 비트가 0이었으며, 연구진이 제시한 이 패턴의 발생 확률은 1/5,810입니다. Claude는 이 패턴으로 lrand48을 식별하고 숨겨진 상태 비트를 복구했습니다.

소수 곡선 시드의 경우 연구팀은 LLL이라는 격자 기법으로 잘린 출력에서 생성기의 내부 상태를 복구했습니다. NIST 소수 곡선 시드 5개와 ANSI X9.62 예시 시드 5개는 모두 lrand48() >> 23과 일치했고, 복구한 48비트 상태는 각 시드의 160비트 전체를 다시 생성했습니다. 소수 곡선 10개의 초기화 시점은 1997년 5월부터 1998년 4월 사이였습니다. 이진 곡선 4개의 초기화는 1984년 2월을 가리켰으며, 타임스탬프를 두 배로 하면 1998년 4월 17일에 해당해 프로그램이 시계를 절반으로 나눴을 가능성이 제기됐습니다.

Claude는 1997년 5월 생성된 곡선 6개의 기준점도 긴 정수 연산 패키지 FreeLIP의 생성기와 연결했습니다. 확인된 시드는 P-192의 20,000, prime239v1~v3의 20,420·20,507·20,509, prime192v2·v3의 20,512·20,517입니다. 연구진은 P-224, P-256, P-384, P-521 및 NIST 이진 곡선의 기준점은 설명하지 못했습니다.

실제로 사용할 수 있는 후보 곡선 가운데 P-256 실행에서 1개, P-224 실행에서 3개, ANSI X9.62 두 차례 실행에서 7개가 선택되지 않았습니다. 연구팀은 그 수가 적다는 점이 약화된 곡선의 선택 가능성을 뒷받침하지 않는다고 말하면서도, 타임스탬프 검색이 특정 속성을 골랐을 가능성은 이론적으로 인정했습니다. 다만 전체 실행 횟수는 자료로 확인되지 않았으며 B-163 시드도 미해명으로 남았습니다. Anthropic은 시드 발견 포상금 36,864달러를 인터넷 보안 연구 그룹에 전달한다고 밝혔습니다.