- •Литература
- •Введение
- •1. Цель и содержание работы
- •2. Методика выполнения работы
- •2.1. Шифры одноразового блокнота и замены Краткие теоретические сведения
- •Задание 1. Шифрование и расшифрование одноразовым блокнотом
- •Технология работы
- •Краткие теоретические сведения
- •Технология работы
- •Задание 3. Шифрование и расшифрование шифром Вижинера
- •Технология работы
- •Задание 2. Шифрование и расшифрование шифром Цезаря
- •2.2. Шифры перестановки Краткие теоретические сведения
- •Задание 4. Шифрование и расшифрование шифром простой перестановки
- •Технология работы
- •2.3. Шифрование с помощью аналитических преобразований Краткие теоретические сведения
- •Задание 5. Шифрование и расшифрование с помощью аналитических преобразований
- •Технология работы
- •2.4. Криптосистемы с открытым ключом Краткие теоретические сведения
- •Задание 6. Шифрование и расшифрование с помощью алгоритма rsa
- •Технология работы
- •Задание 7. Шифрование и расшифрование с помощью системы ElGamal
- •Технология работы
- •2.5. Генератор надежных паролей
- •Задание 8. Разработка генератора надежных паролей
- •Технология работы
- •1. Разработка формы:
- •2. Разработка программного кода:
- •3. Компиляция и запуск программы:
- •Краткие сведения из теории чисел
1. Цель и содержание работы
Цели лабораторной работы:
изучение теоретических основ шифрования и расшифрования данных симметричными и асимметричными методами;
приобретение практических навыков в создании ключей, проведении зашифрования открытого и расшифрования шифрованного сообщения различными криптосистемами.
Содержание работы:
1. Шифры одноразового блокнота и замены
2. Шифры перестановки
3. Шифрование с помощью аналитических преобразований
4. Криптосистемы с открытым ключом
5. Генератор надежных паролей
Требования к отчету:
Отчет по работе должен содержать:
название лабораторного занятия, цель работы;
краткие сведения об изученных методах шифрования;
выбранные ключи;
открытые сообщения;
зашифрованные сообщения;
порядок зашифрования и расшифрования;
выводы о свойствах и качестве шифрпреобразований.
2. Методика выполнения работы
2.1. Шифры одноразового блокнота и замены Краткие теоретические сведения
Шифр одноразового блокнота является примером реализации абсолютно стойкого шифра. Предложен в 1917 г. инженером Гилбертом Вернамом из компании АТ&Т (США). В этом шифре осуществляется побитовое сложение n-битового открытого текста и n-битового ключа:
ci = mi ki, i = 1,...,n.
Здесь m1…mn — двоичные разряды открытого текста; k1...kn — двоичные разряды ключа; с1…сn — шифрованный текст в двоичном коде. обозначает операцию сложения по модулю 2: 0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1 = 0.
Дешифрирование в шифре одноразового блокнота совпадает с шифрованием - чтобы получить выходное сообщение М, следует сложить с криптотекстом С тот же ключ К. Это легко обосновать, поскольку
С К = (М К) К = М (К К) = М 0 = М.
Шифр одноразового блокнота является абсолютно надежным: если противник не знает ключа К, то из перехваченного криптотекста С он совсем ничего не может узнать о сообщении М.
Название шрифта происходит от того, что агент, который осуществлял шифрование вручную, получал свои копии ключей записанными в блокноте. Как только ключ использовался, страница с ним уничтожалась. Понятно, что шифр просто реализуется и техническими средствами.
Однако ограниченность сферы применения шифра очевидна, поскольку он требует ключа той же длины, как и само сообщение. С этим обстоятельством связаны две проблемы: 1) генерировании длинной последовательности случайных бит; 2) необходимость в надежном канале для регулярного обмена длинными ключами.
Для абсолютной стойкости существенным является каждое из следующих требований к ключу однократного использования:
полная случайность (равновероятность) ключа (это, в частности, означает, что ключ нельзя вырабатывать с помощью какого-либо детерминированного устройства);
равенство длины ключа и длины открытого текста;
однократность использования ключа.
В случае нарушения хотя бы одного из этих условий шифр перестает быть абсолютно стойким, и появляются принципиальные возможности для его вскрытия (хотя они могут быть трудно реализуемыми). Но именно эти условия делают абсолютно стойкий шифр очень дорогим и непрактичным. Прежде чем пользоваться таким шифром, необходимо обеспечить всех абонентов достаточным запасом случайных ключей и исключить возможность их повторного применения. А это сделать необычайно трудно и дорого.
