При шифровании в этом полибианском квадрате находили очередную букву открытого текста и записывали в шифртекст букву, расположенную ниже ее в том же столбце. Если буква текста оказывалась в нижней строке таблицы, то для шифртекста брали самую верхнюю букву из того же столбца. Концепция полибианского квадрата оказалась плодотворной и нашла применение в криптосистемах последующего времени.
Шифрующие таблицы Трисемуса. В 1508 г. аббат из Германии Иоганн Трисемус написал печатную работу по криптологии под названием "Полиграфия". В этой книге он впервые систематически описал применение шифрующих таблиц, заполненных алфавитом в случайном порядке. Для получения такого шифра замены обычно использовались таблица для записи букв алфавита и ключевое слово. В таблицу сначала вписывалось по строкам ключевое слово, причем повторяющиеся буквы отбрасывались. Затем эта таблица дополнялась не вошедшими в нее буквами алфавита по порядку.
При шифровании находят в этой таблице очередную букву открытого текста и записывают в шифртекст букву, расположенную ниже ее, в том же столбце. Если буква текста оказывается в нижней строке таблицы, тогда для шифртекста берут самую верхнюю букву из того же столбца.
Пример. Для русского алфавита шифрующая таблица может иметь размер 4x8. Выберем в качестве ключа слово БАНДЕРОЛЬ. Шифрующая таблица примет вид:
Б | А | Н | Д | Е | Р | О | Л |
Ь | В | Г | Ж | 3 | И | И | К |
М | П | С | Т | У | Ф | X | Ц |
Ч | Ш | Щ | Ы | Ъ | Э | Ю | Я |
При шифровании с помощью этой таблицы
сообщения В Ы Л Е Т А Е М П Я Т О Г О
получаем шифртекст П Д К З Ы В З Ч Ш Л Ы Й С Й
Шифр Уинстона. В 1854 г. англичанин Чарльз Уитстон разработал новый метод шифрования биграммами, который называют "двойным квадратом". Свое название этот шифр получил по аналогии с полибианским квадратом. В отличие от полибианского шифр "двойной квадрат" использует сразу две таблицы, размещенные по одной горизонтали, а шифрование идет биграммами (парами), как в шифре Плейфейра. Эти не столь сложные модификации привели к появлению на свет качественно новой криптографической системы ручного шифрования. Шифр "двойной квадрат" оказался очень надежным и удобным и применялся Германией даже в годы второй мировой войны.
Перед шифрованием исходное сообщение разбивают на биграммы. Каждая биграмма шифруется отдельно. Первую букву биграммы находят в левой таблице, а вторую букву - в правой таблице. Затем мысленно строят прямоугольник так, чтобы буквы биграммы лежали в его противоположных вершинах. Другие две вершины этого прямоугольника дают буквы биграммы шифртекста.
Если обе буквы биграммы сообщения лежат в одной строке, то и буквы шифртекста берут из этой же строки. Первую букву биграммы шифртекста берут из левой таблицы в столбце, соответствующем второй букве биграммы сообщения. Вторая же буква биграммы шифртекста берется из правой таблицы в столбце, соответствующем первой букве биграммы сообщения.
Пример. Пусть имеются две таблицы размером со случайно расположенными в них русскими алфавитами.
Ж | Щ | Н | Ю | Р | И | Ч | Г | Я | Т | |
И | Т | Ь | Ц | Б | 1 | Ж | Ь | М | О | |
Я | М | Е | . | С | 3 | Ю | Р | В | Щ | |
В | Ы | П | Ч | Ц | : | П | Е | Л | ||
: | Д | У | О | К | Ъ | А | Н | . | X | |
3 | Э | Ф | Г | Ш | Э | К | С | Ш | Д | |
X | А | 1 | Л | Ъ | Б | Ф | У | Ы |
Рис. Две таблицы со случайно расположенными символами русского алфавита для шифра "двойной квадрат
Предположим, что шифруется биграмма исходного текста ИЛ. Буква И находится в столбце 1 и строке 2 левой таблицы. Буква Л находится в столбце 5 и строке 4 правой таблицы. Это означает, что прямоугольник образован строками 2 и 4, а также столбцами 1 левой таблицы и 5 правой таблицы. Следовательно, в биграмму шифртекста входят буква О, расположенная в столбце 5 и строке 2 правой таблицы, и буква В, расположенная в столбце 1 и строке 4 левой таблицы, т.е. получаем биграмму шифртекста ОВ.
Если обе буквы биграммы сообщения лежат в одной строке, например ТО, то биграмма сообщения ТО превращается в биграмму шифртекста ЖБ. Аналогичным образом шифруются все биграммы сообщения:
Сообщение ПР ИЛ ЕТ АЮ _Ш ЕС ТО ГО
Шифртекст ПЕ ОВ ЩН ФМ ЕШ РФ БЖ ДЦ
Шифрование методом "двойного квадрата" дает весьма устойчивый к вскрытию и простой в применении шифр. Взламывание шифртекста "двойного квадрата" требует больших усилий, при этом длина сообщения должна быть не менее тридцати строк.
2.3. Шифры простой замены
В шифре простой замены каждый символ исходного текста заменяется символами и того же алфавита одинаково на всем протяжении текста. Часто шифры простой замены называют шифрами одноалфавитной подстановки.
Под подстановкой множества М мы подразумеваем взаимно однозначное отображение этого множества на себя
p: М® М
т. е. сопоставление p каждому элементу m из М некоторого образа p(m), причем каждый элемент из М является образом в точности одного элемента.
Ключом шифра является подстановка π в алфавите Zm, определяющая правило замены при шифровании буквы х открытого текста (представленной в виде целого числа, определяемого ее порядковым номером в алфавите) на букву π(х) шифртекста:
π : х → π(х).
Подстановка π является взаимно однозначным отображением из Zm на Zm.
Шифр Цезаря является частным случаем шифра простой замены (одноалфавитной подстановки). При шифровании исходного текста каждая буква заменялась на другую букву того же алфавита путем смещения по алфавиту от исходной буквы на К букв. При достижении конца алфавита выполнялся циклический переход к его началу. Цезарь использовал шифр замены при смещении К = 3. Например, послание Цезаря VENI VIDI VICI (в переводе на русский означает "Пришел, Увидел, Победил"), направленное его другу Аминтию после победы над понтийским царем Фарнаком, сыном Митридата, выглядело бы в зашифрованном виде так:
YHQL YLGL YLFL
В то же время, такой шифр замены можно задать таблицей подстановок, содержащей соответствующие пары букв открытого текста и шифртекста.
Рассматривая алфавит криптосистемы как множество целых Zm, мы можем записать функцию шифрования Еk для k=3 в шифре Цезаря как
Еk : x→ (x + 3) mod m, "xÎ Zm,
где x - числовой код буквы открытого текста; x+3 -числовой код соответствующей буквы шифртекста.
Шифр Цезаря с ключевым словом. Этот шифр также является одноалфавитным. Особенностью его является использование ключевого слова для смещения и изменения порядка символов в алфавите подстановки.
Ключевое слово записывается под буквами алфавита, начиная с буквы, числовой код которой совпадает с выбранным числом k. Необходимо, чтобы все буквы ключевого слова были различны (иначе можно повторяющиеся буквы исключить). Буквы алфавита подстановки, не вошедшие в ключевое слово, записываются после ключевого слова в алфавитном порядке. Получается подстановка для каждой буквы произвольного сообщения.