RSA криптоалгоритм є блоковим, у ньому повідомлення М розбивається на блоки Мi, з довжиною блоку (на сьогодні 768 біт мінімум), реально 1024, 2048 і більше бітів. Блок криптограма Сі обчислюється за правилом
, (1.1)
де - є відкритий ключ прямого перетворення, N – модуль перетворення є добутком виду
, (1.2)
де в свою чергу P, Q – великі прості числа.
Якщо lp є довжина простого числа Р, наприклад в бітах, а lq – довжина простого числа Q, то довжина модуля N
. (1.3)
Розшифрування блока криптограми здійснюється за правилом:
, (1.4)
де Dк – є ключ зворотного перетворення, тобто розшифрування .
Однозначність розшифрування можна підтвердити підставивши (1.4) в (1.1). В результаті одержимо:
. (1.5)
Ключова пара RSA складається з особистого ключа RSA і відкритого ключа RSA.
Відкритий ключ RSA складається з модуля n, який є добутком двох позитивних простих цілих чисел p і q (тобто, n = pq), і відкритої ключової експоненти e. Тому, відкритий ключ RSA – це пара значень (n, e), яка використовується для перевірки цифрових підписів. Розмір ключової пари RSA звичайно розглядається як довжина модуля n в бітах.
Відповідний особистий ключ RSA складається з того ж модуля n і особистої ключової експоненти d, яка залежить від n і відкритої ключової компоненти e. Тому, особистий ключ RSA – це пара значень (n, d), яка використовується для генерації цифрових підписів.
Для забезпечення безпеки два цілі числа p і q, і особиста ключова експонента d повинні зберігатися в секреті. Модуль n і відкрита ключова компонента e можуть бути відомими всім. Керівництво по захисту цих значень визначено в NIST SP 800-57.
У стандарті FIPS 186-3 визначено три альтернативні довжини модуля: 1024, 2048 і 3072 біт.
Параметри RSA повинні випадково генеруватися з використанням затвердженого генератора випадкових або псевдовипадкових бітів (напр., такого, як визначено в NIST SP 800-90). Результуючі (псевдо) випадкові числа повинні використовуватися як початкові значення для генерації параметрів RSA. Початкові значення повинні зберігатися в секреті або бути знищеними після обчислення модуля n.
Критерії для ключових пар RSA
Ключі RSA повинні відповідати певним критеріям згідно FIPS 186-3:
1. Відкрита експонента e повинна вибиратися з наступними обмеженнями:
¾ Експонента e повинна бути цілим непарним позитивним числом, таким, що:
(1.6)
де nlen - це довжина модуля n в бітах.
2. Два секрети і випадково згенеровані позитивні прості p і q повинні вибиратися з наступними обмеженнями:
¾ (p-1) і (q-1) повинні бути взаємно простими з відкритою експонентою e;
¾ Чотири числа (p ± 1) і (q ± 1) повинні розкладатися на прості співмножники (позначені p1, p2, q1 і q2);
¾ Особистий простий множник p повинен вибиратися випадково з простих чисел, які задовольняють умові: , де nlen - це довжина модуля n в бітах.
¾ Особистий простий множник q повинен вибиратися випадково з простих чисел, які задовольняють умові: , де nlen - це довжина модуля n в бітах.
¾ Різниця між p і q повинна бути
3. Особиста експонента d повинна вибиратися після генерації p і q з наступними обмеженнями:
¾ Експонента d повинна бути позитивним цілим значенням таким, що ; і
¾ .
Оцінка статистичних властивостей
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.