Шифр Бэкона
Превратите сообщение в пятибуквенные группы из A и B или прочитайте такие группы обратно в текст — в исходном 24-буквенном алфавите Бэкона или в современном 26-буквенном. Затем спрячьте код так, как задумывал Бэкон: внутри обычного предложения, где каждая буква набрана одним из двух стилей.
Кодируются только буквы: в алфавите Бэкона нет кодов для пробелов, цифр и знаков препинания.
Спрятать на виду
Идея Бэкона: записать любой безобидный текст двумя стилями. Каждая его буква несёт один символ — обычная для a, второй стиль для b. Пробелы и знаки препинания ничего не несут.
Ваше сообщение, спрятанное в тексте-прикрытии
The roses in the garden have been lovely all week, despite the rain.
Сообщение переносят первые 25 букв текста-прикрытия; остальные остаются обычными.
Чтобы прочитать его, запишите a для каждой обычной буквы и b для каждой набранной вторым стилем, затем расшифруйте группы по пять. Прописные буквы переживают копирование простого текста: вставьте результат в режим «Декодировать» и выберите регистр букв.
Двубуквенный алфавит
A
AAAAA
B
AAAAB
C
AAABA
D
AAABB
E
AABAA
F
AABAB
G
AABBA
H
AABBB
I/J
ABAAA
K
ABAAB
L
ABABA
M
ABABB
N
ABBAA
O
ABBAB
P
ABBBA
Q
ABBBB
R
BAAAA
S
BAAAB
T
BAABA
U/V
BAABB
W
BABAA
X
BABAB
Y
BABBA
Z
BABBB
Код каждой буквы — её место в алфавите, отсчитанное от нуля и записанное в двоичной системе, где a обозначает 0, а b — 1. Буквы вашего сообщения подсвечены.
Как пользоваться шифром Бэкона
- 1. Выберите «Кодировать» или «Декодировать». Кодирование превращает буквы в группы из пяти символов; декодирование читает группы обратно в буквы.
- 2. Выберите алфавит. У Бэкона 24 буквы — I и J имеют один код, и U и V тоже. Версия из 26 букв даёт каждой букве свой код. Расшифровывайте тем алфавитом, которым было сделано сообщение.
- 3. Выберите символы. Традиционны A и B; 0 и 1 показывают код в виде двоичного числа, а свои символы позволяют использовать любые два знака. При декодировании всё, кроме двух символов, игнорируется, поэтому пробелы и переносы строк не имеют значения.
- 4. Спрячьте. Под результатом введите текст-прикрытие и выберите второй стиль. Каждая буква прикрытия несёт один символ, а предпросмотр показывает ваше сообщение, спрятанное внутри.
Как работает шифр Бэкона
Бэкон называл его двубуквенным (biliteral) шифром: каждая буква записывается только двумя символами, a и b, группами по пять. Пять позиций с двумя вариантами в каждой дают 2 × 2 × 2 × 2 × 2 = 32 комбинации. На современном языке каждая группа — это позиция буквы, отсчитанная от нуля и записанная в двоичной системе, где a означает 0, а b — 1: A — aaaaa (0), B — aaaab (1), C — aaaba (2), хотя Бэкон изложил всё это просто в виде таблицы.
| A–H | I/J–Q | R–Z |
|---|---|---|
A aaaaa | I/J abaaa | R baaaa |
B aaaab | K abaab | S baaab |
C aaaba | L ababa | T baaba |
D aaabb | M ababb | U/V baabb |
E aabaa | N abbaa | W babaa |
F aabab | O abbab | X babab |
G aabba | P abbba | Y babba |
H aabbb | Q abbbb | Z babbb |
26-буквенный алфавит совпадает с алфавитом Бэкона от A до I и отличается, начиная с J: там каждой букве нужен собственный код. Выбор имеет значение: JIVE в алфавите Бэкона — это ABAAA ABAAA BAABB AABAA, что декодируется как IIUE, тогда как 26-буквенный алфавит разводит буквы так: ABAAB ABAAA BABAB AABAA.
Пример
В алфавите Бэкона Bacon кодируется как AAAAB AAAAA AAABA ABBAB ABBAA — B, A, C, O, N. Спрятанное в образце текста-прикрытия инструмента, с прописными буквами как вторым стилем, оно выглядит так: the rOses in the GarDEn HaVE been lovely all week, despite the rain. Разложите первые 25 букв по регистру — строчные для a, прописные для b — и пять групп вернутся. Если вторым стилем выбрать полужирный или курсив, те же семь букв просто набираются полужирным или курсивом.
Спрятать сообщение на виду
Группы из a и b никогда не предназначались для того, чтобы ходить в открытую. Бэкон считал, что любые две различающиеся формы могут нести их: два слегка различных шрифта, как он предлагал, или прямой и курсивный, прямостоячий и наклонный, крупный и мелкий. Вписанное в безобидное письмо, сообщение незаметно, если читатель не знает, что буквы нужно разложить на два вида. Поэтому двубуквенный шифр — ранний пример стеганографии: скрывается не только то, что сказано, но и сам факт существования сообщения.
Бэкон опубликовал метод в De Augmentis Scientiarum (1623), написав, что придумал его в юности, находясь в Париже. Почти три века спустя он оказался в центре литературного спора. С 1899 года Элизабет Уэллс Гэллап утверждала, что находит двубуквенные сообщения Бэкона в неровном наборе Первого фолио Шекспира. Уильям и Элизебет Фридман, начавшие карьеру криптоаналитиков в её проекте в лаборатории Ривербэнк в Иллинойсе, позже разобрали такие утверждения в книге The Shakespearean Ciphers Examined (1957) и показали, что ни одно из них не выдерживает проверки.
Взлом шифра Бэкона
Когда два вида букв разложены, взламывать больше нечего: алфавит фиксирован и открыт, и группы читаются напрямую. Единственный секрет — место, где спрятано сообщение, и оно хрупко. Несущие буквы должны быть различимыми и последовательными, поэтому чтения неровного шрифта XVII века и выглядели неубедительно. А если коды перемешать, каждая группа всё равно соответствует одной букве, и частотный анализ довершит дело.
Часто задаваемые вопросы
- Что такое шифр Бэкона?
- Метод, предложенный Фрэнсисом Бэконом: каждая буква превращается в группу из пяти символов, взятых только из двух, записанных как a и b — A это aaaaa, B это aaaab и так далее. Поскольку нужны всего два вида символов, код можно спрятать в любом тексте, где используются два стиля букв.
- Как расшифровать шифр Бэкона?
- Превратите сообщение в строку из a и b, разбейте её на группы по пять и найдите каждую группу в таблице — или вставьте текст a/b в режим «Декодировать», и инструмент сделает это сам. Сначала выберите правильный алфавит: в 24-буквенном оригинале Бэкона I и J имеют один код, и U и V тоже.
- В чём разница между 24-буквенным и 26-буквенным шифром Бэкона?
- Алфавит Бэкона следовал латинской практике его времени: I и J записывались одним кодом, U и V — другим, что даёт 24 кода. В версии из 26 букв у J и V есть собственные коды. Оба алфавита совпадают от A до I, поэтому декодирование не тем алфавитом превращает большинство букв после I в соседние, а Y и Z — в вопросительные знаки.
- Можно ли использовать 0 и 1 вместо A и B?
- Да. Код по сути двоичный: каждая группа — это позиция буквы, отсчитанная от нуля и записанная пятью двоичными цифрами, где a = 0, а b = 1, поэтому C — это 00010, число 2. Выберите 0 и 1 или любые два символа в разделе «Символы».
- Как шифр Бэкона прячет сообщение в тексте?
- Каждая буква обычного текста-прикрытия обозначает один символ: обычные буквы — для a, буквы во втором стиле — для b. Пять букв прикрытия несут одну букву секрета, поэтому прикрытие должно содержать в пять раз больше букв, чем само сообщение. Бэкон предлагал два едва различимых шрифта; инструмент демонстрирует эту идею с помощью полужирного, курсива или прописных букв.
- Прятал ли Бэкон сообщения в пьесах Шекспира?
- Нет убедительных доказательств этого. Утверждения о том, что Первое фолио содержит двубуквенные сообщения, наиболее известно выдвинутые Элизабет Уэллс Гэллап, опирались на разделение неровных печатных букв на два вида на глаз. Уильям и Элизебет Фридман разобрали эти утверждения в 1957 году и не нашли ни одного, которое выдерживало бы проверку.