Криптосистема Міччанчо

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Криптосистема Міччанчо — криптографічна система, заснована на схемі шифрування GGH, запропонована 2001 року професором Університету Каліфорнії в Сан-Дієго Данієлем Міччанчо.

Схема шифрування GGH спирається на криптографію на ґратках, яку вважають перспективною для використання в постквантових системах (оскільки криптосистеми, що використовують факторизацію цілих чисел, дискретне логарифмування, дискретне логарифмування на еліптичних кривих можуть бути ефективно зламані квантовим комп'ютером). Криптосистема Міччанчо, фактично, є покращенням схеми шифрування GGH, зі зменшенням вимог до розміру ключа та шифротексту в разів без погіршення безпеки системи, де  — розмірність ґратки (для типових криптосистем становить кілька сотень). 2004 року Крістоф Людвіг емпірично показав, що для безпечного використання потрібно , до того ж, створення ключа і його дешифрування займає багато часу, а сам розмір ключа має бути більшим від 1 МБ. Тому ця криптосистема не може бути використана на практиці[1][2][3][4].

Основні поняття та позначення[ред. | ред. код]

Нехай , де  — набір з лінійно незалежних векторів, і компоненти кожного з векторів є цілими числами, а  — матриця з цих векторів розміру . Далі теорія будується для . Ґраткою будемо називати множину [5].

Через те, що базис може бути не унікальним, прийнято вибирати як базис ермітову нормальну форму, яка для кожної окремо взятої решітки унікальна. Це означає, що матриця, складена з векторів базису, є верхня трикутна, всі діагональні елементи строго додатні, інші елементи задовольняють . Цей вид матриць має такі корисні властивості. По-перше, через ортогоналізацію Грама — Шмідта така матриця зводиться до діагонального вигляду з елементами на діагоналі. По-друге, визначник такої матриці дорівнює добутку її діагональних елементів, тобто [5].

З останнього також випливає важлива властивість цілих ґраток:

Нехай довільні вектори і такі, що . В цьому випадку тоді й лише тоді, коли .

Нехай  — прямий паралелепіпед, де  — цілочисельні координати,  — ортогоналізовані за процесом Грама — Шмідта базисні вектори, . Простір можна замостити такими паралелепіпедами. Тоді для будь-якого існує унікальний вектор . Такий вектор називають редукованим для вектора за модулем . Його отримують знаходженням відносної позиції в , де [5].

Цей вектор можна знайти за таким алгоритмом:

  1. Знайти
  2. Обчислити вектор за формулою [6].

Методологія[ред. | ред. код]

У криптосистемах на ґратках ключами є базиси. Нехай і  — публічний і приватний базиси однієї й тієї ж ґратки . Відмінність цієї криптосистеми від системи шифрування GGH полягає в оптимальному виборі односторонньої функції. Важливою особливістю функції в криптосистемі Міччанчо є детермінованість. У цьому розділі будується загальний клас функцій вигляду GGH[7].

Клас односторонніх функцій вигляду GGH[ред. | ред. код]

Для схеми шифрування GGH одностороння функція набуває вигляду , де  — шифротекст,  — цілочисельний вектор і  — вектор помилки, завдовжки не більше , . Останнє необхідне для того, щоб помилка не створювала сильних спотворень під час обчислення з приватним базисом і, навпаки, для обчислень із публічним. Тут повідомлення кодується в , а вибирається випадково[5].

Сімейство односторонніх функцій GGH-виду , параметризоване алгоритмами і , задовольняє:

  1. приймає на вхід приватний базис , а виводить публічний базис для тієї ж ґратки.
  2. отримує і , а повертає коефіцієнти точки ґратки
  3. Тоді відображає множину векторів, коротших від так: [5].

Якщо вектор помилки має довжину менше тоді приватний базис можна використати для знаходження точки , найближчою до , і, відповідно, відновлення (задача знаходження найближчого вектора)[5].

Вибір публічного базису[ред. | ред. код]

Нехай відомий «хороший» приватний базис , тобто за допомогою нього можна розв'язати задачу знаходження найближчого вектора в , що те саме — розшифрувати шифротекст. Задача — згенерувати з такий публічний базис , щоб мінімізувати в ньому інформацію про . У звичайній схемі шифрування GGH для знаходження застосовують набір випадкових перетворень до . Криптосистема Міччанчо використовує як публічний базис ермітову нормальну форму, тобто (HNF — Hermite Normal Form). Вона унікальна для конкретно заданої ґратки, як сказано вище. Це веде до того, що якщо є якийсь інший базис для цієї ґратки , то . Отже, містить про не більше інформації, ніж про , на чому й ґрунтується безпека цієї криптосистеми[5].

Додання «випадкової» точки ґратки[ред. | ред. код]

Далі, потрібно зімітувати додання випадкової точки ґратки . В ідеалі, ця точка повинна вибиратися рівномірно довільно серед усіх точок ґратки. Однак це неможливо ні з практичної, ні з теоретичної точки зору. Майже такий самий результат виходить при використанні редукованого вектора. Вектор помилки зменшується за модулем публічного базису , щоб отримати шифротекст , замість додавання випадкового вектора. В результаті одностороння функція задається як , де . Завдяки верхній трикутній формі матриці ця функція дуже проста з обчислювальної точки зору. Застосовуючи міркування для обчислення редукованого вектора можна знайти формулу , починаючи з , що дає унікальну точку в паралелепіпеді [5].

Резюме[ред. | ред. код]

Нехай  — приватний базис, причому є відносно великим,  — публічний базис і . Базис породжує функцію , яка переводить вектор довжини менше у відповідний прямий паралелепіпед . Ключові моменти:

  1. Навіть якщо спочатку близька до точки , після операції редукції виходить вектор, близький до інших точок ґратки.
  2. Щоб відновити за , необхідно розв'язати задачу знаходження найближчого вектора, для якої доведено NP-складність. Тому відновити , маючи тільки , майже неможливо, навіть для квантових комп'ютерів. Однак вона ефективно розв'язується, якщо відомий базис .
  3. Найближча точка до  — центр паралелепіпеда, в якому міститься , а його знайти легко, знаючи базис [5].

Теоретичний аналіз[ред. | ред. код]

Безпека[ред. | ред. код]

Нова функція цієї криптосистеми настільки ж безпечна, як функція в схемі шифрування GGH. Така теорема стверджує, що наведена вище функція, як мінімум, не гірша від будь-якої іншої функції вигляду GGH[5]:

Для будь-яких функцій і для будь-якого алгоритму, який для знаходить про якусь часткову інформацію з ненульовою ймовірністю, існує ефективний алгоритм зі входом , здатний відновити таку ж інформацію з такою ж імовірністю успіху[5].

Доведення: нехай  — алгоритм здатний зламати . Дано публічний базис = та шифротекст . Алгоритм злому повинен спробувати знайти якусь інформацію про . По перше, і . З теоретичних результатів у попередньому розділі випливає, що і . Тому і мають правильний розподіл. Застосовуючи до них алгоритм , отримуємо твердження теореми[5].

Асимптотичні оцінки пам'яті[ред. | ред. код]

Нехай для приватного ключа виконується , тоді розмір, займаний ключем, оцінюється . Використовуючи нерівність Адамара, а також те, що для публічного базису та шифротексту GGH системи виконуються оцінки і , випливає, що оцінки для публічного базису й шифротексту нашої системи і [5][7].

Асимптотичні оцінки часу виконання[ред. | ред. код]

Теоретично, очікується прискорення роботи алгоритму порівняно з GGH із двох причин (емпіричні результати наведено нижче). По-перше, час шифрування для GGH систем залежить від розміру публічного ключа. Теоретичні оцінки на займану ключем пам'ять свідчать про її зменшення, отже й про прискорення шифрування. При цьому час роботи GGH можна порівняти з часом роботи схеми RSA. По-друге, для генерування ключа початковий алгоритм застосовує алгоритм Ленстри — Ленстри — Ловаса до матриць великої розмірності з великими значеннями елементів, тоді як система Міччанчо використовує досить простий алгоритм знаходження ермітової нормальної форми. Для дешифрування використовується алгоритм Бабая[8], з деякими втратами пам'яті та точності, але поліпшенням за часом його можна замінити простішим алгоритмом округлення[9], проте в цій частині прискорення за часом виконання не очікується.

Емпірична оцінка безпеки системи[ред. | ред. код]

На практиці для безпеки цієї системи потрібно . За припущення, що покращення часу досягає максимальних асимптотичних оцінок, найменше необхідне має бути більше . Далі було показано, що публічний ключ має бути не менше ніж 1 МБ. Більш того, час створення ключа займає порядку доби. Процедура шифрування справді досить швидка. Однак дешифрування нестабільне через алгоритм Бабая[8]. Це можна подолати, але тоді вона займатиме 73 хвилини для не включаючи ортогоналізації. Якщо виконати цей крок заздалегідь, то до витрат пам'яті додається 4.8 МБ для тієї ж розмірності. З цих результатів випливає, що криптосистема Міччанчо незастосовна на практиці[1][2][3][4].

Примітки[ред. | ред. код]

  1. а б Christoph Ludwig. The Security and Efficiency of Micciancio's Cryptosystem // IACR Cryptology : article. — 2004.
  2. а б T. Plantard, M. Rose, W. Susilo. Improvement of Lattice-Based Cryptography Using CRT. — Quantum Communication and Quantum Networking: First International Conference. — 2009. — С. 275—282. — ISBN 9783642117305.
  3. а б M. Rose, T. Plantard, F. Susilo. Improving BDD Cryptosystems in General Lattices. — Information Security Practice and Experience: 7th International Conference. — 2011. — С. 152—167. — ISBN 9783642210303. Архівовано з джерела 22 лютого 2019
  4. а б Thomas Richard Rond (2016). Advances in the GGH lattice-based cryptosystem (PDF). Master Thesis.
  5. а б в г д е ж и к л м н п Daniele Micciancio. Improving lattice-based cryptosystems using the Hermite normal form // International Cryptography and Lattices Conference. — 2001. — С. 126—145. — DOI:10.1007/3-540-44670-2_11. Архівовано з джерела 20 липня 2020.
  6. Steven Galbraith. Cryptosystems Based on Lattices // Cambridge University Press : paper. — 2012. — 5 травня. Архівовано з джерела 12 лютого 2020.
  7. а б Oded Goldreich, Shafi Goldwasser and Shai Halevi. Public-Key Cryptosystems from Lattice Reduction Problems // Advances in Cryptology - CRYPTO. — 1997. — 5 травня. Архівовано з джерела 16 липня 2019.
  8. а б Oded Regev. CVP Algorithm. — 2004. — 5 травня. Архівовано з джерела 1 листопада 2020.
  9. Noah Stephens-Davidowitz. Babai’s Algorithm. — 2016. — 5 травня. Архівовано з джерела 29 жовтня 2019.

Література[ред. | ред. код]