Алгоритм RSA.
Алгоритмы, основанные на сложных математических преобразованиях.
Алгоритм RSA
Алгоритм RSA (по первым буквам фамилий его создателей Rivest-Shamir-Adleman) основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1. Открытым ключом является пара чисел e и n, а закрытым — d и n. При шифровании исходный текст… Читать ещё >
Алгоритм RSA. Алгоритмы, основанные на сложных математических преобразованиях. Алгоритм RSA (реферат, курсовая, диплом, контрольная)
Алгоритм RSA (по первым буквам фамилий его создателей Rivest-Shamir-Adleman) основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1.
Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей. Например, Unix-программа ssh-keygen по умолчанию генерирует ключи длиной 1024 бита).Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р -1)*(q -1). Отыщем такое число e, для которого верно соотношение.
(e*d) mod ((р -1) *(q -1)) = 1 (mod — остаток от деления, т. е. если e, умноженное на d, поделить на ((р -1) *(q -1)), то в остатке получим 1).
Открытым ключом является пара чисел e и n, а закрытым — d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию.
C (i)= (M (i)e) mod n.
В результате получается последовательность C (i), которая и составит криптотекст. Декодирование информации происходит по формуле.
M (i) = (C (i)d) mod n.
Как видите, расшифровка предполагает знание секретного ключа.
Давайте попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный — 5, 21.
алгоритм rsa криптотекст шифрование.