Inicio / Calculadoras / Calculadora de puntos de curva elíptica
Herramientas online gratis

Calculadora de puntos de curva elíptica

Suma dos puntos en una curva elíptica y²=x³+ax+b módulo p. Ejemplo: P(5,1)+Q(6,3) con p=17 da (10,6). El procesamiento se realiza localmente en tu navegador.

Empezar a usar

Características y ejemplo verificado

Esta herramienta suma dos puntos afines sobre una curva de Weierstrass corta y² = x³ + ax + b módulo un primo p. No hay campo para b: se deriva del punto P, y Q debe pertenecer a la misma curva.

Ejemplo concreto

Con los valores predeterminados P(5,1), Q(6,3), a=2, p=17, la suma da P+Q = (10,6). Si ingresa P(5,1) y Q(5,16), el resultado es el punto en el infinito porque tienen la misma x y coordenadas y opuestas (inversos verticales).

Procesamiento

Las coordenadas se normalizan módulo p. Para puntos distintos se usa la pendiente m = (yQ - yP) / (xQ - xP) mod p; para duplicar un punto se usa m = (3xP² + a) / (2yP) mod p. Los inversos modulares se calculan con el algoritmo de Euclides extendido. La coordenada x del resultado es xR = m² - xP - xQ y la y es yR = m(xP - xR) - yP, todo módulo p.

Limitaciones

  • El módulo debe ser primo; se rechazan compuestos o pares.
  • Los puntos deben estar en la curva derivada de P; de lo contrario se rechaza la operación.
  • El límite de p (200000) mantiene los cálculos dentro del rango seguro de enteros de JavaScript.
  • Esta herramienta solo realiza una suma; no incluye multiplicación escalar, curvas nombradas, claves comprimidas, coordenadas proyectivas ni operaciones criptográficas.

Preguntas frecuentes

¿Qué pasa si ingreso un módulo que no es primo?

La calculadora rechaza el valor y le pide que ingrese un número primo. No se realizan cálculos con módulos compuestos.

¿Cómo sé si mis puntos están en la curva?

La herramienta deriva b a partir de P y verifica que Q satisfaga la misma ecuación. Si no es así, muestra un error indicando que Q no pertenece a la curva.

¿Puedo usar esta calculadora para criptografía real?

No. Esta es una herramienta educativa para campos finitos pequeños. No debe usarse para generar claves o firmas seguras.

El procesamiento se realiza localmente en tu navegador.