Пример реализации шифра гаммирования
Сборник трудов конференции в формате Adobe Acrobat (4 Мб)Гаммирование – процедура наложения при помощи некоторой функции гаммы шифра на исходный текст [1] (рис .1).
Рис. 1. Схематичное изображение процесса гаммирования
Важным обстоятельством является равенство длины гаммы и текста, подвергающегося шифрованию. При больших объемах исходного текста удобно использовать генератор гаммы . В этом случае секретным будет являться ключ , содержащий в себе некоторую информацию для построения псевдослучайной последовательности (ПСП). Простейший генератор гаммы имеет вид
где – i-й член последовательности псевдослучайных чисел, – ключевые параметры. Такая последовательность состоит из целых чисел от 0 до . Если элементы и совпадут, то совпадут и последующие участки:. Таким образом, ПСП является периодической. Знание периода гаммы существенно облегчает криптоанализ. Максимальная длина периода равна . Для ее достижения необходимо удовлетворить следующим условиям:
1. и – взаимно простые числа;
2. делится на любой простой делитель числа ;
3. кратно 4, если кратно 4.
В качестве функции берется операция побитового сложения по любому модулю . Обычно используется сложение по модулю 2 (XOR). В силу симметричности данной операции процесс дешифрования будет заключаться в повторном применении XOR к шифрованному тексту.
Существуют режимы гаммирования без генератора ПСП – шифрование конечной гаммой. В этом случае на исходный текст гамма накладывается необходимое количество раз, пока не покроет все его символы.
Для программной реализации процедуры шифрования конечной гаммой удобно использовать таблицу символов ASCII и функции ord(x) и chr(x) работы с ней. Поскольку символы занумерованы числами от 0 до 255, то для задействования каждого из них, сложение будем осуществлять по модулю 255. На рис. 2 показаны фрагменты кода программы, осуществляющие процедуры шифрования и дешифрования соответственно, где text, gamma, cript – строковые переменные, a,b,c – массивы.
|
|
а б Рис.2. Шифрование (а) и дешифрование (б) |
Исходный текст и гамма вводятся с клавиатуры. При этом гамма не обязательно должна совпадать по длине с исходным текстом. Пример работы программы представлен на рисунке 3.
- Асосков А.В. Поточные шифры / А.В. Асосков, М.А. Иванов, А.А. Мирский, А.В. Рузин, А.В. Сланин, А.Н. Тютвин. – М.: «КУДИЦ-ОБРАЗ», 2003 г. – 334 с.
Тип выступления | Устное выступление |
Уровень образования | Высшее профессиональное |
|