Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Алгоритм создания открытого и секретного ключей

Читайте также:
  1. CRC-алгоритмы обнаружения ошибок
  2. Technomax использует DaVinci Resolve Studio и Teranex Express для создания программ в 4K
  3. VII. Алгоритмы продаж
  4. Алгоритм 4. Транспонування бази даних
  5. Алгоритм 5. Пошук автофильтром
  6. Алгоритм Apriori
  7. Алгоритм De Boor

RSA-ключи генерируются следующим образом:

1. Выбираются два различных случайных простых числа p и q заданного размера (например, 1024 бита каждое).

2. Вычисляется их произведение n = pq, которое называется модулем.

3. Вычисляется значение функции Эйлера от числа n:

φ(n) = (p − 1)(q − 1).

4. Выбирается целое число e (1 < e < φ(n)), взаимно простое со значением функции φ(n). Обычно в качестве e берут простые числа, содержащие небольшое количество единичных битов в двоичной записи, например, простые числа Ферма 17, 257 или 65537.

§ Число e называется открытой экспонентой (англ. public exponent)

§ Время, необходимое для шифрования с использованием быстрого возведения в степень, пропорционально числу единичных бит в e.

§ Слишком малые значения e, например 3, потенциально могут ослабить безопасность схемы RSA.[4]

5. Вычисляется число d, мультипликативно обратное к числу e по модулю φ(n), то есть число, удовлетворяющее условию:

или: de = 1 + k φ(n), где k — некоторое целое число.

§ Примечание: Можно вычислять и так (e*d) mod ((p-1)*(q-1)) = 1. Результат операции i mod j — остаток от целочисленного деления i на j, то есть если имеем (d*3) mod 20 = 1. Значит d будет, например 7. (Может быть и другим, например 27).

§ Число d называется секретной экспонентой.

§ Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.

6. Пара e, n публикуется в качестве открытого ключа RSA (англ. RSA public key).

7. Пара d, n играет роль секретного ключа RSA (англ. RSA private key) и держится в секрете.

Шифрование и расшифрование

Схема RSA

Предположим, сторона хочет послать стороне сообщение .

Сообщением являются целые числа лежащие от до , т.е .

Алгоритм:[3] § Взять открытый ключ стороны § Взять открытый текст § Передать шифрованное сообщение: Алгоритм: § Принять зашифрованное сообщение § Применить свой секретный ключ для расшифровки сообщения:

Пример

Этап Описание операции Результат операции
Генерация ключей Выбрать два простых числа
Вычислить модуль
Вычислить функцию Эйлера φ(n) = (p − 1)(q − 1) = 9167368
Выбрать открытую экспоненту
Вычислить секретную экспоненту
Опубликовать открытый ключ
Сохранить секретный ключ
Шифрование Выбрать текст для зашифровки
Вычислить шифротекст
Расшифрование Вычислить исходное сообщение

 


Дата добавления: 2015-10-28; просмотров: 243 | Нарушение авторских прав


Читайте в этой же книге: Крипкостойкость | Перестановочные шифры. | Область применения | Блочные криптосистемы. Принципы построения. | Американские стандарты шифрования DES, тройной DES, AES. Принципы работы, основные характеристики и применение. | Современные потоковые шифры и их применение. | Создание ключа. | Идея криптосистемы с открытым ключом | Криптосистема RSA. | Криптосистема Рабина |
<== предыдущая страница | следующая страница ==>
Итеративная последовательная схема| Электронная цифровая подпись на базе криптосистемы RSA.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)