Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Задача 1. Факторизувати модуль N, використовуючи метод квадратичного решета, якщо N = 377



Факторизувати модуль N, використовуючи метод квадратичного решета, якщо N = 377.

Розв’язок задачі:

Знаходимо :

Таблиця 1.11 – Розрахунки

x Z = x+ Z 2 mod N         Залишок
      - - - -  
        - - - +
      - - - -  
        - - -  
      - - - -  
        - - -  
      - - - -  
        - - -  
            - +
      -   - -  
        - - -  
      -   - -  
            - +
      - -   -  
      - -   - +

У першому стовпчику задаємо значення x, у другому Z = х +19, у третьому - Z 2 mod N. Далі значення Z 2 mod N розкладається на співмножники бази Р ¢, точніше робиться спроба, - це числа 2, 3, 5, 7, добуток цих чисел р ¢ = 210. Із таблиці бачимо, що число 23 не розкладається на співмножники бази. Число 64 розкладається на співмножники – 2 (26 = 64).

Якщо Z 2 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истемі використовується відкритий ключ
D k = 107, а модуль перетворення N = 209. Необхідно знайти особистий (секретний) ключ E k та оцінити складність криптоаналізу.

Розв’язок задач здійснимо в декілька етапів. На першому факторизуємо модуль N, використовуючи метод квадратичного решета. Потім, розв’язавши ключове порівняння, знайдемо особистий ключ D k. На завершення оцінимо складність криптоаналізу, основний етап якого складає факторизація.

Розрахунки зведемо в таблицю 1.12, при цьому знаходитимемо НСД, використовуючи алгоритм Евкліда. Сутність алгоритму Евкліда:

Нехай

a 1 = x-y; a 2 = N.

1) if a 1 = a 2 then НСД:= a 2;

2) a 1:= max(a 1, a 2),

a 2:= min(a 1, a 2).

3) a 1/ a 2 ® a 3 = r;

4) if a 3 = 0 then НСД:= a 2, END;

5) a 1:= a 2; a 1:= a 3; goto 3).

Аналогічно, як і в задачі 1, для факторизації використовується квадратичне решето.

При цьому

.

p = 2*3*5*7* = 210.

Значить N» P.

Таблиця 1.12 – Розрахунки

N/n x Z =ë x+ û Z 2 mod N         Залишок
          - - - +
        - - - - -47
              - +
        - -   - -23
          - - - -19
        - - - - -
        - - - - -
            - - -11
        -   - - -37
          - - - -79
        -   - - 23-
        - -     +
            - - 17-
        - - - - -
        - -   - +
          - - - +
        - -   - +
          - - -  

У таблиці 1.13 наведені позитивні рядки

Таблиця 1.13 – Позитивні рядки

x Z =ë x+ û Z 2 mod N         Залишок
        - - - +
            - +
      - -     +
      - -   - +
        - - - +
      - -   - +

Замінимо в таблиці всі парні числа 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

Використовуючи алгоритм Евкліда маємо:

a 1 = 209; a 2 = 38

P =209:19=11; Q =19

209:38=5; r =19

a 1 = 38; a 2 = 19

39:19=2; r =0;

НСД (a 1, a 2)= a 2 = 19

Тепер розв’яжемо ключове порівняння

D k = 103; N =209; j (N)= 10*18 = 180

j (N) (- k)+ D k E k = 1; 180(- k)+103 E k = 1

180 x +103 y = 1 x =(-1)m+1 b m-1; y = (-1)m a m-1;

.

r 0 = 1;

r 1 = 1;

r 2 = 2;

r 3 = 1;

r4 = 25;

m = 4;

a m-1 = r m-1 a m-2+ a m-3; b m-1 = r m-1 b m-2+ b m-3;

a 3 = r 3 a 2 + a 1; b 3 = r 3 b 2 + b 1;

;

a 2 = 1(1*2+1)+2 = 5; b 2 = 3;

a 3 = 7;

y = (-1)47 = 7.

Таким чином Ek = 7.

В таблиці 1.14 наведені значення складності криптоаналізу, I 1 – методом Ленстри, І 2 – з використанням квадратичного решета.

.

.

Таблиця 1.14 – Значення складності криптоаналізу

N   ln N lnln N (ln N)1/3 (lnln N)2/3 I1 I2
  179,2 5,29 5,64 2,99 1,7×1013 8,2×1013
  358,4 5,98 7,10 3,25 8,5×1019 1,2×1019
  537,6 6,29 8,13 3,41 1,7×1024 7,4×1022
  716,8 6,57 8,94 3,51 6,3×1029 7,8×1025
  1433,6 7,26 11,27 3,74 2,4×1044 6×1034
  2867,2 7,96 14,20 3,99 4,1×1065 5,6×1046
  5734,4 8,65 17,89 4,21 5,3×1096 1,4×1062

Перевірка Ek*Dk = 103*7 = 721(mod 180)º1 (mod 180). Тоді розв’язок зроблено правильно.

1.14.2 Задачi для самостiйного розв'язання

1. Факторизуйте модуль RSA перетворення методом двійкового решета, якщо

                     
N                      

2. Порівняйте складність криптоаналізу RSA, якщо використовуються метод –Полларда, метод Ленстри, квадратичне решето та загальне решето числового поля.

Визначте складність криптоаналізу, якщо довжини модулів бітів.

1.14.3 Контрольнi запитання та завдання

1. Сутність методу квадратичного решета?

2. Як розраховується база квадратичного решета?

3. Як рекомендується обирати значення числа Z?

4. Викладіть сутність двійкового решета?

5. В чому сутність алгоритму Евкліда та які умови його застосування?

6. Скільки розкладів таблиці квадратичного решета мають бути позитивними?

7. Як оцінити стійкість RSA криптоперетворень?

8. Яким чином стійкість криптоперетворень залежить від методу криптоаналізу?

9. В чому суть методики RSA криптоаналізу?

10. Дайте оцінку складності криптоаналізу різних етапів його виконання.

11. Які вимоги ставляться до простих чисел, щоб складність крипто-аналізу була найбільшою?

12. Як RSA перетворення може бути використане для здійснення цифрового підпису?

13. Як RSA перетворення може бути використане для здійснення направленого шифрування?

14. Які вимоги висуваються до пари ключів RSA-перетворення?

15. Які канали вразливості властиві RSA-перетворенням?

16. Порівняйте складність основних мотодів факторизації складених
чисел.





Дата публикования: 2015-01-14; Прочитано: 1320 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.023 с)...