Jump to content

Бэби-шаг, гигантский шаг

В теории групп , разделе математики, «гигантский шаг ребенка» — это «встреча посередине» алгоритм для вычисления дискретного логарифма или порядка элемента в конечной абелевой группе, автор Дэниел Шэнкс . [1] Проблема дискретного журнала имеет фундаментальное значение для области криптографии с открытым ключом .

Многие из наиболее часто используемых систем криптографии основаны на предположении, что дискретный журнал чрезвычайно сложно вычислить; чем сложнее, тем большую безопасность обеспечивает передача данных. Один из способов повысить сложность проблемы дискретного журнала — построить криптосистему на основе более крупной группы.

Алгоритм основан на компромиссе пространства и времени . Это довольно простая модификация пробного умножения, наивного метода нахождения дискретных логарифмов.

Учитывая циклическую группу порядка , генератор группы и элемента группы , проблема в том, чтобы найти целое число такой, что

Алгоритм «маленький шаг — гигантский шаг» основан на переписывании :

Таким образом, мы имеем:

Алгоритм предварительно вычисляет для нескольких значений . Затем он исправляет и пробует значения в правой части приведенного выше сравнения, в порядке пробного умножения. Он проверяет, выполняется ли сравнение для любого значения , используя заранее вычисленные значения .

Алгоритм

[ редактировать ]

Входные данные : циклическая группа G порядка n , имеющая генератор α и элемент β .

Выход : значение x, удовлетворяющее .

  1. м ← Потолок( n )
  2. Для всех j , где 0 ≤ j < m :
    1. Вычислить α дж и сохраним пару ( j , α дж ) в таблице. (См. § На практике )
  3. Вычислить α м .
  4. в б . (установить γ = β )
  5. Для всех i , где 0 ≤ i < m :
    1. Проверьте, является ли γ вторым компонентом ( α дж ) любой пары в таблице.
    2. Если да, верните im + j .
    3. Если нет, c c a м .


На практике

[ редактировать ]

Лучший способ ускорить алгоритм «маленький шаг — гигантский шаг» — использовать эффективную схему поиска в таблице. Лучшее в этом случае — хеш-таблица . Хеширование выполняется для второго компонента, и для выполнения проверки на шаге 1 основного цикла хешируется γ и проверяется полученный адрес памяти. Поскольку хеш-таблицы могут извлекать и добавлять элементы в время (постоянное время), это не замедляет общий алгоритм гигантского шага ребенка.

Пространственная сложность алгоритма равна , а временная сложность алгоритма равна . Это время работы лучше, чем время выполнения наивного грубого расчета.

Алгоритм гигантского шага Baby-step может быть использован перехватчиком для получения закрытого ключа, сгенерированного при обмене ключами Диффи-Хеллмана , когда модуль представляет собой простое число, которое не слишком велико. Если модуль не является простым, алгоритм Полига – Хеллмана имеет меньшую алгоритмическую сложность и потенциально решает ту же проблему. [2]

Примечания

[ редактировать ]
  • Алгоритм «маленький шаг — гигантский шаг» — это универсальный алгоритм. Это работает для любой конечной циклической группы.
  • Нет необходимости знать точный порядок группы G. заранее Алгоритм по-прежнему работает, если n — это просто верхняя граница порядка группы.
  • Обычно алгоритм «маленького шага» и «гигантского шага» используется для групп, порядок которых является простым. Если порядок группы составной, то алгоритм Полига – Хеллмана более эффективен.
  • Алгоритм требует O ( m ) памяти. Можно использовать меньше памяти, выбрав меньшее m на первом этапе алгоритма. Это увеличивает время работы, которое тогда равно O ( n / m ). В качестве альтернативы можно использовать ро-алгоритм Полларда для логарифмов , который имеет примерно то же время работы, что и алгоритм гигантского шага ребенка, но требует лишь небольшого объема памяти.
  • Хотя авторство этого алгоритма принадлежит Дэниелу Шэнксу, опубликовавшему в 1971 году статью, в которой он впервые появился, статья Нечаева 1994 года [3] утверждает, что он был известен Гельфонду в 1962 году.
  • Существуют оптимизированные версии исходного алгоритма, например, с использованием усеченных справочных таблиц без коллизий [4] или карты отрицания и одновременную модульную инверсию Монтгомери, как предложено в . [5]

Дальнейшее чтение

[ редактировать ]
  • Х. Коэн , Курс вычислительной алгебраической теории чисел, Springer, 1996.
  • Д. Шэнкс , Число классов, теория факторизации и родов. В Proc. Симп. Чистая математика. 20, страницы 415–440. AMS, Провиденс, Род-Айленд, 1971 г.
  • А. Штейн и Э. Теске, Оптимизированные методы детского шага и гигантского шага, Журнал Математического общества Рамануджана 20 (2005), вып. 1, 1–32.
  • А.В. Сазерленд , Порядковые вычисления в генерических группах , Кандидатская диссертация, Массачусетский технологический институт, 2007.
  • Д.С. Терр, Модификация алгоритма «гигантский шаг» Шанкса, Mathematics of Computation 69 (2000), 767–773. два : 10.1090/S0025-5718-99-01141-2
  1. ^ Дэниел Шэнкс (1971), «Число классов, теория факторизации и родов», В Proc. Симп. Чистая математика. , том. 20, Провиденс, Род-Айленд: Американское математическое общество, стр. 415–440.
  2. ^ Маурер, Ули М.; Вольф, Стефан (2000), «Протокол Диффи-Хеллмана», Designs, Codes and Cryptography , 19 (2–3): 147–171, doi : 10.1023/A:1008302122286 , MR   1759615
  3. ^ В. И. Нечаев, Сложность детерминированного алгоритма дискретного логарифма, Математические заметки, вып. 55, нет. 2 1994 (165–172)
  4. ^ Панайотис Хацигианнис, Константинос Халкиас и Валерия Николаенко (30 июня 2021 г.). Гомоморфное дешифрование в блокчейнах с помощью сжатых справочных таблиц с дискретным журналом . CBT Workshop 2021 (ESORICS) . Проверено 7 сентября 2021 г.
  5. ^ Стивен Д. Гэлбрейт, Пин Ван и Фангго Чжан (10 февраля 2016 г.). Вычисление дискретных логарифмов по эллиптической кривой с помощью улучшенного алгоритма «маленького шага» и «гигантского шага» . Достижения в области математики связи . Проверено 7 сентября 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: dbaffe8ea63ca2d0d6324636db60b44d__1717289220
URL1:https://arc.ask3.ru/arc/aa/db/4d/dbaffe8ea63ca2d0d6324636db60b44d.html
Заголовок, (Title) документа по адресу, URL1:
Baby-step giant-step - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)