- •6.4.1 Оцінка автентичності захисту інформації з використанням симетричних алгоритмів. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Ми застосуємо в оцінці відповідне більше, так як не доведено, що в режимі виробки імітоприкладки забезпечується досконала автентичність.
- •1.12 Оцінка автентичності інформації, захищеної з використанням асиметричних алгоритмів. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Відомо також, що імовірність обману можна визначити як
- •1.13 Криптоаналіз rsa та дискретних логарифмiв методом -Поларда. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Задача 1.
- •1.14 Криптоаналiз rsa методом квадратичного решета. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Задача 1.
- •2.7 Аналіз методiв перетворень в перспективних симетричних криптографічних системах. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.9 Симетричні потокові шифри. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.9.1 Приклади розв’язку задач
- •2.10 Стійкість асиметричних криптосистем, що базуються на криптоперетвореннях в простих полях. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.11 Стійкість асиметричних криптосистем, що базуються на криптоперетвореннях в групі точок еліптичних кривих. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Використовуючи формули для додавання точок:
- •При подвоєнні маємо:
- •2.12 Електронні цифрові підписи та їх застосування. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.13 Криптографічні протоколи. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.14 Криптографічні протоколи направленого шифрування. Приклади розв’язку задач та задачі для самостійного розв’язання
- •Побудуйте однораундовий протокол автентифікації, використовуючи rsa криптографічне перетворення, оцініть стійкість протоколу, якщо довжина модуля
- •1) Факторизуємо модуль n і визначаємо прості числа p та q;
- •2.15 Криптографічні протоколи виробки та установки ключів. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.16 Криптографічні протоколи розподілу таємниці. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.17 Функції гешування та їх властивості. Приклади розв’язку задач та задачі для самостійного розв’язання
- •2.17.1 Приклади розв’язку задач
1.14 Криптоаналiз rsa методом квадратичного решета. Приклади розв’язку задач та задачі для самостійного розв’язання
1.14.1 Приклади розв'язку задач
Задача 1.
Факторизувати модуль N, використовуючи метод квадратичного решета, якщо N = 377.
Розв’язок задачі:
Знаходимо :
Таблиця 1.11 – Розрахунки
x |
Z = x+ |
Z 2 mod N |
2 |
3 |
5 |
7 |
Залишок |
1 |
20 |
23 |
- |
- |
- |
- |
23 |
2 |
21 |
64 |
6 |
- |
- |
- |
+ |
3 |
22 |
107 |
- |
- |
- |
- |
107 |
4 |
23 |
152 |
3 |
- |
- |
- |
19 |
5 |
24 |
199 |
- |
- |
- |
- |
199 |
6 |
25 |
248 |
3 |
- |
- |
- |
31 |
7 |
26 |
299 |
- |
- |
- |
- |
299 |
8 |
27 |
352 |
5 |
- |
- |
- |
11 |
9 |
28 |
30 |
1 |
1 |
1 |
- |
+ |
10 |
29 |
87 |
- |
1 |
- |
- |
29 |
11 |
30 |
146 |
1 |
- |
- |
- |
73 |
12 |
31 |
207 |
- |
2 |
- |
- |
23 |
13 |
32 |
270 |
1 |
3 |
1 |
- |
+ |
14 |
33 |
335 |
- |
- |
1 |
- |
67 |
15 |
34 |
25 |
- |
- |
2 |
- |
+ |
У першому стовпчику задаємо значення x, у другому Z = х+19, у третьому - Z2 mod N. Далі значення Z2 mod N розкладається на співмножники бази Р¢, точніше робиться спроба, - це числа 2, 3, 5, 7, добуток цих чисел р¢ = 210. Із таблиці бачимо, що число 23 не розкладається на співмножники бази. Число 64 розкладається на співмножники – 2 (26 = 64).
Якщо Z2 mod N повністю розкладається на співмножник або співмножники р¢, то таку спробу вважаємо позитивною та позначаємо рядок знаком “+”. Для успішної факторизації необхідно не менше k, де k – число співмножників бази розкладу, позитивних експериментів. Потім, перемножуючи значення стовпців Z 2 mod N та результати розкладу за базою, необхідно скласти рівняння вигляду
.
Наприклад, другий рядок (тільки одна) дає такий результат
або
.
Тоді x = 21, y = 8; x-y = 21-8 = 13.
Далі НCД (x-y, N) = НCД (13, 377) = 29.
Тому, наприклад, P = 13, Q = 29 і N = 13*29 = 377.
Аналогічно можна взяти 15 рядок. Тоді маємо
,
,
,
.
Задача 2.
Нехай відомо, що в RSA cистемі використовується відкритий ключ Dk = 107, а модуль перетворення N = 209. Необхідно знайти особистий (секретний) ключ Ek та оцінити складність криптоаналізу.
Розв’язок задач здійснимо в декілька етапів. На першому факторизуємо модуль N, використовуючи метод квадратичного решета. Потім, розв’язавши ключове порівняння, знайдемо особистий ключ Dk. На завершення оцінимо складність криптоаналізу, основний етап якого складає факторизація.
Розрахунки зведемо в таблицю 1.12, при цьому знаходитимемо НСД, використовуючи алгоритм Евкліда. Сутність алгоритму Евкліда:
Нехай
a1 = x-y; a2 = N.
if a1 =a2 then НСД:= a2;
a1 := max(a1, a2),
a2 := min(a1, a2).
3) a1/a2 ®a3 =r;
4) if a3 = 0 then НСД :=a2, END;
5) a1:= a2; a1:= a3; goto 3).
Аналогічно, як і в задачі 1, для факторизації використовується квадратичне решето.
При цьому
.
p = 2*3*5*7* = 210.
Значить N»P.
Таблиця 1.12 – Розрахунки
N/n |
x |
Z =ë x+û |
Z 2 mod N |
2 |
3 |
5 |
7 |
Залишок |
1 |
1 |
15 |
16 |
4 |
- |
- |
- |
+ |
2 |
2 |
16 |
47 |
- |
- |
- |
- |
-47 |
3 |
3 |
17 |
80 |
4 |
|
1 |
- |
+ |
4 |
4 |
18 |
115 |
- |
- |
1 |
- |
-23 |
5 |
5 |
19 |
152 |
3 |
- |
- |
- |
-19 |
6 |
6 |
20 |
191 |
- |
- |
- |
- |
- |
7 |
7 |
21 |
23 |
- |
- |
- |
- |
- |
8 |
8 |
22 |
66 |
1 |
1 |
- |
- |
-11 |
9 |
9 |
23 |
111 |
- |
1 |
- |
- |
-37 |
10 |
10 |
24 |
158 |
1 |
- |
- |
- |
-79 |
11 |
11 |
25 |
207 |
- |
2 |
- |
- |
23- |
12 |
12 |
26 |
47 |
- |
- |
|
2 |
+ |
13 |
13 |
27 |
102 |
1 |
1 |
- |
- |
17- |
14 |
14 |
28 |
157 |
- |
- |
- |
- |
- |
15 |
15 |
29 |
5 |
- |
- |
1 |
- |
+ |
16 |
16 |
30 |
64 |
6 |
- |
- |
- |
+ |
17 |
17 |
31 |
125 |
- |
- |
3 |
- |
+ |
18 |
18 |
32 |
188 |
2 |
- |
- |
- |
47 |
У таблиці 1.13 наведені позитивні рядки
Таблиця 1.13 – Позитивні рядки
x |
Z =ë x+û |
Z 2 mod N |
2 |
3 |
5 |
7 |
Залишок |
1 |
15 |
16 |
4 |
- |
- |
- |
+ |
3 |
17 |
80 |
4 |
|
1 |
- |
+ |
12 |
26 |
47 |
- |
- |
|
2 |
+ |
15 |
29 |
5 |
- |
- |
1 |
- |
+ |
16 |
30 |
64 |
6 |
- |
- |
- |
+ |
17 |
31 |
125 |
- |
- |
3 |
- |
+ |
Замінимо в таблиці всі парні числа 0, а непарні 1. У матриці розміром n x(n+1) із нулів та одиниць завжди можна обрати множину рядків, таку, що у всіх стовпцях буде парне число одиниць, а отже є сукупність рядків у яких
.
Наприклад, розв’язок дають рядки {3,15}, {3, 17}, {15, 17}, {1}, {12}, {16}.
1. 152 º 24(mod 209); 152 º 42(mod 209)
x=15, y=4.
НСД(15-4, 209) = 11,
P=11; Q=N:P=209:11=19.
2. {3,15}
172 292 º 5 242(mod 209); (17*29)2 º (20)2(mod 209).
x=75, y=20.
НСД(75-20, 209).
3. {15, 17}
292 º 51(mod 209)
312 º 53(mod 209)
(3129)2 º 5 4(mod 209); (2931)2 º 25 2(mod 209);
x=63; y=25; (x-y, 209) НСД=(38, 209)=(219, 209) = 19
Використовуючи алгоритм Евкліда маємо:
a1 = 209; a2 = 38
P=209:19=11;Q=19
209:38=5; r=19
a1 = 38; a2 = 19
39:19=2; r=0;
НСД (a1, a2)=a2 = 19
Тепер розв’яжемо ключове порівняння
Dk = 103; N=209; j(N)= 10*18 = 180
j(N) (-k)+DkEk = 1; 180(-k)+103Ek = 1
180x+103y = 1 x=(-1)m+1bm-1; y = (-1)mam-1;
.
r0 = 1;
r1 = 1;
r2 = 2;
r3 = 1;
r4 = 25;
m = 4;
am-1 = rm-1am-2+am-3; bm-1 = rm-1bm-2+bm-3;
a3 = r3a2 + a1; b3 = r3b2 + b1;
;
a2 = 1(1*2+1)+2 = 5; b2 = 3;
a3 = 7;
y = (-1)47 = 7.
Таким чином Ek = 7.
В таблиці 1.14 наведені значення складності криптоаналізу, I1 – методом Ленстри, І2 – з використанням квадратичного решета.
.
.
Таблиця 1.14 – Значення складності криптоаналізу
N
|
lnN |
lnlnN |
(lnN)1/3 |
(lnlnN)2/3 |
I1 |
I2 |
256 |
179,2 |
5,29 |
5,64 |
2,99 |
1,7×1013 |
8,2×1013 |
512 |
358,4 |
5,98 |
7,10 |
3,25 |
8,5×1019 |
1,2×1019 |
768 |
537,6 |
6,29 |
8,13 |
3,41 |
1,7×1024 |
7,4×1022 |
1024 |
716,8 |
6,57 |
8,94 |
3,51 |
6,3×1029 |
7,8×1025 |
2048 |
1433,6 |
7,26 |
11,27 |
3,74 |
2,4×1044 |
6×1034 |
4096 |
2867,2 |
7,96 |
14,20 |
3,99 |
4,1×1065 |
5,6×1046 |
8192 |
5734,4 |
8,65 |
17,89 |
4,21 |
5,3×1096 |
1,4×1062 |
Перевірка Ek*Dk = 103*7 = 721(mod 180)º1 (mod 180). Тоді розв’язок зроблено правильно.