For faster navigation, this Iframe is preloading the Wikiwand page for Криптография на решётках.

Криптография на решётках

Материал из Википедии — свободной энциклопедии

Криптография на решётках — подход к построению алгоритмов асимметричного шифрования с использованием задач теории решёток, то есть задач оптимизации на дискретных аддитивных подгруппах, заданных на множестве .

Наряду с другими методами постквантовой криптографии, считается перспективным в связи с возможностями квантового компьютера взламывать широко используемые асимметричные системы шифрования, основанные на двух типах задач теории чисел: задачах факторизации целых чисел и задачах дискретного логарифмирования. Сложность взлома алгоритмов, построенных на решётках, крайне велика, самые лучшие алгоритмы могут решить эту задачу с трудом за экспоненциальное время. По состоянию на середину 2010-х годов неизвестно ни одного квантового алгоритма, способного справиться лучше обычного компьютера.

Предпосылки создания

[править | править код]
Этот раздел имеет чрезмерный объём или содержит маловажные подробности неэнциклопедичного характера.Если вы не согласны с этим, пожалуйста, покажите в тексте существенность излагаемого материала. В противном случае раздел может быть удалён. Подробности могут быть на странице обсуждения. Кратко: такой общий раздел был бы уместнее в статье постквантовая криптография.

В 1995 году Питер Шор продемонстрировал полиномиальный алгоритм для взлома криптографических систем с открытым ключом при использовании квантового компьютера, тем самым определив период существования данных систем до возникновения квантовых вычислителей достаточной размерности.

В 1996 году Лов Гровер продемонстрировал общий метод поиска в базе данных позволяющий производить расшифровку симметричных алгоритмов шифрования, эквивалентную двукратному уменьшению ключа шифра.

В 2001 году группа специалистов IBM продемонстрировала выполнение алгоритма факторизации Шора для числа 15. Число было разложено на множители 3 и 5 при помощи квантового компьютера с 7 кубитами, построенного из 1810 молекул, состоящих из пяти атомов фтора и двух атомов углерода, с записью информации посредством радиосигналов и считыванием методами ядерного магнитного резонанса[1].

Начиная со второй половины 1990-х годов возникла необходимость поиска криптостойких к квантовым компьютерам задач для постквантовой эпохи шифрования, в качестве одного из подходов было предложено использовать решётки в  — дискретные подгруппы вещественного векторного пространства, линейные оболочки которых совпадают с ним:

Вычислительно сложные задачи

[править | править код]
Синей точкой обозначен самый короткий вектор

Задача нахождения кратчайшего вектора (SVP, англ. Shortest Vector Problem) — найти в заданном базисе решётки ненулевой вектор по отношению к определённой нормали[2].

Задача нахождения (приблизительно) идеального кратчайшего вектора (ISVP, англ. (approximate) ideal shortest vector problem) не считается NP-сложной. Однако, нет известных решёток, основанных на методе редукции, значительно более эффективных на идеальных структурах, чем на общих[3].

Ещё одна задача — нахождение (приблизительно) кратчайшего независимого вектора (SIVP, англ. (approximate) shortest independent vectors problem), в которой дан базис решётки и требуется найти линейно независимых векторов[4].

Синяя точка — найденный вектор, красная точка — заданный вектор

Задача нахождения ближайшего вектора (CVP, англ. Closest Vector Problem) — нахождение вектора в решётке по заданному базису и некоторому вектору, не принадлежащему решётке, при этом максимально схожего по длине с заданным вектором.

LLL-алгоритм

[править | править код]
Пример работы LLL алгоритма. Красным изображён новый базис.

Все эти задачи разрешимы за полиномиальное время с помощью известного LLL-алгоритма изобретённого в 1982 году Арьеном Ленстрой, Хендриком Ленстрой и Ласло Ловасом[5].

В заданном базисе , с n-мерными целыми координатами, в решётке из , где , LLL-алгоритм находит более короткий (примерно[уточнить]) ортогональный базис за время:

,

где  — это максимальная длина вектора в этом пространстве.

Основные криптографические конструкции и их стойкость

[править | править код]

Шифрование

[править | править код]

GGH[англ.] — криптосистема основанная на CVP, а именно на односторонней функции с потайным входом опирающуюся на сложность редукции решётки. Была опубликована в 1997 году. Зная базис, можно сгенерировать вектор близкий к заданной точке, но зная это вектор нам необходим исходный базис, чтобы найти исходную точку. Алгоритм был проверен в 1999 году.

Реализация GGH

[править | править код]

GGH состоит из открытого и секретного ключа.

Секретный ключ — это базис решётки и унимодулярная матрица .

Открытый ключ — некоторый базис в решётке в виде .

Для некоторого , пространство сообщения состоит из вектора , где .

Шифрование
[править | править код]

Задано сообщение , искажение , открытый ключ :

В матричном виде:

.

состоит из целых значений, точка решётки, и v также точка решётки. Тогда шифротекст:

Расшифрование
[править | править код]

Для расшифрования необходимо вычислить:

Часть убирается, из соображений приближения. Сообщение:

Выберем решётку с базисом :

и

где

и

В результате:

Пусть сообщение и вектор ошибки . Тогда шифротекст:

.

Для расшифровки необходимо вычислить:

.

Округление даёт , восстановим сообщение:

.

NTRUEncrypt — криптосистема основанная на SVP, является альтернативой RSA и ECC. В вычислении используется кольцо многочленов.

Схема подписи GGH впервые предложена 1995 году и опубликована в 1997 году Голдрихом, основана на сложности нахождения ближайшего вектора. Идея заключалась в использовании решёток, для которых «плохой» базис, векторы длинные и почти параллельные, является открытым и «хороший» базис с короткими и почти ортогональными векторами, является закрытым. По их методу, сообщение необходимо хешировать в пространство, натянутое на решётку, а подпись для данного хэша в этом пространстве является ближайшим узлом решётки. Схема не имела формального доказательства безопасности, и её базовый вариант был взломан в 1999 году Нгуэном (Nguyen). В 2006 году модифицированная версия была снова взломана Нгуэном и Реджевом (Regev).

NTRUSign — специальная, более эффективная версия подписи GGH, отличающаяся меньшим ключом и размером подписи. Она использует только решётки подмножества множества всех решёток, связанных с некоторыми полиномиальными кольцами. NTRUSign была предложена на рассмотрение в качестве стандарта IEEE P1363.1.

Примечания

[править | править код]
  1. Vandersypen, Lieven M. K.; Steffen, Matthias; Breyta, Gregory; Yannoni, Costantino S.; Sherwood, Mark H.; Chuang, Isaac L. (2001), "Experimental realization of Shor's quantum factoring algorithm using nuclear magnetic resonance" (PDF), Nature, 414 (6866): 883—887, arXiv:quant-ph/0112176, Bibcode:2001Natur.414..883V, doi:10.1038/414883a, PMID 11780055, Архивировано (PDF) 29 марта 2017, Дата обращения: 27 декабря 2014 ((citation)): Неизвестный параметр |lastauthoramp= игнорируется (|name-list-style= предлагается) (справка) Источник. Дата обращения: 27 декабря 2014. Архивировано 29 марта 2017 года.
  2. [www.cs.elte.hu/~lovasz/scans/lll.pdf Factoring polynomials with rational coefficients] (PDF) ((citation)): Проверьте значение |url= (справка)
  3. Generalized compact knapsacks are collision resistant. In:International colloquium on automata, languages and programming (PDF)
  4. Complexity of lattice problems: a cryptographic perspective. The Kluwer international series in engineering and computer science (BIB), Архивировано 29 мая 2015, Дата обращения: 27 декабря 2014 Источник. Дата обращения: 27 декабря 2014. Архивировано 29 мая 2015 года.
  5. Lenstra, A. K.[англ.]; Lenstra, H. W., Jr.[англ.]; Lovász, L.[англ.]. Factoring polynomials with rational coefficients (неопр.) // Mathematische Annalen. — 1982. — Т. 261, № 4. — С. 515—534. — doi:10.1007/BF01457454.
Для улучшения этой статьи желательно: Исправить статью согласно стилистическим правилам Википедии.Оформить статью по правилам.После исправления проблемы исключите её из списка. Удалите шаблон, если устранены все недостатки.
{{bottomLinkPreText}} {{bottomLinkText}}
Криптография на решётках
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?