Se expondrá una nueva estructura algebraica que cumple los requerimientos necesarios para ser criptográficamente segura en términos de logaritmos discretos en grupos abelianos. Más rápida, de tal manera que los ataques actuales no sean efectivos sobre esta plataforma algebraica.
En seguridad una analogía sería que una llave RSA de 1024 bits proveería la misma seguridad que una llave de 80 bits usando el grupo de Picard de orden 0 de un campo de funciones de una curva algebraica.
Se abordará la teoría necesaria, la construcción del endomorfismo y se liberará una prueba de concepto que calcula la adición en el grupo de Picard con un ejemplo hiperelíptico. Esta manera de calcular la adición sobre esta estructura fue publicada en un artículo para la sociedad matemática mexicana y en aprobación para LNCS-Springer.
El punto es usar Diffie-Hellman para intercambio de llaves pero no sobre el grupo de los enteros módulo p como es lo usual, sino en el grupo de Picard de orden 0 de una curva algebraica en general.
GUADALAJARACON 2012
http://www.guadalajaracon.org
Guadalajara, Jalisco, México - 20 y 21 de abril del 2012
1. Criptograf´ experimental
ıa
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
2. Agenda
Intro: Criptograf´ en telecomm
ıa
Conceptos b´sicos de algebra abstracta
a
Problema de logaritmo discreto en Zp ×
Aplicaciones del PLD en Zp ×
Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Conclusiones
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
3. Introducci´n
o
En las telecomunicaciones hay dos tipos de cifrado muy
importantes
Sim´trico: Utiliza la misma llave para cifrar y descifrar
e
Dk (Ek (x)) = x
Asim´trico: Utiliza una llave para cifrar y otra para descifrar
e
Ds (Ep (x)) = x
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
4. Introducci´n
o
Sim´tricos El sim´trico generalmente se usa para cifrar flujos de
e e
informaci´n, y estos suelen ser muy rapidos.
o
´
Este tiene una desventaja, requiere una negociaci´n previa de una
o
llave, Y si las entidades est´n separadas, esta llave se tendr´ que
a ıa
negociarse a trav´s de un medio no seguro, lo cual ser´ absurdo.
e ıa
Ejemplos de algoritmos sim´tricos
e
Rijndael-AES, Blowfish, TEA, A5
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
5. Introducci´n
o
Asim´tricos Aqu´ hay dos llaves, p´blica y privada, la p´blica se
e ı u u
usa para cifrar y la privada para descifrar unicamente, a partir de la
´
llave p´blica es Turing-intratable el problema de calcular la llave
u
privada utilizando algoritmos asim´tricos basados en factorizaci´
e o
en n´meros primos o el problema de logaritmo discreto en ciertos
u
grupos
Ejemplos de algoritmos asim´tricos
e
RSA, Elgamal, XTR, Diffie-Hellman
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
6. Conceptos b´sicos
a
Conjuntos que usaremos:
N = {0, 1, 2, 3, ..., ∞}
Z = {−∞, ..., −2, −1, 0, 1, 2, ..., ∞}
a
Q = { b / a, b ∈ Z y b = 0}
nZ = {nz/n ∈ Z}
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
7. Conceptos b´sicos
a
Definicion: Un grupo es un par < G , ⋆ > tal que G es un
conjunto y ⋆ es una operacion binaria en G que
cumple lo siguiente:
∀a, b ∈ G a ⋆ b ∈ G (⋆ est´ cerrada en G)
a
∀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 inversos
bajo ⋆ )
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
8. Conceptos b´sicos
a
Si para todo a, b ∈ G a ⋆ b = b ⋆ a (⋆ conmuta) diremos que G es
un 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
9. Conceptos b´sicos
a
Otro ejemplo es el grupo de puntos de una curva el´
ıptica
K:y 2 − x3 − x
< E (K), ⊕ >
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
10. Conceptos b´sicos
a
Definici´n: Un subgrupo H ⊂ G es aquel que forma un grupo
o
bajo ⋆
´ste se denotar´ como H < G
e a
Se dir´ que G es un grupo finito si |G | = n con n ∈ N e infinito si
a
|G | = ℵn
Ejemplo
< 2Z, + > es subgrupo de < Z, + > ya que 2Z ⊂ Z y
2Z son los numeros pares, y la suma que hereda de Z hace que
suma de pares sea par
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
11. Conceptos b´sicos
a
Nota: La siguiente definici´n solo es para grupos abelianos para
o
no definir lo que es un grupo normal
Definici´n: Un grupo cociente G /S donde < S, ∗ > es subgrupo
o
de < G , ∗ > es:
G /S = {aS / a ∈ G } donde aS = {a ∗ s / s ∈ S}
a cada aS le llamamos clase, ahora construiremos la operaci´n del
o
cociente G /S
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
12. Conceptos b´sicos
a
Antes de definir la operaci´n de G /S definamos lo que es el
o
siguiente producto de conjuntos S por T :
ST = {st / s ∈ S y t ∈ T }
Entonces si aS, bS ∈ G /S es f´cil ver que
a
(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 y
S
esto es claro ya que (aS)(eS) = (ae(SS)) = aS
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
13. Conceptos b´sicos
a
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
14. Conceptos b´sicos
a
Continuaci´n ejemplo de grupo cociente
o
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 respectivamente
Sabemos que la regla de sumar pares con impares, pares con pares
e 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 operan
como sumar modulo 2
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
15. Conceptos b´sicos
a
Definicion: Un morfismo de grupos < G , ∗ > y < H, ⊙ > es una
funci´n φ : G → H tal que ∀u, v ∈ G
o
φ(u ∗ v ) = φ(u) ⊙ φ(v )
una observaci´n es que φ(eG ) = eH y φ(u −1 ) = φ(u)−1
o
Definicion: Dados dos grupos < G , ∗ > y < H, ⊙ >, un
isomorfismo entre ellos es un morfismo biyectivo
Ejemplo de isomorfismo
< R, + > y < R+ , ∗ > son isomorfos con φ(x) = e x ya que
φ(a + b) = φ(a) ∗ φ(b) i.e e a+b = e a ∗ e b
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
16. ×
Problema de logaritmo discreto en Zp
Definici´n del PLD:
o
Sea < G , ∗ > c´ıclico , |G | = n , b ∈ G y < b >= G ⇒ ∀g ∈ G
g = b k , k entero y definimos el morfismo de grupos:
logb : G → Zn
g → [k]
de tal manera que b k = g mod n
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
17. ×
Problema de logaritmo discreto en Zp
No existe hasta ahora un algoritmo para calcular esta k en tiempo
polinomial dados g y b aunque existen cosas mas r´pidas que
a
”intentar todo” como pollard − ρ o la criba de campo de
funciones, criba numerica, etc.., tambi´n es muy r´pido si usas tu
e a
computadora cu´ntica usando el algoritmo de Shor para PLD y la
a
transformada de fourier cu´ntica :p
a
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
18. Aplicaciones del PLD en Zp ×
Una aplicaci´n del problema de logaritmo discreto es intercambiar
o
llaves a trav´s de medios no seguros, Martin Hellman, Whitfield
e
Diffie, Ralph Merkle pensaron en un algoritmo usando el problema
de logaritmo discreto y no olvidemos a los que lo descubrieron
antes pero por razones de secreto militar no pod´ publicarlo,
ıan
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
19. Aplicaciones del PLD en Zp ×
Alberto (A) quiere cifrar un mensaje a Berenice (B) pero necesitan
un password en com´n, el problema es que no pueden comunicarse
u
el password ya que podr´ estar intervenidos, y Eulalio (E) podr´
ıan ıa
estar capturando su tr´fico
a
entonces:
A y B se ponen de acuerdo en un < Z∗ , ∗ > y en un g ∈ G tal
p
que g es generador, (N´tese que E ya tiene esta informaci´n)
o o
A toma un a ∈ Zp , calcula A1 = g a mod p y manda A1 a B
B toma un b ∈ Zp , calcula B1 = g b mod p y manda B1 a A
a
A calcula Sa = B1 mod p
B calcula Sb = Ab mod p
1
Sa = Sb ya que Sa = (g b )a = Sb = (g a )b = g ab = S
Alberto y Berenice ya tienen un secreto S y no importa que Eulalio
conozca A1 , B1 , p y g
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
20. Curvas hiperel´
ıpticas, teoria de divisores y conceptos
fundamentales
Ahora, ¿Por qu´ no usar otros grupos ?
e
Variedades abelianas en campos finitos
Jacobianas de curvas hiperel´
ıpticas
Jacobianas de otras curvas algebraicas
Todo el mundo utiliza Z× , es lo mas sencillo de entender pero hay
p
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
21. Curvas hiperel´
ıpticas, teoria de divisores y conceptos
fundamentales
El problema de logaritmo discreto ya se ha investigado en curvas
el´
ı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 dado
P y Q obtener n.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
22. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Existen muchas cosas a considerar para que esto sea seguro... solo
mencionar´ uno de los puntos mas importantes el cual es:
e
Si |E (Fq )| = q existe un morfismo de grupos
< E (Fq ), ⊕ >→< Fqω , + >
ya vimos que en el grupo aditivo, es trivial el problema de
logaritmo discreto.
Tambi´n hay una manera de dar el morfismo al grupo multiplicativo
e
Existen documentos del NIST que indican que curvas son las
optimas.
´
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
23. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Pero aqu´ ¿Qu´ sucede utilizando la misma construcci´n
ı, e o
geom´trica? y 2 = f (x) Deg (f ) = 5
e
Aqu´ la linea que pasa por 2 puntos no necesariamente ’choca’ con
ı
un unico tercer punto vi´ndolo en A2
´ e K
Tendremos que definir una relaci´n de equivalencia entre puntos y
o
operar con las clases que nos permitan definir una operaci´n
o
binaria, para esto es lo que sigue.. divisores.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
24. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Sea C una curva suave y algebraica sobre K.
Un divisor de C es una suma formal finita:
D= nP (P) np ∈ Z
P∈C
Llamaremos Div (C) al conjunto de estos divisores.
Ejemplo de divisor
D1 = 1(P) − 3(Q) + 2(R) + 3(S)
Donde un n´mero finito de coeficientes es no-cero
u
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
25. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
La suma de divisores es as´
ı:
D1 = P∈C nP (P)
D2 = P∈C mP (P)
D1 + D2 = P∈C(nP + mP )(P)
Entonces (Div (C), +) es un grupo con elemento neutro:
O= P∈C 0(P)
El grado de un divisor es:
∂(D) = P∈C nP
Un subgrupo de Div (C) son los X ∈ Div (C) tal que ∂(X ) = 0 el
cual denotaremos como Div 0 (C)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
26. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Denotaremos al anillo de coordenadas de la curva C sobre el
campo K como el cociente:
K[C] = K[x, y ]/ < C >
donde < C > es el ideal generado por la curva C i.e. los m´ltiplos
u
de ´sta en K[x, y ]
e
K(C) ser´ el campo de funciones generado por el campo de
a
fracciones de K[C], i.e.
K(C) = Quot(K[C]) = {f /g |f , g ∈ K[C], g = 0}
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
27. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
El divisor de una funci´n f ∈ K(C)∗ (campo de funciones
o
racionales sobre C) es:
Div (f ) = P∈C ordP (f )(P)
Intuitivamente ordP (f ) es una medida de la multiplicidad del cero
de f, o sea la multiplicidad de la intersecci´n de la curva C con f=0
o
A estos divisores les llamamos divisores principales y los denotamos
por Princ(C)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
28. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Intuitivamente as´ se define el orden en estos dos casos:
ı
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
29. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Estos divisores realmente lo que nos indican en sus coeficientes es
que si bajo una una f ∈ K(C)∗ , P es un polo (ordP (f ) < 0) o P es
un cero (ordP (f ) > 0)
Algunas propiedades de divisores principales sobre C una curva
suave 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
30. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Ejemplo de divisores principales en y 2 = x 3 − 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(∞)
LP,Q
Div ( 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
31. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Vamos a dar una relaci´n de equivalencia entre divisores para
o
definir algo que nos pueda servir en criptograf´
ıa
Sean D1 , D2 ∈ Div (C)
Si D1 − D2 ∈ Princ(C) ⇒ D1 , D2 son linealmente equivalentes y
D1 ∼ D2
Ahora.. la relaci´n de equivalencia en Div 0 (C) forma el grupo
o
Pic 0 (C) (divisores m´dulo la equivalencia lineal) , en otras
o
palabras:
Pic 0 (C) = Div 0 (C)/Princ(C)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
32. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Teorema: Sea C una curva algebraica de g´nero g suave sobre un
e
campo algebraicamente cerrado ⇒ ∃ una variedad abeliana
J(C) ∼ Pic 0 (C), donde J(C) es la jacobiana de C
=
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
33. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
R´pidamente con el siguiente teorema clasificamos a los divisores
a
de una curva de g´nero g:
e
Def: Una curva hiperel´ ıptica de g´nero g es de la forma
e
y 2 + h(x)y = f (x), h, f ∈ K[x], Deg (f ) = 2g + 1, Deg (h) ≤ g
y f m´nico
o
En este caso nos interesa que no tenga puntos singulares, o sea
que no se anule el gradiente y la curva en alg´n punto.
u
Teorema: Sea C una curva hiperel´ ıptica de g´nero g sobre K
e
entonces cada clase de divisores se puede representar de
manera unica como:
´
(Pi ) − r (∞)
1≤i ≤r
donde r ≤ g , Pi = ∞
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
34. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Ve´moslo geom´tricamente con un ejemplo:
a e
Por geometr´ sabemos que en esta curva con g = 2 dados
ıa
P1 , P2 , Q1 , Q2 podemos encontrar una c´bica que pasa por esos 4
u
puntos que al sustituir en la curva C nos dar´n 6 puntos De los
a
cuales ya conocemos 4, los otros dos los proyectamos con ∞ y
obtenemos 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
35. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Para poder hacer criptograf´ necesitamos una representaci´n
ıa o
computacional de los divisores, ya que queremos operar en la
jacobiana 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 m´nico,
o
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
36. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
La definici´n anterior nos dice b´sicamente que para todo divisor
o a
en la jacobiana existen dos polinomios u, v unicos tal que u tiene
´
como raices a los puntos del divisor (a las coordenadas x) y
v (x) = y para todo punto (x, y ) en el divisor [D]
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
37. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Finalmente la aportaci´n que presento es un modelo que calcula
o
este endomorfismo para curvas hiperel´ ıpticas de g´nero 2 el cual se
e
aplicar´ a criptograf´ asim´trica, resolviendo un sistema de
ıa ıa e
ecuaciones de 4x4, tanto para [D1 ] ⊕ [D2 ] y 2[D] existe un
algoritmo general, pero es lento aunque funciona para toda curva
de cualquier g´nero (Cantor)
e
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
38. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Definamos la curva hiperel´
ıptica de g´nero 2
e
C : y 2 − f (x) (1)
Con f (x) irreducible y de grado 5 sobre un campo K y
′ ′
[D1 ] = P1 + P2 − 2∞ y [D2 ] = P1 + P2 − 2∞ tal que
[D1 ], [D2 ] ∈ Pic 0 (C) y la forma de Mumford de esos divisores es
respectivamente.
[D1 ] =< x 2 + ax + b, cx + d >, [D2 ] < x 2 + Ax + B, Cx + D > (2)
Si [D1 ] = [D2 ], existir´ un f ∈ K(C) tal que
a
Div (f ) = [D1 ] ⊕ [D2 ] = [D3 ]
¯ ¯
Con Div (f ) = [D3 ] = P1 + P2 − 2∞ donde f ser´ un polinomio de
a
grado 3 αx 3 + βx 2 + γx + δ que pasa por los otros 2 puntos que
nos dar´ el nuevo divisor invertido
ıan
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
39. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Donde α, β, γ, δ son las soluciones de la siguiente matriz
aumentada:
2
a − 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
40. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Y si quisieramos calcular 2[D1 ] = [D1 ] ⊕ [D1 ] con su forma de
Mumford [D1 ] =< x 2 + ax + b, cx + d > la suma dar´ igual un
ıa
polinomio c´bico pero que pasa por puntos con multiplicidad 2
u
(intuitivamente tangentes, en general no): y las soluciones del
polinomio ser´ dadas por:
ıan
6a2 c − 6ad − 6bc −4ac + 4d 0 10ab − 5a3
2c
6abc − 6bd −4bc 2d 0 5b 2 − 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
41. Curvas hiperel´
ıpticas, teor´ de divisores y conceptos
ıa
fundamentales
Intuitivamente [D1 ] ⊕ [D2 ] y 2[D1 ]:
EsEduardo Ruiz Duarte, Facultadhay espacios donde no existe esa a la seguridad
intuitivo porque de Ciencias UNAM Algebra conmutativa aplicada noci´n de
´
o
42. Conclusiones
En resumen para construir el grupo de Picard hacemos:
Escoges una curva suave C algebraica
Buscas los divisores de orden cero Div 0 (C)
Consideras relaci´n de equivalencia lineal entre divisores
o
Defines el representante de cada clase de divisores
Veamos un ejemplo ya con c´digo corriendo, implementando esta
o
idea.
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
43. Conclusiones
Las curvas el´
ıpticas proveen m´s seguridad, 160 bits son igual
a
de seguros que 1024 bits RSA
Las curvas hiperel´
ıpticas con g=2 bien escogidas de 80 bits
son igual de seguras que 1024 bits RSA
La teor´ de curvas hiperel´
ıa ıpticas es m´s complicada para
a
implementar
Las curvas el´ıpticas tambi´n sirven para romper RSA
e
(factorizaci´n)
o
Se necesita m´s investigaci´n para cifrado con variedades
a o
abelianas
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad
44. ¡Gracias! Eduardo Ruiz Duarte
beck@math.co.ro
http://math.co.ro
twitter: @toorandom
PGP key fingerprint: 0xFEE7F2A0
Referencias y mas informaci´n en:
o
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 curve
cryptosystems - Thomas Wollinger
Generalized Jacobians in cryptography - Isabelle D´chen`
e e
A Course in number theory and cryptography - Neal Koblitz
Elementary algebraic geometry - Klaus Hulek
Algebraic Aspects of cryptography - Neal Koblitz, Alfred
Menezes (Appendix, Hyperelliptic curves)
Eduardo Ruiz Duarte, Facultad de Ciencias UNAM ´
Algebra conmutativa aplicada a la seguridad