- •Содержание
- •5.1 Листинг программы с описанием основных переменных и функций.
- •5.2 Результат выполнения программы
- •Текст задания, с указанием номера студента в журнале и соответствующих вариантов задания
- •Краткое описание алгоритмов
- •Шифр Шамира
- •Электронная подпись rsa Введение
- •Алгоритм создания открытого и секретного ключей
- •Потоковый шифр rc4
- •Листинг программы с описаниями основных функций и переменных
- •Результаты выполнения программы.
- •Листинг программы с описанием основных переменных и функций.
- •Результаты выполнения программы
- •Реализация алгоритма шифрования и дешифрования сообщения c помощью потокового шифра rc4.
- •Листинг программы с описанием основных переменных и функций.
- •Результат выполнения программы.
- •Электронные подписи
- •Шифрование и дешифрование
Алгоритм создания открытого и секретного ключей
RSA-ключи генерируются следующим образом:
Выбираются два различных случайных простых числа
и
заданного
размера (например, 1024 бита каждое).Вычисляется их произведение
,
которое называется модулем.Вычисляется значение функции Эйлера от числа
:
Выбирается целое число
(
), взаимно
простое со
значением функции
.
Обычно в качестве
берут
простые числа, содержащие небольшое
количество единичных бит в двоичной
записи,
например, простые числа
Ферма 17,
257 или 65537.Число называется открытой экспонентой (англ. public exponent)
Время, необходимое для шифрования с использованием быстрого возведения в степень, пропорционально числу единичных бит в .
Слишком малые значения , например 3, потенциально могут ослабить безопасность схемы RSA.[15]
Вычисляется число
, мультипликативно обратное
к числу
по
модулю
,
то есть число, удовлетворяющее условию:
.
Число называется секретной экспонентой. Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.
Пара
публикуется
в качестве открытого
ключа RSA (англ. RSA
public key).
