Провалля і маятник (Збірник) - Едгар Аллан По
— Але ви таки його розгадали?
— І досить легко. Я розгадував загадки, у тисячі разів складніші за цю. І обставини, і певна внутрішня схильність призвели до того, що я завжди цікавився такими загадками, і хочу вам сказати ось що: дуже сумнівно, що людська винахідливість здатна створити загадку, яку не можна буде розшифрувати завдяки тій-таки людській винахідливості, якщо правильно нею скористатися. Взагалі, щойно я відновив на пергамені літери, я уже навіть не замислювався про те, чи важко буде їх прочитати.
В нашому випадку, як і в усіх випадках таємного письма, перше питання стосується мови шифру, адже принципи розв’язання шифрів, особливо не надто складних, базуються на принципах мови, котрою складаються, і саме мовою і відрізняються. Загалом при розгадуванні шифрів не лишається нічого, як експериментувати (керуючись принципами вірогідності), підставляючи всі можливі мови, відомі дешифрувальнику, аж доки не знайдена буде потрібна. Проте що стосується нашого шифру, тут це питання легко вирішив підпис. Оскільки в підписі був явний натяк на капітана Кідда, в мене й сумнівів не виникало, що шифр складений англійською. Хоча, якби не це, я б радше розглядав як можливі мови іспанську та французьку, позаяк імовірність того, що таємницю хотіли зберегти пірати Іспанських морів,[27] набагато вища. Однак я припустив, що записка складена все-таки англійською.
Як ви бачите, між словами в записці зовсім немає пробілів. Якби поділ на слова був, задача б набагато спростилася. В таких випадках слід починати з порівняння й аналізу найкоротших слів, а коли б попалися слова, які складаються з однієї літери (наприклад, англійський артикль «а» тощо), то припущення б отримало підтвердження. Та оскільки, повторюся, поділу на слова не було, я в першу чергу вирішив виділити найчастіше вживані символи, а також найрідше вживані. Все добре порахувавши, я склав таку табличку: Символ «8» зустрічається 33 рази;
; — 26;
4 — 19;
+і) — 16;
* — 13;
5 — 12;
6 — 11;
!і1–8;
0 — 6;
9і2–5;
:і3–4;
? — 3;
] — 2;
– і. — 1.
В англійській мові найбільше вживаною є літера «е». Далі в порядку зменшення частотності алфавіт розподіляється таким чином: aoidh n rs t uy c f g l m wbkpqxz. «Е» настільки переважає, що практично в кожному реченні, хай якої довжини воно буде, «е» зустрічатиметься найчастіше.
Отже, у нас в руках уже на самому початку роботи є фундамент, на якому ми можемо базувати свої розрахунки, а не просто гадати. Як користуватися цією таблицею, цілком очевидно, проте в нашому випадку ми зможемо скористатися нею тільки частково. Оскільки в тексті шифру найчастіше зустрічається символ «8», вважатимемо, що він відповідає літері «е» англійського алфавіту. На підтвердження цього ми бачимо, що дуже часто в тексті «8» зустрічається двічі поспіль, а в англійській мові «е» подвоюється і справді нерідко — наприклад, у словах meet, fleet, speed, seen, been, agree тощо. В записці таке подвоєння трапляється щонайменше п’ять разів, хоча шифровка зовсім невеличка.
Отож ми вирішили, що «8» — це літера «е». Тепер переходимо до слів. Якщо говорити про слова, то в англійській мові найчастіше вживаним словом є артикль «the», тому нам потрібно шукати, чи не повторюються якісь три символи в однаковому порядку, причому «8» має стояти в кінці. Якщо таке повторення трапиться, то можна з великою вірогідністю припустити, що це і є артикль «the». Уважно вивчивши шифр, я відзначив аж сім випадків, коли повторювалися три символи в однаковому порядку: "; 4 8". Отож можна вважати, що символ";" — це літера "t", символ "4" — це літера "h", а символ "8", як ми вже визначили і тепер тільки підтверджуємо, це літера "е".
Вирахувавши одне-єдине слово, ми отримали можливість зробити ще один надзвичайно важливий крок: тепер ми здатні будемо визначити початок і закінчення багатьох слів. Візьмімо, для прикладу, передостанній випадок, коли вживається комбінація"; 4 8" — майже наприкінці шифру. Ми знаємо, що символ";", який іде слідом за цією комбінацією, це початок наступного слова, причому з наступних шести літер ми вже можемо підставити п’ять. Отож, зараз я їх запишу, вставляючи літери, які ми вже визначили, й лишаючи прочерк там, де буква нам іще не відома:
t — e e t h.Як бачите, останні дві літери "th" ми можемо зразу відкинути, адже вони точно не належать до слова, яке починається з "t": перевіривши методом підстановки весь алфавіт, можна впевнитися, що неможливо, заповнивши порожнечу, створити слово, до якого б належало це "th". Отож його можна відкинути, і тоді наше слово зменшується до
t — e e,і якщо ми не здогадалися одразу, можемо знову методом підстановки перебрати весь алфавіт і з’ясувати, що це слово "tree", тобто "дерево", і нічого іншого тут просто бути не може. Так у нас з’являється ще одна літера — "r", якій відповідає символ "(".
Зразу за цими словами ми за допомогою комбінації "; 4 8" можемо виділити ще одне слово. Ось що ми маємо:
the tree;4(4+?34 the,а якщо підставити всі відомі нам