Здавалка
Главная | Обратная связь

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



1. Вычислить число по формуле: , где – номер учебной группы, – порядковый номер в списке группы, Ф3 – порядковый номер в алфавите третьей буквы вашей фамилии (эти же обозначения будут присутствовать в последующих пунктах).

2. Выбрав и зафиксировав число k в функции шифрования алгоритма Цезаря, зашифровать строку, составленную из фамилии, имени и отчества, записанных посредством кириллицы. Число т – размерность русского алфавита.

3. Вычислить число . Рассчитать число , где ЧЧ, ММ и ГГГГ – число, месяц и год рождения. Найти , , .

4. Выбрать составное число (например, любое четное число). Методом Миллера доказать, что выбранное число является составным. Выбрать число . Используя метод Миллера, показать, что оно составное. Провести сравнительный анализ временной сложности доказательств в обоих случаях на основе подсчета количества шагов и расчетных вероятностей для обоих чисел.

5. Для изучения генерации ключей в RSA выбрать два любых числа и : . Вычислить число . Вычислить порядок группы . Выбрать показатель шифрования такой, что . Вычислить показатель дешифрования , используя формулу .

6. Выбрать произвольный текст (число, меньшее и взаимно простое с ним). Зашифровать открытый текст . Для этого необходимо вычислить , получив тем самым зашифрованный текст . Расшифровать текст спомощью секретного ключа . Для этого необходимо вычислить . Сравнить полученный при дешифровании текст с исходным. Результаты сравнения указать в отчете.

7. Подписать текст цифровой подписью , где . Проверить подпись. Для этого вычислить обратное преобразование и проверить равенство .

8. Для моделирования процесса установления сеансового ключа выбрать любое число . Смоделировать действия пользователя А: выбрать случайным образом число , ; найти число . Смоделировать действия пользователя В: выбрать случайное число , ; вычислить число .

Установление сеансового ключа: каждый из пользователей возводит полученное сообщение в степень со своим показателем: пользователь А вычисляет , пользователь В – . Полученные значения образуют сеансовый ключ. Проверить равенство полученных ключей пользователей. Вычислить и проверить равенство .

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

В отчете необходимо привести исходные данные для каждого пункта задания, алгоритмы вычислений и полученные в процессе выполнения работы результаты вычислений. Сделать выводы по работе.

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

1. Что такое вычет? На чем основан алгоритм шифрования Цезаря?

2. Каковы особенности чисел Кармайкла?

3. Каковы алгоритмы поиска НОД?

4. Перечислите основные свойства мультипликативной группы кольца вычетов по модулю .

5. Почему порядок группы должен иметь большой простой делитель?

Пример отчета

Примеры вычислений чисел по модулю приведены в теоретических сведениях. Вычисление НОД сводится к программной реализации последовательного деления чисел.

Проверка числа на простоту. Выберем . , , не существует k такого, что .

Случайным образом выберем число от 1 до N: . , следовательно, число 22 является составным.

Генерация ключей в RSA. Выберем числа .

НОД(3, 11) = 1, . Порядок группы . Допустим, . . Находим d.

Алгоритм Евклида весьма тривиален, и поэтому в примере отчета приводятся лишь его результаты: .

. Проверка: .

Берем . .

Шифруем: .

Расшифровываем: .

Расшифрованный текст совпал с исходным.

Создание цифровой подписи.

Вычисляем подпись .

Проверяем подпись .

Подпись выполнена правильно.

Устанавливаем сеансовый ключ. Допустим, , , .

;

; . Сеансовый ключ установлен.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.