Инструкция по выполнению Задания 2 (Инструкция по выполнению самостоятельного задания 2)
Описание файла
Файл "Инструкция по выполнению Задания 2" внутри архива находится в следующих папках: Инструкция по выполнению самостоятельного задания 2, Zadanie2. Документ из архива "Инструкция по выполнению самостоятельного задания 2", который расположен в категории "". Всё это находится в предмете "математические основы криптологии" из 6 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "математические основы криптологии" в общих файлах.
Онлайн просмотр документа "Инструкция по выполнению Задания 2"
Текст из документа "Инструкция по выполнению Задания 2"
Методические указания по выполнению самостоятельного задания 2.
Задание 2 состоит в расшифровке сообщения, отправленного преподавателем, после получения им от студента открытого ключа. Для формирования открытого ключа, состоящего из двух чисел (е и n) используется алгоритм RSA. Этот ключ подбирается каждым студентом индивидуально в соответствии с алгоритмом RSA (Таблица 1) и пересылается электронной почтой или передается преподавателю лично.
Получив ключ, преподаватель выбирает число с числом знаков не более 8 – секретный ключ «x», кодирует его Вашим открытым ключом и посылает на электронный адрес или выкладывает на сайте вместе с шифрованным текстом. Этот текст будет закодирован алгоритмом DES с помощью выбранного секретного ключа.
Студент, получив шифрованный ключ и шифротекст, восстанавливает секретный ключ «x» с помощью своего закрытого ключа (d и n), а затем расшифровывает шифротекст секретным ключом. Для расшифровки рекомендуется использовать программу DesTutor, выложенную на сайте.
Генерацию простых чисел можно осуществить с помощью программы «ЗнаПроЧис», а подбор чисел d и e при помощи программы Euclid.
Таблица 1.
Величины | Значения | Примечания |
p - простое < 4600 | 4591 | Выбираете с помощью программы "ЗнаПроЧис" |
q - простое < 4600 | 4091 | Выбираете с помощью программы "ЗнаПроЧис" |
n = p*q | 18781781 | Посылаете преподавателю |
p-1 | 4590 | Вычисляется |
q-1 | 4090 | Вычисляется |
m = (p-1)(q-1) | 18773100 | Вычисляется |
d - такое, что НОД(d, m) = 1 | 16715597 | Выбираете с помощью программы "Euclid", d < m |
e - такое, что e*d (mod m) = 1 | 12700433 | Вычисляете программой Euclid и посылаете преподавателю |
Кодируемое число x | 12345678 | Выбирает преподаватель (x < n) |
Шифр = x ^ e (mod n) | 13124916 | Получаете от преподавателя как шифрованный секретный ключ |
Восстановленное число = Шифр ^ d (mod n) | 12345678 | Восстанавливаете ключ для расшифровки сообщения программой DesTutor |
Таблица 1 содержит пример реализации алгоритма генерации открытого и закрытого ключей и восстановления закрытого ключа, необходимого для расшифровки сообщения.
Приведенная таблица скопирована из файла RSAKeys.xls, прикладываемого к данной инструкции.
При вычислении x в степени y (mod n) используется функция powmod(x,y,n), находящаяся в том же файле (рабочей книге). Текст функции на языке VBA можно посмотреть, вызвав редактор Visual Basic комбинацией клавиш <Alt+F11>.
Ограничения на величины p и q, указанные в таблице, связаны с ограничением разрядности выполнения целочисленных операций.
В качестве дополнительного задания предлагаю разработать собственные программы, генерации простых чисел, вычисления 1/d (mod m) и x ^ y (mod n), работающие быстрее или допускающие больший диапазон входных чисел.
А.В.Бруханский