Шифры замены (подстановки)

 

Шифры замены (подстановки) образуются с помощью замены знаков от­крытого текста другими знаками или символами в соответствии с определен­ным правилом (ключом). С одним из таких шифров многие из нас впервые познакомились еще в детском возрасте, когда зачитывались захватывающими расследованиями знаменитого сыщика Шерлока Холмса. В рассказе А. Ко­нан-Дойля «Пляшущие человечки», например, описывается как шифруются и расшифровываются тексты с помощью шифра замены. В этом шифре каждой букве алфавита соответствует изображение пляшущего человечка. Используя этот шифр можно произвести шифрование открытого текста, приведенного выше. В результате мы получим целый ансамбль пляшущих человечков, кото­рый изображен на рис. 5.13. Такой шифр имеет невысокую криптостойкость и, как видно из текста книги мастера детективов, может быть быстро расшиф­рован даже без использования какой-либо вычислительной техники.

В отличии от этого простейшего шифра, большинство современных шиф­ров практически неврзможно расшифровать, то есть не существует вычисли­тельных средств, способных в приемлемые сроки осуществить перебор воз­можных вариантов или эффек­тивных алгоритмов, позволя- __ . ,- . . •-_ v-/ ющих значительно сократить Y, ~Т~ Jr ~t i ~T~ fjTTl заседание указанные переборные алго­ритмы.

 

 

Рисунок 5.13 Открытый текст, закодированный шифром «Пляшущие человечки»

 

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

 

 

Рис. 5.14. Шифрование с использованием двоичного кода

 

 

называется одноалфавитным (моноалфавитным). Когда же используются два и более шифроалфавитов, шифр называется многоалфавитным (поли­алфавитным).

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

При первом способе символы исходного текста, замененные цифровыми эквивалентами, (например, А — 32, Б — 27, В — 22 и т. д.), складываются по модулю К, где К — число символов в алфавите, с ключом (гаммой).

При втором способе символы исходного открытого текста и ключа (гам­мы) представляются в виде двоичного кода, а затем складываются поразряд­но друг с другом по модулю 2. Наглядно это представлено на рис. 5.14. Допус­тим, что необходимо зашифровать слово «КРОНА», каждая буква которого имеет эквивалент в виде двоичного кода. Используя ключ (гамму), например 1001, произведем его сложение по модулю 2 с двоичными кодами букв. В результате получается последовательность, состоящая только из 0 и 1. Вос­становление исходной последовательности заключается в обратном сложе­нии по модулю 2 исходного ключа и полученной шифропоследовательности.

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