13.11.2021

Алгоритм Монтгомери (эллиптические кривые)


Алгоритм Монтгомери(англ. Montgomery ladder) — это алгоритм, позволяющий проводить операцию скалярного умножения для произвольной точки, принадлежащей эллиптической кривой за конечное время.

Недостатки предыдущих алгоритмов

Простейший алгоритм скалярного умножения точки P {displaystyle P} , лежащей на эллиптической кривой, на скаляр k {displaystyle k} выглядит следующим образом:

Input: k, P Output: kP 1: Q = P 2: for i = n-2 down to 0: 3: Q = 2Q 4: if k[i] == 1: 5: Q = Q + P 6: return Q

Описанный выше алгоритм скалярного умножения не рекомендуется использовать при проторении криптосистем на эллиптических кривых, поскольку он подвержен атаке по энергопотреблению. Шаги 3: и 5: позволяют злоумышленнику, перехватывающему значения Q {displaystyle Q} на очередной итерации цикла, побитово восстановить значение секретного ключа k {displaystyle k} .

Аналогичным проблемам подвержены более сложные алгоритмы скалярного умножения, использующие y {displaystyle y} -координату, поскольку к ним описан алгоритм атаки по ошибкам вычисления, а именно атака смены знака.

Описание алгоритма

В 1987 году американский математик Питер Монтгомери предложил алгоритм, в котором не требуется использование y {displaystyle y} -координату для вычисления скалярного произведения точки на эллиптической кривой, что позволило значительно ускорить создание открытого ключа, а также полностью защититься от атак по энергопотреблению:

Input: k, P Output: kP 1: Q[0] = P, Q[1] = 2P 2: for i = k-2 down to 0: 3: Q[1 - k[i]] = Q[0] + Q[1] 4: Q[k[i]] = 2Q[k[i]] 5: return Q[0]

Предлагается в самом начале помимо точки Q 0 = P {displaystyle Q_{0}=P} рассчитывать также точку Q 1 = 2 P {displaystyle Q_{1}=2P} . Основная идея заключается в том, что во время очередной итерации цикла разница между точками Q 0 {displaystyle Q_{0}} и Q 1 {displaystyle Q_{1}} остаётся неизменно равной P {displaystyle P} . Это позволяет при помощи проективных координат быстро вычислять значение в точках ( X Q 0 + Q 1 : . : Z Q 0 + Q 1 ) {displaystyle (X_{Q_{0}+Q_{1}}:;.;:Z_{Q_{0}+Q_{1}})} и ( X 2 Q 0 : . : Z 2 Q 0 ) {displaystyle (X_{2Q_{0}}:;.;:Z_{2Q_{0}})} , с помощью которых обновляются значения Q 0 {displaystyle Q_{0}} и Q 1 {displaystyle Q_{1}} . В самом же конце используя ( X k P : . : Z k P ) {displaystyle (X_{kP}:;.;:Z_{kP})} вычисляется значение открытого ключа k P {displaystyle kP} .

В дальнейшем оказалось, что главная особенность алгоритма оказалась слабым местом, дающим возможность для атаки и расшифровки секретного ключа.

Особенность реализации

Подсчёт Q 0 {displaystyle Q_{0}} и Q 1 {displaystyle Q_{1}} на очередном шаге алгоритма заслуживает отдельного внимания. Поскольку Монтгомери отказывается от использования y {displaystyle y} -координаты необходимо иметь точный порядок действий для вычисления проективных координат на очередной итерации.

В статье приводится полное подробное описание вычисления проективных координат, получающихся удвоением и суммированием соответствующих значений. Всего требуется 18 операций умножения, 13 сложения и 4 возведения в квадрат для случая A ≠ − 3 {displaystyle A eq -3} , и, соответственно, 23 умножения, 11 сложения и 4 возведения в квадрат иначе.

Области применения

Алгоритм Монтгомери применяется как в протоколе Диффи-Хэлмана, так и в алгоритмах электронной подписи, в случае, когда оба строятся на эллиптической кривой (ECDH и ECDSA соответственно). В обоих случаях — это вычисление открытых ключей агентов, собирающихся обмениваться информацией по незащищённому каналу.

Основным преимуществом криптосистемы, использующей эллиптические кривые, является относительно небольшая длина закрытого ключа (минимум 163 бита). Для примера в алгоритме RSA минимальная длина секретного ключа составляет 1024 бит. Данная возможность появляется благодаря особенности вычисления открытого ключа, задача дискретного логарифмирования для которого решается намного сложнее, чем для алгоритмов, построенных на целых числах.

RFID метки

На практике алгоритм Монтгомери применяется в RFID метках. Данные устройства применяются повсеместно для автоматической идентификации объектов, но при этом оснащены сильно ограниченным количеством памяти. Также процесс считывания должен происходить быстро, например в момент оплаты или проверки автомобиля во время проезда через пропускной пункт. Здесь и помогает алгоритм Монтгомери, поскольку он эффективнее других алгоритмов с точки зрения аппаратной части (время, ресурсы), а также даёт защиту от большинства атак по сторонним каналам на эллиптические кривые

Сенсорные сети

Другим интересным применением данного алгоритма являются беспроводные сенсорные сети. Как и в случае RFID меток, устройства сети оснащены компактными энергетически эффективными процессорами, в которых спроектированы специальные Modular Arithmetic Logic Units(MALU) для проведения вычислений на кривой, в том числе скалярного умножения. Это помогает производить безопасные и экономные вычисления.


Похожие новости:

Полиномиальная сводимость

Полиномиальная сводимость
Любой язык L 1 {displaystyle L_{1}} называется сводимым по Карпу к языку

Неравенство Пу

Неравенство Пу
Неравенство Пу даёт нижнюю оценку на площадь проективной плоскости с римановой метрикой через длину кратчайшей нестягиваемой замкнутой кривой. Является одним из фундаментальных утверждений

Алгоритм Кнута — Морриса — Пратта

Алгоритм Кнута — Морриса — Пратта
Алгоритм Кнута — Морриса — Пратта (КМП-алгоритм) — эффективный алгоритм, осуществляющий поиск подстроки в строке. Время работы алгоритма линейно зависит от объёма входных данных, то есть разработать

Алгоритм заметающей прямой

Алгоритм заметающей прямой
Алгоритм заметающей прямой или алгоритм выметания плоскости — это алгоритмическая парадигма, которая использует умозрительную выметающую прямую или выметающую поверхность для решения различных задач
Комментариев пока еще нет. Вы можете стать первым!

Добавить комментарий!

Ваше Имя:
Ваш E-Mail:
Введите два слова, показанных на изображении: *
Популярные новости
Черчение - учебная дисциплина "не для всех"
Черчение - учебная дисциплина "не для всех"
Черчение – многострадальный школьный предмет. Его то возвращают в расписание, то исключают из него,...
Выбор профессиональных триммеров для скашивания травы и их преимущества перед газонокосилками
Выбор профессиональных триммеров для скашивания травы и их преимущества перед газонокосилками
Триммер - это садовая техника для скашивания травы в местах, где затруднен доступ для использования...
Модульные дома в стиле Hi-Tech
Модульные дома в стиле Hi-Tech
Дома, которые построены в хай-тек стиле, возможно легко выделить среди прочих построек своим...
Все новости