Основы классической криптологии. Секреты шифров и кодов — страница 38 из 44

Что произвело это необычайное событие? Какие были причины его? Историки с наивной уверенностью говорят, что причинами этого события были обида, нанесенная герцогу Ольденбургскому, несоблюдение континентальной системы, властолюбие Наполеона, твердость Александра, ошибки дипломатов и т. п.»


Все слова текста, напечатанного на этой странице бессмертного произведения великого русского классика, за исключением дат, следует пронумеровать. В результате текст примет следующий вид:


«С(1) конца(2) 1811 года(3) началось(4) усиленное(5) вооружение(6) и(7) сосредоточение(8) сил(9) Западной(10) Европы(11), и(12) в(13) 1812году(14)силы(15)эти(16) — миллионы(17) людей(18) (считая(19) тех(20), которые(21) перевозили(22) и(23) кормили(24) армию(25),) двинулись(26) с(27) Запада(28) на(29) Восток(30), к(31) границам(32) России(33), к(34) которым(35) точно(36) так(37) же(38) с(39) 1811 года(40) стягивались(41) силы(42) России(43). 12 июня(44) силы(45) Западной(46) Европы(47) перешли(48) границы(49) России(50), и(51) началась(52) война(53), то(54) есть(55) совершилосъ(56) противное(57) человеческому(58) разуму(59) и(60) всей(61) человеческой(62) природе(63) событие(64). Миллионы(65) людей(66) совершали(67) друг(68) против(69) друга(70) такое(71) бесчисленное(72) количество(73) злодеяний(74), обманов(75), измен(76), воровства(77), подделок(78) и(79) выпуска(80) фальшивых(81) ассигнаций(82), грабежей(83), поджогов(84) и(85) убийств(86), которого(87) в(88) целые(89) века(90) не(91) соберет(92) летопись(93) всех(94) судов(95) мира(96) и(97) на(98) которые(99) в(100) этот(101) период(102) времени(ЮЗ) люди(104), совершавшие(105) их(106), не(107) смотрели(108) как(109) на(110) преступления(111).

Что(112) произвело(113) это(114) необычайное(115) событием(116)? Какие(117) были(118) причины(119) его(120)? Историки(121) с(122) наивнойМ23) уверенностью(124) говорятМ25), что(126) причинамиМ?7) этого(128) события(129) были(130) обида(131), нанесеннаяМ32) герцогу(133) Ольденбургскому(134), несо6людение(135) контентальной(136) системы(137), властолюбие(138) Наполеона(139), твердость(140) Александра(141), ошибки(142) дипламатов(143) ит.(144) п.(145).


Алгоритм шифрования при использовании простого книжного шифра заключается в том, что цифра 1 обозначает первую букву первого слова, то есть в рассматриваемом примере букву С. Цифра 2 соответствует первой букве второго слова — букве К и так далее. Например, число 38 соответствует букве Ж, а число 81 — букве Ф.

Наблюдательный читатель заметит, что одной и той же букве соответствуют разные числа. Так, например, букве Г соответствуют числа 3,14,32 и др. В этом заключается одно из достоинств книжного шифра. Поскольку одну и ту же букву открытого текста в криптограмме можно заменить разными числами, разгадать такую криптограмму с помощью методов частотного анализа невозможно.

В качестве примера попробуем зашифровать с помощью простого книжного шифра открытый текст СЕКРЕТНОЕ ПОСЛАНИЕ. Итак, если в данном открытом тексте заменить буквы на соответствующие им числа из приведенного выше текста, то полученная криптограмма будет выглядеть так:

1.11.87.33.47.71.107.75.55. 22.134.108.93.25.91.121.120

Для того чтобы расшифровать это сообщение, получатель должен в аналогичной книге на известной ему странице пронумеровать все слова, а затем произвести замену указанных в криптограмме чисел на соответствующие буквы.

Усовершенствованный книжный шифр

При практическом применении рассмотренного ранее простого книжного шифра пользователь, без сомнения, столкнется с одной трудно разрешимой проблемой. Она заключается в том, что в русском алфавите есть буквы, с которых начинается лишь небольшое число слов, таких как, например, буква Ы. Найти такие слова в подавляющем числе книг просто невозможно. В то же время в русском языке практически вообще нет слов, которые начинались бы с таких букв, как Ъ или Ь. Однако незначительное усовершенствование простого книжного шифра позволяет решить эту задачу.

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

Так, например, в приведенном ранее тексте первой страницы первой части третьего тома романа «Война и мир» Л. Н. Толстого число 2–4 соответствует четвертой букве второго слова, то есть букве Ц Таким же образом определяются числа для других букв. Число 46-8 соответствует в данном темпе букве Й, число 134-3 — букве Ь, число 49-7 — букве Ы и так далее.

Теперь, если в открытом тексте СЕКРЕТНОЕ ПОСЛАНИЕ заменить буквы на соответствующие им числа в соответствии с рассматриваемым алгоритмом шифрования, то полученная криптограмма будет выглядеть так:

4–7.48-2.117-1.83-2.89-5.137-4.57-7.101-3.67-4. 48-1.123-6.82-3.74-2.117-2.124-7.119-3.20-2

Расшифровка такой криптограммы для получателя сообщения не представляет труда. Достаточно в аналогичной книге на определенной странице пронумеровать все слова, а затем произвести замену указанных в криптограмме чисел на соответствующие буквы. В то же время несанкционированный пользователь разгадать подобную шифрограмму не сможет.

5.6. Тайны решеток и таблиц

Уже в древние века наши предки для создания шифрованных сообщений использовали специальные системы шифрования, основу которых составляли так называемые решетки, в отдельные клетки которых в определенном порядке записывались буквы алфавита.

Не менее известны и шифры, при применении которых используются специальные таблицы, ячейки которых также заполняются буквами алфавита При этом шифровальные таблицы с одинаковым количеством строк и столбцов получили название квадратов.

Шифры с использованием всевозможных шифровальных таблиц и решеток постоянно совершенствовались и усложнялись. В то же время эти шифры благодаря простоте их составления и применения может использовать даже неподготовленный пользователь.

В зависимости от используемых алгоритмов данные системы шифрования можно разделить на шифры замены и шифры перестановки. При этом среди шифров замены на основе таблиц следует отметить, например, квадрат Полибия, так называемый шифр «Большой крест» и др.

Простая шифровальная таблица

Данный шифр является одним из самых простых. Его основу составляет таблица, ячейки которой заполнены буквами алфавита. Для русского алфавита такая шифровальная таблица может состоять из шести столбцов по пять строк в каждом, которая будет выглядеть следующим образом:

Теперь эту таблицу следует дополнить еще одним столбцом, который заполнен буквами, и строкой, заполненной цифрами. При этом буквы и цифры могут быть абсолютно любыми. Для начала заполним ячейки дополнительной строки цифрами от 1 до 6, а ячейки дополнительного столбца заполним буквами от А до Д.

В итоге шифровальная таблица примет следующий вид:

Правило шифрования заключается в том, что каждую букву открытого текста необходимо заменить на комбинацию буквы и цифры. При этом буква в криптограмме соответствует строке, а цифра — столбцу, на пересечении которых расположена ячейка с соответствующей буквой открытого текста.

Так, например, в данной таблице ячейка с буквой С находится на пересечении строки В и столбца 5. Поэтому при шифровании открытого текста СЕКРЕТНОЕ СООБЩЕНИЕ с помощью рассматриваемого шифра буква С должна быть заменена на сочетание или группу В5. Таким же образом букву Е открытого текста надо заменить на А6, букву К — на Б4 и так далее. В результате шифрования криптограмма примет следующий вид:


В5.А6.Б4.В4.А6.В6.В1 В2.А6. В5.В2.В2.А2.Д1.А6.В1.БЗ.А6.


Для расшифровки такой криптограммы следует использовать точно такую же таблицу с аналогичным расположением букв в ячейках. При этом каждая комбинация буквы и цифры шифрограммы должна быть заменена на букву, расположенную в соответствующей ячейке на пересечении строки и столбца, обозначенных этой буквой и этой цифрой. В рассматриваемом примере вместо комбинации В5 следует записать букву С, вместо А6 — букву Е и так далее, пока не будет расшифрован весь текст.

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

После шифрования открытого текста с помощью приведенного выше алгоритма криптограмма будет состоять из нескольких пар или групп цифр. При этом в каждой группе первая цифра обозначает строку, а вторая цифра — столбец, на пересечении которых расположена ячейка с соответствующей буквой открытого текста.

Так например, в результате шифрования открытого текста СЕКРЕТНОЕ СООБЩЕНИЕ криптограмма примет следующий вид:


35.16.24.34.16.36.31.32.16. 35.32.32.12.51.16.31.23.16.


Расшифровка такой криптограммы заключается в замене пар или групп цифр буквами, находящимися в тех ячейках таблицы, строки и столбцы для которых обозначены соответствующими цифрами.

Таблица с паролем

В приведенных ранее примерах шифров буквы в ячейки шифровальных таблиц вписывались в том порядке, в каком они расположены в алфавите. Естественно, стойкость таких шифров оставляет желать лучшего. Поэтому чаще всего при применении различных шифровальных систем, основанных на использовании таблиц, буквы алфавита в ячейки таких таблиц вписываются в случайном порядке или в соответствии с определенным правилом. Главное, чтобы порядок заполнения ячеек был известен получателю.

Наиболее удобным вариантом будет конечно же тот, когда ячейки заполнены в абсолютно произвольном порядке, а получатель уже имеет готовую таблицу с записанными в ячейки буквами. Однако в этом случае велик риск того, что такая шифровальная таблица может оказаться в руках незаконного пользователя со всеми вытекающими последствиями. Поэтому желательно, чтобы отправитель и получатель сообщения не хранили у себя шифровальную таблицу, а лишь знали, по какому правилу она составляется. При необходимости на основании такого правила всегда можно составить шифровальную таблицу, с ее помощью зашифровать или расшифровать сообщение, а затем эту таблицу уничтожить.