한국어 번역 · 원저 Daniel Bourdeau, 《Unsolved Historical Ciphers》는 CC BY 4.0으로 공개되었다. 이 페이지는 JIC가 번역했으며 원저자의 공식 판본이 아니다. 번역과 원문이 다를 경우 영어 원문이 우선한다 · 영어 원문 보기 ↗
Ew. H. Dl. 524 . 99 . 916 . 38 . 442 . 692 . 447 . 90 . 507 . 24 . 22 . 402 . 924 . 556 =
863 . 888 . 119 . 382 . 92 . 42 . 84 . 9 . 465 . 4 . 341 . 937 . 19 . 227 . 298 …
… f. 3r의 첫머리, “Durchlauchtigster Fürst” 다음

미상의 정보 제공자 → 발데크 공 · 세 자리 코드 · 1744년 1월 · 미해독

발데크 공을 위한 코드로 된 군사 소식, 1744년

Waldeck 제후 Carl August Friedrich
수신발데크 공 Carl August Friedrich

오스트리아 왕위 계승 전쟁 중 제국 및 네덜란드의 한 장군에게 보낸 숫자 두 쪽으로, 아마 그의 연대에서 자리를 얻기를 바라던 사람이 보낸 것이다. 코드에는 키가 없고, 편지 한 통으로는 키를 재구성하기에 너무 짧았다.

Daniel Bourdeau · 게시

방법: 미해독 · 범위: 텍스트를 얻지 못함

한눈에 보기미해독 · 부호군 717개 중 0개

편지
발데크-피르몬트 공 Carl August Friedrich에게 보낸 서명 없는 독일어 편지. 뒷면에 있는 그의 답장 초안이 1월 18일 자 편지에 답하고 있으므로, 1744년 1월의 것이다.
소장처
Hessisches Staatsarchiv Marburg, HStAM 118 a Nr. 3954, ff. 3r–4r, “Militärische Nachrichten für Fürst Carl August Friedrich (in Chiffre)”로 철해져 있음; HCPortal 기록 517, “not solved”.
암호
4부터 999까지의 점으로 구분된 부호군 717개, 그중 서로 다른 것은 303개. 아마 2부식 동음이자 노멘클레이터일 가능성이 가장 크다. 알파벳순이 아닌, 번호 매긴 글자, 음절, 단어 목록으로, 흔한 항목에는 번호가 여러 개 있다.
시도한 방법
키를 찾아 이 문서철, 발데크 문서, HCPortal과 DECODE의 마르부르크 키들을 뒤졌다. 문자, 알파벳순, 노멘클레이터 솔버를 각각 먼저 같은 크기의 합성 편지로 시험했다.
버티는 이유
이 크기의 합성 2부식 노멘클레이터에서는 틀린 키가 진짜 키보다 더 좋은 점수를 받는다. 편지 한 통으로는 키가 정해지지 않는다.
미해결
텍스트 전체. 키나 해독된 사본은 같은 문서군에 있는, 디지털화되지 않은 1744년 원정 관련 권들(118 a Nr. 1973–1980)에 있을 수 있다.

01 편지와 그 답장

이 문서철에는 두 장에 걸친 편지 한 통이 있다. 3r엽 머리에는 장식적인 필체로 Durchlauchtigster Fürst, 이어서 평문으로 Ew. H. Dl.(Euer Hochfürstlichen Durchlaucht)가 있고, 그다음 숫자 열아홉 줄이 이어진다. 나중의 필체가 귀퉁이에 “1744”라고 적었다. 4엽은 좀 더 좁은 종이로, 스물여섯 줄이 더 있다. Ew. H. Dl.는 그 열일곱째 줄에 평문으로 한 번 더 나온다. 서명도 날짜도 없다. 3엽 뒷면에는 끝내 완성되지 않은 표지 기재가 있다. “Schreiben an [공란] in Ziffern”.

f. 3r 윗부분: 장식을 크게 넣은 'Durchlauchtigster Fürst', 후대의 필적으로 쓴 연도 1744, 그리고 'Ew. H. Dl.' 다음에 이어지는 점 찍힌 세 자리 숫자의 첫 줄들
f. 3r의 첫머리. 첫 줄은 556.= 라는 독일식 하이픈으로 끝나므로, 단어가 다음 줄로 이어지며 코드에는 단어보다 작은 단위가 있다. 이미지: Hessisches Staatsarchiv Marburg, HStAM 118 a Nr. 3954 f. 3r, Arcinsys Hessen(이미지 0003)과 HCPortal 기록 517 경유.

4엽 뒷면은 공의 답장에 쓰였는데, 프랑스어로 초안을 잡고 쓰는 도중에 고친 것이다. 시작은 이렇다. “Je viens de recevoir, Monsieur, votre lettre du 18e Janv.” 그는 처음에 상대에게 “des nouvelles que vous me donnez et de tout le bien que vous me souhaitez à l’occasion du renouvellement de l’année”에 대해 감사했다가, 감사를 새해 인사에 대한 것으로만 줄였다. 그는 가능한 한 자주 “de chez vous” 소식을 달라고 청한다. 빈에서는 중령이 연대를 떠날 것이라고 알려 왔으며, 그는 자리가 비면 상대를 기억하겠다고 약속한다.

f. 4v의 프랑스어 초안. 'Je viens de recevoir, Monsieur, votre lettre du 18e Janv.'로 시작하며, 지운 단어들과 줄 위의 수정이 있다
f. 4v에 암호의 뒷면에 쓴 공의 답장 초안. 이것으로 암호 편지의 날짜가 1744년 1월 18일로 정해지며, 그 필자가 공의 연대에서 자리를 얻기를 바랐음을 알 수 있다. 이미지: Hessisches Staatsarchiv Marburg, HStAM 118 a Nr. 3954 f. 4v, Arcinsys Hessen 경유(이미지 0005).

Carl August Friedrich(1704–1763)는 1739년부터 제국 보병 연대 하나를 소유했다. 그는 제국 포병대장이었고, 1742년부터는 네덜란드군 보병 대장이었다. 1744년에는 오스트리아군과 함께 복무했고, 1745년에는 퐁트누아에서 네덜란드군을 지휘했다. 필자의 소재지는 밝혀져 있지 않다. “de chez vous” 소식에 대한 공의 관심은 그가 자기 자리에서는 볼 수 없는 궁정이나 군대를 시사한다.

02 코드

두 쪽은 여기서 스캔의 최고 해상도 크롭을 보고 전사했다. 45줄, 부호군 717개, 그중 서로 다른 것 303개, 한 번만 쓰인 것 144개. 부호군은 4부터 999까지이고, 한 자리가 19개, 두 자리가 133개다. 점, 줄표, 또는 그냥 공백으로 아무 규칙 없이 구분되어 있다. 두 번째 장은 2를 z 모양으로 쓰고, 5는 쌍점처럼 보일 수 있는 갈고리로 끝난다. 가장 흔한 부호군은 19와 141(각각 14번), 38과 341(13번), 24(11번), 7과 937(10번)이다.

두 가지 특징이 체계의 종류를 정해 준다. 다음 수열 879.144.X.126 은 네 번 나오며, X = 90, 7, 7, 924다. 두 번째로 나올 때 필자는 9를 쓰기 시작했다가 줄을 긋고 그 위에 7을 썼다. 이것들은 한 항목에 대한 여러 번호로, 마음대로 고른 것이다. 즉 동음자다.

f. 4r의 숫자 세 줄. 가운데 줄에서 879와 144 다음에 번진 9가 줄로 지워지고 위에 7이 적혀 있으며, 그 뒤에 126이 온다
f. 4r, 5행: 879 . 144 . 9 7 . 126. f. 3r에서는 같은 구절의 이 자리에 90이 있고, f. 4 l. 20에서는 924가 있다. 이미지: Hessisches Staatsarchiv Marburg, HStAM 118 a Nr. 3954 f. 4r, 4–6행, Arcinsys Hessen 경유(이미지 0004).

둘째, 717개 중 서로 다른 부호군 303개는 각 글자에 번호를 셋에서 여섯 개씩 준 당대의 문자 암호에는 너무 많다. 번호 약 130개짜리 글자 알파벳으로는 이것들을 만들어 낼 수 없다. 줄 끝 하이픈이 이미 보여 주었듯이, 표에는 음절과 단어도 들어 있어야 한다.

03 어떤 종류의 표인가

1부식 코드는 항목을 알파벳순으로 나열하고 번호가 커지므로, 사용 빈도가 빈번한 독일어 항목들(die, der, e- 및 ge- 음절, und)이 놓이는 곳에 몰린다. 번호의 각 구간이 텍스트에서 차지하는 비율을, 1740년대 독일어를 정렬된 음절표로 암호화해 만든 그 프로필과 비교했다. 같은 개수로 번호를 무작위로 매긴 것이 기준선이다.

시험한 번호 매기기독일어와의 적합도(낮을수록 좋음)무작위 번호 매기기판정
알파벳순, 1–9990.1920.077기각
글자는 1–99, 알파벳순은 100–9990.1490.077기각
1723년과 1720–30년의 헤센-카셀 키처럼 끝자리별 열(20가지 순서 중 최선)0.0570.047뒷받침 없음
곱셈 뒤섞기 n = a·p mod 1000 (400가지 중 최선)0.0380.036뒷받침 없음

번호 매기기의 어느 부분도 알파벳순처럼 행동하지 않는다. 2부식 설계가 들어맞는다. 글자마다 흩어진 번호가 약 네 개씩 있고, 음절과 단어 약 600개에는 각각 번호가 하나씩 있는 방식으로, 하노버 서신을 위한 1730년의 헤센-카셀 키(HStAM 4 d Nr. 1229)와 같다. 그렇게 암호화한 합성 편지는 서로 다른 부호군 310개, 한 번만 쓰인 것 146개, 가장 흔한 부호군 14번, 세 번 이상 쓰인 부호군 93개가 토큰 429개를 차지하는 결과를 낸다. 발데크에게 보낸 편지는 303, 144, 14, 그리고 85개가 425개를 차지한다. 다른 점은 100 미만의 번호를 많이 쓴다는 것뿐인데, 이는 한 항목에 대해 목록의 첫 번호를 집어 쓴 서기와 들어맞는다.

04 시도한 것

이 편지를 위해 Deutsches Textarchiv에 있는 1724–1767년의 텍스트 202편으로 1740년대 독일어 언어 모델을 만들었다. 1737–41년의 베를린 신문, Hamburgischer Correspondent, 군사 교범 등 모두 2,360만 글자다. 모든 솔버는 먼저 키를 알고 있는 같은 크기의 합성 편지에서 돌렸다.

공격합성 대조 실험에서편지에서
글자 단위 동음이자 담금질 기법(5-gram)무의미한 문자열이 참 텍스트와 같거나 더 높은 점수를 받는다최고 점수는 같은 범위이고, 어느 두 실행도 일치하지 않는다
위와 같되 사전 단어 점수를 더함참 키가 가장 높은 점수를 받지만, 2,000만 수씩 12회 실행과 열욕 샘플링으로도 거기에 이르지 못한다—
알파벳 순 표 담금질 솔버(van Swieten 해독을 본뜬 것). 100 미만에서 글자를 자유롭게 두고, 열 순서를 바꾸며, 열욕 샘플링을 사용참 키는 글자 보너스가 낮을 때만 가장 높고, 탐색은 그 아래에서 멈춘다단어 조각뿐, 의미는 없다
2부 노멘클레이터 할당참 키 −1284 대 −255에서 찾은 틀린 키(보너스 1.0), −1934 대 −1060(보너스 0.6)실행하지 않음: 대조 실험이 답을 식별할 수 없음을 보여 준다

마지막 행이 결론을 낸다. 이 크기의 2부 코드에서는 더 긴 단위에 어떤 여유를 주든 언어 모델이 많은 틀린 키를 참 키보다 훨씬 높게 평가한다. 탐색이 참 키에 도달하더라도 그것을 알아볼 수 없다. 새해 인사로 짐작되는 부분도 크립으로 쓸 수 없다. 2부 코드에서는 단위의 경계를 알 수 없기 때문이다.

Waldeck 내각 문서(118 a)에도, 1646년 이후의 어떤 Waldeck 문서군에도 다른 암호 문서는 목록에 없다. 그보다 오래된 Waldeck 암호 두 건, 1638년과 1646년의 것은 단순 글자 치환이다. HCPortal의 Marburg 기록과 그 키 319개에도 1740년대 Waldeck의 것은 없다. DECODE는 Marburg 소장 1710–1799년의 헤센카셀 키 112개를 올려 두었는데, 살펴본 독일어 키(4 d Nr. 1229, 1231, 1237)는 이 편지에 맞지 않는다. 1744년 1월의 서신이 들어 있을 권들은 디지털화되지 않았다. 그것은 118 a Nr. 1973–1980, “Akten betr. den Feldzug von 1744”(1권이 1월부터 5월까지), 제후의 전시 서신(Nr. 1969–1972, 2044), 그리고 1745–1750년 장교들의 청원(Nr. 2047)이다. 제후의 답장은 그의 문서국이 이 편지를 읽을 수 있었음을 보여 준다. 해독된 사본이나 키 자체가 그 가운데 남아 있을지도 모른다.

06 출처

모든 것은 프로젝트 저장소의 targets/waldeck1744/ 프로젝트 저장소에 있다: 전사(trans_p1.txt, trans_p2.txt, ct.txt), 통계와 순서 검정(stats.py, cdf_test*.py), 합성 대조 실험(synth*.py), 솔버(hsolve*.cs, hgibbs.cs, msolve*.cs, gsolve.cs)와 NOTES.md. 여기에 이 시도의 전체 기록이 있다.