Showing posts with label geometría proyectiva. Show all posts
Showing posts with label geometría proyectiva. Show all posts

Sunday, July 17, 2016

Algebras de endomorfismos en curvas elípticas (Parte 1 Anillos de Endomorfismos)

Hoy quiero hablar un poco de cómo analizar internamente la estructura de un grupo abeliano, lo cual lo haremos con el grupo abeliano que forma una curva elíptica.

Es decir, a veces para poder entender a un objeto, es indispensable poder entender los morfismos internos del objeto.
En este caso, lo que quiero es poder estudiar al grupo abeliano como un "espacio vectorial" y estudiar las transformaciones que hay en él... y pues con esto podemos incluso hablar de matrices, determinantes, trazas, polinomios característicos y valores propios.

Pero primero en esta parte, le daremos estructura de anillo a los homomorfismos de la curva en si misma, y en la siguiente parte de este post le daremos ya estructura de álgebra.

Recordando muy informalmente curvas elípticas

Recordemos rápidamente el contexto deseado, que son la curvas elípticas de una manera muy informal ya que he hablado antes de esto aquí en mi blog (busca keyword "elíptica").

Las curvas elípticas son objetos muy usados en criptografía ya que proveen con su estructura geométrica una manera diferente de "sumar y restar" que al ésta ser sustituida en los algoritmos de llave pública como Diffie-Hellman que es el más usado en todas las telecomunicaciones en vez de grupos finitos (enteros módulo un número primo usualmente) resulta muy rápido y más seguro. Un ejemplo intuitivo de cómo funciona esta suma es el siguiente:




Lo que estamos viendo aquí es una curva $latex E$ en azul, y dos puntos en ella que son $latex P,Q\in E$ , que su suma está definida como la proyección con el eje $latex x$ del tercer punto de intersección de la linea que los une, que en este dibujo está denotado como $latex P+Q$.

Siempre habrá este tercer punto de intersección si la curva es vista de manera proyectiva, lo cual veremos en la siguiente sección y es justificado por el teorema de Bézout.

Si quisieras calcular el punto $latex P+P$ se hace de manera parecida, sólo que la linea a considerar es la tangente a $latex P$ en la curva $latex E$.

El negativo de un punto es sólo su proyección con el eje $latex x$ es decir si $latex (x,y)\in E$ entonces $latex -(x,y)=(x,-y)$, y sumar $latex P+ (-P)=\infty$ , donde este $latex \infty$ será explicado en la siguiente sección y este $latex \infty$ nos funcionará como el cero (identidad) en la estructura de grupo abeliano que tiene la curva.

Bajo esta operación tenemos que la curva $latex E$ y sus puntos forman un grupo abeliano, es decir, con sus puntos bajo esta operación ya explicada es conmutativa, cada elemento tiene un inverso, es asociativa y cerrada, y lo más importante... es algebraica... es decir,  hay fórmulas explícitas que no necesitan funciones raras para definirlas (como raíces cuadradas, logaritmos ni nada).

Entrando un poco más en lo que significa "algebraico" es que su suma se puede definir con simples cocientes de polinomios, a eso me refiero con que algo sea "algebraico", y más allá de ser una curva, esto se le llama variedad abeliana, que es un objeto algebraico dotado de una estructura de grupo con una operación continua bajo cierta topología (Zariski), y que está dada por polinomios cuya operación explícita puede ser vista aquí en wikipedia.

Puedes notar que también puedes calcular "$latex n$ veces el punto $latex P$ , es decir $latex P+P+\ldots +P$  ($latex n$ veces) para todo $latex n\in \mathbb{Z}$ , por lo que significa que podemos "hacer actuar a los enteros en la curva", esto es lo que se le conoce como un $latex \mathbb{Z}$-módulo, y todo grupo abeliano, tiene esta capacidad, por más abstracto que sea el grupo, siempre se puede hablar de "$latex n$ veces aplicar la operación + del gropo".

La definición formal es que son curvas suaves proyectivas de género 1 con un punto distinguido.

Suaves significa que son diferenciables en todos lados y no hay puntos dobles o nodales por ejemplo dos que cumplen la definición vistas en $latex \mathbb{R}\times\mathbb{R}$ serían:


Espacio proyectivo.

Aquí justificamos este símbolo $latex \infty$.
Proyectivo significa que en vez de vivir en espacios vectoriales usales como $latex \mathbb{R}^n$ o $latex \mathbb{F}_{q}$ , vive en un nuevo espacio que ahora definiremos que es $latex \mathbb{P}^n_\mathbb{R}$ o en  $latex \mathbb{P}^n_{\mathbb{F}_q}$ respectivamente, donde estos espacios incluyen un punto nuevo, que es el infinito y múltiplos de vectores serán identificadas con un sólo punto.

Este espacio proyectivo lo tengo bien explicado aquí pero a grandes rasgos es un espacio en el cual identificamos todos los múltiplos de un punto como el mismo punto, imaginen un espacio vectorial, donde un vector $latex v$ al aumentar su magnitud por una constante $latex c\neq 0 \in \mathbb{R}$ tenemos que el nuevo vector sería $latex c \cdot v$. Aquí , tenemos que por ejemplo en $latex \mathbb{R}^n$ los puntos $latex v$ y $latex c \cdot v$ serán identificados con el mismo vector, es decir es como una contracción y a este nuevo espacio con esta nueva regla lo denotamos como  $latex \mathbb{P}^n_\mathbb{R}$.

El punto $latex [0:0:0]$ no existe, lo cual es una consecuencia de las reglas que acabo de definir, por lo que al interesado en álgebra le serviría la definición que es:  $latex \mathbb{P}^n_\mathbb{R}:=\mathbb{R}^{n+1}\setminus \lbrace \overline{0} \rbrace /\sim$ donde la relación $latex \sim$ es que si $latex \overline{u},\overline{v}\in \mathbb{R}^{n+1}$ entonces $latex \overline{u}\sim \overline{v}$ sí y sólo sí $latex \overline{u} = \lambda \overline{v}$ donde $latex \lambda\in \mathbb{R}^{*}$ , es decir esto nos colapsa toda una familia de puntos en $latex \mathbb{R}^{n+1}$ a un sólo punto que denotaremos como $latex [u] \in \mathbb{P}^n_\mathbb{R}$ y tenemos que en este caso $latex [u]=[v]$.


Y de hecho las ecuaciones proyectivas de los ejemplos anteriores serían la ecuación homogénea que hace que los grados de todos los monomios sean iguales $latex y^2z=x^3-xz^2$  así como $latex y^2z=x^3-xz^2 + z^3$ donde ahora vemos que tiene otra variable $latex z$ que nos permitirá agregar otra familia de puntos, por ejemplo, los puntos de la ecuación afín serían los puntos de la forma $latex [x:y:1]$ pero también tenemos que la ecuación también tiene el punto $latex [0:1:0]$  que será el punto racional distinguido, y todas las ecuaciones cúbicas de esta forma lo contienen.


También agregamos un punto muy especial como ya vimos que es usualmente $latex \infty:=[0:1:0]$ que es muy usado en el modelo matemático de lo que significa dibujar "horizontes" en un paisaje, y observando que unas vías del tren no son paralelas, ya que se tocan en el infinito, como lo pueden ver aquí.




Y bueno una curva elíptica de género 1 sin puntos raros, siempre es transformable a una ecuación de la forma $latex y^2 = x^3 + ax+b$ mediante sustitución de variables, a esta forma se le llama forma de Weierstrass.

Género de una curva

El género es un poco más difícil de explicar en este post y con esta informalidad, pero imaginen que tiene que ver con que si la ecuación de la curva la vemos en el espacio complejo... su gráfica será una dona con 1 hoyo... si fueran dos hoyos tendría género 2, por lo que una curva elíptica tiene género 1 y se ve así  "intuitivamente" como una función compleja:







A mi me gusta mucho el álgebra así que podemos calcular de hecho géneros de maneras más abstractas gracias aun teorema muy interesante, de Riemann-Roch, que nos dice el género de un objeto geométrico con la dimensión de ciertos espacios de funciones el cual tengo explicado de manera formal aquí.

Estoy trabajando en mi mente un artículo para explicar el teorema de Riemann-Roch sin necesitar álgebra tan dura, con pura teoría de espacios vectoriales, espero pronto tenerlo.

El género cuando no hay puntos raros en la ecuación, se puede calcular con los grados de los monomios en una ecuación.


En términos criptográficos, recuerden que hasta ahora las computadoras no saben cómo manejar a los números reales (ni complejos), de manera continua, es decir, cuando ustedes programan un "float" o "double" sabemos que tienen un "límite" en su representación, por lo que realmente la computadora sólo sabe manejar estructuras finitas.

Estructura finita asociada a las curvas para poder usada en criptografía y computación.

Algo interesante de las curvas elípticas es que su estructura de grupo funciona en cualquier campo... no sólo en los números reales, los complejos o los racionales que son infinitos... sino en campos finitos, como son los enteros módulo p.

De manera básica y para no entrar en detalles tenemos que si escogemos cualquier número primo $latex p$ , tenemos que si $latex a,b\in \mathbb{Z}$ podemos calcular que $latex a\cdot b\equiv c \bmod p$  donde $latex c$ será solamente el residuo de la división al calcular $latex a\cdot b/p $ , este residuo está entre el 0 y $latex p-1$, y todo entero se puede reducir módulo $latex p$ de la misma forma (dividiendo entre $latex p$ y calculando su residuo), este conjunto donde juntas a todos los elementos reducidos en sus respectivas clases se denota como $latex \mathbb{F}_p$ y consta de $latex p$ elementos, del 0 al $latex p-1$.


La suma se define de manera similar y todo elemento tiene un inverso multiplicativo y aditivo, es decir para todo $latex [a]\in \mathbb{F}_p$ tenemos que existe un $latex [a]^{-1}\in \mathbb{F}_p$ tal que $latex [a]\cdot [a]^{-1} = [1]$  , por ejemplo en $latex \mathbb{F}_7$ tenemos que el inverso  multiplicativo de $latex [3]$ es $latex [5]$ ya que $latex 5\cdot 3=15$ y $latex 15\equiv 1\bmod 7$ por lo que podemos decir abusando de la notación que "dividir entre $latex [3]$" módulo $latex 7$ equivale a multiplicar por $latex [5]$.
Con la suma el negativo de $latex [a]\in \mathbb{F}_p$ es de hecho $latex [p-1]\cdot [a]$ ya que $latex (p-1)\cdot a = pa-a \equiv -a \bmod p$ , por ejemplo en $latex \mathbb{F}_7$ tenemos que $latex -[3]= (p-1)\cdot 3 = 6\cdot 3 = 18 \equiv 4 \bmod 7$ , por lo que $latex -[3] \equiv [4]$ y es fácil verificarlo ya que al sumar con su inverso aditivo al 3 tenemos que $latex -[3] + [3] = [4] + [3] \equiv 0 \bmod 7$ (ya que no deja residuo).

Se pueden definir campos para cada potencia de $latex p$ es decir $latex \mathbb{F}_{p^n}$ pero eso queda de tarea para ustedes investigar cómo se hace.

Con esto tenemos que si evaluamos todas las posibles soluciones de una curva elíptica bajo esta aritmética, tenemos que ya no se ve como una "curva", pero realmente lo es en el sentido algebraico, y se ve por ejemplo $latex y^2=x^3 - 4x+6$ sobre $latex \mathbb{F}_{197}$ así:



Si implementan la regla de adición como en wikipedia, donde las divisiones que vean en las funciones que definen la suma de dos puntos las interpretan como "calcular el inverso multiplicativo" (lo cual se hace con el algoritmo de euclides extendido), una consecuencia del teorema fundamental del álgebra les dirán que las "lineas entre dos puntos" en aritmética modular también funcionan, esto es de manera informal pero sólo quiero meter la idea, en posts anteriores formalizo esto.



Grupos de homomorfismos en grupos abelianos (curvas elípticas en este caso)

Recordemos que un homomorfismo entre dos grupos (o dos curvas) $latex G_1$ y $latex G_2$ es un mapeo que respeta la estructura de grupo en cada uno. Es decir si $latex \langle G_1,+\rangle$ y $latex \langle G_2,\oplus\rangle$ son sus respectivas operaciones. tenemos que $latex \alpha \in Hom(G_1,G_2)$ es un homomorfismo entre $latex G_1$ y $latex G_2$ , es decir  $latex \alpha:G_1\rightarrow G_2$ si para $latex P,Q\in G_1$

$latex \alpha(P+Q)=\alpha(P)\oplus \alpha(Q)$

También tenemos que $latex \alpha$ también manda infinitos de un grupo a infinitos del otro.

 $latex \alpha(\infty_{G_1})=\infty_{G_2}$.


Algo muy interesante es que el conjunto de todos los homomorfismos, es decir $latex Hom(G_1,G_2)$ forma un grupo abeliano, es decir, puedes sumar los homomorfismos, noten que ya no estamos hablando de los puntos de la curva solamente o de elementos de grupos en general, es decir si $latex \alpha,\beta\in Hom(G_1,G_2)$ definimos bajo la operación nueva de homomorfismos $latex \boxplus$ una nueva función $latex \alpha\boxplus \beta\in Hom(G_1,G_2)$ :

$latex (\alpha\boxplus\beta):G_1\rightarrow G_2$
$latex P\mapsto \alpha(P)\oplus \beta(P)$

Es fácil demostrar que $latex \alpha\boxplus \beta$ también respeta estructura de grupo en $latex G_2$ (es decir que es un homomorfismo) , y pues tenemos que la identidad es el morfismo $latex [0]\in Hom(G_1,G_2)$ que manda todo al 0 del grupo $latex G_2$.
También para que $latex Hom(G_1,G_2)$ sea grupo bajo la operación $latex \boxplus$, necesitamos un inverso, es decir, si $latex \alpha\in Hom(G_1,G_2)$ existe un $latex -\alpha \in Hom(G_1,G_2)$ y de hecho pueden ver que este es simplemente $latex -\alpha:G_1\rightarrow G_2$ que mapea $latex P\mapsto \alpha(-P)$ por lo que $latex \alpha\boxplus -\alpha$ está definido como $latex (x,y)\mapsto \alpha(x,y)\oplus \alpha(x,-y)$ y esto y si $latex \alpha(P)=Q\in G_2$ tenemos que es igual a $latex Q\oplus -Q=\infty_{G_2}$ , por lo que mapea al cero de $latex G_2$ y $latex (\alpha\boxplus -\alpha)(P)=\infty_{G_2}$ para todo $latex P\in G_1$ por lo que $latex \alpha\boxplus -\alpha=[0]\in Hom(G_1,G_2)$.

De manera similar se puede demostrar que $latex \boxplus$ es asociativa,  por lo que $latex Hom(G_1,G_2)$ es un grupo.

También como mencionamos hace rato, todo grupo abeliano tiene estructura de $latex \mathbb{Z}$ módulo... es decir, en este ejemplo podemos hablar de aplicar en $latex Hom(G_1,G_2)$ la operación $latex \boxplus$ varias veces a sus elementos, (en este caso homomorfismos entre los dos grupos) es decir $latex n\alpha$ simplemente será:

$latex n\alpha:G_1\mapsto G_2$
$latex P\mapsto \alpha(P)\oplus\ldots \oplus \alpha(P)=\bigoplus_{k=1}^{n} \alpha(P)$

Por lo que decimos que $latex Hom(G_1,G_2)$ tiene estructura de $latex \mathbb{Z}$ módulo.

Anillos de Endomorfismos entre grupos abelianos.

Este es un caso especial de $latex Hom(G_1,G_2)$ , ahora imaginen que $latex G_1=G_2$ por o que lo denotaremos simplemente por $latex G$ , y vamos a definir que $latex End(G):=Hom(G,G)$ pero adicionalmente para que sea un anillo tenemos que la operación multiplicación de endomorfismos $latex \alpha,\beta\in End(G)$ es  $latex \alpha\circ \beta$ , es decir la composición entre ellos como funciones, es decir $latex (\alpha\circ\beta)(P)=\alpha(\beta(P))$.

Como tenemos que $latex \alpha,\beta Hom(G,G)$ está bien definido $latex \alpha\circ \beta:G\rightarrow G$.

La identidad bajo esta multiplicación es la función identidad , es decir, la que manda un punto a sí mismo, y la denotamos como $latex [1]\in End(G)$.

Ustedes pueden verificar que la operación $latex \circ$ es distributiva con $latex \boxplus$ , es decir que si $latex \alpha,\beta,\gamma\in End(G)$ y $latex P\in G$:

$latex (((\alpha\boxplus\beta)\circ \gamma)(P)=((\alpha\circ \gamma)\boxplus (\beta\circ \gamma))(P)$

y usando que $latex \gamma$ también es in homomorfismo.

$latex (\gamma\circ(\alpha\boxplus \beta))(P)=((\gamma\circ \alpha)\boxplus (\gamma\circ\beta))(P)$

Es fácil ver que por default, en $latex End(G)$ hay una infinidad de endomorfismos, de hecho para toda $latex n\in \mathbb{Z}$ tenemos el mapeo $latex [n]\in End(G)$ el cual definimos como:

$latex [n]:G\mapsto G$
$latex P\mapsto P+\ldots +P$  (n veces)

Donde $latex +$ es la operación del grupo $latex G$

Entonces es fácil ver que de hecho, en un nivel más alto hay otro homomorfismo de anillos entre los enteros y $latex End(G)$ , es decir:

$latex \Psi:\mathbb{Z}\rightarrow End(G)$
$latex n\mapsto [n]$

Y es homomorfismo ya que es fácil verificar que $latex \Psi(n+m)=\Psi(n)\oplus \Psi(m) = [n] \boxplus [m]=[n+m]$ y respeta la estructura de anillo ya que $latex \Psi(n\cdot m)=[n]\circ[m]=[nm]$.

Con esto tenemos mucho para argumentar que $latex \mathbb{Z}$ es un subanillo de $latex End(G)$ ya que $latex End(G)$ no tiene torsión, es decir, el aplicar $latex n$ veces cualquier endomorfismo diferente de $latex [0]$ , nunca nos dará $latex [0]$ y el mapeo entre $latex \mathbb{Z}$ y $latex End(G)$ es inyectivo.

Otra cosa es que $latex [n]\circ \alpha = \alpha \circ [n]$ es decir conmuta, y ustedes lo pueden demostrar fácilmente (pero no siempre es así entre cualquiera $latex \alpha,\beta\in End(G)$, que es cuando en el siguiente post definiremos que $latex End(G)$ está equipado con multiplicación compleja.

En el caso en que se esté trabajando sobre un campo finito en el grupo de una curva elíptica $latex E$ como $latex \mathbb{F}_q$ existe otro endomorfismo muy famoso que es usado mucho en investigación en criptografía , que es el endomorfismo de Frobenius, $latex \phi\in End(E)$ que equivale a $latex (x,y)\mapsto (x^q,y^q)$ , es decir, elevar a la $latex q$ cada coordenada de un punto en la curva usando la reducción en el campo finito $latex \mathbb{F}_q$. Este homomorfismo también conmuta.

Otro remark es que en una curva elíptica $latex \alpha,\beta\in End(E)$ son suprayectivos y por consecuencia $latex \alpha\circ\beta$ también lo es, por lo que jamás será el homomorfismo $latex [0]$ , esto nos dice que bajo la multiplicación del anillo $latex End(E)$ dada por la composición, nunca obtenemos el $latex [0]\in End(E)$ por lo que no existen múltiplos de 0, y $latex End(E)$ es un dominio entero, por lo que pueden usar las reglas de cancelación usuales entre sus elementos tanto por la izquierda como por la derecha.


Espero les haya gustado, la parte 2 la haré pronto, donde extenderemos la estructura de $latex \mathbb{Z}$-módulo de $latex End(E)$ a un $latex \mathbb{Q}$-módulo a través de un tensor.

Eduardo Ruíz Duarte (beck)
twitter: @toorandom



Saturday, December 14, 2013

Teorema de Riemann-Roch y divisores en criptografía, (Parte 2: Espacio proyectivo)

Como vimos anteriormente, lo que queremos es exprimir las propiedades de una curva algebraica a través de la geometría algebraica, en este caso de una curva elíptica o hiperelíptica.

Como lo mencioné al principio del post anterior, el grupo de una curva elíptica está fundamentado de manera "cochina" por (algunos) computólogos que implementan criptografía por el teorema de Bézout.

Siempre al definir una curva elíptica se define en su propiedad de grupo que un punto $latex (x,y)$ en la curva elíptica o hiperelíptica tiene como inverso a el punto $latex (x,-y)$ lo cual sucede al proyectarlo con un punto mágico que está en el infinito, esto es porque la curva elíptica realmente no vive en $latex \mathbb{R}^2$ como todos creen, realmente vive en otro espacio que es el que trataremos de explicar aquí, vive realmente en $latex \mathbb{P}^2_{\mathbb{C}}$, pronto veremos el por qué se les llama elípticas a través de otro nuevo espacio $latex \mathbb{C}/\Lambda$ y una función llamada $latex \wp$ de Weierstrass, pero eso aún está lejos de este post.

La respuesta elegante y limpia en vez de usar Bézout para justificar la estructura de grupo de una curva elíptica o hiperelíptica está a través del teorema de Riemann-Roch el cual trataremos de comprender a grandes rasgos, no olvides checar tu literatura

El teorema de Riemann-Roch une las propiedades algebraicas y topológicas de una curva, vamos a explorarlo un poco, aunque en esta primera parte del post definiremos primero lo que es el espacio proyectivo y algunas propiedades a través de ejemplos usando topología.

Como lo mencioné, vamos a hablar ahora del espacio proyectivo $latex \mathbb{P}^{n}_{\mathbb{K}}$, en el post anterior trabajamos en el espacio afín $latex \mathbb{A}^{n}_{\mathbb{K}}$ y definimos el campo de funciones, el cual jugará un papel imporante en Riemann-Roch

Recomiendo leer al menos la página de Wikipedia de geometría proyectiva así como el artículo del plano complejo proyectivo , aquí daré cierta intuición, ejemplos, definiciones y construcciones, para no dejar ese hueco.

Sea $latex V$ un espacio vectorial de dimensión finita sobre un campo $latex \mathbb{K}$ (de hecho para nuestros propósitos el espacio que tomaremos será $latex V=\mathbb{C}^2$) y considera la siguiente relación de equivalencia entre los vectores  $latex V\setminus \lbrace 0 \rbrace$:

$latex u\sim v \Leftrightarrow \exists \lambda \in \mathbb{K}^{*} \mid u=\lambda v$

Es decir, estamos diciendo que dos vectores $latex u$ y $latex v$ estarán en la misma partición (están relacionados) sí y sólo sí están en la misma linea que pasa por el origen, es decir, este espacio consta de todas las lineas que salen del origen bajo esta relación, con un ombligo, recuerda que quitamos al 0

Por lo que tenemos que si nuestro espacio vectorial  $latex V=\mathbb{C}^2$
$latex \mathbb{P}(V):=V\setminus \lbrace 0 \rbrace / \sim$

y para reducir notación:

$latex \mathbb{P}^{n}_{\mathbb{C}}:=\mathbb{P}(\mathbb{C}^{n+1})$

Por lo que a nosotros nos interesará trabajar en:

$latex \mathbb{P}^{2}_{\mathbb{C}}$

El cual es el plano proyectivo complejo.

Esta geometría realmente nace de la perspectiva a la hora de pintar un paisaje y quieres poder mostrar el horizonte en tu obra a pesar de que éste esté en el infinito.

De hecho, los puntos de $latex \mathbb{P}^{2}_{\mathbb{C}}$ son denotados como $latex [a:b:c]$

Ejemplo:

Como a mucha banda matemática y a mi, nos gustan los ejemplos para poder entender los conceptos abstractos, afortunadamente aquí sí hay algo en lo que todo el mundo es familiar.

Vamos a ver cómo se ve $latex \mathbb{P}^{1}_{\mathbb{R}}$, de hecho vamos a demostrar que este espacio es realmente homeomorfo al círculo $latex \mathbb{S}^1$

Este espacio se le llama linea proyectiva real y nace de considerar la relación de equivalencia mencionada inicialmente sobre $latex \mathbb{R}^2$.

Más formal:

Si $latex x,y\in \mathbb{R}^2$, tenemos que $latex x\sim y \Leftrightarrow x=\lambda y$ con $latex \lambda \in \mathbb{R}$ y:

$latex \mathbb{P}^{1}_{\mathbb{R}}=\mathbb{R}^2\setminus \lbrace 0 \rbrace / \sim$

Vamos a usar topología aquí para demostrar que $latex \mathbb{S}^1$ y $latex \mathbb{P}^{1}_{\mathbb{R}}$ son homeomorfos, de hecho la topología cociente aunque supongo que hay caminos tal vez más directos.

Consideremos:

$latex \psi:\mathbb{R}^2 \setminus \lbrace 0 \rbrace \rightarrow \mathbb{P}^1_{\mathbb{R}}$
$latex (x,y) \mapsto [x:y]$

Ahora, vamos a restringir esto a $latex \mathbb{S}^1$

es decir $latex \hat\psi = \psi\mid_{\mathbb{S}^1}$ por lo que tenemos que en $latex \hat\psi :\mathbb{S}^1 \rightarrow \mathbb{P}^1_{\mathbb{R}}$  $latex \hat\psi(x,y)=\hat\psi(-x,-y)$ es decir, a cada punto del círculo bajo la relación $latex \sim$ se reduce en la restricción al círculo a una relación más simple que le llamaremos $latex \hat\sim$ la cual definimos como $latex a,b\in \mathbb{S}^1$ entonces $latex a\hat\sim b\Leftrightarrow a=-b$

Es decir, la relación restringida al círculo nos dice que las antípodas están en la misma clase de equivalencia.

Entonces lo que basta demostrar es que $latex \tilde\psi:\mathbb{S}^1/\hat\sim \rightarrow \mathbb{S}^1$
es un homeomorfismo.

Consideremos el mapeo:

$latex \phi:\mathbb{S}^1 \rightarrow \mathbb{S}^1$

$latex (x,y) \mapsto (x^{2} - y^{2},2xy)$

Este mapeo está inspirado en $latex z\mapsto z^2$ en $latex \mathbb{C}$ pero viéndolo en $latex \mathbb{R}^2$ y restringido a $latex \mathbb{S}^1 \subset \mathbb{R}^2$

Este mapeo $latex \phi$ claramente es continuo y suprayectivo y $latex \phi$ pasa por el cociente bajo $latex \hat\sim$ o sea, respeta la relación de equivalencia $latex \hat\sim$ ya que si $latex z\in\mathbb{S}^1$ tenemos que $latex \phi(z)=\phi(-z) \Rightarrow z\hat\sim -z$

Usando la propiedad universal de la topología cociente con esta $latex \phi$ tenemos que $latex \tilde\psi:\mathbb{S}^1/\hat\sim \rightarrow \mathbb{S}^1$ es un homeomorfismo y es único.

Por lo que:

$latex \mathbb{P}^{1}_{\mathbb{R}}=\mathbb{R}^2\setminus \lbrace 0 \rbrace / \sim \cong \mathbb{S}^1$


Más ejemplos usuales existen , por ejemplo si nos tomamos $latex \mathbb{C}$ en vez de $latex \mathbb{R}$ ustedes pueden demostrar que la recta proyectiva compleja:

$latex \mathbb{P}^{1}_{\mathbb{C}} \cong \hat{\mathbb{C}}:=\mathbb{C}\cup \lbrace \infty \rbrace$

La cual es la esfera de Riemann, éste es un ejemplo fundamental en análisis complejo y geometría algebraica por ser una superficie de Riemann compacta, esto último es relevante ya que nos permite verla como una curva proyectiva algebraica.

Los espacios proyectivos complejos son una herramienta muy poderosa, ya que al agregar este punto $latex \infty$ en ciertos casos se puede definir la división por 0 haciendo que por ejemplo cualquier función racional meromorfa en los complejos sea extendida a una función continua sobre la la recta proyectiva compleja, mapeando sus polos al infinito y conservando continuidad.

En los espacios proyectivos suceden cosas interesantes, por ejemplo veremos que por la naturaleza del espacio en función de su relación de equivalencia, las ecuaciones algebraicas dentro de nuestro espacio proyectivo deberán ser homogéneas, o que existen un puntos que no están en el espacio vectorial en correspondencia con el proyectivo o que si definimos dos rectas paralelas en el espacio vectorial y lo transladamos al espacio proyectivo sí se intersectarán, de hecho TODAS las rectas del espacio proyectivo se intersectan en un punto 

Regresando a la analogía de las obras de pintura de paisajes, imagina ¿cómo pintarías la foto de unas vías del tren vistas de frente?, si observas bien las vías, éstas, pareciera que se intersectan en el horizonte.

Para terminar esto veamos lo que mencioné en negritas el penúltimo parrafo a éste.

Consideremos las soluciones (el conjunto de ceros) de un polinomio definido con sus variables en $latex \mathbb{P}^{n}_{\mathbb{K}}$ es decir, un punto en general sería con $latex n+1$ variables , $latex P=[x_0:...x_n]\in \mathbb{P}^{n}_{\mathbb{K}}$, estos puntos por como está definido el espacio proyectivo, están determinados por la multiplicación por un escalar $latex \lambda$, el cual da la relación de equivalencia, por lo que un polinomio con variables proyectivas deberán considerar esa restricción a la hora de considerar sus soluciones, estos polinomios se les llama homogéneos

Definición (polinomio homogéneo): Un polinomio:

$latex f(x_0,x_1,...,x_n) = \displaystyle \sum { a_{\eta_0...\eta_n}}x_{0}^{\eta_0}...x_{n}^{\eta_n}$

Se dice homogeneo de grado $latex d$ si TODOS sus monomios tienen el mismo grado $latex d=\sum_{i=0}^{n} \eta_i$

Por lo que si $latex f$ es homogéneo de grado $latex d$ entonces:

$latex f(\lambda x_0, ..., \lambda x_n)=\lambda^d f(x_0,...,x_n)$

Con esto tenemos que los polinomios homogéneos están bien definidos en el espacio proyectivo.

Ahora, lo que nos resta ver es una propiedad interesante, dos lineas siempre se intersectan en el plano proyectivo, y para esto lo que haremos un ejemplo, será transformar polinomios en dos variables complejas $latex \mathbb{C}^2$ a polinomios en $latex \mathbb{P}^2_{\mathbb{C}}$ a través de un proceso que se llama "homogenización" , y lo haremos con dos lineas paralelas, y veremos como es la intersección de sus imágenes.

La siguiente definición es para construir un polinomio cualquiera, a un polinomio homogéneo , es decir con monomios del mismo grado, esta operación es invertible.

Definición (homogeinización): Sea $latex p(x,y) \in \mathbb{C}[x,y]$, el polinomio correspondiente en $latex \mathbb{P}^2_{\mathbb{C}}$ es:

$latex p(x,y,z)=z^{n}p(\frac{x}{z},\frac{y}{z})$

Es fácil ver que el polinomio resultante de este proceso es realmente homogéneo.

Ejemplo (intersección de las imágenes bajo homogenización de dos rectas afines):

Sean
$latex x+y=2$
$latex x+y=3$

dos rectas definidas en $latex \mathbb{C}^2$

claramente son paralelas, homogeneizando tenemos que

$latex x+y=2z$
$latex x+y=3z$

por lo que tenemos que $latex [a:-a:0] \in \mathbb{P}^2_{\mathbb{C}}$ está en la linea al infinito y es solución de ambas ecuaciones,

nota que $latex [0:0:0]$ también es solución, pero éste punto no está definido en el espacio proyectivo por construcción.

Otro ejemplo serían dos circunferencias de radio distinto:


$latex x^2 + y^2 = 1$
$latex x^2 + y^2 = 2$

Claramente no se intersectan en el espacio afín complejo

Homogeneizando, tenemos que

$latex x^2 + y^2 -1 \mapsto z^2\Big ( \frac{x^2}{z^2}+\frac{y^2}{z^2}-1\Big )=x^2+y^2-z^2$

Similarmente con el otro polinomio, por lo que tenemos que intersectar en $latex \mathbb{P}^2_{\mathbb{C}}$

$latex x^2+y^2-z^2$   y   $latex x^2+y^2-2z^2$

y tenemos que todos los puntos de la forma $latex \lambda(\pm 1,\pm i,0)$ son soluciones, y si $latex \lambda \neq 0$

tenemos que $latex [\pm 1:\pm i:0]\in \mathbb{P}^2_{\mathbb{C}}$ es un punto en la linea al infinito que intersecta a ambas circunferencias proyectivas de distinto radio.

La relación con curvas elípticas será que éstas realmente hay que proyectivizarlas (homogeneizarlas) y al trabajar con ellas en criptografía es viéndolas en el espacio proyectivo, es decir para que todo funcione como queremos necesitamos la cerradura proyectiva, mas no el hecho de usar un punto cualquiera para darle estructura de grupo.


Con esto, y el post anterior estamos listos para la siguiente parte que será el teorema de Riemann-Roch


Eduardo Ruiz Duarte (beck)
twitter: @toorandom

Wednesday, December 11, 2013

Teorema de Riemann-Roch y divisores en criptografía (Parte 1: campos de funciones y gavillas sobre variedades)

En criptografía muchos han visto que se estudian las curvas elípticas y menos frecuentemente las curvas hiperelípticas, algunos recordarán la estructura de grupo que se le da a una curva elíptica $latex C$ con la usual regla de intersección de una recta con la curva haciendo uso abusivo del teorema de Bézout para fundamentar la estructura de grupo que hay en sus puntos, que más formalmente, es la estructura de grupo que hay en las clases de divisores formados por las sumas formales de ideales máximos de todos los subanillos del campo de funciones de $latex \mathbb{K}(C)$, este grupo es el grupo de Picard de orden 0 de la curva $latex C$ que es:

 $latex Pic^0(C) = Div^0(C)/Prin(C) \cong \mathbb{J}(C)$.

Esta manera de ver las cosas NO es para complicar lo ya existente, sino es con propósitos de poder exprimir más la teoría que lo respalda para poder investigarlo mejor y generalizarlo a otras curvas no elípticas.

La estructura de grupo de manera inocente o usual se puede ver en muchos textos pobres en matemáticas pero tal vez ricos en aplicaciones criptográficas como esto:



El propósito de este post será el poder resumirte la teoría que hay detrás.


Comencemos con unas definiciones, voy a suponer que quien me lee está familiarizado con la topología de Zariski la cual está definida por los conjuntos algebraicos como cerrados, de hecho estas definiciones son las interesantes para la topología de Zariski, y con esto pueden demostrar fácilmente las propiedades de espacio topológico.

Definición (ceros):
Sea $latex A:= \mathbb{K}[x_1,...,x_n]$ el anillo de polinomios en $latex n$ variables sobre el campo algebraicamente cerrado $latex \mathbb{K}$ y $latex J \subset \mathbb{K}[x_1,...,x_n]$ un ideal, entonces definimos el conjunto de ceros del ideal $latex J$ como:

$latex V(J):=\lbrace P\in \mathbb{A}^{n}_{\mathbb{K}} \mid f(P)=0$     $latex \forall f\in J\rbrace$


Definición (variedad afín): Un subconjunto $latex X\subset \mathbb{A}^n_{\mathbb{K}}$ es un conjunto algebraico (variedad afín) en el espacio afín $latex \mathbb{A}^n_{\mathbb{K}}$ si existe un $latex T\subset \mathbb{K}[x_1,...,x_n]$ tal que:

$latex X=V(T)$

Decimos que $latex X$ es un cerrado de Zariski, en la topología dada a  $latex \mathbb{A}^n_{\mathbb{K}}$.

Veámos primero lo que es el anillo de coordenadas de una variedad.

Definición (función polinomial en la variedad V): Una función polinomial es un mapeo $latex f:V \rightarrow \mathbb{K}$ tal que existe un $latex F\in \mathbb{K}[x_1,...,x_n]$ con $latex f(P)=F(P)$  $latex \forall P\in V$

Este polinomio $latex F$ no está únicamente determinado por los valores que toma en $latex V$ o sea si tenemos $latex F,G\in \mathbb{K}[x_1,...,x_n]$:


$latex F\mid_{V}=G\mid_{V} \Leftrightarrow (F-G)\mid_{V}=0 \Leftrightarrow F-G\in I(V)$

Donde:

$latex I(V):=\lbrace f\in \mathbb{K}[x_1,...,x_n] \mid f(P)=0$    $latex \forall P\in V\rbrace$



Esta definición de función polinomial y su relación de igualdad con otros polinomios, huele a una relación de equivalencia, por lo que vamos a suponer que lo es y se deja a quien lee para que lo demuestre y tenemos que:

Denotaremos ahora a $latex V$ como el conjunto algebraico $latex V(I)$ donde $latex I$ es ideal de $latex \mathbb{K}[x_1,...,x_n]$

Definición (anillo de coordenadas de una variedad): Un anillo de coordenadas de una variedad $latex V$ es:

$latex \mathbb{K}[V]:=\mathbb{K}[x_1,...,x_n]/I(V)$

Este anillo sabemos que es un dominio entero si $latex I(V)$ es un ideal primo, y esto naturalmente sucede si $latex V$ es irreducible , es decir no es union de otros cerrados de zariski


De lo anterior sobre funciones polinomiales y la última definición se puede demostrar que:

$latex K[V]=\lbrace f \mid f:V\rightarrow \mathbb{K}$ es una función polinomial $latex \rbrace$

Cabe notar que se le llama anillo de coordenadas porque las funciones que te dan la i-ésima coordenada de los elementos de $latex V$, $latex x_i$ son las generadoras de $latex \mathbb{K}[V]$

Es fácil ver que $latex \mathbb{K}[ \mathbb{A}^n_{\mathbb{K}}]=\mathbb{K}[x_1,...,x_n]$ y que el anillo $latex \mathbb{K}[V]$ juega el papel para $latex V$ como $latex \mathbb{K}[x_1,...,x_n]$ para $latex \mathbb{A}^n_{\mathbb{K}}$

Observaciónes sobre lo anterior con respecto a la topología de Zariski en $latex \mathbb{A}^n_{\mathbb{K}}$.


  • Los ideales primos de $latex \mathbb{K}[V]$ están en correspondencia 1:1 con irreducibles $latex W\subset V$
  • Los ideales máximos de  $latex \mathbb{K}[V]$ están en correspondencia 1:1 con los puntos de $latex V$
  • Los ideales radicales de $latex \mathbb{K}[V]$ están en correspondencia 1:1 con los cerrados $latex W\subset V$

Definición (campo de funciones de V): El campo de funciones de $latex V$ es el campo de fracciones de $latex \mathbb{K}[V]$ y es denotado por $latex \mathbb{K}(V)$, las $latex f\in \mathbb{K}(V)$ se llaman funciones racionales sobre $latex V$

Definición (función regular en P): Una función $latex f\in \mathbb{K}(V)$ y $latex P\in V$ se dice que es regular en $latex P$ si $latex f=\frac{g}{h}$ con $latex h(P)\neq 0$, y definimos:

$latex dom(f):=\lbrace P\in V \mid f$ es regular en $latex P\rbrace$

Proposición: El conjunto:

$latex V_f:=\lbrace P\in V\mid f(P)\neq 0\rbrace$

es un abierto de $latex V$


Teorema: 

  • $latex dom(f)$ es abierto y denso en $latex V$
  • $latex dom(f)=V\Leftrightarrow f\in \mathbb{K}[V]$
  • $latex V_g\subset dom(f) \Leftrightarrow f\in \mathbb{K}[V][1/g]$

Ahora, entraremos a un concepto central, para poder analizar una variedad localmente... para esto sabemos que un anillo local sólo tienen un ideal máximo, y tenemos que la siguiente definición

Definición (anillo de funciones regulares): El anillo de funciones regulares de $latex V$ localizado en el punto $latex P\in V$ es:

$latex O_{V,P}:=\lbrace f\in \mathbb{K}(V)\mid f$ es regular en $latex P\rbrace$

Es fácil demostrar que esto es en efecto un subanillo de $latex  \mathbb{K}(V)$ y que su único ideal máximo no deberá tener unidades por lo que su ideal máximo es:

$latex m_{P}:=\lbrace f/g \in \mathbb{K}(V)\mid f(P)=0, g(P)\neq 0 \rbrace$

Ahora vamos a la últma parte de este blog donde discutiremos la estructura de gavilla de una variedad

Estructura de gavilla de una variedad

Tenemos que el anillo $latex O_{V,P}$ es local y es un subanillo de $latex \mathbb{K}(V)$ y su ideal máximo es $latex m_{P}$, es fácil relacionar a $latex O_{V,P}$ con $latex \mathbb{K}[V]$ ya que con localización puedes demostrar que:

$latex \hat{m}_P=\lbrace f\in \mathbb{K}[V]\mid f(P)=0\rbrace=I(\lbrace P \rbrace)+I(V)\subset \mathbb{K}[V]$

Es máximo y:

$latex O_{V,P}=\mathbb{K}[V]_{\hat{m}_P}$


Es decir que $latex O_{V,P}$ es la localización del anillo de coordenadas de $latex V$ en el ideal máximo $latex \hat{m}_P$

Ahora vamos a definir el concepto final:

Definición-Teorema (estructura de gavilla en $latex O_{V}(U)$, germen y fibra ): Para todo abierto $latex U \subset V$ tenemos:

$latex O(U):=O_{V}(U):=\lbrace f\in \mathbb{K}(V) \mid f$ es regular en $latex U \rbrace$

Es una $latex \mathbb{K}-$álgebra con $latex O_{V}(\emptyset):=\lbrace 0 \rbrace$

Todos los $latex O_{V}(U)$ con $latex U\subset V$ forman una gavilla $latex O_V$ bajo la restricción de homomorfismos usual y el anillo $latex O_{V,P}$ es una fibra de la gavilla $latex O_V$  y los elementos $latex f\in O_{V,P}$ se les llama gérmenes de funciones y:

$latex O(V)=\mathbb{K}[V]$


La teoría de gavillas da una estructura rica a una variedad, en este caso , puede ser el de una curva elíptica o hiperelíptica

Saludos

Eduardo Ruiz Duarte (beck)
Twitter: @toorandom