Tengo una curva elíptica $E$ en la forma $ y ^ 2 = 4x^3 - a x - b $ y un número primo $p$ . Ahora quiero encontrar el número entero $(x,y)$ que satisface la ecuación $$mod(y ^ 2,p) =mod(4x^3 - a x - b,p)$$ Puedo ver, si encuentro todos los puntos que se encuentran en el dominio $0<=x,y<p$ y tengo una solución $(x_1,y_1)$ Puedo generar fácilmente un número infinito de soluciones simplemente añadiendo a ellas el producto de $p$ y un número entero como: $(x_1+np,y_1+mp)$ . Debido a esta propiedad, he oído que este dominio podría representarse como un toroide. Mi pregunta es que, si empiezo a enrollar mi $E$ alrededor de este toroide (formado por el dominio "base"), hace $E$ eventualmente pasar por todos los $(x,y)$ ¿pares de soluciones? Hay un enlace al vídeo que me hizo reflexionar sobre esta cuestión: https://www.youtube.com/watch?v=mFVKuFZ29Fc
Respuesta
¿Demasiados anuncios?Tengamos una curva elíptica sobre un campo finito $K = \mathbb{F}_q$ entonces la curva se define como
$$E(\mathbb{K}) := \{ (x, y) \in \mathbb{K}^2 \mid y^2+a_1xy+a_3y = x^3+a_2x^2+a_4x+a_6\} \cup \{\mathcal O\}$$
¿Qué es? $\{\mathcal O\}$ , es el punto del infinito y no tiene imagen geométrica y en la construcción algebraica, mágicamente añadimos uno sin coordenadas.
Límites del número de puntos
Ahora bien, si la característica no es igual a 2 o 3, entonces tenemos la ecuación corta de Weierstrass
$$y ^ 2 = 4x^3 - a x - b $$
Como podemos ver en la definición algebraica podemos tener como máximo $q^2+1$ punto de la curva (no infinitos). Si se supone que $q$ es un número primo (no una potencia prima) y $4x^3 - a x - b $ alcanza todos los $q$ valores, entonces por el teorema del residuo cuadrático en los primos Ya sabemos que $(p - 1)/2$ de los elementos son Quadratic NonResideu, por lo que no son una solución a la ecuación de la curva, es decir $y^2= a$ no tiene solución.
Para el límite del número de puntos tenemos Teorema de Hasse
$$|N - (q+1)| \le 2 \sqrt{q}$$
Cómo encontrar el número exacto de puntos
Para calcular el número exacto de puntos podemos utilizar
- Algoritmo de Schoof René Schoof, 1985, con complejidad $\mathcal{O}(\log^8 q)$ o una versión mejorada;
- Algoritmo Schoof-Elkies-Atkin (SEA) con complejidad $\mathcal{O}(\log^6 q)$
En Sagemath llamando E.cardinality()
es suficiente para obtener el número de puntos.
Cómo representar las curvas sobre un campo finito
En el caso finito, tenemos una trama discreta
Este es el gráfico de la curva $E \colon y^2=x^3+4x+20$ en $\mathbb{F}_{29}$ con 37 puntos. Observe la simetría $y,-y$ !. En esta imagen no hay representación del $\mathcal{O}$ puede representarse en coordenadas proyectivas.
Suma de puntos
Observe la línea roja que pasa por $P$ y $Q$ y el tercer punto y el punto reflejado $ R = P + Q$ .
Curva de mapeo a Torus
Cualquier rectángulo puede ser mapeado en un toroide con algún se estira .
Para ver mejor esta imagen utilice la versión HTML interactiva, puede hacer zoom y girar en 3D, puede descargarlo de Github y verlo localmente. También puedes ver el método de mapeo en el código.