Список разделов: Статьи по дате:
25.01.2015 | Главная > Алгоритмы > RSA – алгоритм шифрования с открытым ключом > Комментарии

RSA – алгоритм шифрования с открытым ключом

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

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

Читать статью...   Написать комментарий...


Комментарии к статье

Павел
21.12.2010 21:28:10

Как программно реализовать ad (mod m)
Что это за операция ad (mod m)? остаток от деления?

Двуреченский Павел
22.12.2010 23:28:18

Вы имеете в виду a в степени d (mod m)?

mod m - остаток от деления полученного после какой-либо операции числа на m. Или ещё говорят, что операции производятся по модулю m.

А как это реализуется, написано в конце статьи.

Леха
24.03.2012 13:16:39

Большущее спасибо! Все понятно и доходчиво, алгоритмы как на ладони. +++

freemanoid
31.03.2012 00:44:28

В решении уравнения a * x + b * y = 1
ошибка, т.к. у меня не получалось использовать полученный секретный ключ для шифрования/дешифрования, если я брал не -q, а q по модулю большего из a и b

hunt
3.04.2012 19:49:33

Откуда -1 в выражении?
a^(2k * t) = -1 (mod N)

hunt
3.04.2012 22:19:56

Название какого алгоритма поиска простых чисел используется в этой статье?

dmkoudrin
13.04.2012 13:21:58

Исполать тебе, добрый молодец!

Павел
3.06.2012 15:54:46

>>> В решении уравнения a * x + b * y = 1
ошибка, т.к. у меня не получалось использовать полученный секретный ключ для шифрования/дешифрования, если я брал не -q, а q по модулю большего из a и b

Там нет никакой ошибки. Читайте внимательно. Специально же есть пояснение как нужно брать -q. -q это модуль минус q, а не просто модуль q.

Павел
3.06.2012 16:05:18

> Откуда -1 в выражении?
a^(2k * t) = -1 (mod N)

Это же операция по модулю. Например, если модуль равен 100, то 99 будет равно -1 потому, что -1+100=99
Читайте -1 как N-1

Оксана
20.06.2013 02:46:20

какой алгоритм используется для разложения чисел на множители?

Ержан
27.02.2014 21:55:33

здравствуйте, можете сказать, на каком языке программирование лучше всего писать RSA?

Павел
1.03.2014 16:52:56

Пишите на любом. Что значит в вашем понимании "лучше"? На каком умеете, на том и пишите. Я писал на C++.

Алексей
19.07.2014 08:45:19

Есть еще как минимум один способ нахождения закрытого ключа, который не основан на простых или составных числах вообще.
Можно вопрос не по теме? Я написал алгоритм шифрования, где его можно проверить на криптостойкость с выдачей документа

Vasiliy
16.08.2014 04:51:21

Спасибо за статью, пытаюсь разобраться.
Для начала выбираю два простых числа 5 и 7. Пока все : )

trcrt
9.09.2014 20:56:00

Не совсем ясно с выбором размера блока. Скажем, захотел я ключ длиной 1024 бита. Для этого я генерю простые числа p и q длиной по 512 бит (как я понимаю имеются ввиду числа от 2^511 до 2^512?). Затем перемножаю их, получаю модуль n. Теперь шифрования(ну и для расшифровывания) мне нужно возвести блок в степень(скажем, блок это массив int'ов) и взять остаток от деления на n. Тогда получается, что ширина блока в данном случае и будет 1024 бита, так?

Елена
25.01.2015 15:10:40

Здравствуй, Павел.
Мне не совсем понятно для чего мы выполняем проверку выражения N - 1 = 2^s * t?
При начальном значении s = 0 и t = N - 1 у нас в любом случае будет выполняться выражение.

Добавить комментарий

Ваше имя*:
Ваш e-mail:
Комментарий*:
Уведомлять о новых сообщениях по e-mail
Введите цифры*:
Картинка с цифрами

(С) Copyright 2005-2016. На данном сайте содержится авторский материал, принадлежащий Двуреченскому Павлу. Перепечатка данного материала возможна только со ссылкой на www.paveldvlip.ru и указанием имени автора.