Криптосистема Міччанчо
Криптосистема Міччанчо — криптографічна система, заснована на схемі шифрування GGH, запропонована 2001 року професором Університету Каліфорнії в Сан-Дієго Данієлем Міччанчо.
Схема шифрування GGH спирається на криптографію на ґратках, яку вважають перспективною для використання в постквантових системах (оскільки криптосистеми, що використовують факторизацію цілих чисел, дискретне логарифмування, дискретне логарифмування на еліптичних кривих можуть бути ефективно зламані квантовим комп'ютером). Криптосистема Міччанчо, фактично, є покращенням схеми шифрування GGH, зі зменшенням вимог до розміру ключа та шифротексту в разів без погіршення безпеки системи, де — розмірність ґратки (для типових криптосистем становить кілька сотень). 2004 року Крістоф Людвіг емпірично показав, що для безпечного використання потрібно , до того ж, створення ключа і його дешифрування займає багато часу, а сам розмір ключа має бути більшим від 1 МБ. Тому ця криптосистема не може бути використана на практиці[1][2][3][4].
Основні поняття та позначення
ред.Нехай , де — набір з лінійно незалежних векторів, і компоненти кожного з векторів є цілими числами, а — матриця з цих векторів розміру . Далі теорія будується для . Ґраткою будемо називати множину [5].
Через те, що базис може бути не унікальним, прийнято вибирати як базис ермітову нормальну форму, яка для кожної окремо взятої решітки унікальна. Це означає, що матриця, складена з векторів базису, є верхня трикутна, всі діагональні елементи строго додатні, інші елементи задовольняють . Цей вид матриць має такі корисні властивості. По-перше, через ортогоналізацію Грама — Шмідта така матриця зводиться до діагонального вигляду з елементами на діагоналі. По-друге, визначник такої матриці дорівнює добутку її діагональних елементів, тобто [5].
З останнього також випливає важлива властивість цілих ґраток:
Нехай довільні вектори і такі, що . В цьому випадку тоді й лише тоді, коли .
Нехай — прямий паралелепіпед, де — цілочисельні координати, — ортогоналізовані за процесом Грама — Шмідта базисні вектори, . Простір можна замостити такими паралелепіпедами. Тоді для будь-якого існує унікальний вектор . Такий вектор називають редукованим для вектора за модулем . Його отримують знаходженням відносної позиції в , де [5].
Цей вектор можна знайти за таким алгоритмом:
- Знайти
- Обчислити вектор за формулою [6].
Методологія
ред.У криптосистемах на ґратках ключами є базиси. Нехай і — публічний і приватний базиси однієї й тієї ж ґратки . Відмінність цієї криптосистеми від системи шифрування GGH полягає в оптимальному виборі односторонньої функції. Важливою особливістю функції в криптосистемі Міччанчо є детермінованість. У цьому розділі будується загальний клас функцій вигляду GGH[7].
Клас односторонніх функцій вигляду GGH
ред.Для схеми шифрування GGH одностороння функція набуває вигляду , де — шифротекст, — цілочисельний вектор і — вектор помилки, завдовжки не більше , . Останнє необхідне для того, щоб помилка не створювала сильних спотворень під час обчислення з приватним базисом і, навпаки, для обчислень із публічним. Тут повідомлення кодується в , а вибирається випадково[5].
Сімейство односторонніх функцій GGH-виду , параметризоване алгоритмами і , задовольняє:
- приймає на вхід приватний базис , а виводить публічний базис для тієї ж ґратки.
- отримує і , а повертає коефіцієнти точки ґратки
- Тоді відображає множину векторів, коротших від так: [5].
Якщо вектор помилки має довжину менше тоді приватний базис можна використати для знаходження точки , найближчою до , і, відповідно, відновлення (задача знаходження найближчого вектора)[5].
Вибір публічного базису
ред.Нехай відомий «хороший» приватний базис , тобто за допомогою нього можна розв'язати задачу знаходження найближчого вектора в , що те саме — розшифрувати шифротекст. Задача — згенерувати з такий публічний базис , щоб мінімізувати в ньому інформацію про . У звичайній схемі шифрування GGH для знаходження застосовують набір випадкових перетворень до . Криптосистема Міччанчо використовує як публічний базис ермітову нормальну форму, тобто (HNF — Hermite Normal Form). Вона унікальна для конкретно заданої ґратки, як сказано вище. Це веде до того, що якщо є якийсь інший базис для цієї ґратки , то . Отже, містить про не більше інформації, ніж про , на чому й ґрунтується безпека цієї криптосистеми[5].
Додання «випадкової» точки ґратки
ред.Далі, потрібно зімітувати додання випадкової точки ґратки . В ідеалі, ця точка повинна вибиратися рівномірно довільно серед усіх точок ґратки. Однак це неможливо ні з практичної, ні з теоретичної точки зору. Майже такий самий результат виходить при використанні редукованого вектора. Вектор помилки зменшується за модулем публічного базису , щоб отримати шифротекст , замість додавання випадкового вектора. В результаті одностороння функція задається як , де . Завдяки верхній трикутній формі матриці ця функція дуже проста з обчислювальної точки зору. Застосовуючи міркування для обчислення редукованого вектора можна знайти формулу , починаючи з , що дає унікальну точку в паралелепіпеді [5].
Резюме
ред.Нехай — приватний базис, причому є відносно великим, — публічний базис і . Базис породжує функцію , яка переводить вектор довжини менше у відповідний прямий паралелепіпед . Ключові моменти:
- Навіть якщо спочатку близька до точки , після операції редукції виходить вектор, близький до інших точок ґратки.
- Щоб відновити за , необхідно розв'язати задачу знаходження найближчого вектора, для якої доведено NP-складність. Тому відновити , маючи тільки , майже неможливо, навіть для квантових комп'ютерів. Однак вона ефективно розв'язується, якщо відомий базис .
- Найближча точка до — центр паралелепіпеда, в якому міститься , а його знайти легко, знаючи базис [5].
Теоретичний аналіз
ред.Безпека
ред.Нова функція цієї криптосистеми настільки ж безпечна, як функція в схемі шифрування GGH. Така теорема стверджує, що наведена вище функція, як мінімум, не гірша від будь-якої іншої функції вигляду GGH[5]:
Для будь-яких функцій і для будь-якого алгоритму, який для знаходить про якусь часткову інформацію з ненульовою ймовірністю, існує ефективний алгоритм зі входом , здатний відновити таку ж інформацію з такою ж імовірністю успіху[5].
Доведення: нехай — алгоритм здатний зламати . Дано публічний базис = та шифротекст . Алгоритм злому повинен спробувати знайти якусь інформацію про . По перше, і . З теоретичних результатів у попередньому розділі випливає, що і . Тому і мають правильний розподіл. Застосовуючи до них алгоритм , отримуємо твердження теореми[5].
Асимптотичні оцінки пам'яті
ред.Нехай для приватного ключа виконується , тоді розмір, займаний ключем, оцінюється . Використовуючи нерівність Адамара, а також те, що для публічного базису та шифротексту GGH системи виконуються оцінки і , випливає, що оцінки для публічного базису й шифротексту нашої системи і [5][7].
Асимптотичні оцінки часу виконання
ред.Теоретично, очікується прискорення роботи алгоритму порівняно з GGH із двох причин (емпіричні результати наведено нижче). По-перше, час шифрування для GGH систем залежить від розміру публічного ключа. Теоретичні оцінки на займану ключем пам'ять свідчать про її зменшення, отже й про прискорення шифрування. При цьому час роботи GGH можна порівняти з часом роботи схеми RSA. По-друге, для генерування ключа початковий алгоритм застосовує алгоритм Ленстри — Ленстри — Ловаса до матриць великої розмірності з великими значеннями елементів, тоді як система Міччанчо використовує досить простий алгоритм знаходження ермітової нормальної форми. Для дешифрування використовується алгоритм Бабая[8], з деякими втратами пам'яті та точності, але поліпшенням за часом його можна замінити простішим алгоритмом округлення[9], проте в цій частині прискорення за часом виконання не очікується.
Емпірична оцінка безпеки системи
ред.На практиці для безпеки цієї системи потрібно . За припущення, що покращення часу досягає максимальних асимптотичних оцінок, найменше необхідне має бути більше . Далі було показано, що публічний ключ має бути не менше ніж 1 МБ. Більш того, час створення ключа займає порядку доби. Процедура шифрування справді досить швидка. Однак дешифрування нестабільне через алгоритм Бабая[8]. Це можна подолати, але тоді вона займатиме 73 хвилини для не включаючи ортогоналізації. Якщо виконати цей крок заздалегідь, то до витрат пам'яті додається 4.8 МБ для тієї ж розмірності. З цих результатів випливає, що криптосистема Міччанчо незастосовна на практиці[1][2][3][4].
Примітки
ред.- ↑ а б Christoph Ludwig. The Security and Efficiency of Micciancio's Cryptosystem // IACR Cryptology : article. — 2004.
- ↑ а б 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.
- ↑ а б 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
- ↑ а б Thomas Richard Rond (2016). Advances in the GGH lattice-based cryptosystem (PDF). Master Thesis.
- ↑ а б в г д е ж и к л м н п Daniele Micciancio. Improving lattice-based cryptosystems using the Hermite normal form // International Cryptography and Lattices Conference. — 2001. — С. 126—145. — DOI: . Архівовано з джерела 20 липня 2020.
- ↑ Steven Galbraith. Cryptosystems Based on Lattices // Cambridge University Press : paper. — 2012. — 22 січня. Архівовано з джерела 12 лютого 2020.
- ↑ а б Oded Goldreich, Shafi Goldwasser and Shai Halevi. Public-Key Cryptosystems from Lattice Reduction Problems // Advances in Cryptology - CRYPTO. — 1997. — 22 січня. Архівовано з джерела 16 липня 2019.
- ↑ а б Oded Regev. CVP Algorithm. — 2004. — 22 січня. Архівовано з джерела 1 листопада 2020.
- ↑ Noah Stephens-Davidowitz. Babai’s Algorithm. — 2016. — 22 січня. Архівовано з джерела 29 жовтня 2019.
Література
ред.- Daniele Micciancio, Oded Regev Lattice-основана криптографія // Post Quantum Cryptography. — 2009.
- Daniele Micciancio Improving lattice-базовані cryptosystems з використанням Hermite normal form // Lecture notes in Computer Science. — 2001.
- Christoph Ludwig The Security and Efficiency of Micciancio's Cryptosystem // IACR Cryptology. — 2004.