Схема шифрования Эль Гамаля

Алгоритм шифрования Эль Гамаля основан на применении больших чисел для генерации открытого и закрытого ключа, криптостойкость же обусловлена сложностью вычисления дискретных логарифмов.

Последовательность действий пользователя:

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
Простая перестановка
Одиночная перестановка
Двойная перестановка
Магический квадрат
Шифр Цезаря
Полибианский квадрат
Шифр Гронсфельда
Многоалфавитная замена
Простая перестановка
Одиночная перестановка
Двойная перестановка
Магический квадрат
Шифр Цезаря
Полибианский квадрат
Шифр Гронсфельда
Многоалфавитная замена
Простая перестановка
Одиночная перестановка
Двойная перестановка
Магический квадрат
Шифр Цезаря
Полибианский квадрат
Шифр Гронсфельда
Многоалфавитная замена
Простая перестановка
Одиночная перестановка
Двойная перестановка
Магический квадрат
Одиночная перестановка
Шифр Гронсфельда