Алгоритм редукции решеточного базиса Ленстры – Ленстры – Ловаса - Lenstra–Lenstra–Lovász lattice basis reduction algorithm

В Ленстра – Ленстра – Ловас (LLL) алгоритм редукции базиса решетки это полиномиальное время редукция решетки алгоритм изобретенный Арьен Ленстра, Хендрик Ленстра и Ласло Ловас в 1982 г.[1] Учитывая основа с п-мерные целочисленные координаты, для решетка L (дискретная подгруппа рп) с , алгоритм LLL вычисляет LLL-уменьшенный (коротко, почти ортогональный ) базис решетки во времени

куда самая большая длина по евклидовой норме, т. е. .[2][3]

Первоначальные приложения должны были дать алгоритмы с полиномиальным временем для факторизация полиномов с рациональными коэффициентами, для поиска одновременные рациональные приближения к действительным числам, а для решения задача целочисленного линейного программирования в фиксированных размерах.

Снижение LLL

Точное определение LLL-редукции выглядит следующим образом. основа

определить его Процесс Грама – Шмидта ортогональный базис

и коэффициенты Грама-Шмидта

, для любого .

Тогда основа LLL-редуцируется, если существует параметр в (0.25,1] такая, что имеет место следующее:

  1. (размер уменьшен) Для . По определению это свойство гарантирует уменьшение длины упорядоченного базиса.
  2. (Условие Ловаса) Для k = 2,3, .., n .

Здесь, оценивая значение параметра, можно сделать вывод, насколько хорошо сокращен базис. Высшие ценности приводят к более сильным редукциям базиса. Первоначально А. Ленстра, Х. Ленстра и Л. Ловас продемонстрировали алгоритм LLL-редукции для .Обратите внимание, что хотя LLL-редукция хорошо определена для , полиномиальная сложность гарантируется только для в .

Алгоритм LLL вычисляет базы с уменьшенным LLL. Не существует известного эффективного алгоритма для вычисления базиса, в котором базисные векторы были бы как можно короче для решеток размерностей больше 4.[4] Однако базис с сокращением LLL почти настолько короткий, насколько это возможно, в том смысле, что существуют абсолютные границы такой, что первый базисный вектор не превышает раз длиннее самого короткого вектора в решетке, второй базисный вектор также находится в пределах второго последующего минимума и т. д.

Приложения

Первым успешным применением алгоритма LLL было его использование Андрей Одлызко и Герман те Риле в опровержении Гипотеза Мертена.[5]

Алгоритм LLL нашел множество других приложений в MIMO алгоритмы обнаружения[6] и криптоанализ шифрование с открытым ключом схемы: ранцевых криптосистем, ЮАР с определенными настройками, NTRUEncrypt, и так далее. Алгоритм можно использовать для поиска целочисленных решений многих задач.[7]

В частности, алгоритм LLL образует ядро ​​одного из алгоритмы целочисленных отношений. Например, если считается, что р= 1.618034 - это (слегка округлено) корень неизвестному квадратное уровненеие с целыми коэффициентами, можно применить LLL-редукцию к решетке в охватывает и . Первый вектор в приведенном базисе будет целым числом линейная комбинация из этих трех, следовательно, обязательно в форме ; но такой вектор будет «коротким», только если а, б, c маленькие и еще меньше. Таким образом, первые три элемента этого короткого вектора, вероятно, будут коэффициентами интегрального квадратичного многочлен у которого есть р как корень. В этом примере алгоритм LLL находит самый короткий вектор как [1, -1, -1, 0,00025] и действительно имеет корень, равный Золотое сечение, 1.6180339887....

Свойства LLL-редуцированного базиса

Позволять быть -LLL-сокращенная основа решетка . Из определения LLL-редуцированного базиса мы можем вывести несколько других полезных свойств о .

  1. Первый вектор в базисе не может быть намного больше, чем кратчайший ненулевой вектор: . В частности, для , это дает .[8]
  2. Первый вектор в базисе также ограничен определителем решетки: . В частности, для , это дает .
  3. Произведение норм векторов в базисе не может быть намного больше определителя решетки: пусть , тогда .

Псевдокод алгоритма LLL

Следующее описание основано на (Хоффштейн, Пайфер и Сильверман, 2008 г., Теорема 6.68) с исправлениями из опечаток.[9]

ВХОД    решетчатая основа     параметр  с , Наиболее часто ПРОЦЕДУРА      и не нормализовать       используя самые актуальные значения  и         пока  делать        за  из  к  делать            если  тогда                               Обновлять  и связанные по мере необходимости.               (Наивный метод - пересчитать  в любое время  изменения:                )            конец, если        конец для        если  тогда                    еще            Замена  и             Обновлять  и связанные по мере необходимости.                    конец, если    конец пока    возвращаться  LLL сокращает базу ВЫХОД    сокращенная база 

Примеры

Пример из

Пусть базис решетки , задаваемые столбцами

то приведенный базис

,

который уменьшен в размере, удовлетворяет условию Ловаса и, следовательно, является LLL-уменьшенным, как описано выше. См. W. Bosma.[10] для получения подробной информации о процессе восстановления.

Пример из

Аналогичным образом, для базиса комплексных целых чисел, заданных столбцами матрицы ниже,

,

тогда столбцы матрицы ниже дают LLL-сокращенный базис.

.

Реализации

LLL реализован в

Смотрите также

Примечания

  1. ^ Ленстра, А.К.; Ленстра, Х. В., мл.; Ловас, Л. (1982). «Факторинг многочленов с рациональными коэффициентами». Mathematische Annalen. 261 (4): 515–534. CiteSeerX  10.1.1.310.318. Дои:10.1007 / BF01457454. HDL:1887/3810. МИСТЕР  0682664.
  2. ^ Гэлбрейт, Стивен (2012). "глава 17". Математика криптографии с открытым ключом.
  3. ^ Nguyen, Phong Q .; Стеле, Дэмиен (сентябрь 2009 г.). "Алгоритм LLL квадратичной сложности". SIAM J. Comput. 39 (3): 874–903. Дои:10.1137/070705702. Получено 3 июн 2019.
  4. ^ Nguyen, Phong Q .; Стеле, Дэмиен (1 октября 2009 г.). «Возвращение к низкоразмерной редукции базиса решетки». ACM-транзакции на алгоритмах. 5 (4): 1–48. Дои:10.1145/1597036.1597050.
  5. ^ Одлызко, Андрей; te Reile, Герман Дж. Дж. «Опровержение гипотезы Мертена» (PDF). Журнал für die reine und angewandte Mathematik. 357: 138–160. Дои:10.1515 / crll.1985.357.138. Получено 27 января 2020.
  6. ^ Шахабуддин, Шахриар и др., "Настраиваемый мультипроцессор сокращения решетки для обнаружения MIMO", в препринте Arxiv, январь 2015 г.
  7. ^ Д. Саймон (2007). «Избранные приложения LLL в теории чисел» (PDF). LLL + 25 Конференция. Кан, Франция.
  8. ^ Регев, Одед. «Решетки в информатике: алгоритм LLL» (PDF). Нью-Йоркский университет. Получено 1 февраля 2019.
  9. ^ Сильверман, Джозеф. "Введение в исправления математической криптографии" (PDF). Кафедра математики Университета Брауна. Получено 5 мая 2015.
  10. ^ Босма, Виб. «4. LLL» (PDF). Конспект лекций. Получено 28 февраля 2010.
  11. ^ Дивасон, Хосе. «Формализация алгоритма сокращения базиса LLL». Доклад конференции. Получено 3 мая 2020.

Рекомендации