Класс шифров замены выделяется тем свойством, что для получения криптограммы отдельные символы или группы символов исходного алфавита заменяются символами или группами символов шифроалфавита.
В шифре простой замены происходит замена буквы на букву, т.е. устанавливается попарное соответствие символов исходного алфавита с символами шифроалфавита.
Например, в рассказе Эдгара По «Золотой жук» пиратский капитан Кидд в своей шифровке вместо букв a, b, c, d, e, f, g, h, i
писал соответственно 5, 2, -, +, 8, 1, 3, 4, 6, 0, 9
. В «Пляшущих человечках» Артура Конан-Дойла бандит Слени использовал шифр, где буквы заменялись схематическими человеческими фигурками в разных позах.
В практической криптографии при создании шифра простой замены в качестве шифроалфавита берется исходный алфавит с измененным порядком букв (алфавитная перестановка). Чтобы запомнить новый порядок букв, перемешивание алфавита осуществляют с помощью пароля – слова или нескольких слов с неповторяющимися буквами. Шифровальная таблица состоит из двух строк. В первой записывается стандартный алфавит открытого текста, во второй же строке, начиная с некоторой позиции, размещается пароль (без пробелов, если они есть), а после его окончания перечисляются в обычном алфавитном порядке буквы, в пароль не вошедшие. Если начало пароля не совпадает с началом строки, процесс после ее завершения циклически продолжается с первой позиции. Ключом шифра служит пароль вместе с числом, указывающим место начальной буквы пароля. Например, таблица шифрования на ключе 7 п о л я р н и к
имеет вид
а | б | в | г | д | е | ж | з | и | й | к | л | м | н | о | п |
щ | ъ | ы | ь | э | ю | п | о | л | я | р | н | и | к | а | б |
р | с | т | у | ф | х | ц | ч | ш | щ | ъ | ы | ь | э | ю | я |
в | г | д | е | ж | з | й | м | с | т | у | ф | х | ц | ч | ш |
При шифровании каждая буква открытого текста заменяется на стоящую под ней букву. В рассматриваемом примере указание никогда не рассекречивай открытый текст в его истинной формулировке можно представить в виде криптограммы КЛРАЬ ЭЩКЮВ ЩГГЮР ВЮМЛЫ ЩЯАДР ВФДФЯ ДЮРГД ЫЮЬАЛ ГДЛКК АЯЖАВ ИЕНЛВ АЫРЮУ
. Здесь, как это часто делается, текст разбит на пятибуквенные блоки, в конце, для завершенности, добавлена незначащая буква.
Криптоанализ шифров простой замены осуществляется с помощью частотных характеристик языка открытых текстов.
Известно, что в русском тексте длиной 10 000 знаков буква О встречается в среднем 1047 раз, Е – 836, А – 808, Н – 723, И – 700, Т – 625, Р – 584, В – 569, С – 466.
Поэтому, если в достаточно длинной криптограмме какая-то буква оказывается безусловным лидером по числу вхождений, есть основание предполагать, что она заменяет О. Блестящим примером частотного криптоанализа являются рассуждения Леграна, героя рассказа «Золотой жук», прочитавшего шифрованное указание о месте сокрытия пиратского клада, и выводы (в подлиннике) Шерлока Холмса в Деле Пляшущих Человечков. Заметим, что в английских текстах самыми частыми являются (в порядке убывания) буквы е, t, a, o, i, n, s, r.
Для увеличения стойкости подстановочных шифров используют различные методы, скрывающие частотные соотношения языка. Рассмотрим несколько известных приемов. Шифры названы историческими именами использовавших их агентов.
- | 123456789 |
---|---|
4, 5, 6, 7, 8, 9 | a s i n t o e r |
2, 3 | b c d f g h j k l |
1 | mpquvwxyz |
Во второй строке таблицы записаны самые частые английские буквы (65% всех букв в текстах) в виде мнемонической (для запоминания) фразы a sin to er(r)
– «грех ошибаться». Далее оставшиеся буквы перечисляются в алфавитном порядке с пропуском букв из второй строки. Заметим, что, за счет только изменения порядка букв во второй строке, можно получить 40320 различных таблиц. Шифрование производится заменой каждой буквы на двузначное число, составленное из номера строки и номера столбца, где находится эта буква. При этом буква может выступать в криптограмме в нескольких вариантах. Например, 41, 51, 61, 71, 81, 91
– образы одной и той же буквы a
. Понятно, что, глядя на криптограмму, невозможно установить, как же в ней «спрятана» та или иная из самых частых букв.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
с | е | н | о | в | а | л | |||
8 | б | г | д | ж | з | и | й | к | м |
9 | р | т | у | ф | х | ц | ч | ш | щ |
0 | ы | ь | э | ю | я | ∙ | / |
Буквы, стоящие во второй строке таблицы (они дают 45% букв в русских текстах), при шифровании заменяются стоящими над ними цифрами, остальные буквы – двузначными числами «строка-столбец». Косая черта – знак начала и окончания числового массива в открытом тексте (цифры при шифровании сохраняются).
Английский алфавит записан в таблицу 5×5
с паролем в данном примере eighty four
– «84» (буква j
в открытых текстах всюду заменялась на i
). Открытый текст разбивается на блоки длины 4.
e | i | g | h | t |
y | f | o | u | r |
a | b | c | d | k |
l | n | n | p | q |
s | v | w | x | z |
Первая буква каждого блока заменяется на своего верхнего соседа в таблице («север»), вторая – на правого («восток»), третья – на нижнего («юг»), четвертая – на левого («запад»).
Перестановочные шифры. | Блочные шифры. |