Главная / Калькуляторы / Онлайн-инструмент операций с точками эллиптической кривой
Бесплатные онлайн-инструменты

Онлайн-инструмент операций с точками эллиптической кривой

Сложите две точки на эллиптической кривой по модулю p. Пример: p=17, a=2, P(5,1), Q(6,3) даёт (10,6). Учебный инструмент.

Начать работу

Возможности и ограничения

Инструмент складывает две точки на эллиптической кривой в форме Вейерштрасса y² = x³ + ax + b над полем F_p. Параметр b не вводится напрямую: он вычисляется из координат точки P, а точка Q должна лежать на той же кривой. Если точки имеют одинаковую x-координату и противоположные y-координаты, результатом будет точка на бесконечности (нейтральный элемент).

Проверенный пример

Для p=17, a=2, P=(5,1), Q=(6,3) сумма P+Q равна (10,6). Этот пример можно использовать для проверки работы калькулятора.

Алгоритм

Для различных точек наклон вычисляется как (yQ - yP) / (xQ - xP) по модулю p, для удвоения — как (3xP² + a) / (2yP). Обратные элементы находятся с помощью расширенного алгоритма Евклида. Координаты результата: x = slope² - xP - xQ, y = slope(xP - xR) - yP.

Ограничения

  • Поддерживается только сложение двух точек; нет скалярного умножения, именованных кривых или операций с ключами.
  • Модуль p должен быть простым и не превышать 200000, чтобы вычисления оставались в безопасном диапазоне целых чисел JavaScript.
  • Инструмент не предназначен для криптографических целей и не обеспечивает безопасность ключей.

Часто задаваемые вопросы

Что произойдёт, если точки P и Q не лежат на одной кривой?

Калькулятор проверит, что точка Q удовлетворяет уравнению кривой, заданной точкой P. Если это не так, будет выведено сообщение об ошибке.

Почему результат может быть точкой на бесконечности?

Если xP = xQ и yP = -yQ (по модулю p), то прямая, проходящая через точки, вертикальна, и сумма равна нейтральному элементу (точке на бесконечности).

Можно ли использовать составной модуль?

Нет, модуль должен быть простым числом. Составные модули не поддерживаются, так как алгоритм требует поля.

Введите безопасные целые числа через запятые или пробелы; дробные числа не допускаются. -9007199254740991 ≤ a, xP, yP, xQ, yQ ≤ 9007199254740991

a: 2; p: 17; P: 5,1; Q: 6,3; P + Q = (10,6)

4a³ + 27b² ≡ 0 (mod p): Кривая сингулярна; сложение точек эллиптической кривой не поддерживается.

Обработка выполняется локально в вашем браузере.