TECH 으로 돌아가기
TECH HACKER NEWS 오늘 8분 읽기 22 READS

480년 전 교황청 암호 편지, 키 없이 통계와 언어 모델로 풀리다

480년 전 교황청 암호 편지, 키 없이 통계와 언어 모델로 풀리다
SOURCE IMAGE · HACKER NEWS

1542년 4월, 로마에서 스페인에 머물던 카를 5세 황제의 궁정으로 편지 한 통이 떠났다. 첫 페이지는 평범한 이탈리아어로 시작하다가 어느 줄 중간에서 문장이 멈추고 숫자들이 이어진다. 발신자는 교황 바오로 3세의 손자이자 스물한 살의 나이에 교황청 비서국 수장이 된 알레산드로 파르네세 추기경이었고, 수신자는 황제 궁정에 파견된 교황 대사(눈치오) 조반니 포조 주교였다. 편지는 네 장의 종이 앞뒤 여덟 면(70r~73v)에 걸쳐 있으며, 실제 지시 내용은 모두 숫자 암호 안에 숨어 있고 평문으로 남은 부분은 인사와 날짜 같은 '틀'뿐이다.

이 편지는 오랫동안 미해독 상태로 남아 있었다. 조지 래스리는 2019년 7월 이 텍스트를 암호 퍼즐 사이트 미스터리트위스터의 '바티칸 챌린지' 5부로 출제했는데, 키도 평문도 알 수 없고 언어만 이탈리아어로 추정된다는 조건이었다. 래스리가 베아타 메제시, 닐스 코팔과 함께 2020년 온라인으로 발표한 연구에서도 이 자료는 미해결로 분류됐고, 2026년 9월 16일까지도 챌린지 페이지의 해독 성공 건수는 0이었다. 이번 작업은 그 공백을 메운 사례다.

왜 어려웠나: 경계를 알 수 없는 숫자열

이 암호의 핵심 난점은 두 가지다. 첫째, 각 코드가 어디서 끝나고 다음 코드가 어디서 시작되는지 모른 채 키를 찾아야 한다. 둘째, 키를 얻은 뒤에도 실제 필자가 쓴 단어인지 그럴듯한 추측인지 가려내야 한다. 예를 들어 숫자 73은 한 글자 d일 수도 있지만, 7과 3 두 글자(n, m)로도 읽힌다. 숫자 9는 아무 뜻도 없는 널(null)이다. 즉 키를 안다고 해도 같은 숫자열이 여러 방식으로 읽히는 것이다.

출발점은 2016년 1월 EHum이 약 6시간 반에 걸쳐 만든 공개 전사본이었다. 여기에는 6,577개의 암호 숫자 위치가 담겨 있는데, 44개는 판독 불가(?)로, 207개는 위에 점 같은 표시가 있는 것으로 기록돼 있다. 통계를 내보니 숫자 7이 전체의 17.5%, 1은 3.1%를 차지했고, 80·57·27·03·73 같은 특정 쌍이 우연보다 훨씬 자주 나타났다. 같은 숫자가 겹치는 경우는 거의 없었다. 무엇보다 숫자들이 4·5·6·8 그룹과 0·1·2·7·9 그룹을 번갈아 오갔고, 3은 어느 쪽에도 속하지 않았다. 이는 자음과 모음이 교대로 나타나는 언어의 특성과 닮아 있었다.

두 겹의 탐색과 언어 모델

1540년대 교황청 암호는 여러 설계를 썼다. 한 숫자가 여러 글자를 뜻하기도 하고, 쌍으로 음절을 적기도 했다. 이번에 들어맞은 것은 마이스터의 1906년 연구에도 실린 단순한 설계, 즉 글자마다 한 자 또는 두 자짜리 고유 코드가 있고 읽는 사람이 문맥으로 구분하는 방식이었다. 저자는 글자-코드 대응을 바꾸는 바깥쪽 탐색과, 각 후보 키에 대해 숫자를 어떻게 끊어 읽을지 찾는 안쪽 디코더를 함께 돌렸다.

읽기의 좋고 나쁨을 판정하기 위해 앞선 네 글자로부터 다음 글자 확률을 추정하는 다섯 글자 문자 모델을 훈련했다. 약 490만 자로, 대부분 마키아벨리·카스틸리오네·바사리의 텍스트였고 약 72만 자는 파르네세 비서국 서신을 포함한 카르다운스 문서집 OCR에서 뽑았다. 저자는 소문자화, 악센트 제거, v를 u로 통합, h 삭제, 겹글자 축약 같은 전처리를 가했는데, 이는 당시 서기의 표기 습관에 대한 추정이었고 실제로 편지의 tute, esendo 같은 철자와 맞아떨어졌다. 디코더는 왼쪽에서 오른쪽으로 숫자를 훑으며 여러 부분 해석을 동시에 살려 두는 빔 서치를 썼고, 각 위치에서 상위 8개만 유지했다. 바깥쪽 탐색은 더 나쁜 키도 확률적으로 받아들이는 시뮬레이티드 어닐링으로, 국소 최적에서 빠져나오게 했다.

첫 성공적인 탐색은 "Dopo la partita del Montepulciano(몬테풀차노가 떠난 뒤)"라는 도입부를 내놓았다. 같은 페이지의 평문이 실제로 그의 출발을 언급하고 있어 신뢰를 더했다. 다만 널이나 단어 코드를 여러 개 허용하자 검색이 불편한 숫자들을 '뜻 없음'으로 처리해 점수만 높이고 본문은 엉망이 되는 문제가 있었다. 이에 저자는 글자당 코드 하나, 널 최대 하나, 단어 코드 없음으로 조건을 조인 뒤 재훈련한 모델로 다시 돌렸고, 같은 열여덟 글자짜리 키에 안정적으로 도달했다. 복원된 키에서 단일 숫자 4·5·6·8은 각각 모음 o·a·i·e였는데, 이는 앞서 통계가 보여준 '교대로 나타나는 그룹'과 정확히 일치했다.

실무적 의미와 한계

검증을 위해 저자는 텍스트를 절반으로 갈라 각각을 무작위 상태에서 따로 풀었고, 양쪽 모두에서 동일한 키와 널이 나왔다. 이것이 저자가 가장 신뢰하는 확인이다. 래스리 연구팀은 글자마다 코드가 여러 개인 가변길이 동음이철 키는 대응 평문이나 이미 알려진 키가 있어야 풀렸다고 보고했지만, 여기서 쓰인 단순한 단일 문자 치환 키는 오직 숫자만으로 복원됐다는 점이 눈에 띈다. 한편 인위적으로 만든 합성 암호 실험은 et 같은 단어 코드를 복원하지 못했고, 훈련 텍스트와 일부 겹치는 한계도 확인됐다.

이 작업이 한국의 실무자에게 시사하는 바는 역사 애호를 넘어선다. 경계가 모호한 기호열을 다룰 때, 통계적 특성 파악(빈도·인접 패턴), 도메인 언어 모델, 두 겹의 탐색 구조, 그리고 무엇보다 결과를 독립적으로 검증하는 절차가 어떻게 결합되는지를 보여주기 때문이다. 점수는 어디까지나 후보 키들의 순위일 뿐 정답 확률이 아니라는 점, 초기에 버려진 경로는 나중에 되살아날 수 없다는 빔 서치의 근사적 한계를 저자가 명시한 대목도 곱씹을 만하다. 도구가 그럴듯한 답을 쉽게 만들어 내는 시대일수록, '어떻게 확신하는가'라는 질문에 대한 설계가 결과 자체보다 중요하다는 사실을 이 480년 전 편지가 다시 일깨운다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://simonklee.dk/farnese-letter
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...