Ручные криптографические методы
Рассмотрим типовые способы криптографического закрытия информации и некоторые простые, основанные на них, шифры (криптоалгоритмы).
Шеннон К. Э. выделил два общих принципа, используемых в практических шифрах: рассеивание и перемешивание.
Рассеивание - распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статистические свойства открытого текста. Развитием этого принципа является распространение влияния одного знака ключа на много знаков шифртекста, что предотвращает восстановление ключа по частям.
Перемешивание — использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого и шифрованного текста.
Добиться выполнения этих принципов нелегко, если учесть, что шифр должен не только затруднять раскрытие, но и обеспечивать легкость шифрования и дешифрования (при известном секретном ключе).
Существующие ручные шифры подразделяются на два вида преобразований: алфавитная подстановка и перестановка.
Moнo- и многоалфавитные подстановки - наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Рассмотрим три типа ручных подстановок: 1) шифр Гая Юлия Цезаря; 2) шифр Гронсфельда; 3) подстановка Вижинера.
1) Историческим примером метода подстановки может служить шифр Гая Юлия Цезаря, который пользовался им, чтобы содержание его сообщений с арены боевых действий не стало известно противнику. Представим себе одно из его возможных посланий. Используя подстановку Цезаря, можно было получить шифртекст, представленный в правой части рис. 1.
Рис. 1. Шифр Гая Юлия Цезаря
Для того чтобы пользоваться шифром Цезаря, и отправитель, и получатель шифровки должны иметь к ней так называемый секретный (тайный) ключ. В нашем примере ключ - это буква под номером «7» (буква «3»). Отправитель сообщения создает шифртекст, просто складывая 7 с числами, соответствующих каждой букве шифртекста (рис. 2).
Рис. 2. Пример сдвига в шифре Цезаря с ключом «7»
Так, первая буква открытого текста «С» соответствует числу «16», складывая ее с «7», получаем число «23», которое соответствует букве «Ш» - первой букве шифртекста на рис. 2.
2) Подстановка Цезаря является самым простым вариантом подстановки. Она относится к группе моноалфавитных подстановок и, как все из этой группы, является нестойкой к частотному анализу. Поэтому была предложена модификация данного шифра - шифр Гронсфельда, который относится к многоалфавитным подстановкам.
Многоалфавитная подстановка определяется ключом, содержащим не менее двух различных подстановок.
Алгоритм Гронсфельда можно получить, если в преобразовании Цезаря применять для шифрования не постоянный коэффициент сдвига (в нашем примере - цифра 7), а ключ, состоящий из последовательности цифр. Знак в отрытом тексте сдвигается на заданное цифрой в ключе значение, а для смещения следующего знака берется очередная цифра ключа.
Для шифрования под сообщением пишут ключ. Если ключ короче сообщения, то его повторяют циклически. Криптограмму получают аналогично шифру Цезаря, но сдвигая каждую букву на соответствующую цифру ключа. Так, применяя в качестве ключа группу из четырех цифр 3712 и алфавит на рис. 2, получаем шифртекст.
Рис. 3. Шифровка с использованием алгоритма Гронсфельда
3) В приведенных методах каждый символ шифруется отдельным значением ключа, однако существуют схемы, где такое требование снято. Такая схема шифрования основывается на так называемой таблице Вижинера (рис. 4) и называется подстановка Вижинера.
Рис. 4. Таблица Вижинера
Таблица представляет собой квадратную матрицу с числом элементов SxS, где S - количество символов в алфавите. В первой строке матрицы записываются буквы в порядке очередности их в алфавите, во второй - та же последовательность букв, но с сдвигом влево на одну позицию, в третьей - с сдвигом на две позиции и т. д. Освободившиеся места справа заполняются вытесненными влево буквами, записываемыми в естественной последовательности, т. е. применяется принцип циклического сдвига.
Для шифрования текста устанавливается ключ, представляющий собой некоторое слово или набор букв. Далее из полной матрицы (см. рис, 6) выбирается подматрица шифрования, включающая в себя, первую строку и строки матрицы, первым символом (буквой) которой являются последовательно буквы ключа, например, МОРЕ. В итоге получается подматрица, изображенная на рис. 5.
Рис. 5. Подматрица шифрования, сформированная на основе таблицы Вижинера
Процесс шифрования включает в себя следующую последовательность действий:
- под каждой буквой шифруемого текста записываются буквы ключа, повторяющие ключ требуемое число раз (рис. 6);
- шифруемый текст по подматрице заменяется буквами, расположенными на пересечениях линий, соединяющих буквы текста первой строки подматрицы и буквы ключа, находящейся под ней.
Рис. 6. Пример шифрования текста
Так, под первой буквой шифруемого текста оказалась буква «М» ключа. В первой строке подматрицы находим букву «3» , которая является первой буквой открытого текста, и выбираем из данной колонки подматрицы букву в той строке, начальный символ которой соответствует букве «М» ключа. Такой буквой оказалась буква «У» (см. рис. 5). Далее выполняется замена исходной буквы «3» на «У» в выходном тексте. Выходной текст делится на группы, например, по четыре знака. Для этого алгоритма может быть составлена программа ЭВМ.
Достоинства:
Раскрыть текст, полученный по данному алгоритму, только на основе статистических характеристик языка невозможно, так как одни и те же символы открытого текста могут быть заменены различными символами шифрованного текста. С другой стороны, различные символы открытого текста могут быть заменены одинаковыми знаками шифрованного текста.
Недостатки:
Ненадежность шифрования при небольшой длине ключа и сложность формирования длинных ключей. Так как в ключе не допускается повторение букв (в противном случае шифрование будет неоднозначным), а сам ключ должен легко запоминаться, последовательность букв, не имеющих определенного смысла, запомнить трудно.
Литература.
1. Методы и средства защиты информации: Учебное пособие / А.А. Симаков, А. И. Горев, А. Г. Малютин, Ю.А. Гудков; Омский гос. ун-т путей сообщения. Омск, 2007. С. 83-85, 94-99.
