Шифрование методом замены основана на алгебраической операции, которая называется подстановкой. Подстановка – однозначное отображение некоторого множества на само себя. Число N элементов множества называется степенью подстановки. Две подстановки считают независимыми если не имеют общих действительно перемещаемых чисел. Количество M чисел действительно перемещаемых. S называется длиной цикла перемещения. Используют следующие виды подстановки: моноалфавитная, гомофоническая, полиалфавитная, полигратная.
Рассмотрим пример моноалфавитной замены при кодировании букв русского 32 буквенного алфавита (без ё). При моноалфавитной замене каждой букве алфавита открытого текста ставиться в соответствии одна буква шифротекста того же алфавита. Самым простым шифром такого вида является шифр который использовал Цезарь. В нем каждая буква алфавита заменяется буквой, находящейся на позиции дальше в том же алфавите.
где K буква алфавита
Если русский текст зашифрован с помощью шифра Цезаря, то с помошью простого перебора 32 возможных вариантов ключей можно легко раскрыть шифр. Применение метода последовательного перебора всех возможных вариантов в данном случае оправдана следующими 3 важными характеристиками шифра:
известны алгоритмы шифрования и расшифрования
необходимо перебрать всего 32 варианта
язык открытого текста известен и легко узнаваем
существуют шифры которые базируются на методе многобуквенного шифрования (шифр Плейфейера). В этом шифре комбинации составленные из 2х букв (биграммы) открытого текста рассматриваются как самостоятельные единицы, преобразуемые в биграммы шифрованного текста. Одним из основных минусов шифров одно алфавитной замены является то, что в них прослеживается та же частотная зависимость что и в открытом тексте. Но в шифре Плейфейера частотная зависимость проявляется значительно сложнее чем в шифре одноалфавитной замены. Если использовать русский алфавит с 32 буквами то биграмм будет 1024 (32*32) и раскрыть такой шифр будет сложней. Существуют другие разновидности многобуквенных шифров. Например в шифре Хилла положен принцип замены букв открытого текста букв шифрованного текста. Подстановка определяется M линейными уравнениями в которых каждому символу присваивается определенное числовое значение. При M=3 получается следующее число линейных уравнений.
в последнем случае C и p это векторы размерности 3 а K матрица 3*3 которая является ключом шифрования по модулю N. Плюс шифра Хилла состоит в том что он полностью маскирует частотные зависимости. Чем размер матрицы больше тем в шифре текста содержится информации о значении частоты символов. Шифр с матрицей 3*3 скрывает не только частоту появления отдельных символов но и биограмм. Шифры используют несколько многоалфавитных подстановок в ходе шифрования в зависимости от определенных условий называются полиалфавитными шифрами. Примером такого шифра является система Виженера. Шифрование происходить по такбличе которая представляет из себя матрицу размером n*n где n число букв алфавита.
Для русского алфавита она выглядит следующим образом: