РАЗЛИЧНЫЕ АЛГОРИТМЫ ШИФРОВАНИЯ
«Каждый программист воображает себя криптографом, что ведет к распространению исключительно плохого криптообеспечения...»
Филл Зиммерманн (Автор шифра PGP)
Начнем с самых простых шифров одноалфавитной (моноалфавитной) замены – символы шифруемого текста заменяются другими символами, взятыми из одного алфавита.
Квадрат Полибия
В Древней Греции (II в. до н. э.) был известен шифр, который создавался с помощью квадрата Полибия.
Таблица для шифрования представляла собой квадрат 6 х 6, строки и столбцы которого пронумерованы (в исходном греческом шифре с пятью столбцами и пятью строками, т.к. число букв в русском алфавите отличается от числа букв в греческом алфавите, поэтому и размер таблицы выбран иным (квадрат 6 х 6). В каждую клетку такой таблицы записывается одна буква. В результате каждой букве соответствует пара цифр, и шифрование сводилось к замене буквы парой цифр. В шифрограмме первым указывается номер строки, а вторым — номер столбца.
|
|
В квадрате Полибия столбцы и строки можно маркировать не только цифрами, но и буквами.
Порядок расположения символов в квадрате Полибия является ключом.
Идею квадрата Полибия проиллюстрируем таблицей с русскими буквами.
А | Б | В | Г | Д | Е | |
Е | Ж | И | И | К | ||
Л | М | Н | О | П | Р | |
С | Т | У | Ф | X | Ц | |
Ч | Ш | Щ | Ъ | Ы | Ь | |
Э | Ю | Я | , | . | - |
Зашифруем с помощью квадрата Полибия слово КРИПТОГРАФИЯ:
26 36 24 35 42 34 14 36 11 44 24 63
Шифр атбаш
Еще один древний шифр – атбаш, которымшифровались священные иудейские тексты.
Алгоритм шифра атбаш заключался в разделении алфавита посередине так, чтобы первые две буквы, А и Б, совпадали с двумя последними (в древнееврейском языке первые две буквы А и Б, а последние – Т и Ш. Эти буквы и дали название методу шифровки — «Атбаш»). Вместо первой буквы алфавита записывалась последняя буква, вместо второй — предпоследняя и т. д
Шифр Цезаря
Шифр Цезаря реализуется заменой каждой буквы в сообщении другой буквой этого же алфавита, отстоящей от нее в алфавите на фиксированное число букв.
В своих шифровках Цезарь заменял букву исходного открытого текста буквой, отстоящей от исходной буквы впереди на три позиции.
Циклический шифр Цезаря получается заменой каждой буквы открытого текста буквами этого же алфавита, расположенными впереди через определенное число позиций, например через три позиции. Циклическим он называется потому, что при выполнении замены вслед за последней буквой алфавита вновь следует первая буква алфавита. В данном случае ключом является величина сдвига (число позиций между буквами).
|
|
Используем шифр Цезаря. Предположим, что требуется зашифровать сообщение «ГДЕ ДЕВА».
Запишем фрагменты русского алфавита и покажем, как выполняется шифрование (порядок замены):
А | Б | В | Г | Д | Е | Ё | Ж | З | И | К | |||
¯ | ¯ | ¯ | ¯ | ¯ | ¯ | ||||||||
А | Б | В | Г | Д | Е | Ё | Ж | З | И | К |
В результате проведенного преобразования получится шифрограмма:
Ё Ж 3 Ж З Е Г.
Число ключей этого шифра невелико (оно равно числу букв алфавита). Не представляет труда вскрыть такую шифрограмму перебором всех возможных ключей. Недостатком шифра Цезаря является невысокая криптостойкость. Объясняется это тем, что в зашифрованном тексте буквы по-прежнему располагаются в алфавитном порядке, лишь начало отсчета смещено на несколько позиций.
Повысить криптостойкость позволяют шифры многоалфавитной замены (или полиалфавитные подстановки). При этом для замены символов открытого текста используют символы нескольких алфавитов. К наиболее известным разновидностям многоалфавитной замены относятся одноконтурная (обыкновенная и монофоническая) и многоконтурная.
При полиалфавитной одноконтурной обыкновенной подстановке для замены символов исходного текста используется несколько алфавитов, причем смена алфавитов осуществляется последовательно и циклически, т. е. первый символ заменяется соответствующим символом первого алфавита, второй — символом второго алфавита и т. д. до тех пор, пока не будут использованы все выбранные алфавиты. После этого использование алфавитов повторяется.