Метод медника
Метод Копперсмита , предложенный Доном Копперсмитом , представляет собой метод поиска небольших целых нулей одномерных или двумерных полиномов по модулю заданного целого числа . В этом методе используется алгоритм приведения решеточного базиса Ленстры-Ленстры-Ловаса (LLL) для поиска полинома, который имеет те же нули, что и целевой полином, но меньшие коэффициенты.
В криптографии метод Копперсмита в основном используется при атаках на RSA , когда части секретного ключа известны и образуют базу для атаки Копперсмита .
Подход
[ редактировать ]Подход Копперсмита представляет собой сведение решения модульных полиномиальных уравнений к решению полиномов над целыми числами.
Позволять и предположим, что для некоторых целое число . Для нахождения этого целочисленного решения можно использовать алгоритм Копперсмита. .
Найти корни над Q легко, используя, например, Ньютона , но такой алгоритм не работает по модулю составного числа M. метод Идея метода Копперсмита состоит в том, чтобы найти другой полином f, связанный с F , который имеет тот же корень. по модулю M , но имеет лишь небольшие коэффициенты. Если коэффициенты и достаточно малы, чтобы над целыми числами, то мы имеем , так что является корнем f над Q и его легко найти. В более общем смысле мы можем найти полином с тем же корнем по модулю некоторой мощности М , удовлетворяющий и решить для как указано выше.
Алгоритм Копперсмита использует алгоритм приведения решеточного базиса Ленстры-Ленстры-Ловаса (LLL) для построения многочлена f с малыми коэффициентами. Учитывая F , алгоритм строит полиномы что у всех один корень модуль , где a — некоторое целое число, выбранное на основе степени F и размера . Любая линейная комбинация этих полиномов также имеет как корень по модулю .
Следующим шагом будет использование алгоритма LLL для построения линейной комбинации. принадлежащий так что неравенство держит. Теперь стандартные методы факторизации могут вычислять нули над целыми числами.
Реализации
[ редактировать ]Метод Копперсмита для одномерных полиномов реализован в
Ссылки
[ редактировать ]- Копперсмит, Д. (1996). «Нахождение малого корня одномерного модульного уравнения». Достижения в криптологии — EUROCRYPT '96 . Конспекты лекций по информатике. Том. 1070. С. 155–165. дои : 10.1007/3-540-68339-9_14 . ISBN 978-3-540-61186-8 .
- Копперсмит, Д. (1996). «Нахождение малого корня двумерного целочисленного уравнения; факторинг с известными старшими битами». Достижения в криптологии — EUROCRYPT '96 . Конспекты лекций по информатике. Том. 1070. стр. 178–189. дои : 10.1007/3-540-68339-9_16 . ISBN 978-3-540-61186-8 .
- Корон, Дж.С. (2004). «Ещё раз в поиске малых корней двумерных целочисленных полиномиальных уравнений» (PDF) . Достижения в криптологии – EUROCRYPT 2004 . Конспекты лекций по информатике. Том. 3027. стр. 492–505. дои : 10.1007/978-3-540-24676-3_29 . ISBN 978-3-540-21935-4 .
- Бауэр, А.; Жу, А. (2007). «К строгой вариации алгоритма Копперсмита с тремя переменными». Достижения в криптологии – EUROCRYPT 2007 . Конспекты лекций по информатике. Том. 4515. стр. 361–378. дои : 10.1007/978-3-540-72540-4_21 . ISBN 978-3-540-72539-8 .
- Корон, Дж.С. (2007). «Нахождение малых корней двумерных целочисленных полиномиальных уравнений: прямой подход» (PDF) . Достижения криптологии — КРИПТО 2007 . Конспекты лекций по информатике. Том. 4622. стр. 379–394. дои : 10.1007/978-3-540-74143-5_21 . ISBN 978-3-540-74142-8 .