Приветствую Вас Гость | RSS

Суббота, 29.06.2024, 08:27
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
14. Алгоритм RSA
BlofeldДата: Вторник, 29.03.2011, 18:23 | Сообщение # 1
Местный копирайтер
Группа: Администраторы
Сообщений: 583
Репутация: 2012
Статус: Offline
Алгоритм RSA разработан Ривестом, Шамиром и Адлеманом и представляет собой блочный алгоритм шифрования, где зашифрованные и незашифрованные данные являются целыми между 0 и n-1 для некоторого n. Алгоритм использует выражения с экспонентами. Данные шифруются блоками, каждый блок рассматривается как число, меньшее некоторого числа n. Шифрование и дешифрование имеют следующий вид для некоторого незашифрованного блока М и зашифрованного блока С.


Как отправитель, так и получатель должны знать значение n. Отправитель знает значение е, получатель знает значение d. Таким образом, открытый ключ есть KU = {e, n} и закрытый ключ есть KR = {d, n}. При этом должны выполняться следующие условия:
1. Возможность найти значения е, d и n такие, что для всех М < n.
2. Относительная легкость вычисления для всех значений М < n.
3. Невозможность определить d, зная е и n.

Представим все элементы алгоритма RSA.

Предположим, что пользователь А опубликовал свой открытый ключ KU, и что пользователь В хочет послать пользователю А сообщение М. Тогда В вычисляет и передает А зашифрованное сообщение С. При получении этого зашифрованного текста пользователь А дешифрует вычислением .

Таким образом алгоритм RSA состоит из следующих этапов:
Создание ключей
Выбрать простые р и q
Вычислить n = p • q
Выбрать d такое что gcd (Φ(n), d) = 1; 1 < d < Φ(n)
Вычислить е е = d-1 mod Φ(n)
Открытый ключ KU = {e, n}
Закрытый ключ KR = {d, n}

Шифрование
Незашифрованный текст: М < n
Зашифрованный текст:

Дешифрование
Зашифрованный текст: С
Незашифрованный текст: М = Сd (mod n)

Операции возведения в степень больших чисел достаточно трудоемки для современных процессоров, даже если они производятся по оптимизированным по времени алгоритмам. Поэтому обычно весь текст сообщения кодируется обычным блочным шифром (намного более быстрым), но с использованием ключа сеанса, а вот сам ключ сеанса шифруется как раз асимметричным алгоритмом с помощью открытого ключа получателя и помещается в начало файла.

 
  • Страница 1 из 1
  • 1
Поиск: