Изучение и практическое применение двухключевых блочных криптографических алгоритмов, основанных на сложности дискретного логарифмирования в конечном поле (Лабораторная работа № 3)

Страницы работы

Содержание работы

Лабораторная работа № 3

“ИЗУЧЕНИЕ И ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ  ДВУХКЛЮЧЕВЫХ БЛОЧНЫХ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ, ОСНОВАННЫХ НА СЛОЖНОСТИ ДИСКРЕТНОГО ЛОГАРИФМИРОВАНИЯ В КОНЕЧНОМ ПОЛЕ“

Программное обеспечение:

-  алгоритм вычисления хэш-функции;

-  расширенный алгоритм Евклида для вычисления НОД двух чисел;

-  алгоритм вычисления модульной экспоненты;

-  алгоритм генерации простых чисел;

Порядок выполнения работы

1.  Изучить метод генерации общего секретного ключа для выполнения шифрования - дешифрования информации:

а) Используя генератор простых чисел получить число p.

б) Используя генератор случайных чисел и алгоритм модульной экспоненты получить образующую аp-1=1(mod p).

в) Используя генератор случайных чисел получить числа l<pиm<p.

г) Имитируя пользователя А и используя его секретный ключ l, вычислить его открытый ключ KA=al(mod p).

д) Имитируя пользователя B и используя его секретный ключ m, вычислить его открытый ключ KB=am(mod p).

е) Получить общий секретный ключ:

A : KBА=(am)l (mod p) и B: KАВ=(al)m (mod p)

ж) Проверить выполнение равенства KAB=KBA, сделать выводы, результаты занести в отчет.

2.  Изучить методы шифрования-дешифрования информации по протоколу Эль-Гамаля:

а) Выбрать произвольную фразу (текст x), не превышающую 10 слов, и осуществить ее первичное преобразование в цифровой вид с использованием таблицы кодов ASCII.

б) Используя генератор случайных чисел получить l<p, t<p, где l- секретный ключ пользователя А, t - секретный ключ пользователя В.

в) Получить открытые ключи пользователей А и В:

КА= al(mod p), КB= at(mod p).

в) Имитируя пользователя А определить криптограмму, состоящую из пары чисел

c1=KA= al(mod p), c2= xKB -l (mod p)=x(at) -l (mod p).

При определении c2 дополнительно использовать алгоритм Евклида.

г) Имитируя пользователя В провести дешифрование:

x=c2c1t(mod p)

д) Проверить совпадение текстов x и x, сделать выводы, результаты занести в отчет.

3.  Изучить методы шифрования-дешифрования информации по протоколу Месси-Омуры:

а) Используя генератор простых чисел получить открытый ключ p, значение которого не превышает int.

б) Используя генератор случайных чисел получить l, m<p.

в) Используя расширенный алгоритм Евклида определить обратные к ним числа l-1, m-1 по модулю p-1: ll-1=1(mod (p-1)), mm-1=1(mod (p-1)). Числа l,l-1 принадлежат пользователю А, числа m,m-1 - пользователю В и являются их секретными ключами.

г) Определить криптограмму yА=x1(mod p) (имитация пользователя А).

д) Определить криптограмму yАВ=yAm(mod p) (имитация пользователя B).

е) Определить криптограмму yВ=(mod p) (имитация пользователя А).

ж) Дешифровать криптограмму x= (mod p).

з) Проверить выполнение равенства x=x , сделать выводы, результаты занести в отчет.

4.  Изучить процессы генерации цифровой подписи по протоколу Шнорра.

а) Используя генератор случайных чисел получить секретные ключи пользователя А: m, l<p, определить закрытый ключ для хэширования v=am(modp)  и  открытый ключ al(modp).

б) Используя алгоритм вычисления хэш-функции определить h(x,v)<q, где x,v – последовательная запись.

в) Имитируя пользователя А получить цифровую подпись:

-  вычислить s=m-lh(x,v)(mod p);

-  цифровой подписью будет совокупность (x, s, h(x,v)).

г) Имитируя пользователя В проверить подлинность подписи:

-  вычислить v=as(al)h(x,v)(mod p);

-  определить хэш-функцию от последовательности x, v: h(x,v’);

-  проверить выполнение равенства h(x,v)= h(x,v), сделать выводы, результаты занести в отчет.

Содержание отчета

1.  Полученные значения секретных и открытых ключей по каждому пункту работы.

2.  Сведенные в таблицу открытый текст, его код - представление в цифровом виде, криптограмму и результат дешифрования (по пп. 2,3).

3.  Сведенные в таблицу открытый текст, его код - представление в цифровом виде,  хэш-функцию, цифровую подпись и результат проверки цифровой подписи (по 4).

4.  Выводы по каждому пункту работы.

Похожие материалы

Информация о работе