구글 딥마인드(Google DeepMind)의 AI 에이전트 두 개가 1024비트 RSA 서명 계산을 설계부터 결과 검증까지 3일 22시간 만에 재현했다. 연구자가 보낸 메시지는 약 20건이었다.
◇ 사람이 승인하고 에이전트가 계산했다
구글 딥마인드는 워킹페이퍼에서 이번 작업을 기존 1024비트 사례의 재현 실험으로 설명했다. 감독 에이전트는 설계와 연산 예산, 단계별 검증을 맡았고 실행 에이전트는 코드를 작성해 분산 작업을 진행하고 오류를 수정했다. 선형대수 작업의 한 단계에는 별도 보조 에이전트도 투입됐다.
연구자는 실험 목표와 계산 조건을 정하고 되돌릴 수 없는 단계의 진행을 승인했다. 코드를 직접 작성하거나 분산 작업을 실행하지는 않았다.
에이전트들은 새 코드 약 3만3500줄을 작성하고 분산 실험 336건을 수행했다. 작업에는 최대 약 30만 개의 CPU 코어와 GPU 16개가 동원됐다.
실험은 RSA 개인키를 복구하거나 RSA 모듈러를 소인수분해하는 작업이 아니었다. 실제 운영 시스템에 접속해 진행한 실험도 아니었다.
연구팀은 서명 연산 결과를 돌려주는 프로그램인 오라클에 약 40억 건의 입력을 미리 요청했다. 이후 오라클 연결을 끊고 계산을 이어갔다.
오라클을 끊은 뒤에는 새 목표값의 모듈러 근을 계산했다. 목표값이 정해진 뒤에는 추가 요청을 할 수 없었으며, 이 근은 특정 조건에서 새 메시지의 유효한 서명을 만드는 데 쓰일 수 있다. 실험은 격리된 환경에서 진행됐다.
◇ 연산량과 경과 시간은 따로 봐야
비교 대상인 앞선 연구는 같은 1024비트 사례의 첫 근을 계산하는 데 1380 CPU 코어-년을 썼다. 딥마인드 논문이 보고한 사용량은 391 CPU 코어-년이다.
CPU 코어-년은 코어 하나를 1년간 사용한 연산량을 나타낸다. 두 연구는 같은 알고리즘과 모듈러, 다항식, 경계값을 사용했다. 논문은 3.5배 차이가 새 알고리즘의 성능이 아니라 구현과 실행 방식의 개선을 보여준다고 설명했다.
앞선 연구에는 약 5개월이 걸렸다. 딥마인드 실험은 설계부터 결과 검증까지 3일 22시간, 대규모 체질 작업 시작부터는 3.2일이 걸렸다.
논문은 기간 차이가 난 주된 이유로 병렬화를 들었다. CPU 코어-년은 총 연산량을 나타내며, 실제 경과 시간은 작업을 얼마나 나눠 동시에 처리했는지에 따라 달라진다.
보고된 391 CPU 코어-년에는 GPU 선형대수 작업과 예비 실험·리허설에 든 7.5 CPU 코어-년이 포함되지 않았다. 연구팀은 GPU 작업을 앞선 연구의 CPU 비용으로 환산하면 차이가 3.4배, 예비 작업까지 포함하면 3.3배라고 제시했다. 두 계산은 서로 다른 하드웨어에서 이뤄졌다.
검증 과정에서는 32비트 인덱스가 범위를 넘어서 저장된 답을 잘못 읽은 오류가 발견됐다. 에이전트들이 오류를 수정했으며, 사전 오라클 요청을 다시 수행할 필요는 없었다.
논문은 이번 결과가 RSA-2048 이상을 사용하는 현재 시스템의 보안을 위협하지 않는다고 명시했다.
◇ RSA 계산은 비트코인 서명과 다르다
이번 실험은 비트코인(BTC) 서명을 시험하지 않았다. 비트코인 개발 프로젝트의 libsecp256k1은 secp256k1 곡선 기반 ECDSA와 Schnorr 서명을 지원한다. 본지도 앞서 RSA-2048 소인수분해 추정과 비트코인 서명 계산은 서로 다른 문제라고 보도했다.
<Copyright ⓒ TokenPost, unauthorized reproduction and redistribution prohibited>
Most Popular