Post on 14-Jun-2015
description
Criptografıa experimental
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM
GuadalajaraCON 2012
Abril 21, 2012
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Agenda
Intro: Criptografıa en telecomm
Conceptos basicos de algebra abstracta
Problema de logaritmo discreto en Zp×
Aplicaciones del PLD en Zp×
Curvas hiperelıpticas, teorıa de divisores y conceptosfundamentales
Conclusiones
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Introduccion
En las telecomunicaciones hay dos tipos de cifrado muyimportantes
Simetrico: Utiliza la misma llave para cifrar y descifrarDk(Ek(x)) = x
Asimetrico: Utiliza una llave para cifrar y otra para descifrarDs(Ep(x)) = x
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Introduccion
Simetricos El simetrico generalmente se usa para cifrar flujos deinformacion, y estos suelen ser muy rapidos.Este tiene una desventaja, requiere una negociacion previa de unallave, Y si las entidades estan separadas, esta llave se tendrıa quenegociarse a traves de un medio no seguro, lo cual serıa absurdo.
Ejemplos de algoritmos simetricos
Rijndael-AES, Blowfish, TEA, A5
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Introduccion
Asimetricos Aquı hay dos llaves, publica y privada, la publica seusa para cifrar y la privada para descifrar unicamente, a partir de lallave publica es Turing-intratable el problema de calcular la llaveprivada utilizando algoritmos asimetricos basados en factorizacioen numeros primos o el problema de logaritmo discreto en ciertosgrupos
Ejemplos de algoritmos asimetricos
RSA, Elgamal, XTR, Diffie-Hellman
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Conjuntos que usaremos:N = {0, 1, 2, 3, ...,∞}Z = {−∞, ...,−2,−1, 0, 1, 2, ...,∞}Q = { a
b/ a, b ∈ Z y b 6= 0}
nZ = {nz/n ∈ Z}
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Definicion: Un grupo es un par < G , ⋆ > tal que G es unconjunto y ⋆ es una operacion binaria en G quecumple lo siguiente:
∀a, b ∈ G a ⋆ b ∈ G (⋆ esta cerrada en G)
∀a, b, c ∈ G a ⋆ (b ⋆ c) = (a ⋆ b) ⋆ c (⋆ es asociativa)
∃e ∈ G tal que g ⋆ e = e ⋆ g = g (G tiene elemento neutro)
∀a ∈ G ∃h ∈ G tal que a ⋆ h = h ⋆ a = e (existen inversosbajo ⋆ )
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Si para todo a, b ∈ G a ⋆ b = b ⋆ a (⋆ conmuta) diremos que G esun grupo abeliano y hoy solo trabajaremos con grupos abelianos
Ejemplos de grupos abelianos
< Z,+ > es un grupo abeliano< Q×, ∗ > es un grupo abeliano< N,+ > no es un grupo abeliano< Mat(R)n×n, ∗ > no es un grupo< Z, ∗ > no es un grupo
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Otro ejemplo es el grupo de puntos de una curva elıpticaK : y2 − x3 − x
< E (K),⊕ >
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Definicion: Un subgrupo H ⊂ G es aquel que forma un grupobajo ⋆este se denotara como H < G
Se dira que G es un grupo finito si |G | = n con n ∈ N e infinito si|G | = ℵn
Ejemplo
< 2Z,+ > es subgrupo de < Z,+ > ya que 2Z ⊂ Z y2Z son los numeros pares, y la suma que hereda de Z hace quesuma de pares sea par
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Nota: La siguiente definicion solo es para grupos abelianos parano definir lo que es un grupo normal
Definicion: Un grupo cociente G/S donde < S , ∗ > es subgrupode < G , ∗ > es:
G/S = {aS / a ∈ G} donde aS = {a ∗ s / s ∈ S}
a cada aS le llamamos clase, ahora construiremos la operacion delcociente G/S
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Antes de definir la operacion de G/S definamos lo que es elsiguiente producto de conjuntos S por T :
ST = {st / s ∈ S y t ∈ T}
Entonces si aS , bS ∈ G/S es facil ver que(aS)(bS) = (ab)SS = (ab)S
ya que SS = {st / s, t ∈ S} = S
El elemento neutro de G/S es eS = S donde e es el neutro de G ySesto es claro ya que (aS)(eS) = (ae(SS)) = aS
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Ejemplo de grupo cociente
El mas sencillo pero no trivial es con los subgrupos de < Z,+ >tenemos que 2Z < Z entonces:Z/2Z = {n + 2Z / n ∈ Z}
Sus clases son:0 + 2Z = pares
1 + 2Z = impares
2 + 2Z = pares
3 + 2Z = impares
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Continuacion ejemplo de grupo cociente
Por lo tanto solo hay dos clases, la clase de los pares e impares⇒ Z/2Z = {I ,P} con I y P impares y pares respectivamenteSabemos que la regla de sumar pares con impares, pares con parese impares con impares es:I + P = I
P + P = P
I + I = P
Por lo tanto este cociente es un grupo de 2 elementos que operancomo sumar modulo 2
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conceptos basicos
Definicion: Un morfismo de grupos < G , ∗ > y < H,⊙ > es unafuncion φ : G → H tal que ∀u, v ∈ G
φ(u ∗ v) = φ(u) ⊙ φ(v)
una observacion es que φ(eG ) = eH y φ(u−1) = φ(u)−1
Definicion: Dados dos grupos < G , ∗ > y < H,⊙ >, unisomorfismo entre ellos es un morfismo biyectivo
Ejemplo de isomorfismo
< R,+ > y < R+, ∗ > son isomorfos con φ(x) = ex ya que
φ(a + b) = φ(a) ∗ φ(b) i.e ea+b = ea ∗ eb
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Problema de logaritmo discreto en Z×p
Definicion del PLD:Sea < G , ∗ > cıclico , |G | = n , b ∈ G y < b >= G ⇒ ∀g ∈ G
g = bk , k entero y definimos el morfismo de grupos:
logb : G → Zn
g 7→ [k]
de tal manera que bk = g mod n
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Problema de logaritmo discreto en Z×p
No existe hasta ahora un algoritmo para calcular esta k en tiempopolinomial dados g y b aunque existen cosas mas rapidas que”intentar todo” como pollard − ρ o la criba de campo defunciones, criba numerica, etc.., tambien es muy rapido si usas tucomputadora cuantica usando el algoritmo de Shor para PLD y latransformada de fourier cuantica :p
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Aplicaciones del PLD en Zp×
Una aplicacion del problema de logaritmo discreto es intercambiarllaves a traves de medios no seguros, Martin Hellman, WhitfieldDiffie, Ralph Merkle pensaron en un algoritmo usando el problemade logaritmo discreto y no olvidemos a los que lo descubrieronantes pero por razones de secreto militar no podıan publicarlo,Malcolm J. Williamson y James H. Ellis de Inglaterra en la GCHQ.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Aplicaciones del PLD en Zp×
Alberto (A) quiere cifrar un mensaje a Berenice (B) pero necesitanun password en comun, el problema es que no pueden comunicarseel password ya que podrıan estar intervenidos, y Eulalio (E) podrıaestar capturando su traficoentonces:
A y B se ponen de acuerdo en un < Z∗p, ∗ > y en un g ∈ G tal
que g es generador, (Notese que E ya tiene esta informacion)
A toma un a ∈ Zp, calcula A1 = ga mod p y manda A1 a B
B toma un b ∈ Zp, calcula B1 = gb mod p y manda B1 a A
A calcula Sa = Ba1 mod p
B calcula Sb = Ab1 mod p
Sa = Sb ya que Sa = (gb)a = Sb = (ga)b = gab = S
Alberto y Berenice ya tienen un secreto S y no importa que Eulalioconozca A1,B1, p y g
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teoria de divisores y conceptos
fundamentales
Ahora, ¿Por que no usar otros grupos ?
Variedades abelianas en campos finitos
Jacobianas de curvas hiperelıpticas
Jacobianas de otras curvas algebraicas
Todo el mundo utiliza Z×p , es lo mas sencillo de entender pero hay
grupos donde el PLD es mas complejo (o menos investigado)nosotros nos fijaremos hoy en Jacobianas de Curvas hiperelipticas
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teoria de divisores y conceptos
fundamentales
El problema de logaritmo discreto ya se ha investigado en curvaselıpticas y se define ası:Sea E una curva elıptica sobre Fq y P ∈ E (Fq)\{∞}, computamos
Q = nP p.a n entero
El problema de logaritmo discreto en curvas elıpticas es que dadoP y Q obtener n.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Existen muchas cosas a considerar para que esto sea seguro... solomencionare uno de los puntos mas importantes el cual es:Si |E (Fq)| = q existe un morfismo de grupos
< E (Fq),⊕ >→< Fqω ,+ >
ya vimos que en el grupo aditivo, es trivial el problema delogaritmo discreto.Tambien hay una manera de dar el morfismo al grupo multiplicativoExisten documentos del NIST que indican que curvas son lasoptimas.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Pero aquı, ¿Que sucede utilizando la misma construcciongeometrica? y2 = f (x) Deg(f ) = 5
Aquı la linea que pasa por 2 puntos no necesariamente ’choca’ conun unico tercer punto viendolo en A2
K
Tendremos que definir una relacion de equivalencia entre puntos yoperar con las clases que nos permitan definir una operacionbinaria, para esto es lo que sigue.. divisores.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Sea C una curva suave y algebraica sobre K.Un divisor de C es una suma formal finita:
D =∑
P∈C
nP(P) np ∈ Z
Llamaremos Div(C) al conjunto de estos divisores.
Ejemplo de divisor
D1 = 1(P) − 3(Q) + 2(R) + 3(S)
Donde un numero finito de coeficientes es no-cero
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
La suma de divisores es ası:D1 =
∑
P∈CnP(P)
D2 =∑
P∈CmP(P)
D1 + D2 =∑
P∈C(nP + mP)(P)
Entonces (Div(C),+) es un grupo con elemento neutro:
O =∑
P∈C0(P)
El grado de un divisor es:∂(D) =
∑
P∈CnP
Un subgrupo de Div(C) son los X ∈ Div(C) tal que ∂(X ) = 0 elcual denotaremos como Div0(C)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Denotaremos al anillo de coordenadas de la curva C sobre elcampo K como el cociente:
K[C] = K[x , y ]/ < C >
donde < C > es el ideal generado por la curva C i.e. los multiplosde esta en K[x , y ]K(C) sera el campo de funciones generado por el campo defracciones de K[C], i.e.
K(C) = Quot(K[C]) = {f /g |f , g ∈ K[C], g 6= 0}
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
El divisor de una funcion f ∈ K(C)∗ (campo de funcionesracionales sobre C) es:
Div(f ) =∑
P∈CordP(f )(P)
Intuitivamente ordP (f ) es una medida de la multiplicidad del cerode f, o sea la multiplicidad de la interseccion de la curva C con f=0A estos divisores les llamamos divisores principales y los denotamospor Princ(C)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Intuitivamente ası se define el orden en estos dos casos:
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Estos divisores realmente lo que nos indican en sus coeficientes esque si bajo una una f ∈ K(C)∗ , P es un polo (ordP (f ) < 0) o P esun cero (ordP (f ) > 0)
Algunas propiedades de divisores principales sobre C una curvasuave algebraica sobre K y con f , g ∈ K(C)∗
Div(f ) = O ⇔ f ∈ K∗
∂(Div(f )) = 0
Div(f ∗ g) = Div(f ) + Div(g)
Div(f /g) = Div(f ) − Div(g)
Div(f n) = n · Div(f ) ∀n ≥ 1
Div(f ) = Div(g) ⇔ f = cg , c ∈ K∗
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Ejemplo de divisores principales en y2 = x3 − x
(Con cuentas salen los ordPi(L) visto como el homogeneizado de L
en P2, esto es algebraicamente lo que vimos antes con geometrıa )Div(LP,Q) = (P) + (Q) + (R) − 3(∞)Div(LP⊕Q,∞) = (P ⊕ Q) + (R) − 2(∞)
Div(LP,Q
LP⊕Q,∞) = Div(LP,Q) − Div(LP⊕Q,∞)
= (P) + (Q) − (P ⊕ Q) − (∞)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Vamos a dar una relacion de equivalencia entre divisores paradefinir algo que nos pueda servir en criptografıa
Sean D1,D2 ∈ Div(C)Si D1 − D2 ∈ Princ(C) ⇒ D1,D2 son linealmente equivalentes yD1 ∼ D2
Ahora.. la relacion de equivalencia en Div0(C) forma el grupoPic0(C) (divisores modulo la equivalencia lineal) , en otraspalabras:
Pic0(C) = Div0(C)/Princ(C)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Teorema: Sea C una curva algebraica de genero g suave sobre uncampo algebraicamente cerrado ⇒ ∃ una variedad abelianaJ(C) ∼= Pic0(C), donde J(C) es la jacobiana de C
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Rapidamente con el siguiente teorema clasificamos a los divisoresde una curva de genero g:Def: Una curva hiperelıptica de genero g es de la formay2 + h(x)y = f (x), h, f ∈ K[x ], Deg(f ) = 2g + 1, Deg(h) ≤ g
y f monico
En este caso nos interesa que no tenga puntos singulares, o seaque no se anule el gradiente y la curva en algun punto.
Teorema: Sea C una curva hiperelıptica de genero g sobre K
entonces cada clase de divisores se puede representar demanera unica como:
∑
1≤i≤r
(Pi ) − r(∞)
donde r ≤ g ,Pi 6= ∞Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Veamoslo geometricamente con un ejemplo:
Por geometrıa sabemos que en esta curva con g = 2 dadosP1,P2,Q1,Q2 podemos encontrar una cubica que pasa por esos 4puntos que al sustituir en la curva C nos daran 6 puntos De loscuales ya conocemos 4, los otros dos los proyectamos con ∞ yobtenemos a los representantes del nuevo divisor .(P1) + (P2) − 2(∞) + (Q1) + (Q2) − 2(∞) = (R1) + (R2) − 2(∞)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Para poder hacer criptografıa necesitamos una representacioncomputacional de los divisores, ya que queremos operar en lajacobiana de la curva, y tenemos que:Todo elemento [D] ∈ J(C) puede representarse por el par< u(x), v(x) > tal que u(pix ) = 0 y v(pix ) = piy con u monico,grad(u) = g y grad(v) = g − 1 con pi ∈ Sop(D) y pi = (pix , piy )
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
La definicion anterior nos dice basicamente que para todo divisoren la jacobiana existen dos polinomios u, v unicos tal que u tienecomo raices a los puntos del divisor (a las coordenadas x) yv(x) = y para todo punto (x , y) en el divisor [D]
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Finalmente la aportacion que presento es un modelo que calculaeste endomorfismo para curvas hiperelıpticas de genero 2 el cual seaplicarıa a criptografıa asimetrica, resolviendo un sistema deecuaciones de 4x4, tanto para [D1] ⊕ [D2] y 2[D] existe unalgoritmo general, pero es lento aunque funciona para toda curvade cualquier genero (Cantor)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Definamos la curva hiperelıptica de genero 2
C : y2 − f (x) (1)
Con f (x) irreducible y de grado 5 sobre un campo K y[D1] = P1 + P2 − 2∞ y [D2] = P ′
1 + P ′2 − 2∞ tal que
[D1], [D2] ∈ Pic0(C) y la forma de Mumford de esos divisores esrespectivamente.
[D1] =< x2 +ax +b, cx +d >, [D2] < x2 +Ax +B ,Cx +D > (2)
Si [D1] 6= [D2], existira un f ∈ K(C) tal queDiv(f ) = [D1] ⊕ [D2] = [D3]Con Div(f ) = [D3] = P1 + P2 − 2∞ donde f sera un polinomio degrado 3 αx3 + βx2 + γx + δ que pasa por los otros 2 puntos quenos darıan el nuevo divisor invertido
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Donde α, β, γ, δ son las soluciones de la siguiente matrizaumentada:
a2 − b −a 1 0 c
ab −b 0 1 d
A2 − B −A 1 0 C
AB −B 0 1 D
.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Y si quisieramos calcular 2[D1] = [D1] ⊕ [D1] con su forma deMumford [D1] =< x2 + ax + b, cx + d > la suma darıa igual unpolinomio cubico pero que pasa por puntos con multiplicidad 2(intuitivamente tangentes, en general no): y las soluciones delpolinomio serıan dadas por:
6a2c − 6ad − 6bc −4ac + 4d 2c 0 10ab − 5a3
6abc − 6bd −4bc 2d 0 5b2 − 5ba2
a2 − b −a 1 0 c
ab −b 0 1 d
.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Curvas hiperelıpticas, teorıa de divisores y conceptos
fundamentales
Intuitivamente [D1] ⊕ [D2] y 2[D1]:
Es intuitivo porque hay espacios donde no existe esa nocion deEduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conclusiones
En resumen para construir el grupo de Picard hacemos:
Escoges una curva suave C algebraica
Buscas los divisores de orden cero Div0(C)
Consideras relacion de equivalencia lineal entre divisores
Defines el representante de cada clase de divisores
Veamos un ejemplo ya con codigo corriendo, implementando estaidea.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
Conclusiones
Las curvas elıpticas proveen mas seguridad, 160 bits son igualde seguros que 1024 bits RSA
Las curvas hiperelıpticas con g=2 bien escogidas de 80 bitsson igual de seguras que 1024 bits RSA
La teorıa de curvas hiperelıpticas es mas complicada paraimplementar
Las curvas elıpticas tambien sirven para romper RSA(factorizacion)
Se necesita mas investigacion para cifrado con variedadesabelianas
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad
¡Gracias! Eduardo Ruiz Duartebeck@math.co.rohttp://math.co.rotwitter: @toorandomPGP key fingerprint: 0xFEE7F2A0Referencias y mas informacion en:
Elliptic curves in cryptography - Ian Blake, Gadiel Seroussi,Nigel Smart
Elliptic and hyperelliptic curve cryptography - Henri Cohen,Grehard Frey, Tanja Lange
Software and hardware implementation of hyperelliptic curvecryptosystems - Thomas Wollinger
Generalized Jacobians in cryptography - Isabelle Dechene
A Course in number theory and cryptography - Neal Koblitz
Elementary algebraic geometry - Klaus Hulek
Algebraic Aspects of cryptography - Neal Koblitz, AlfredMenezes (Appendix, Hyperelliptic curves)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM Algebra conmutativa aplicada a la seguridad