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

криптографічна система, заснована на схемі шифрування GGH

Криптосистема Міччанчо — криптографічна система, заснована на схемі шифрування 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. — 30 квітня. Архівовано з джерела 12 лютого 2020.
  7. а б Oded Goldreich, Shafi Goldwasser and Shai Halevi. Public-Key Cryptosystems from Lattice Reduction Problems // Advances in Cryptology - CRYPTO. — 1997. — 30 квітня. Архівовано з джерела 16 липня 2019.
  8. а б Oded Regev. CVP Algorithm. — 2004. — 30 квітня. Архівовано з джерела 1 листопада 2020.
  9. Noah Stephens-Davidowitz. Babai’s Algorithm. — 2016. — 30 квітня. Архівовано з джерела 29 жовтня 2019.

Література ред.