Классы методов криптографии
Рассмотрим классификацию методов криптографического закрытия.
Шифрование
1.1. ЗАМЕНА (ПОДСТАНОВКА)
1.1.1. Простая (одноалфавитная)
1.1.2. Многоалфавитная одноконтурная обыкновенная
1.1.3. Многоалфавитная одноконтурная монофоническая
1.1.4. Многоалфавитная многоконтурная
ПЕРЕСТАНОВКА
1.2.1. Простая
1.2.2. Усложненная по таблице
1.2.3. Усложненная по маршрутам
АНАЛИТИЧЕСКОЕ ПРЕОБРАЗОВАНИЕ
1.3.1. С использованием алгебры матриц
1.3.2. По особым зависимостям
ГАММИРОВАНИЕ
1.4.1. С конечной короткой гаммой
1.4.2. С конечной длинной гаммой
1.4.3. С бесконечной гаммой
КОМБИНИРОВАННЫЕ МЕТОДЫ
1.5.1. Замена и перестановка
1.5.2. Замена и гаммирование
1.5.3. Перестановка и гаммирование
1.5.4. Гаммирование и гаммирование
Кодирование
СМЫСЛОВОЕ
2.1.1. По специальным таблицам (словарям)
СИМВОЛЬНОЕ
2.2.1. По кодовому алфавиту
Другие виды
РАССЕЧЕНИЕ-РАЗНЕСЕНИЕ
3.1.1. Смысловое
3.1.2. Механическое
СЖАТИЕ-РАСШИРЕНИЕ
Под шифрованием понимается такой вид криптографического закрытия, при котором преобразованию подвергается каждый символ защищаемого сообщения. Все известные способы шифрования можно разбить на пять групп: подстановка (замена), перестановка, аналитическое преобразование, гаммирование и комбинированное шифрование. Каждый из этих способов может иметь несколько разновидностей.
Под кодированием понимается такой вид криптографического закрытия, когда некоторые элементы защищаемых данных (это не обязательно отдельные символы) заменяются заранее выбранными кодами (цифровыми, буквенными, буквенно-цифровыми сочетаниями и т. п.). Этот метод имеет две разновидности: смысловое и символьное кодирование. При смысловом кодировании кодируемые элементы имеют вполне определенный смысл (слова, предложения, группы предложений). При символьном кодировании кодируется каждый символ защищаемого сообщения. Символьное кодирование по существу совпадает с шифрованием заменой.
Перестановки — несложный метод криптографического преобразования. Используется, как правило, в сочетании с другими методами.
Многоалфавитная подстановка — наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой криптостойкости требуется использование больших ключей.
Гаммирование — этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.
Блочные шифры — последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемая к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем «чистые» преобразования того или иного класса в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
К отдельным видам криптографического закрытия отнесены методы рассечения — разнесения и сжатия данных. Рассечение—разнесение заключается в том, что массив защищаемых данных делится (рассекается) на такие элементы, каждый из которых в отдельности не позволяет раскрыть содержание защищаемой информации. Выделенные таким образом элементы данных разносятся по разным зонам ЗУ или располагаются на различных носителях. Сжатие данных представляет собой замену часто встречающихся одинаковых строк данных или последовательностей одинаковых символов некоторыми заранее выбранными символами.
Шифрование заменой (подстановка)
В этом наиболее простом методе символы шифруемого текста заменяются другими символами, взятыми из одного (одно-или моноалфавитная подстановка) или нескольких (много- или полиалфавитная подстановка) алфавитов.
Самой простой разновидностью является прямая (простая) замена, когда буквы шифруемого сообщения заменяются другими буквами того же самого или некоторого другого алфавита. Таблица замены может иметь следующий вид (табл. ).
Таблица. Таблица простой замены
Используя эту таблицу, зашифруем текст: In this book the reader will wind a comprehensive survey... Получим следующее за шифрованное сообщение: At omiy pbbe omr nrsirn fadd zail s xbwgnrmrtjafr jenfru... Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Например, текст на англииском языке содержит символы со следующими частотами появления (в порядке убывания): Е — 0,13, Т — 0,105; А — 0,081, О — 0,079 и т. д. В зашифрованном тексте наибольшие частоты появления в порядке убывания имеют буквы R — 0,12; О — 0,0(), А и N по 0,07.
Естественно предположить, что символом R зашифрован: буква Е, символом О — букв Г и т. д. Это действительно соответствует таблице замены. Дальнейшая расшифровка не составляет труда. Эти методы дешифровки хорошо известны из классической литературы (см., например, Артур Конан Дойль «Пляшущие человечки», или Алан Эдгар По «Золотой жук»).
Если бы объем зашифрованного текста был намного больше, чем в рассмотренном примере, то частоты появления букв в зашифрованном тексте были бы еще ближе к частотам появления букв в английском алфавите и расшифровка оказалась бы еще проще. Поэтому простую замену используют редко и лишь в тех случаях, когда шифруемый текст короток. Для повышения стойкости шифра используют полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Известно несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно- (обыкновенная и монофоническая) и многоконтурная. При полиалфавитной одноконтурной обыкновенной подстановке для замены символов исходного текста используются несколько алфавитов, причем смена алфавитов осуществляется последовательно и циклически, т. е. первый символ заменяется соответствующим символом первого алфавита, второй — символом второго алфавита и т. д. до тех пор, пока не будут использованы все выбранные алфавиты. После этого использование алфавитов повторяется.