Шифр Эдгара Аллана По

Dec 02, 2008 14:36

Раз уж я тут наобещал про шифр рассказать, то держите:


(Большая картинка здесь http://www.bokler.com/pix/eapoe_crypto_ltr.jpg)


Появление первого в истории шифра принято относить чуть ли не к четвертому тысячелетию до н.э. Но мы не будем забираться так далеко, вспомним Юлия Цезаpя, который пользовался более менее систематическим шифром, названным впоследствии его именем. Цезарь просто сдвигал буквы на определенное расстояние. На этом развитие шифрования с упадком европейской цивилизации надолго закончилось. Всякие там решетки Кардано и пр. появятся лишь полторы тысячи лет спустя.
Простые же подстановочные шифры станут модными в литературе - "Пляшушие человечки" Конан Дойла, "Золотой жук" По и т.д.

В 1839 году большой любитель шифров Эдгар По бросил "криптографический вызов" в еженедельнике Alexander's Weekly Messenger. По утверждал, что прочитает любые шифрованные послания, которые пришлют читатели журнала. И, действительно, щелкал подстановочные шифры как орешки. В мае 1840 года в статье в Graham's Magazine По написал, что решил около ста задач, присланных ему. Вот в этот момент Эдгар По и получил две шифровки от читателя, некоего W.B. Tyler'а , которые По разгадать не смог.

Шифры так и оставались неразгаданными 150 лет, пока, наконец, в 1992 году профессор Terence Whalen из университета Иллинойса не разгадал первый. Шифр, кстати говоря, был очень простой, и в 2000 году, когда я его впервые увидел, раскрывался элементарной автоматической программой секунд за двадцать. Представлял он собой простой моноалфабетик, а-ля "пляшушие человечки" им. Шерлока Холмса, только написан был задом наперед и без промежутков. Второй шифр был явно сложней.

Кок оказалось, его уже разгадывали несколько лет, а в 1998 году профессор Rosenheim пообещал $1500 тому, кто шифр раскроет (http://www.bokler.com/eapoe.html). Никто поначалу не смог. Создавались международные группы любителей в интернете и фидо, обменивались мыслями и кодами программ. Ставка уже поднялась до $2500. Безрезультатно.

Вообще говоря, выглядело это странно. Где же все те знаменитые дешифровальщики, раскусившие в свое время "энигму"? Куда они подевались? Люди пишут многотомные монографии по криптографии, но никто не может разгадать простой любительский ребус?

Одни стали думать, что шифр - обманка, другие считали, что он написан на французском, третьи искали сетку для накладки, четвертые видели квадрат Виженера... Вопрос завис.

На самом деле, для того, чтобы разгадать шифр, нужно было только принять следующие постулаты (исходя из того, что это просто ребус, присланный в журнал, а не послание марсианский цивилизации):
1. это не подколка и не фейк
2. промежутки реально разделяют слова
3. шифр явно полиалфабетик
4. язык - английский (если мы считаем, что это действительно просто ребус для журнала По от читателя, то вряд ли он написан на суахили)
При этом главная сложность -
1. опечатки (они всегда присутствуют в таких ребусах, но здесь их будет явно больше из-за следующего пункта)
2. Сложность трактовки знаков. Скажем, "о", "Н", "s" и т.п.. - это прямое или вверх ногами? А "d" - это действительно "d" или «p» вверх ногами? А "n" - это, может быть, "u"? И т.д. Причем в основном ошибиться мог изначально наборщик (ну не привык он, естественно, буквы вверх ногами печатать), так что смещение строк на картинке - ненадежная подсказка (на практике все оказалось еще хуже - наборщик ошибался и там, где особого повода, кроме невнимательности, не было).

Исходя из этого, я тогда от безделья решил шифр поразгадывать. Оставалось только закодировать буквы.
(напр, "D" - d1, "d" - d2, "D"(заглавное маленькое) - d3, те, что вверх ногами d4, d5, d6 соответственно)
Получалась примерно такая фигня (лень форматировать промежутки):

d1 r2 l4 i3 k6 o1 g1 x1 e1 w1 p1 f6 h6 f1 y3 y6 n2 b4 u1 h1 t4 i1 a1 v1 q1 s4 m1 g4 q5 x2 d2 t1 b3 j3 s2 s1 n1 b1 c2 s3 a4 l1 n4 k1 g6 y1 q4 j4 c1 p1 t2 v4 o2 l3 h1 l5 z1 g2 u2 c5 c4 l2 t5 t6 k4 r6 f3 p5 r4 n5 d4 d5 q5 l1 v5 w4 o1 h3 j3 f2 x4 i4 k5 f4 r4 i6 g3 y5 h2 y6 m4 e2 e6 t1 a3 q1 j2 e5 t2 b1 x1 p1 e3 e1 y3 g1 w5 d3 u1 p4 b4 v4 s4 t4 a1 v4 a6 u6 a5 z4 t2 c2 g4 d1 y1 r1 c4 d2 h2 b2 y4 f1 k1 x2 d2 g2 f3 z1 c5 n1 s3 m2 e2 t5 l2 r4 k6 o4 r5 t6 o2 j2 n5 r6 z2 q4 h3 m1 j6 g2 w2 c5 v1 i6 e3 g2 x1 h2 b1 a4 m6 l1 n2 k5 u5 a1 f2 k2 s5 o1 i3 y3 b2 j4 d1 v1 b3 e5 f5 f3 s3 g3 f4 l4 p4 l5 s1 p2 z4 l3 c1 e1 m4 n2 s1 w1 b3 g1 e3 r2 t5 h3 a3 n1 j3 m3 y5 s3 e6 a4 y6 h6 t4 a6 v5 y4 a3 k3 t6 x1 d1 i1 x2 w5 g6 j4 c1 p4 j2 e4 r6 k1 o3 f1 q4 a1 r4 l4 n2 d4 o1 t1 y2 k6 c2 r3 o4 r5 t6 d5 j2 t2 b1 g4 p1 s1 e1 b1 d5 n4 b2 l1 q4 u3 l1 p3 h2 n5 j6 n3 j2 v5 a3 t3 g6 f5 d3 i2 k2 y3 w4 v4 o2 c3 e1 p3 i6 m6 x4 a6 y6 s3 y5 j1 z4 e3 i1 f3 k2 m1 k6 x2 y2 k1 s1 s4 g2 h1 t5 i3 t3 a4 w1 q2 b4 p1 q3 t1 l5 c5 d2 e5 y2 j3 r2 a5 v2 u1 q5 r6 c2 p5 m3 e3 n3 k3 v1 f1 h4 v4 l3 d1 a3 h3 x1 m4 k4 t1 i1 a2 x5 y1 e3 v5 j6 r6 a3 d5 f1 h6 w1 x1 q4 c4 m5 k2 u1 y5 w5 e5 k5 a6 g6 s3 b2 a1 g4 o1 i3 y4 u3 m6 e3 y3 r3 p2 c2 g1 i4 o4 q1 b4 g3 n4 b1 t4 e1 m3 m1 q2 n3 k3 l1 c2 o2 p5 r5 s1 v5 i1 b2 p4 l5 s4 l3 n1 z4 q2 d5 g3 t2 j3 h6 y6 d5 u2 g2 f3 r1 z1 u5 k1 c1 t5 e6 y5 l2 w4 t6 x1 j1 d2 m2 n5 a4 r6 u1 f4 q1 x2 g4 d1 h2 y6 f5 b1 r2 i6 b3 z2 n4 l1 l1 b2 t2 p4 h3 f2 w1 e3 e2 t1 o2 y1 d3 k6 t4 i1 a1 v1 i2 r4 q5 m1 f1 t2 v2 v3 v4 e4 h5 q5 l5 p1 d5 h2 b2 n2 n1 g2 j5 w4 c5 m5 t5 e6 u4 j3 y4 r3 t6 f3 j4 d4 v4 h6 p3 h3 r6 k2 y3 s1 x1 t3 c4 e5 f4 a6 g6 s3 a4 m6 l1 l2 q1 i1 g3 m3 x2 a5 r2 w4 c5 n5 f6 u1 i3 k1 y6 p5 m4 a1 g4 g1 b3 m1 j6 g2 a2 r1 n4 w5 a3 d4 q1 c3 m2 r3 i6 r2 z2 x2 r6 h2 o4 e1 l3 k6 s1 y5 w1 t3 b2 c1 f1 g5 j5 c6 y3 k5 f3 j3 e3 o2 i4 d4 b4 l5 s4 t5 p1 i6 r5 z2 v1 u5 k3 a4 d2 q5 c4 t4 x1 h3 q3 d3 j1 w4 q2 c2 j4 p2 p4 e6 l3 n3 d3 f5 a1 k1 a5 d5 t2 v4 b5 g3 e5 r2 p5 e1 c5 u2 t3 a6 v5 j6 y2 i1 k1 j2 e3 m3 y3 i3 w5 g4 d5 f5

Дальше пишем программку подстановки и ищем.


Теперь нужно было исправить главную проблему шифра - ошибки наборщика (~97% ошибок - буквы-перевертыши). Еще 2% - ошибки заглавных букв и "маленьких заглавных", еще 1% - другие ошибки. Но на этом я тогда отвлекся от задачи. А когда у меня появилось время вернуться к шифру, обнаружилось, что некий программист Gil Broza из Торонто в июне 2000 года шифр уже разгадал. Абидна).

Но недавно, не прошло и восьми лет;), я случайно наткнулся на этот файл и увидел, что шифр Gil Broza тогда разгадал все же не совсем до конца.
Вот его решение:

It was early spring, warm and sultry glowed the afternoon. The very breezes seemed to share the delicious
langour of universal nature, are laden the various and mingled perfumes of the rose and the ­essaerne, the
woodbine and its wildflower. They slowly wafted their fragrant offering to the open window where sat the
lovers. The ardent sun shoot fell upon her blushing face and its gentle beauty was more like the
ryeatia(creation?) of si­e yifd romance or the fairy inspiration of a dream than the actual reality of earth.
Tenderly her lover gazed upon her as her clusterous(clustering?) ringlets were edged(?) by amorous and
sportive zephyrs, and when he perceived(?) the rude intrusion of the sunlight he sprang to draw the curtain but
she softly stayed him. "No, no, dear Charles," she softly said, "much rather you'ld(would?) I have a little sun
than no air at all."
(полный PDF здесь http://www.bokler.com/poe_broza.pdf)

Автор решил все верно, но так и не разгадал семь слов, которые я выделил желтым, (и одно слово в решении - опечатка - gently)
Кроме того неверно еще несколько слов (серый цвет)
Очевидно, дешифровщик не переворачивал буквы, исправляя естественную психологическую ошибку наборщика, а просто подгонял результат наугад.
Но на это уже никто не обращает внимания. Скажем, в книге немецкого автора Klaus Schmeh.
"Codeknacker gegen Codemacher: Die faszinierende Geschichte der Verschlusselung", W3l GmbH, 2007
решение приводится в еще худшем виде:


Ладно "­essaerne" так и не расшифровано, но вот загадочное и неудобное "si­e yifd" из текста просто выброшено, чтобы картинки не портило:) (зато опечатка не исправлена)
Низзя так, несерьезно это. Давайте исправим, перевернув буквы.
Ну вот, к примеру "­essaerne":


Большое "X" - это "Х" вверх ногами, то есть не "R", а "I"
"G" наборщик перепутал аналогично, нужно перевернуть. То есть не "E", а "M"
Добавляем одинокое "J" и получается "jessamine" -"жасмин"



you'ld(would?)
Здесь перевернуто "l", слово все же "would"
Аналогично clusterous(clustering?) - перевернуты две предпоследние буквы (верно - "clustering")
В слове edged(?) перевернуты первые две буквы - "waved" (третья и была "V" изначально, зря автор произвольно заменил)
"shoot fell" - "shone full" (перевернуты последние буквы shoot и предпоследняя fuol)

А вот вам загадка - что же такое непонятное "si­e yifd"?


Кто сможет разгадать?;-)
(подсказка - опять ошибка наборщика, перевернуть надо три буквы)

PS/
Полностью текст должен выглядеть так (вероятно, осталась еще пара ошибок, "creation", например):

It was early spring, warm and sultry glowed the afternoon. The very breezes seemed to share the delicious
langour of universal nature as laden the various and mingled perfumes of the rose and the jessamine, the
woodbine and its wildflower. They slowly wafted their fragrant offering to the open window where sat the
lovers. The ardent sun shone full upon her blushing face and its gentle beauty was more like the
creation of some wind romance or the fairy inspiration of a dream than the actual reality of earth.
Tenderly her lover gazed upon her as her clustering ringlets were waved by amorous and
sportive zephyrs, and when he perceived the rude intrusion of the sunlight he sprang to draw the curtain but
she gently stayed him. "No, no, dear Charles," she softly said, "much rather would I have a little sun
than no air at all."

PS2
В дороге, отвечать на комменты, вероятно слразу не смогу

Previous post Next post
Up