Loading AI tools
криптографічна система, заснована на схемі шифрування GGH З Вікіпедії, вільної енциклопедії
Криптосистема Міччанчо — криптографічна система, заснована на схемі шифрування GGH, запропонована 2001 року професором Університету Каліфорнії в Сан-Дієго Данієлем Міччанчо.
Схема шифрування GGH спирається на криптографію на ґратках, яку вважають перспективною для використання в постквантових системах (оскільки криптосистеми, що використовують факторизацію цілих чисел, дискретне логарифмування, дискретне логарифмування на еліптичних кривих можуть бути ефективно зламані квантовим комп'ютером). Криптосистема Міччанчо, фактично, є покращенням схеми шифрування GGH, зі зменшенням вимог до розміру ключа та шифротексту в разів без погіршення безпеки системи, де — розмірність ґратки (для типових криптосистем становить кілька сотень). 2004 року Крістоф Людвіг емпірично показав, що для безпечного використання потрібно , до того ж, створення ключа і його дешифрування займає багато часу, а сам розмір ключа має бути більшим від 1 МБ. Тому ця криптосистема не може бути використана на практиці[1][2][3][4].
Нехай , де — набір з лінійно незалежних векторів, і компоненти кожного з векторів є цілими числами, а — матриця з цих векторів розміру . Далі теорія будується для . Ґраткою будемо називати множину [5].
Через те, що базис може бути не унікальним, прийнято вибирати як базис ермітову нормальну форму, яка для кожної окремо взятої решітки унікальна. Це означає, що матриця, складена з векторів базису, є верхня трикутна, всі діагональні елементи строго додатні, інші елементи задовольняють . Цей вид матриць має такі корисні властивості. По-перше, через ортогоналізацію Грама — Шмідта така матриця зводиться до діагонального вигляду з елементами на діагоналі. По-друге, визначник такої матриці дорівнює добутку її діагональних елементів, тобто [5].
З останнього також випливає важлива властивість цілих ґраток:
Нехай довільні вектори і такі, що . В цьому випадку тоді й лише тоді, коли .
Нехай — прямий паралелепіпед, де — цілочисельні координати, — ортогоналізовані за процесом Грама — Шмідта базисні вектори, . Простір можна замостити такими паралелепіпедами. Тоді для будь-якого існує унікальний вектор . Такий вектор називають редукованим для вектора за модулем . Його отримують знаходженням відносної позиції в , де [5].
Цей вектор можна знайти за таким алгоритмом:
У криптосистемах на ґратках ключами є базиси. Нехай і — публічний і приватний базиси однієї й тієї ж ґратки . Відмінність цієї криптосистеми від системи шифрування GGH полягає в оптимальному виборі односторонньої функції. Важливою особливістю функції в криптосистемі Міччанчо є детермінованість. У цьому розділі будується загальний клас функцій вигляду GGH[7].
Для схеми шифрування GGH одностороння функція набуває вигляду , де — шифротекст, — цілочисельний вектор і — вектор помилки, завдовжки не більше , . Останнє необхідне для того, щоб помилка не створювала сильних спотворень під час обчислення з приватним базисом і, навпаки, для обчислень із публічним. Тут повідомлення кодується в , а вибирається випадково[5].
Сімейство односторонніх функцій GGH-виду , параметризоване алгоритмами і , задовольняє:
Якщо вектор помилки має довжину менше тоді приватний базис можна використати для знаходження точки , найближчою до , і, відповідно, відновлення (задача знаходження найближчого вектора)[5].
Нехай відомий «хороший» приватний базис , тобто за допомогою нього можна розв'язати задачу знаходження найближчого вектора в , що те саме — розшифрувати шифротекст. Задача — згенерувати з такий публічний базис , щоб мінімізувати в ньому інформацію про . У звичайній схемі шифрування GGH для знаходження застосовують набір випадкових перетворень до . Криптосистема Міччанчо використовує як публічний базис ермітову нормальну форму, тобто (HNF — Hermite Normal Form). Вона унікальна для конкретно заданої ґратки, як сказано вище. Це веде до того, що якщо є якийсь інший базис для цієї ґратки , то . Отже, містить про не більше інформації, ніж про , на чому й ґрунтується безпека цієї криптосистеми[5].
Далі, потрібно зімітувати додання випадкової точки ґратки . В ідеалі, ця точка повинна вибиратися рівномірно довільно серед усіх точок ґратки. Однак це неможливо ні з практичної, ні з теоретичної точки зору. Майже такий самий результат виходить при використанні редукованого вектора. Вектор помилки зменшується за модулем публічного базису , щоб отримати шифротекст , замість додавання випадкового вектора. В результаті одностороння функція задається як , де . Завдяки верхній трикутній формі матриці ця функція дуже проста з обчислювальної точки зору. Застосовуючи міркування для обчислення редукованого вектора можна знайти формулу , починаючи з , що дає унікальну точку в паралелепіпеді [5].
Нехай — приватний базис, причому є відносно великим, — публічний базис і . Базис породжує функцію , яка переводить вектор довжини менше у відповідний прямий паралелепіпед . Ключові моменти:
Нова функція цієї криптосистеми настільки ж безпечна, як функція в схемі шифрування GGH. Така теорема стверджує, що наведена вище функція, як мінімум, не гірша від будь-якої іншої функції вигляду GGH[5]:
Для будь-яких функцій і для будь-якого алгоритму, який для знаходить про якусь часткову інформацію з ненульовою ймовірністю, існує ефективний алгоритм зі входом , здатний відновити таку ж інформацію з такою ж імовірністю успіху[5].
Доведення: нехай — алгоритм здатний зламати . Дано публічний базис = та шифротекст . Алгоритм злому повинен спробувати знайти якусь інформацію про . По перше, і . З теоретичних результатів у попередньому розділі випливає, що і . Тому і мають правильний розподіл. Застосовуючи до них алгоритм , отримуємо твердження теореми[5].
Нехай для приватного ключа виконується , тоді розмір, займаний ключем, оцінюється . Використовуючи нерівність Адамара, а також те, що для публічного базису та шифротексту GGH системи виконуються оцінки і , випливає, що оцінки для публічного базису й шифротексту нашої системи і [5][7].
Теоретично, очікується прискорення роботи алгоритму порівняно з GGH із двох причин (емпіричні результати наведено нижче). По-перше, час шифрування для GGH систем залежить від розміру публічного ключа. Теоретичні оцінки на займану ключем пам'ять свідчать про її зменшення, отже й про прискорення шифрування. При цьому час роботи GGH можна порівняти з часом роботи схеми RSA. По-друге, для генерування ключа початковий алгоритм застосовує алгоритм Ленстри — Ленстри — Ловаса до матриць великої розмірності з великими значеннями елементів, тоді як система Міччанчо використовує досить простий алгоритм знаходження ермітової нормальної форми. Для дешифрування використовується алгоритм Бабая[8], з деякими втратами пам'яті та точності, але поліпшенням за часом його можна замінити простішим алгоритмом округлення[9], проте в цій частині прискорення за часом виконання не очікується.
На практиці для безпеки цієї системи потрібно . За припущення, що покращення часу досягає максимальних асимптотичних оцінок, найменше необхідне має бути більше . Далі було показано, що публічний ключ має бути не менше ніж 1 МБ. Більш того, час створення ключа займає порядку доби. Процедура шифрування справді досить швидка. Однак дешифрування нестабільне через алгоритм Бабая[8]. Це можна подолати, але тоді вона займатиме 73 хвилини для не включаючи ортогоналізації. Якщо виконати цей крок заздалегідь, то до витрат пам'яті додається 4.8 МБ для тієї ж розмірності. З цих результатів випливає, що криптосистема Міччанчо незастосовна на практиці[1][2][3][4].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.