Шифры.
Сегодня мы познакомимся с некоторыми видами шифров и сами попробуем зашифровывать и расшифровывать сообщения.
Шифр — это способ преобразования текста для передачи секретных сообщений. Тот, кому предназначено сообщение, должен знать секрет (ключ) шифра, чтобы суметь прочитать сообщение.
Как же можно зашифровать сообщение? Во-первых, можно заменить каждую букву сообщения на другую букву или символ. Такие шифры называются шифрами замены. Во-вторых, можно взять все буквы сообщения и поменять их местами. Такие шифры называются шифрами перестановки.
1. Шифры замены.
Числовой шифр.
При числовом шифровании каждая буква заменяется числом, например, номером буквы в алфавите. В таблице показаны буквы и их шифры:
Попробуем зашифровать числовым шифром слово ТЕТРАДЬ. Т заменяется на 20, Е на 6 и т. д. Получаем 20620181530.
Этот шифр кажется очень простым. Однако многие слова расшифровать не так-то просто.
Попробуем расшифровать такое слово: 121181155126. Сложность состоит в том, что в зашифрованном слое нет разделения на шифры букв, поэтому, например, 12 может означать 1 и 2 (буквы А и Б) или 12 (букву К).
В этом случаем мы перебираем все возможные варианты букв и выбираем такое сочетание, чтобы получилось слово.
Про зашифрованное слово 121181155126 можно сказать точно, что в нем нет букв с кодами 81, 55 и 51 (так как букв и кодов в алфавите всего 33). То есть можно разделить слово так: 12118_115_5_126, и одну букву уже точно можно расшифровать: 5=Д.
Посмотрим теперь на сочетание в конце слова: 126. Это 1_2_6 (А_Б_Е), либо 1_26 (А_Ш), либо 12_6 (К_Д). В первом случае слово будет оканчиваться на …ДАБЕ, во втором — на …ДАШ, в третьем — на …ДКШ. Выбираем второй вариант, так как слова, заканчивающихся на …ДАБЕ и …ДКШ вряд ли есть в русском языке.
Итак, получили такое разделение слова на буквы: 12118_115_5_1_26. Разберём последовательность 115 в середине слова. Это может быть либо 1_1_5 (А_А_Д), либо 1_15 (А_Н), либо 11_5 (Й_Д). В первом случае слово заканчивается на …ААДДАШ, во втором — на …АНДАШ, в третьем — на …ЙДДАШ. Более вероятным с точки зрения русского языка является второй вариант, выбираем его.
Далее можно продолжать рассуждать таким же образом и расшифровать первую часть зашифрованного слова. А можно высказать догадку и проверить её. По окончанию …АНДАШ можно догадаться, что зашифровано слово КАРАНДАШ. И действительно, начальная часть шифровки 12_1_18 соответствует буквам КАР. Получили слово КАРАНДАШ.
Телефонный шифр.
Другой интересный шифр: буквы объединяют в группы, как на кнопках клавиатуры телефона, каждую букву заменяют на номер соответствующей кнопки:
Зашифруем этим шифром слово ТЕЛЕФОН, получим такой шифр: 6343755.
Чтобы расшифровать слово, зашифрованное таким шифром, требуется рассмотреть довольно много вариантов последовательностей букв. Поэтому часто к таким шифрам дается подсказка. Например, попробуем расшифровать слово 26682, если известно, что это название фрукта.
Рассмотрим все возможные последовательности букв: первая буква может быть А, Б, В или Г, вторая и третья — Р, С, Т или У, и так далее. Посмотрим на четвертую букву. Скорее всего, букв Щ, Ъ и Ы в названии фрукта нет (по крайней мере, не удается быстро вспомнить такое название). Значит, четвертая буква — скорее всего, Ш. Но тогда последняя — скорее всего, А (слово не может кончаться на ШБ, ШВ, ШГ). Легко вспомнить, что есть название фрукта из 5 букв, заканчивающееся на ША, — это ГРУША. И действительно, это слово соответствует шифровке. Таким образом, при расшифровке некоторые догадки позволили не перебирать все варианты цепочек букв, а быстро найти ответ.
Шифр Цезаря.
Один из самых известных шифров замены – это шифр Цезаря. При таком шифровании каждая буква алфавита заменяется также буквой алфавита, но с некоторым сдвигом. Чтобы зашифровать сообщение, мы выписываем алфавит и выбираем величину сдвига. Например, мы выбрали сдвиг 2. Теперь мы записываем алфавит еще раз, сдвигая его на 2 буквы.
В нижней строке таблицы записаны коды букв из верхней строки.
Попробуем теперь зашифровать слово МОЛОКО. М заменяется на О, О на Р и т. д. Получаем ОРНРМР.
А теперь расшифруем слово ХФАЕ. Мы ищем букву шифровки в нижней строке таблицы и заменяем на букву из верхней строки. Если в зашифрованном слове первая буква Х, значит в первоначальном была У. Вместо Ф – Т и т. д. Получаем слово УТЮГ.
Шифр Виженера.
Этот шифр был придуман как усложнение шифра Цезаря. Для того, чтобы зашифровать им сообщение, мы опять выписываем алфавит, а дальше выбираем ключевое слово.
Например, выберем в качестве ключа слово ЕДА. Дальше смотрим сдвиг каждой буквы этого слова от буквы А. У буквы Е сдвиг 5, у буквы Д — 4, у буквы А — 0.
В сообщении, которое нам нужно зашифровать, первую букву шифруем шифром Цезаря со сдвигом 5, вторую — со сдвигом 4, третью — со сдвигом 0, четвертую — опять со сдвигом 5, пятую — со сдвигом 4, шестую со сдвигом 0 и т. д.
На практике это выглядит так.
Зашифруем слово КОМНАТА. Сначала выпишем над ним наше ключевое слово.
Теперь ищем шифр для К в синей строчке таблицы, шифр для О в зеленой строчке таблицы и т. д. Получаем ПТМТДТЕ.
2. Шифры перестановки.
Анаграмма и биграмма.
Анаграмма — это слово, образованное из исходного слова перестановкой букв. Иногда в этом случае получается новое слово, а иногда просто набор букв.
Вот примеры анаграмм (слева исходное слово, справа — анаграмма):
- динозавр — ардовзин,
- коршун — шнурок,
- арбуз — рузба.
Расшифровать анаграммы бывает довольно сложно, особенно если зашифрованы длинные слова. Нет единых правил расшифровки анаграмм. Но это умение можно тренировать, играя в разные игры по составлению слов (например, в «Эрудит»).
Биграмма — более простой вид анаграмм. В исходном слове буквы делят на пары и в парах меняют местами.
Например:
- паровоз — апоровз,
- листопад — илтспода,
- скороговорка — ксроговороак.
Расшифровать биграмму довольно просто: нужно так же разбить буквы в зашифрованном слове на пары и поменять их местами.
Попробуем расшифровать слово АКЕЛДЙСООКП. Разделим буквы на пары: АК_ЕЛ_ДЙ_СО_ОК_П. И поменяем в парах местами: КА_ЛЕ_ЙД_ОС_КО_П. Получили КАЛЕЙДОСКОП.
Табличные шифры (маршрутной и вертикальной перестановки).
При таком шифровании используется таблица.
Зашифруем, например, фразу ЗАЯЦ ЖИВЁТ В ЛЕСУ с помощью таблицы. Количество клеток таблицы должно быть равно или чуть больше количества букв в сообщении. В нашей фразе 14 букв (пробелы между словами не считаем). Для шифрования нужно выбрать таблицу, в которой будет 14 и чуть больше клеток. Например, мы можем выбрать таблицу 2х7, 3х5 или 4х4.
Будем использовать для нашей шифровки таблицу 4х4. Начертим ее и запишем фразу в таблицу по строкам. Пустые клеточки заполним символами «-«.
Выпишем теперь буквы по столбцам. Получаем ЗЖТСАИВУЯВЛ-ЦЁЕ-. Сообщение зашифровано. Такой метод шифрования называется методом маршрутной перестановки.
Можно еще больше усложнить шифр. После того, как мы записали сообщение в таблицу, выберем ключ, состоящий из номеров столбцов, например (4, 2, 1, 3) и переставим столбцы в соответствии с этим ключом (то есть первым поставим столбец 3, вторым — столбец 2, третьим — столбец 4, четвертым — столбец 1):
Теперь выпишем буквы по столбцам. Получаем шифровку ЯВЛ-АИВУЦЁЕ-ЗЖТС. Этот метод шифрования называется методом вертикальной перестановки.
Расшифруем теперь фразу АНТНЕОТСРОТТ, если известно, что она была записана в таблицу 3х4 по строкам, а потом выписана по столбцам. Чтобы расшифровать, нам надо сделать все в обратном порядке – записать по столбцам, а выписать по строкам.
Получаем АНТОН ЕСТ ТОРТ.
Иногда про шифровку известно лишь то, что она получена с помощью табличного шифра, но размер таблицы неизвестен. В этом случае нужно постараться подобрать подходящую таблицу для расшифровки. Можно пересчитать буквы в зашифрованном сообщении и предположить, таблицу какого размера использовали для шифрования. Возможно, придется рассмотреть несколько вариантов таблиц, один из которых приведет к расшифровке сообщения.
Расшифруем фразу ОЁЕККОБТДОИСОПУЛДЛ, если известно, что она зашифрована методом вертикальной перестановки с помощью таблицы 3х6 и ключа (2, 4, 6, 1, 3, 5). Начертим таблицу и впишем в нее шифровку по столбцам:
Теперь переставим столбцы в соответствии с ключом. Как мы видим по ключу, первым выписан столбец, который изначально был четвертым, вторым — тот, который изначально был первым, третьим — тот, который изначально был пятым, и так далее. Восстановим изначальный порядок столбцов:
Теперь читаем фразу по строкам, получаем: КОЛОБОК ИДЁТ ПО СЛЕДУ.