Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_ukazania_k_laboratornym_rabotam_O...doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
359.42 Кб
Скачать

Лабораторная работа № 6 Исследование ассиметричного алгоритма rsa Цель работы

Изучить принципы формирования ключей и процедур шифрования расшифрования в алгоритме RSA.

Задание

Задание выполнять в программной среде Excel (Calc).

1. Реализовать расширенный алгоритм Эвклида.

2. Сформировать ключи Ki ki и модуль N для шифрования в криптосистеме RSA.

3. Сформировать сообщение (одно слово) для шифрования и представить его в виде нескольких чисел M<N.

4. Произвести шифрование сообщения на открытом ключе K.

5. Произвести расшифрование сообщения на секретном ключе k.

6. Обменяться открытыми ключами с другими бригадами.

7. Составить сообщение для другой бригады

8. Зашифровать сообщение на открытом ключе выбранной бригады

9.Расшифровать на своем секретном ключе полученное от других сообщение.

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

Запустить табличный процессор Excel(Calc).

1. Реализовать расширенный алгоритм Эвклида.

Описание алгоритма НОД(a,b)

Начальные присвоения R-2 =a; R-1=b; X1=1; Y1=0; X2=0; Y2=1

В цикле выполняем:

a) Ri=остаток от деления Ri-2 на Ri-1, b) Qi = целое от деления Ri-2 на Ri-1; c)Xi=Xi-2-Qi* Xi-1 ; Yi=Yi-2-Qi*Yi-1 ;

IF(Ri=0) R-1 остаток, Y-1 обратный элемент к B по mod A

Пример НОД(9;7): (7*?=1mod 9)

остатки R

частные Q

X

Y

9

*

1

0

7

*

0

1

2

1

1

-1

1

3

-3

-2

1

2

7

13

0

1

*

*

Ответ 13mod9=4 , т.е. 7*4=1mod9;

2. Выбрать два разных простых числа p и q из таблицы простых чисел (primes.txt). В данном учебном приложении рекомендуется выбирать различные простые числа в диапазоне от 150 до 300.

3. Вычислить модуль шифрования N=p*q

4. Вычислить функцию Эйлера от N: φ(N)=(p-1)*(q-1)

5. Выбрать ключ K из соотношения: НОД(K, φ(N))=1 (Проверить с помощью алгоритма Эвклида).

6. Определить ключ k из соотношения K*k=1mod φ(N) . Использовать расширенный алгоритм Эвклида.

7. Составить сообщение и представить его в виде чисел < N

Выполнить шифрование по алгоритму RSA: E=MK mod N.

Выполнить расшифрование по алгоритму RSA: M=Ek mod N.

8. Обменяться открытыми ключами с другими бригадами.

9. Зашифровать сообщение для одной из бригад, убедиться, что сообщение прочитано.

10. Расшифровать полученные сообщения.

11. Провести криптоанализ алгоритма RSA.

12. Методом возведения в степень. В данном методе производят последовательное возведение криптограммы в степень открытого ключа. На некотором шаге результат возведения в степень должен совпасть с исходной криптограммой, что будет означать, что на предыдущем шаге было получено сообщение.

13. Методом факторизации. Выбрать модуль шифрования какой-либо бригады и попытаться выполнить факторизацию N, затем определить φ(N) и секретный ключ k.

Контрольные вопросы

1. Выполните сравнение классических алгоритмов и алгоритмов шифрования с открытым ключом.

2. Укажите рекомендуемые параметры при выборе простых чисел в алгоритме RSA.

3. Перечислите «простые» алгоритмы, которые выполняеют законные пользователи при выполнении алгоритмов в RSA.

4. Перечислите «сложные» алгоритмы, с которыми может столкнуться криптоаналитик при анализе стойкости алгоритма RSA.

5. Укажите потенциальные проблемы законных пользователей, если на стадии выбора простых чисел p и q, одно из них будет выбрано составным.