crypto
← Volver a las prácticas Práctica 06

Elliptic Curve

Calcula residuos cuadráticos y sus raíces, enumera los puntos racionales de una curva elíptica y guárdalos en un archivo. Prueba la generación de curvas, la suma y la duplicación de puntos.

Se asume que p es primo; no se comprueba primalidad. El navegador admite p ≤ 10000 para mantener legible la salida. QRₚ contiene los cuadrados no nulos; el cero y su raíz se muestran por separado.

01 / QRₚ

Residuos cuadráticos

Encuentra cada residuo y todas sus raíces módulo p.

02 / E(𝔽ₚ)

Puntos racionales

y² ≡ x³ + ax + b (mod p). El conteo incluye (0, 1, 0).

Aritmética de curvas elípticas

Enteros de hasta 2048 bits. Usa decimales y puntos (x, y, 1); el infinito es (0, 1, 0). En suma y duplicación se supone p primo y se verifica que los puntos pertenezcan a la curva.

Generar una curva

Miller–Rabin: 32 rondas, primo probable. Aleatoriedad de práctica. La semilla permite repetir la corrida en el mismo entorno.

P + Q

P (x1, y1, z1)
Q (x2, y2, z2)

2P

P (x1, y1, z1)