
- •10. 1 Перелік та загальна характеристика асиметричних крипто перетворень
- •10.2 Етапи створення і розвитку асиметричних крипто перетворень нш.
- •10.3 Крипто перетворення нш в кільцях (rsa)
- •10.4 Проблемні питання крипто перетворень типу rsa.
- •10. 1 Перелік та загальна характеристика асиметричних крипто перетворень
- •10.2 Етапи створення і розвитку асиметричних крипто перетворень нш.
- •10.3 Крипто перетворення нш в кільцях (rsa)
- •10.4 Проблемні питання крипто перетворень типу rsa.
- •1.8 Асиметричні криптоалгоритми. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Задача 1.
- •Задача 2.
- •Задача 10.
- •Знаходимо модуль rsa перетворення та значення функції Ойлера:
- •Задача 1.
- •Задача 2.
- •Задача 10.
- •Знаходимо модуль rsa перетворення та значення функції Ойлера:
10.3 Крипто перетворення нш в кільцях (rsa)
В 10.2, по суті , розглянуто етапи створення та певні властивості RSA направленого шифру. В цьому підрозділі розглянемо сутність RSA направленного шифру.
Алгоритм
направленного шифрування.RSA
криптоалгоритм є блоковим, у ньому
повідомлення М
розбивається на блоки Мi,
з довжиною блоку
(на сьогодні2048
біт мінімум), реально 2048,
3072 і більше
бітів. Блок криптограма Сі
обчислюється за правилом
, (10.2
1.49)
де
– є відкритий ключ прямого перетворення,N
– модуль перетворення є добутком виду
,
(10.3
1.50)
де в свою чергу P, Q – великі прості, скоріше сильні, числа.
Якщо lp є довжина простого числа Р, наприклад в бітах, а lq – довжина простого числа Q, то довжина модуля N
.
(10.4 1.51)
Розшифрування блока криптограми здійснюється за правилом:
,
(10.5 1.52)
де
Dк
– є ключ зворотного перетворення, тобто
розшифрування
.
Однозначність розшифрування можна підтвердити, підставивши (10.5 1.52) в (10.2 1.49). В результаті отримаємо:
.
(10.6 1.53)
Оскільки
ключова пара
пов’язана між собою порівнянням:
,
(10.7 1.54)
де
є функцією Ойлера від модуляN
=
.
Якщо
(10.7 1.54) має єдине рішення, тобто існує
єдина пара
,
то такий шифр є однозначним і при таких
умовах RSA криптосистема забезпечує
однозначне направлене шифрування.
Зазначимо, що з точки зору забезпечення максимально можливої крипто-стійкості прості числа P i Q мають бути сильними в широкому або вузькому значенні [7]. Так просте число Р вважатимемо сильним в широкому значенні, якщо
, (10.8
1.55)
де R – також велике просте число.
Аналогічно визначається і сильне в широкому значенні просте число Q.
Просте
число Р
вважається сильним у вузькому значенні,
якщо
містить в своєму канонічному розкладі
велике просте числоR,
Р+1
містить в своєму розкладі велике просте
число S,
а крім того R-1
містить в своєму розкладі велике число
T.
Генерування асиметричної ключової пари. Система RSA відноситься до криптосистем з відкритими ключами. В цій системі ключі ЕkDk, причому один з них має бути особистим, а другий – відкритим. Наприклад, Еk – особистий, а Dk – відкритий, якщо вони використовуються для ЕЦП і навпаки, якщо використовуються для направленого шифрування.
Усі параметри (N,P,Q) також поділяються на 2 класи: N – відкритий, P,Q – конфіденційні (секретні).
Сутність забезпечення моделі взаємної недовіри – кожен користувач генерує ключі сам собі. Особистий ключ залишає в себе і забезпечує його строгу конфіденційність. Відкритий ключ розсилає всім користувачам, з якими він зв'язаний. Користувач також забезпечує цілісність і дійсність відкритих ключів.
Еk, Dk – мають вибиратися з повної множини випадково, порівняно ймовір- но і незалежно, мають забезпечувати однозначну оборотність прямого та зворотного перетворення. Відповідним чином засвідчений відкритий ключ є сертифікатом (див. п. 1.1.1).
Значення Еk, Dk для практичних використань мають задовольняти умову
,
де
.
Порівняння (1.54) можна звести до Діафантового рівняння:
ax+by=1. (10.9 1.56)
Це діафантове рівняння – нормоване, тому що справа коефіцієнт дорівнює 1; a, b – цілочисельні коефіцієнти, х, у – невідомі. Порівняння (10.7 1.54) можна подати у вигляді:
,
(10.10 1.57)
k – деяке невідоме число.
Діафантове
рівняння (10.9 1.56) має цілочисельне
розв’язання, якщо a
і b
цілочисленні, і
,a
і b
взаємно прості. Подавши (10.10 1.57) у вигляді
, (10.11
1.58)
отримаємо а=(N), x=(k), b=Ek, y=Dk .
Якщо Ek сформувати випадково, то а та b – відомі числа, а х та y – невідомі, що підлягають визначенню.
Найбільш швидке розв’язання (10.11 1.58) дає застосування ланцюгових дробів, які дозволяють визначити х та у як
,
(10.12 1.59)
де – порядок ланцюгового дробу, a і b – параметри ланцюгового дробу.
Знаходимо параметри:
a/b подається у вигляді ланцюгового дробу
,
(10.13 1.60)
μ - порядок ланцюгового дробу, перший коефіцієнт, у якого залишок дорівнює 0.
Значення (а0,b0) та (а1,b1) визначаються як
,
.
Значення (а2,b2), (а3,b3) і т.д. визначаються рекурентно відповідно до правил
.
(10.14 1.61)
Середнє
число ітерацій в (1.60), тобто
,
можна визначити як [16]
.
Попередня
оцінка стійкості. В
системі RSA крипто аналіз, метою якого є
визначення особистого (таємного) ключа,
наприклад Ек
ключа ключової пари (),
деDк
є відкритий ключ, може бути здійснений
таким чином:
Зловмисник отримує системні параметри (однакові для обох користувачів)
та відкритий ключ Ек.
Використовуючи спеціальну крипто аналітичну систему здійснюється факторизація модуля
, в результаті чого він визначає прості числа
та
.
Розраховується значення функції Ойлера
.
Використовуючи методику, наведену в (1.49), здійснюється розв’язок порівняння
.
Взагалі,
найбільш простим методом крипто аналізу
є підбір ключової пари (),
тобто при відомих
визначаєтьсяDк.
Нехай
має довжину
тоді, якщо
,
то
.
Область
існування для ключа
можна визначити, як всі цілі числа, що
не перевищують
та є взаємно простими, тобто
.
Підбір
із повної множини є задачею, що набагато
складніша, ніж алгоритм, заданий вище
пп. 1-4.
Проведені дослідження підтвердили, що необхідний рівень стійкості в RSA забезпечується в тому випадку, якщо прості числа є сильними.
Покладемо,
що як
використовуються прості числа, тоді
справедливе таке:
,
,
.
Використовуючи теорему Чебишева [17], визначимо кількість особистих ключів, як
.
(10.15
1.62)
Приклад 1. Визначимо число простих 1024 бітних чисел
.
Щоб розв’язати цю задачу методом тотального перебору не вистачить енергії сонця.
Згідно з сучасними поглядами найбільш перспективними методами крипто аналізу є методи, що базуються на пп. 1-4, що розглянуті вище. При цьому найбільш складна задача факторизації модуля N вимагає найбільших ресурсів і суттєво залежить від використовуваного методу. На сьогодні відомо та апробовано такі методи факторизації:
спробного поділу;
-Полларда і
-1 Полларда;
Ленстра, з використанням еліптичних кривих ;
квадратичне решето;
загальне та спеціальні решета числового поля тощо
Згідно сучасних поглядів найбільш перспективним з точки зору мінімізації складності факторизації модуля є метод, що реалізований у вигляді загального решета числового поля [ ] та спеціального решета числового полях[ ]. В таблицях 10.2 та 10.3 показано результати, які отримано в світі при розв’язку задач факторизації.