Схема шифрования Эль Гамаля
Алгоритм шифрования Эль Гамаля основан на применении больших чисел для генерации открытого и закрытого ключа, криптостойкость же обусловлена сложностью вычисления дискретных логарифмов.
Последовательность действий пользователя:
1. Получатель сообщения выбирает два больших числа P и G, причем P > G.
2. Получатель выбирает секретный ключ - случайное целое число X < P.
3. Вычисляется открытый ключ Y= G x mod P.
4. Получатель выбирает целое число K, 1< K< P-1.
5. Шифрование сообщения (M): a= GK mod P, b=Y K M mod P, где пара чисел (a,b) является шифротекстом.
Криптосистема шифрования данных RSA
Предложена в 1978 году авторами Rivest, Shamir и Aldeman и основана на трудности разложения больших целых чисел на простые сомножители.
Алгоритм создания открытого и секретного ключей:
1. Получатель выбирает 2 больших простых целых числа p и q, на основе которых вычисляет n=p*q и функцию Эйлера (n)=(p-1)(q-1).
2. Получатель выбирает целое число е (1<e< (n)), взаимно простое со значением функции (n).
Пара чисел (e,n) публикуется в качестве открытого ключа.
3. Получатель вычисляет целое число d, которое отвечает условию: e*d=1(mod (n) ).
Пара чисел (d,n) является секретным ключом.
Шифрование сообщения с использованием открытого ключа:
Если m – сообщение (сообщениями являются целые числа в интервале от 0 до n-1), то зашифровать это сообщение можно как c=mе mod(n).
Дешифрование сообщения с использованием секретного ключа:
Получатель расшифровывает, полученное сообщение с: m=cd mod (n).
Задание
Практическая работа состоит из двух частей:
Часть 1 – применение одного из алгоритмов симметричного шифрования;
Часть 2 – шифрование с использованием алгоритма RSA.
Порядок выполнения работы:
Часть 1:
1. Используя один из алгоритмов симметричного шифрования (см. вариант), зашифровать свои данные: фамилию, имя, отчество.
2. Выполнить проверку, расшифровав полученное сообщение.
Часть 2:
1. Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA. Входные данные: открытый и секретный ключи (значения n, e, d) и сообщение (m).
2. Используя заданные значения p, q, e, d (см. вариант) зашифровать и дешифровать сообщения m1, m2, m3 (см. вариант).
Содержание отчета
1. Титульный лист
2. Содержание
3. Задание
4. Применение алгоритма симметричного шифрования
5. Применение алгоритма асимметричного шифрования
4.1. Программа шифрования и дешифрования сообщения при помощи алгоритма RSA
4.2. Результаты шифрования и дешифрования заданных сообщений
5. Выводы
Варианты
Вариант – номер по списку в журнале.
Номер варианта | Исходные данные | |||||||
Часть 1 | Часть 2 | |||||||
Алгоритм шифрования | p | q | е | d | m1 | m2 | m3 | |
Простая перестановка | ||||||||
Одиночная перестановка | ||||||||
Двойная перестановка | ||||||||
Магический квадрат | ||||||||
Шифр Цезаря | ||||||||
Полибианский квадрат | ||||||||
Шифр Гронсфельда | ||||||||
Многоалфавитная замена | ||||||||
Простая перестановка | ||||||||
Одиночная перестановка | ||||||||
Двойная перестановка | ||||||||
Магический квадрат | ||||||||
Шифр Цезаря | ||||||||
Полибианский квадрат | ||||||||
Шифр Гронсфельда | ||||||||
Многоалфавитная замена | ||||||||
Простая перестановка | ||||||||
Одиночная перестановка | ||||||||
Двойная перестановка | ||||||||
Магический квадрат | ||||||||
Шифр Цезаря | ||||||||
Полибианский квадрат | ||||||||
Шифр Гронсфельда | ||||||||
Многоалфавитная замена | ||||||||
Простая перестановка | ||||||||
Одиночная перестановка | ||||||||
Двойная перестановка | ||||||||
Магический квадрат | ||||||||
Одиночная перестановка | ||||||||
Шифр Гронсфельда |