메뉴
HN
Hacker News • 7일 전

GPT-6 Astra, 1차 대전 독일 무선 암호를 해독하다

IMP
7/10
핵심 요약

독일 과학 블로그 포털 Scienceblogs.de의 '미해결 암호 50선' 목록 중 하나인 1918년 ADFGVX 방식으로 암호화된 독일 무선 메시지를 GPT-6 Astra가 해독했습니다. Astra는 'TRUPPENVERSCHIEBUNG'라는 암호 키를 역추론하여 영국 순양함의 세바스토폴 입항을 알리는 독일어 메시지를 복호화했고, 함선 항해 일지로 해당 내용의 정확성까지 검증했습니다. 이는 대형 언어 모델의 추론 능력이 고전 암호 해독 같은 전문 분야에서도 실질적 성과를 낼 수 있음을 보여주는 사례입니다.

번역된 본문

GPT-6 Astra, 1차 대전 독일 무선 암호를 해독하다

prinz, 2026년 9월 17일

독일 과학 블로그 포털인 Scienceblogs.de에는 연쇄살인범이 남긴 암호문부터 유명한 보이니치 필사본까지 아우르는 비교적 유명한 '미해결 암호 50선' 목록이 있습니다. 그중에는 제1차 세계대전 당시 ADFGVX 방식으로 암호화된 독일 무선 메시지들이 포함되어 있습니다.

ADFGVX 방식은 'HOUSE'라는 단어를 키로 사용하는 다음 예시로 설명할 수 있습니다. 가로와 세로 모두 ADFGVX를 사용하여 표의 각 '칸'에 값을 부여합니다. 예를 들어 'AA'는 문자 H에, 'AD'는 문자 O에, 'DA'는 문자 B에 대응됩니다. 따라서 'PRINZ'라는 단어는 FX GD DX FV VD로 암호화됩니다. 'HOUSE'가 아닌 다른 단어를 암호 키로 사용하면 완전히 다른 표가 만들어집니다.

독일군이 이런 무선 메시지를 암호화하는 데 사용한 것으로 알려진 키 목록이 존재하며, 수백 건의 메시지가 이미 해독되었습니다. 여기에는 암호 해독 전문가 조지 라스리(George Lasry)의 성과도 포함됩니다. 하지만 십수 건은 여전히 풀리지 않은 채 남아 있었고, 그중 하나가 (제가 아는 한) 원래 1918년 11월 27일에 송신된 다음 메시지입니다(217쪽).

GPT-6 Astra가 이 암호를 해독했으며, 원문은 다음과 같다고 추정했습니다:

EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X

영어로 번역하면: "영국 순양함 한 척이 세바스토폴에 ?4일에 입항했다. 연합군 함대가 26일에 뒤따라온다."

이 모델은 J. 라이브스 차일즈(J. Rives Childs)의 저서 '독일 군사 암호의 역사와 원리, 1914–1918'의 214-215쪽에 설명된 대로 'TRUPPENVERSCHIEBUNG'를 암호 키로 사용했습니다.

이 암호 키는 다음과 같은 표를 만들어냅니다. 이 표를 사용하기 전에 'TRUPPENVERSCHIEBUNG'라는 단어는 알파벳 순서로 재배열되어야 합니다(예: T는 16번째, R은 13번째). 그런 다음 'TRUPPENVERSCHIEBUNG'를 가로로 쓰고, 그 아래에 암호화된 메시지의 문자를 한 줄에 19개씩 적습니다(총 170자이므로 19개짜리 행 8개와 18개짜리 행 1개가 됩니다). 즉, 9개 문자로 된 열이 18개, 8개 문자로 된 열이 1개('G' 열)가 됩니다.

여기서 T는 알파벳 순으로 16번째 열이므로 앞에 9개짜리 열 14개와 8개짜리 G 열 1개가 있습니다. 9×14 + 1×8 = 134이므로 'T'는 메시지의 135번째 문자인 'A'에 대응됩니다. 마찬가지로 다음 문자 'R'은 알파벳 순으로 13번째이므로 앞에 11×9 + 1×8 = 107개의 문자가 있고, 메시지의 108번째 문자인 'V'에 대응됩니다. 위 표에서 'AV'는 'E', 즉 'EIN'의 첫 글자에 해당합니다. 이 과정을 반복하여 전체 메시지를 해독합니다. (놀랍지 않습니까.)

Astra는 이 메시지가 이전까지 해독되지 않았던 이유에 대한 가설도 제시했습니다. 'TRUPPENVERSCHIEBUNG'가 키로 사용된 시점은 1918년 12월 9일부터인데, 앞서 언급했듯 이 메시지는 그보다 이른 1918년 11월 27일에 송신되었다는 것입니다. 이 불일치의 이유는 알 수 없습니다.

Astra는 자신의 결과를 검증해야 한다는 필요성을 느껜 확인해 보았고, 실제로 영국 순양함 HMS 캔터베리가 원본 항해 일지에 따르면 1918년 11월 24일 세바스토폴에 도착했음을 확인했습니다. 그리고 연합군 함대도 실제로 11월 26일에 뒤따라 도착했습니다(11번 줄 바로 아래에 연합군 함대가 도착했다는 기록 확인).

이 특정 메시지가 이전에 해독된 적이 있는지는 알지 못하므로, 사소하지만(그러나 정말 멋지다고 생각하는) 성과이자 이 모델의 능력을 보여주는 사례로 여기에 공유합니다.

원문 보기
원문 보기 (영어)
GPT-6 Astra Solves a WWI German Radio Cipher prinz Sep 17, 2026 17 1 3 Share Scienceblogs.de, a German science blogging portal, includes a relatively famous list of 50 unsolved ciphers , which range from cryptograms published by serial killers to the famous Voynich manuscript . Among these ciphers is a set of German radio messages from World War I that were encoded using the ADFGVX method. This method is illustrated by the following example using the word “HOUSE” as the key: A D F G V X A H O U S E A D B C D F G I F J K L M N P G Q R T V W X V Y Z 0 1 2 3 X 4 5 6 7 8 9 As you can see, ADFGVX is used both horizontally and vertically to give each “cell” in the table a value. For example, in this text, “AA” corresponds to the letter H, “AD” corresponds to the letter O, “DA” corresponds to the letter B, and so on. And so, the word “PRINZ” would be encoded as: FX GD DX FV VD Using an encryption word other than “HOUSE” would result in a completely different table. There is a list of known keys used by the Germans to encrypt these radio.messages, and hundreds of these messages have already been decoded , including by codebreaking expert George Lasry. Still, over a dozen have thus far eluded efforts to solve them, including (to my knowledge) this one, originally transmitted on November 27, 1918 (pg. 217): GPT-6 Astra solved this cipher, and believes that the original message was as follows: EIN ENGLISCHER KREUZER EINLIEG X SEWASTOPOL X S4STEN X EIN GESCHWADER DER X ALLIIERTEN FOLGT 26STEN X Or, in English: AN ENGLISH CRUISER ARRIVED AT SEVASTOPOL ON THE ?4TH AN ALLIED SQUADRON FOLLOWS ON THE 26TH The model used “TRUPPENVERSCHIEBUNG” as the encryption word, as described on pgs. 214-215 of J. Rives Childs's “The History and Principles of German Military Ciphers, 1914–1918”. This encryption word yields the following table: Before even using this table, the word “TRUPPENVERSCHIEBUNG” is required to be rearranged, so that the letters in the word are in an alphabetical order (e.g., T is 16th and R is 13th). Then, the same “TRUPPENVERSCHIEBUNG” is written out horizontally, with letters from the encrypted message written under it, in rows of 19 (resulting in 8 rows of 19 symbols each, plus 1 row of 18 symbols, since there are 170 characters total). This also means that we have 18 columns with 9 symbols each and 1 column with 8 symbols (column “G”). From here, because T is the 16th column, it has 14 9-symbol columns before it, plus 1 8-symbol G column; 9×14 + 1×8 = 134, so “T” will correspond to the following, 135th, symbols in the message, which is “A”. Similarly, the next letter, “R”, corresponds to the letter “V” (because R is the 13th letter alphabetically and thus has 11×9 + 1×8 = 107 symbols before it; the 108th symbol in the message is “V”). In the table above, “AV” corresponds to “E”, the first letter in “EIN”. We repeat this process until we decode the entire message. (Wow.) Astra's hypothesis for why this particular message was previously unsolved is that “TRUPPENVERSCHIEBUNG” was used as the key starting on December 9, 1918 - whereas, as noted above, this message was transmitted earlier, on November 27, 1918. The reason for this discrepancy is unknown. Astra felt compelled to check its work and found that, in fact, the English cruiser HMS Canterbury arrived in Sevastopol on November 24, 1918, based on its original logs : … and an allied squadron did follow on November 26 (see right below line 11, which says that an allied squadron arrived): I am not aware of this particular message having ever been decoded before, so sharing it here as a minor (but I think really cool) result and illustration of the capabilities of this model. 17 1 3 Share
관련 소식