Криптосистема RSA
Y = Ez(X) = Xe mod N,
(2)
(N) = (P-1)(Q-1).
(3)
ed = 1 mod (N).
(6)
Z = (P, Q, e),
W = (N, d).
n = p1m1p2m2….
Тогда
L(n) = НОК((p1m1 ), (p2m2),…). (10)
Y = 23 mod 55 = 8.
Результаты расшифрования ключами е1 и е2 :
X = Ye1 = 87 mod 55 = 2,
X = Ye2 = 827 mod 55 = 87 mod 55 = 2.
В последнем случае использовалось равенство (9): 820 mod 55 = 1. В его
справедливости можно убедиться прямым вычислением: 230 mod 55 = 34, 342
mod 55 = 1. Для однозначного определения ключевой пары область
значений е и d следует сжать до L(N) = 20 (условие (10)), тогда (e,d) = (7,3).
Согласно (5) значение Х должно быть взаимно простым с N. При
невыполнении этого условия равенства (5) не выполняются. Например, при Х
=5 имеем
520 mod 55 = 45.
d = e-1 = e9mod132.
Безопасность RSA
1020/1015*3600 30час.
Тоді
(y1)r zs ( xe1 )r( y2)s ( xe1 )r( xe2 )s x (mod n).
y = xe (mod n) (2.13)
4 .
при великих n C2 3
9 Відомо, що порогом, після якого “добре настроєний”
метод решета числового поля починає перевищувати по трудоємкості раніш
відомі алгоритми факторизації, є число n 10112. В лютому 1999 року цим
методом був факторизован RSA-модуль, що містить 140 десятичних розрядів.
Відмітимо, що можливість успішної атаки на криптосистему RSA з
512-бітним модулем ( 160 десяткових розрядів) можлива вже сьогодні. В
наш час мінімальна довжина модуля, що рекомендується, n – 768 біт
( 230 десяткових розрядів).
На практиці при виборі RSA-модуля необхідно виходити з реальних
оцінок росту працездатності комп’ютерів та досягнень в області
обчислювальної теорії чисел. При цьому неможливо повністю виключити
можливість криптоаналітичних атак на основі інших, відмінних від
факторизації методів. Відмітимо, що в наш час не доведено, що задача
рішення зрівняння (2.3) (находження відкритого тексту x по шифр-тексту y та
відкритому ключу (n, e)) рівнозначна (як обчислювальна складність) задачі
факторизації числа n . Головна мета при виборі модуля RSA – одночасне
забезпечення криптографічної стійкості та обчислювальної ефективності
процесу зашифрування/розшифрування. (Очевидно, що трудоємкість
операції возведення до степеню по модулю n – основної операції при
шифруванні – зростає з збільшенням розрядності n). Необхідно відмітити, що
підвищення працездатності комп’ютерів добре вплинуло на успіхах в області
факторизації, але стійкість криптосистеми RSA при цьому також виросла.
Пояснюється це різницею в трудоємності процесів факторизації та
шифрування: в наслідок чергового стрибка працездатності число, що
піддається факторизації, збільшується на два розряди, тоді як RSA-модуль, не
гублячи обчислювальної ефективності – на дванадцять розрядів .
В теперішній час практична стійкість криптосистеми RSA визначається
обчислювальною трудоємкістю кращих з відомих алгоритмів факторизації
модуля n = pq. Ця трудоємкість істотно залежить від вибору конкретних
значень простих чисел p та q. Для побудови криптосистеми p,q з
допустимою стійкістю необхідно обирати прості числа спеціального виду та
перевіряти для них ряд умов. Так, p та q не повинні виявитись “випадково”
близькими простими. Друга умова полягає в тому, що в числа p – 1 повинен
існувати як найменше один дуже великий простий співмножник f, при цьому
число f – 1 також повинно мати великий простий співмножник. Аналогічні
обмеження накладаються й на q. Вказана умова гарантує, що рішення
зрівняння (2.13) не може бути знайдено методом ітерацій ; якщо p – 1 не
містить великих простих співмножників, то n легко факторизується за
допомогою алгоритму, розробленного в 1974 році Дж. Поллардом.
Один з можливих підходів до дешифрування RSA полягає в
знаходженні (“вгадуванні”) числа (n) = (p – 1)(q – 1) (без факторизації n) та
подальшому визначенні таємного ключа d з співвідношення (2.8). Однак,
неважко показати, що цей підхід не простіше, ніж спроба розкласти n на
множники: якщо відомо (n), то числа p та q також легко можуть бути
знайдені .
На основі перерахованих вище та інших відомих в теперішній час атак
на криптосистему RSA можливо зформулювати наступні основні обмеження
при її використанні :
– значення відкритого ключа e та відповідаючому йому таємного
ключа d, дозволяє супротивнику факторизувати n;
– значення одної пари чисел (e, d), задовільняючих зрівняння
(2.8), дозволяє супротивнику знайти по довільному відкритому ключу
відповідний таємний ключ, не розкладаючи n на множники;
– виключено повторне використання одного й того ж значення n
для зашифрування/розшифрування повідомлень;
– числа p та q повинні вибиратися з дотриманням ряду умов;
– у випадку використання короткого відкритого ключа e
(наприклад, e = 3) відкриті повідомлення повинні бути доповнені
“випадковими” значеннями;
– таємний ключ d повинен бути великих.
Відмітимо, що, як правило, слідує віддавати перевагу адекватній
стійкості криптосистеми задаючи шкоди її практичній (обчислювальній)
ефективності.
2.4. Криптосистема Ель-Гамаля відкритого шифрування.