SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
×
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
×
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
¡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

Más contenido relacionado

La actualidad más candente

Conjunt0s y sistm difusos
Conjunt0s y sistm difusosConjunt0s y sistm difusos
Conjunt0s y sistm difusosDiego
 
G:\Taller Nº 3
G:\Taller Nº 3G:\Taller Nº 3
G:\Taller Nº 3kvmozita83
 
Fundamentos de Computación Cuántica
Fundamentos de Computación CuánticaFundamentos de Computación Cuántica
Fundamentos de Computación Cuánticanuestrocanto
 
4° encuentro ecuaciones algebraicas
4° encuentro   ecuaciones algebraicas4° encuentro   ecuaciones algebraicas
4° encuentro ecuaciones algebraicasCUN
 
Criterios (series infinitas)
Criterios (series infinitas)Criterios (series infinitas)
Criterios (series infinitas)ERICK CONDE
 
SOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 I
SOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 ISOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 I
SOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 IDANTX
 
V y v p ropios definicion
V y v p ropios definicionV y v p ropios definicion
V y v p ropios definicionBruno Apellidos
 
F:\Taller Nº 3
F:\Taller Nº 3F:\Taller Nº 3
F:\Taller Nº 3kvmozita83
 
170 limite continuidad.
170 limite continuidad.170 limite continuidad.
170 limite continuidad.Pablo Perez
 

La actualidad más candente (15)

Conjunt0s y sistm difusos
Conjunt0s y sistm difusosConjunt0s y sistm difusos
Conjunt0s y sistm difusos
 
Introducción a las ecuaciones diferenciales
Introducción a las ecuaciones diferencialesIntroducción a las ecuaciones diferenciales
Introducción a las ecuaciones diferenciales
 
criptosistema Rabin, Merkle-Hellman
criptosistema Rabin, Merkle-Hellmancriptosistema Rabin, Merkle-Hellman
criptosistema Rabin, Merkle-Hellman
 
G:\Taller Nº 3
G:\Taller Nº 3G:\Taller Nº 3
G:\Taller Nº 3
 
Fundamentos de Computación Cuántica
Fundamentos de Computación CuánticaFundamentos de Computación Cuántica
Fundamentos de Computación Cuántica
 
4° encuentro ecuaciones algebraicas
4° encuentro   ecuaciones algebraicas4° encuentro   ecuaciones algebraicas
4° encuentro ecuaciones algebraicas
 
Criterios (series infinitas)
Criterios (series infinitas)Criterios (series infinitas)
Criterios (series infinitas)
 
SOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 I
SOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 ISOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 I
SOLUCIONARIO EXAMEN DE ADMISION UNI MATEMATICA 2009 I
 
V y v p ropios definicion
V y v p ropios definicionV y v p ropios definicion
V y v p ropios definicion
 
F:\Taller Nº 3
F:\Taller Nº 3F:\Taller Nº 3
F:\Taller Nº 3
 
13 ciframochilas
13 ciframochilas13 ciframochilas
13 ciframochilas
 
170 limite continuidad.
170 limite continuidad.170 limite continuidad.
170 limite continuidad.
 
Estocastica
EstocasticaEstocastica
Estocastica
 
Calculo
CalculoCalculo
Calculo
 
Limites c2
Limites c2Limites c2
Limites c2
 

Destacado

Detectando intrusos en la red
Detectando intrusos en la redDetectando intrusos en la red
Detectando intrusos en la redJaime Restrepo
 
Criptograía vs Esteganografía
Criptograía vs EsteganografíaCriptograía vs Esteganografía
Criptograía vs EsteganografíaJaime Restrepo
 
Cazando Predadores en Internet
Cazando Predadores en InternetCazando Predadores en Internet
Cazando Predadores en InternetJaime Restrepo
 
DragonJAR TV Episodio 8 - Experiencias en Consultoria
DragonJAR TV Episodio 8 - Experiencias en Consultoria DragonJAR TV Episodio 8 - Experiencias en Consultoria
DragonJAR TV Episodio 8 - Experiencias en Consultoria Jaime Restrepo
 
Presentacion dragon jartv-final
Presentacion dragon jartv-finalPresentacion dragon jartv-final
Presentacion dragon jartv-finalJaime Restrepo
 
Busy Tone Vulnerable PBX
Busy Tone Vulnerable PBXBusy Tone Vulnerable PBX
Busy Tone Vulnerable PBXJaime Restrepo
 
DragonJAR TV Episodio 5 - Malware Edition
DragonJAR TV Episodio 5 - Malware EditionDragonJAR TV Episodio 5 - Malware Edition
DragonJAR TV Episodio 5 - Malware EditionJaime Restrepo
 
Charla Criptografia Aplicaciones Web
Charla Criptografia Aplicaciones WebCharla Criptografia Aplicaciones Web
Charla Criptografia Aplicaciones WebJaime Restrepo
 
Manejo de la Evidencia Digital
Manejo de la Evidencia DigitalManejo de la Evidencia Digital
Manejo de la Evidencia DigitalJaime Restrepo
 
Charla perito informático dragonjar tv
Charla perito informático dragonjar tvCharla perito informático dragonjar tv
Charla perito informático dragonjar tvJaime Restrepo
 
CSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroCSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroJaime Restrepo
 
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Jaime Restrepo
 

Destacado (12)

Detectando intrusos en la red
Detectando intrusos en la redDetectando intrusos en la red
Detectando intrusos en la red
 
Criptograía vs Esteganografía
Criptograía vs EsteganografíaCriptograía vs Esteganografía
Criptograía vs Esteganografía
 
Cazando Predadores en Internet
Cazando Predadores en InternetCazando Predadores en Internet
Cazando Predadores en Internet
 
DragonJAR TV Episodio 8 - Experiencias en Consultoria
DragonJAR TV Episodio 8 - Experiencias en Consultoria DragonJAR TV Episodio 8 - Experiencias en Consultoria
DragonJAR TV Episodio 8 - Experiencias en Consultoria
 
Presentacion dragon jartv-final
Presentacion dragon jartv-finalPresentacion dragon jartv-final
Presentacion dragon jartv-final
 
Busy Tone Vulnerable PBX
Busy Tone Vulnerable PBXBusy Tone Vulnerable PBX
Busy Tone Vulnerable PBX
 
DragonJAR TV Episodio 5 - Malware Edition
DragonJAR TV Episodio 5 - Malware EditionDragonJAR TV Episodio 5 - Malware Edition
DragonJAR TV Episodio 5 - Malware Edition
 
Charla Criptografia Aplicaciones Web
Charla Criptografia Aplicaciones WebCharla Criptografia Aplicaciones Web
Charla Criptografia Aplicaciones Web
 
Manejo de la Evidencia Digital
Manejo de la Evidencia DigitalManejo de la Evidencia Digital
Manejo de la Evidencia Digital
 
Charla perito informático dragonjar tv
Charla perito informático dragonjar tvCharla perito informático dragonjar tv
Charla perito informático dragonjar tv
 
CSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroCSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David Castro
 
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
 

Más de Jaime Restrepo

I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )Jaime Restrepo
 
i fought the law and the law lost
i fought the law and the law losti fought the law and the law lost
i fought the law and the law lostJaime Restrepo
 
How to build a powerfull open source soc4
How to build a powerfull open source soc4How to build a powerfull open source soc4
How to build a powerfull open source soc4Jaime Restrepo
 
Zer 0 no zer(0 day) dragon jar
Zer 0 no zer(0 day)   dragon jarZer 0 no zer(0 day)   dragon jar
Zer 0 no zer(0 day) dragon jarJaime Restrepo
 
Alta seguridad para clusters críticos
Alta seguridad para clusters críticosAlta seguridad para clusters críticos
Alta seguridad para clusters críticosJaime Restrepo
 
Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Jaime Restrepo
 
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...Jaime Restrepo
 
WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)Jaime Restrepo
 
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxHunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxJaime Restrepo
 
Hackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyHackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyJaime Restrepo
 
Memorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conMemorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conJaime Restrepo
 
Cloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarCloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarJaime Restrepo
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursJaime Restrepo
 
Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Jaime Restrepo
 
Threat intel malware_analysis
Threat intel malware_analysisThreat intel malware_analysis
Threat intel malware_analysisJaime Restrepo
 
Bugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoBugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoJaime Restrepo
 
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoTécnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoJaime Restrepo
 
Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Jaime Restrepo
 
Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014
Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014
Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014Jaime Restrepo
 
Reto forense campus party 2012
Reto forense campus party 2012Reto forense campus party 2012
Reto forense campus party 2012Jaime Restrepo
 

Más de Jaime Restrepo (20)

I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )
 
i fought the law and the law lost
i fought the law and the law losti fought the law and the law lost
i fought the law and the law lost
 
How to build a powerfull open source soc4
How to build a powerfull open source soc4How to build a powerfull open source soc4
How to build a powerfull open source soc4
 
Zer 0 no zer(0 day) dragon jar
Zer 0 no zer(0 day)   dragon jarZer 0 no zer(0 day)   dragon jar
Zer 0 no zer(0 day) dragon jar
 
Alta seguridad para clusters críticos
Alta seguridad para clusters críticosAlta seguridad para clusters críticos
Alta seguridad para clusters críticos
 
Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)
 
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
 
WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)
 
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxHunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
 
Hackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyHackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-Energy
 
Memorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conMemorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_con
 
Cloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarCloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jar
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behaviours
 
Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)
 
Threat intel malware_analysis
Threat intel malware_analysisThreat intel malware_analysis
Threat intel malware_analysis
 
Bugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoBugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dicho
 
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoTécnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
 
Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19
 
Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014
Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014
Ya están aquí, seguridad fisica - DragonJAR Security Conference 2014
 
Reto forense campus party 2012
Reto forense campus party 2012Reto forense campus party 2012
Reto forense campus party 2012
 

Criptografía experimental

  • 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