01 문서
DECODE의 공개 기록: 한 쪽, 암호, Non-decrypted(해독 없음), 암호 유형 Simple substitution, Homophonic substitution, 숫자 기호 집합, 행 안의 평문, 전사 있음, 임시 날짜 1600–1799. 이미지와 문서는 로그인이 필요해 보지 못했다. Tomokiyo: “첫머리의 유일한 평문 ‘Di Varsouia 24 Xbre 1627’은 언어가 이탈리아어임을 보여 준다 … 원본 필사본에서 숫자와 글자는 띄어쓰기 없이 쓰여 있지만, 두 자리 또는 세 자리 부호군으로 나눈 내 구분은 꽤 명확하다고 생각한다. 일부 글자는 묶어야 할 수도 있다(예: ‘zg’, ‘pr’, ‘fi’, ‘ll’).” 그 쌍들을 묶은 그의 전사:
33 29 a m 22 29 17 16 zg lu 16 a 47 m 23 22 13 m 31 29 m a 41 ll 22 29 a 27 16 fi 16 22 29 m a 47 a 12 o m 33 29 a m pr 21 17 21 m 29 14 a 14 29 17 16 th 24 18 28 zg 25 a 33 29 m 40 23 29 19 16 m 19 a m 27 13 28 21 22 p 45 26 16 m a 29 14 ll 21 fi 26 29 16 06 a 13 a 20 28 21 24 26 13 a 50 21 zg 21 14 29 24 01 33 13 m 100 m 113 m 09 a 28 16 31 21 22 m 46 23 21 22 29 zg 21 m 28 14 a 17 13 05 29 17 13 26 16 a 19 m 16 31 33 29 32 a 13 lu a 28 14 16 a m 44 31 29 a 123 m 24 28 16 29 m a 23 29 25 31 29 m n a 27 13 28 21 14 19 16 m 29 16 a 03 a 24 13 18 28 26 16 m 29 fi m 160 a 17 16 22 26 21 m 47 m a ll 13 th a 28 16 31 16 14 26 13 m 19 29 a m 120 m 05 m 21 m 151 a 24 26 13 ll 13 a 33 21 24 24 13 a 29 fi a 21 24 50 17 28 26 29 16 06 a 01 154 m 19 21 01 lu 21 22 13 14 16 m a 157 a 20 28 21 24 ll 21 a m 33 13 21 24 26 13 a m 27 16 m 24 26 33 13 ll 16 m 16 23 29 17 29 16 a m 09 m 09 28 16 26 16 m 50 22 28 29 ll 16 zg 21 m 154 m 29 16 a 31 21 a 24 16 14 16 m 43 a m 24 28 18 31 29 17 13 22 42 a 154 a 23 16 m 13 m 28 16 31 21 22 m 23 13 22 m 21 pr 21 26 28 13 22 21 m 160 m a 223 a 159 m 18 22 29 33 13 a 04 a 01 a 19 21 25 14 29 m 45 22 06 m a 24 28 15 29 26 16 m 13 a 33 21 a 15 21 14 29 25 14 13 m 22 29 24 18 16 24 26 13
토큰 442개: 두 자리 부호군 295개(서로 다른 것 36개), 세 자리 부호군 13개(100 113 120 123 151 154 157 159 160 223), m 56개, a 52개, ll 7개, zg 5개, fi 4개, lu 3개, pr 2개, th 2개, 그리고 o, p, n 각 1개.
풀기 전에 이미 세 가지가 보인다. 숫자 12부터 33까지(30은 한 번도 나오지 않는다)가 숫자 토큰 308개 가운데 265개를 차지하며, 그 빈도 — 35, 35, 29, 27, 이어서 18, 17, 17, 15, 13, 10, 9, 9, 7, 7, 5, 4, 4, 2, 2, 1, 1 — 는 그 길이의 단일 문자 치환 이탈리아어 텍스트의 빈도 그대로다(e a i o는 각각 30개 안팎, n l r t s c d는 10개에서 18개). 부호군 01–09와 40–50은 글자이기엔 너무 드물고, 모음 동음자이기엔 너무 고르게 드물다. 그리고 전체의 4분의 1을 차지하는 글자 a와 m은 글자일 수 없다. 기호로 취급하면 둘 다 같은 모음으로 수렴하는데, 이탈리아어 텍스트에서는 있을 수 없는 일이므로 이들은 허자다. 해독문에서 이들은 단어 끝에 놓이는데, 단어마다 하나씩 떨어뜨려 두는 서기의 습관이다.
02 키 복원
- 숫자만으로 한 5-gram 담금질(허자는 빼고, 텍스트는 세 자리 코드에서 끊고, Lucca 편지를 위해 만든 이탈리아어 모델 사용): 시드 여섯 개가 서로 일치하지 않지만, 하나는 이미 avere, questa, un caricato, aiuto, subito, bene를 읽어 낸다. 자주 나오는 숫자 열아홉 개에 서로 다른 글자를 강제해도 도움이 되지 않는다. 5-gram 253개로는 모델이 e t r s 뒤범벅을 선호한다.
- 유니그램 단어 분할 채점기는 di la il di la로 퇴화한다. 폐기했다.
- 5-gram과 사전 적용률: 언어 모델 점수에, 세 글자 이상의 어휘집 단어가 덮는 글자 하나마다 1 nat를 더하고, 교환은 자주 나오는 숫자에 한정하며, 드문 부호군에는 글자를 자유롭게 둔다. 무작위 키에서 시작한 시드 여섯 개 가운데 두 개가 같은 키로 수렴한다(−371과 −409). 1단계의 결과를 시드로 주면 세 시드 모두 그 키에 도달한다. 그 단계에서 해독문은 … un caricato d olmi. ad uno gli … suoi figlio hauendo io saputo in corte … uolonta di re … stata messa in esecutione … queste maesta ho stimato oficio … uoto seruitore io le so non suplicare … a uoler fare … prima … subito a me benigna risposta였다.
- 대조 실험. 같은 목적 함수를 암호문을 세 번 뒤섞은 것에 적용하면 최고 점수가 −843, −865, −893에 그치며, 원래 순서에서는 −371이다.
- 알파벳은 순서대로다. 수렴한 키는 a b c d e f g h i l m을 13 15 17 19 21 23 25 27 29 31 33에, n o p q r s t u를 14 16 18 20 22 24 26 28에 놓는다. 담금질 솔버로서는 이를 알 길이 없었다. 이것으로 한 번씩만 나온 두 숫자도 정해진다. 32는 z이고(짝수 계열이 u x z로 이어진다), a 바로 아래인 12는 알파벳 밖의 기호다.
- 나머지는 문맥으로. 드문 기호마다 모든 출현을 나열하고, 그 전부에 맞는 단 하나의 값을 주었다: zg = r(rico·rdo, Nicolspu·rg, confe·rire, servito·re), lu = d(ricor·do, a·d uno, desi·derano), fi = n(ho·nori, inte·ntione, in), ll = t(al·tri, sta·ta, ques·te, servi·tore), th = l(Nico·lspurg, ta·l), pr = ff(fece, e·ffetuare); 01 si, 05 non(ca·non·icato, non è), 06 ne, 09 de, 40과 46 con, 41 al, 42 la, 43 di, 44 de, 45 da, 47 che, 50 se. 하나씩 있는 o, p, n은 그것만 빼면 완전한 단어 안에 있으므로 허자나 전사 실수로 본다.
03 키
| 13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 33 | 14 | 16 | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 32 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| a | b | c | d | e | f | g | h | i | l | m | n | o | p | q | r | s | t | u | [x] | z |
| 27 | 2 | 9 | 7 | 29 | 7 | 4 | 4 | 35 | 9 | 10 | 13 | 35 | 5 | 2 | 17 | 17 | 15 | 18 | 0 | 1 |
| ll | th | zg | lu | fi | pr | 01 | 05 | 06 | 09 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 50 | a m |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| t | l | r | d | n | ff | si | non | ne | de | con | al | la | di | de | da | con | che | se | 허자 |
| 7 | 2 | 5 | 3 | 4 | 2 | 4 | 2 | 3 | 3 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 3 | 3 | 108 |
세 번째 행: 출현 횟수. 미확인: 12(존칭 주어, V.S.?), 03(부사), 04(접속사), 그리고 단어 코드 100 113 120 123 151 154 157 159 160 223. 겹글자 ll, zg, th 등은 평문의 이중 글자가 아니다. 이것들은 t r l d n f, 즉 서기가 가장 변화를 주고 싶어 하는 자음들에 대한 키의 대체 기호다.
04 해독
Mi ricordo che, fra li altri honori che [12] mi fece in Nicolspurg, mi confido d’hauer dato intentione a questa Serenissima [100] [113] de uoler conferire un canonicato d’Olmiz ad uno de li [123] suoi figli; hauendo io [03] saputo in [160] corte che tal uolontà di [120] non è [151] stata messa in essecutione, sì [154] desiderano [157] queste Maestà, ho stimato oficio de deuoto seruitore, [154] io le sono, di suplicarla, [154] fo, a uoler far effetuare [160] [223] [159], prima [04] si degni darne subito a me benigna risposta.
[각하께서] Nikolsburg에서 제게 베풀어 주신 여러 영예 가운데, 저는 [각하께서] Olmütz의 참사회원 자리를 [그분의] 아들 가운데 한 명에게 수여하실 뜻이 있음을 이 지극히 고귀하신 [왕비]께 분명히 알려 드렸다고 확신하는 일을 기억합니다. [그 뒤] [이] 궁정에서 [각하의] 그 뜻이 이 두 폐하께서 바라시는 대로 [아직] 실행되지 않았다는 것을 알게 되었기에, 저는 [그분께] 헌신하는 종으로서, 지금 그렇게 하듯이, [이 …]를 실행해 주시기를, [혹은] 우선 제게 곧바로 그에 관한 너그러운 답을 주시기를 간청하는 것이 도리라고 판단했습니다.
- 다른 번역(2026년 9월 30일 추가): 암호에는 강세 표시가 없으므로, mi confido, 즉 ‘나는 확신한다’는 똑같이 mi confidò, 즉 ‘[각하께서] 내게 털어놓으셨다’일 수도 있다: “[각하께서] Nikolsburg에서 제게 베풀어 주신 여러 영예 가운데, [각하께서] Olmütz의 참사회원 자리를 [그분의] 아들 가운데 한 명에게 수여하실 뜻을 이 지극히 고귀하신 [왕비]께 알려 드렸다고 제게 털어놓으신 일을 기억합니다.” 이쪽이 더 잘 맞는다고 볼 수 있다. 참사회원 자리를 수여하겠다는 뜻을 왕비에게 알린 사람은 그것을 수여할 수 있는 사람, 곧 주교여야 하며, 그러면 그 털어놓음이 “영예” 가운데 하나가 된다. 그렇지 않으면 이 “영예”는 문장 안에서 대상이 없다.
- 암호화된 그대로의 철자: Seerenissima(21이 두 번이거나 실수), stmato(i 없음), ffece, oficio, suplicarla, effetuare, essecutione, Olmiz, Nicolspurg. 홑자음과 essecutione는 1627년에 흔하다. 처음 두 개는 이미지를 봐야 한다.
- 해독이 아니라 문맥에서 추론한 풀이: 세 번 나오는 [154]는 come(sì come desiderano, come io le sono, come fo), 두 번 나오는 [160]은 questa(in questa corte, effettuare questa …), [151]은 ancora, [120]은 수신인의 칭호, [100] [113]은 왕비의 칭호, [123]은 Serenissimi. [157], [223] [159], 03, 04는 미정이다.
- 모든 부호군을 추측으로 채운 편지 전체(2026년 9월 30일 추가; 괄호 친 단어는 모두 등급 I로, 문맥에서 추론했을 뿐 해독된 것은 없다): Mi ricordo che, fra li altri honori che [V.S.] mi fece in Nicolspurg, mi confido d’hauer dato intentione a questa Serenissima [Regina …] de uoler conferire un canonicato d’Olmiz ad uno de li [Serenissimi] suoi figli; hauendo io [poi] saputo in [questa] corte che tal uolontà di [V.S. Ill.ma] non è [ancora] stata messa in essecutione, sì [come] desiderano […] queste Maestà, ho stimato oficio de deuoto seruitore, [come] io le sono, di suplicarla, [come] fo, a uoler far effetuare [questa] [sua] [promessa], prima [però] si degni darne subito a me benigna risposta. “… [각하의] [이] [약속]을 실행해 주시기를, [그러나] 우선 제게 곧바로 너그러운 답을 주시기를.” 03 = poi와 04 = però(prima però, ‘그러나 우선’)는 새로 넣은 것이다. [157](sommamente나 concordemente 같은 부사)은 미정으로 둔다. [100] [113]은 부호군 두 개이며, 두 번째는 이름이거나 di Polonia일 수 있다.
- 세 자리 코드가 알파벳 순서인지 시험해 보았으나(2026년 9월 30일) 입증되지 않았다. 만약 그렇다면 154의 come 때문에 c로 시작하는 단어들이 150 근처에 와야 하고, Regina(100), Serenissimi(123), ancora(151), questa(160)는 모두 제자리를 벗어난다. 알파벳 순서의 읽기도 가능하기는 하다: 160 cotesta(‘in cotesta corte’, 수신인의 궁정; ‘effettuare cotesta …’), 159는 come와 cotesta 사이의 co 단어(concessione, cortesia), 157은 con 단어, 151은 come 앞의 c 단어, 120과 123은 b 후반이나 c 초반(편지가 Dietrichstein이 아닌 다른 사람에게 쓴 것이라면 120 Cardinale가 ‘tal uolontà di [120]’에 맞을 것이다), 100과 113은 a–b 단어. 그러나 두 자리 음절(01–09, 40–50)은 알파벳 순서가 아니고, 확인된 코드 값은 하나도 없으며, 여기 있는 어떤 것도 두 풀이 집합 사이에서 결정을 내리지 못한다. 키 묶음에는 이를 결정할 수 있는 인접 기록이 있다. DECODE R1409(f. 178, 네 쪽, 같은 암호 유형)는 자매 편지일 수 있고, R1392–R1406(ff. 142–169)은 키다. 그 이미지는 DECODE의 로그인 뒤에 있다.
05 배경
Nikolsburg(Mikulov)는 1599년부터 1636년까지 Olmütz 주교이자 모라비아 총독이었던 Franz von Dietrichstein 추기경의 본거지였고, Olmütz 참사회원 자리는 그의 임명권 안에 있었다. 1627년 12월의 폴란드 왕비는 페르디난트 2세의 누이인 오스트리아의 Constance였다. 그녀의 어린 아들들은 바로 이 무렵 성직록을 받고 있었다. Charles Ferdinand는 1625년부터 Breslau 주교였고, John Albert는 1621년부터 Ermland 주교였다. 따라서 이 편지는 황제가 아니라 Dietrichstein에게 보낸, 이탈리아어로 쓰는 대리인의 독촉장으로 읽힌다. 그는 추기경의 약속을 Nikolsburg에서 바르샤바로 전했는데(혹은 mi confidò로 읽으면, 추기경이 직접 왕비에게 그 약속을 했다는 말을 그곳에서 추기경에게 들었는데), 약속은 지켜지지 않았고, 국왕과 왕비는 기다리고 있으며, 그는 참사회원 자리든 답이든 받기를 원한다. 이 문서가 서신 묶음이 아니라 Chiffrenschlüssel 계열에 있는 이유도 이것으로 설명된다. 키와 함께 철해졌던 것이다. 이 가운데 어느 것도 암호 안에 있지 않다. 암호화된 텍스트에는 발신자도 수신인도 이름이 나오지 않으며, 날짜 줄 외에 평문이 있다면 그것은 DECODE 로그인 뒤의 이미지에 있다.
06 방법과 파일
- Tomokiyo의 글에서 가져온 암호문, 그가 제안한 대로 쌍을 묶음. 빈도와 IC 확인(
targets/warsaw/ct.txt). - 숫자에 대한 5-gram 담금질 솔버, 글자를 기호로 취급한 경우와 아닌 경우(
targets/warsaw/solve.py,solve2.py). - 이탈리아어 말뭉치에서 만든 어휘집과 단어 분할 채점기(
targets/warsaw/wordsolve.py). - 수렴한 5-gram + 적용률 담금질 솔버와 뒤섞은 대조 실험(
targets/warsaw/combo.py). - 최종 키와 디코더(
targets/warsaw/decode.py,plaintext.txt).
확인한 것: 토큰 수, 무작위 시작과 시드 시작에서의 수렴, 뒤섞은 대조 실험 세 번, 알파벳 순서, 모든 드문 기호의 모든 출현과 그 값의 대조, 전체에 걸친 단어 수준의 이탈리아어. 확인하지 않은 것: 필사본 이미지, 발신자, 수신인, 단어 코드. §05의 귀속은 추론이므로 되풀이하기 전에 검증해야 한다.
07 출처
- S. Tomokiyo, “Variable-Length Numerical Code in Austrian Archives”(cryptiana), 그리고 “Unsolved Historical Ciphers”(cryptiana), 독일 부문.
- DECODE 기록 R1408, ÖStA HHStA Staatskanzlei Interiora, Chiffrenschlüssel Kt. 14 Fasc. 20 f. 176.
- Dietrichstein, Olmütz, Nikolsburg, 그리고 오스트리아의 Constance의 아들들에 대해서는 표준 참고 자료(Catholic-Hierarchy; Wikipedia 문서 Franz von Dietrichstein, Constance of Austria, Karol Ferdynand Vasa, John Albert Vasa)를 날짜 확인용으로만 참조했다.
분석 스크립트와 암호문은 저장소에 있다(targets/warsaw/).