SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Geometr´ algebraica aplicada a la seguridad en
       ıa
            telecomunicaciones

                 Eduardo Ruiz Duarte

                Facultad de Ciencias UNAM


                     Agosto 12, 2010




            Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                o                 ıa
Agenda




     Intro: Criptograf´ en telecomm
                      ıa
     Conceptos b´sicos de algebra abstracta
                a
     Problema de logaritmo discreto en Z p ×
     Aplicaciones del PLD en Zp ×
     Curvas hiperel´
                   ıpticas, teor´ de divisores y conceptos
                                ıa
     fundamentales
     Conclusiones




                    Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                       o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
Conceptos b´sicos
           a


  Definici´n: Un subgrupo de H ⊂ G es un aquel que forma un
           o
  grupo como tal 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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
Conceptos b´sicos
           a



  Nota: La siguiente definici´n solo es para grupos abelianos
                            o

  Definici´n: Un grupo cociente G /S donde < S, ∗ > es subgrupo
          o
  de < G , ∗ > es:

  G /S = {aS / a ∈ G } donde aS = {as / s ∈ S}

  a cada aS le llamamos clase, ahora construiremos la operaci´n del
                                                             o
  cociente G /S




                     Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
Conceptos b´sicos
           a


  Antes de definir la operaci´n de G /S definamos lo que es el
                            o
  siguiente producto de conjuntos:

  ST = {st / s ∈ S y t ∈ T }

  Entonces si aS, bS ∈ G /S tenemos que
  (aS)(bS) = (ab)SS = (ab)S

  ya que es f´cil ver que SS = {st / s, t ∈ S} = S
             a

  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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
Problema de logaritmo discreto en Z×
                                   p




  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   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
Problema de logaritmo discreto en Z×
                                   p




  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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
Curvas hiperel´
              ıpticas, teoria de divisores y conceptos
fundamentales



  Ahora definiremos el grupo abeliano aditivo de una curva el´ ıptica,
  Consideremos la curva y 2 = x 3 + ax + b tal que la parte derecha
  no tiene ra´ m´ltiples y a, b ∈ K, K = K
             ıces u
  El conjunto:

        E (K) = {(x, y ) ∈ K × K / y 2 = x 3 + ax + b} ∪ {∞}
  Forma un grupo abeliano, ∞ es un punto especial que nos hace
  ver la curva en su versi´n proyectiva
                          o
  Ya que realmente este conjunto vive en P 2




                     Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
Curvas hiperel´
              ıpticas, teoria de divisores y conceptos
fundamentales

  La adici´n P ⊕ Q y el inverso de P (−P) con P, Q ∈ E (K)
          o
  cumplen lo siguiente:
      P = ∞ ⇒ −P = ∞
      P = (x, y ) ⇒ −P = (x, −y )
      P y Q con coordenada x distinta ⇒ ∃ L P,Q ∩ E (K)  {P, Q}
      (existe un tercer punto que intersecta la recta L P,Q con E (K)
      que le llamaremos −R (B´zout)) y entonces P ⊕ Q = R
                                e
      P = −Q ⇒ P ⊕ Q = ∞
      P = Q, nos tomamos LP tangente en P a la curva, esta l´
                                                            ınea
      interseca a la curva en otro punto −R, por lo tanto
      P ⊕P =R


                    Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
Curvas hiperel´
              ıpticas, teoria de divisores y conceptos
fundamentales



  Ejemplo:




  y2 = x3 − x




                  Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                      o                 ıa
Curvas hiperel´
              ıpticas, teoria de divisores y conceptos
fundamentales
  Si y = λx + b es la recta que pasa por P y Q, al intersectarla con
  y 2 = x 3 + Ax + B obtenemos P ⊕ Q, y si P = Q obtenemos
  P ⊕ P derivando impl´ ıcitamente la curva para as´ obtener:
                                                   ı

  Sean P = (xp , yp ), Q = (xq , yq ) y R = (xr , yr ) ∈ E (K) tal que
  car (K) = 2
       Si P = Q (coordenada x distinta al menos) P ⊕ Q = R y
       xr = λ2 − x p − x q
       yr = λ(xp − xr ) − yp
            yq −yp
       λ = xq −xp
       Si P = Q
       xr = λ2 − 2xp
       yr = λ(xp − xr ) − yp
               2
            3xp +A
       λ=     2yp

                      Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
Curvas hiperel´
              ıpticas, teoria de divisores y conceptos
fundamentales




                    ıptica sobre F q y P ∈ E (Fq ){∞}, computamos
  Sea E una curva el´

                          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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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 A 2
     ´                    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   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                           o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
Curvas hiperel´
              ıpticas, teor´ de divisores y conceptos
                           ıa
fundamentales
  Intuitivamente as´ se define el orden en estos dos casos:
                   ı




                     Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                            o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
Curvas hiperel´
              ıpticas, teor´ de divisores y conceptos
                           ıa
fundamentales


  En curvas el´
              ıpticas
  E (Fq ) ↔ Div 0 (E )
  P → (P) − (∞)
  ∞ → O = (∞) − (∞)

  Esto nos dice que E ↔ Pic 0 (E ) y P → ((P) − (∞)) por lo tanto
  ((P) − (∞)) representa a P,
  Esto nos dice que con las curvas el´  ıpticas se construye el grupo ’tal
  cual’, los divisores principales son las rectas que pasan por los
  representantes de (P) y (Q) que definen un unico punto
                                                  ´
  R → (R) − (∞)



                      Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                          o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                        o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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




                     Eduardo Ruiz Duarte   Una introducci´n a la criptograf´ con curvas
                                                         o                 ıa
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   Una introducci´n a la criptograf´ con curvas
                                                       o                 ıa
¡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   Una introducci´n a la criptograf´ con curvas
                                                      o                 ıa

Más contenido relacionado

La actualidad más candente

Aplicaciones e.diferenciales
Aplicaciones e.diferencialesAplicaciones e.diferenciales
Aplicaciones e.diferencialesERICK CONDE
 
Integral indefinida
Integral indefinida Integral indefinida
Integral indefinida camelro797
 
Teoria aditiva de numeros
Teoria aditiva de numerosTeoria aditiva de numeros
Teoria aditiva de numeroslgbarrerav
 
4 la derivada por formulas
4 la derivada por formulas4 la derivada por formulas
4 la derivada por formulasJesus Gil
 
Up encriptacion publica v1.2
Up encriptacion publica v1.2Up encriptacion publica v1.2
Up encriptacion publica v1.2Meme delaTower
 
La Integral Definida
La Integral DefinidaLa Integral Definida
La Integral DefinidaERICK CONDE
 
Guia semestral calculo integral
Guia semestral calculo integralGuia semestral calculo integral
Guia semestral calculo integraldalia leija
 
Antiderivada Ing
Antiderivada IngAntiderivada Ing
Antiderivada IngMarcos Boe
 
Trabajo De Compu Algoritmos
Trabajo De Compu AlgoritmosTrabajo De Compu Algoritmos
Trabajo De Compu Algoritmosdennis
 
Presentacion derivacion e integracion de funciones de varias variables Andrei...
Presentacion derivacion e integracion de funciones de varias variables Andrei...Presentacion derivacion e integracion de funciones de varias variables Andrei...
Presentacion derivacion e integracion de funciones de varias variables Andrei...AndreinaPrez6
 
Funciones en varias variables, una introduccion
Funciones en varias variables, una introduccionFunciones en varias variables, una introduccion
Funciones en varias variables, una introduccioneecoronado
 
Logaritmos
LogaritmosLogaritmos
LogaritmosDurero
 

La actualidad más candente (20)

Sencosen
SencosenSencosen
Sencosen
 
DERIVACIÓN E INTEGRACIÓN NUMÉRICA
DERIVACIÓN E INTEGRACIÓN NUMÉRICADERIVACIÓN E INTEGRACIÓN NUMÉRICA
DERIVACIÓN E INTEGRACIÓN NUMÉRICA
 
Aplicaciones e.diferenciales
Aplicaciones e.diferencialesAplicaciones e.diferenciales
Aplicaciones e.diferenciales
 
Formulas De IntegracióN
Formulas De IntegracióNFormulas De IntegracióN
Formulas De IntegracióN
 
Integral indefinida
Integral indefinida Integral indefinida
Integral indefinida
 
Teoria aditiva de numeros
Teoria aditiva de numerosTeoria aditiva de numeros
Teoria aditiva de numeros
 
1. integración por sustitución
1. integración por sustitución1. integración por sustitución
1. integración por sustitución
 
4 la derivada por formulas
4 la derivada por formulas4 la derivada por formulas
4 la derivada por formulas
 
Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
 
Teoremas de derivadas
Teoremas de derivadasTeoremas de derivadas
Teoremas de derivadas
 
Calculo u5
Calculo u5Calculo u5
Calculo u5
 
Up encriptacion publica v1.2
Up encriptacion publica v1.2Up encriptacion publica v1.2
Up encriptacion publica v1.2
 
Formulario de derivación
Formulario de derivaciónFormulario de derivación
Formulario de derivación
 
La Integral Definida
La Integral DefinidaLa Integral Definida
La Integral Definida
 
Guia semestral calculo integral
Guia semestral calculo integralGuia semestral calculo integral
Guia semestral calculo integral
 
Antiderivada Ing
Antiderivada IngAntiderivada Ing
Antiderivada Ing
 
Trabajo De Compu Algoritmos
Trabajo De Compu AlgoritmosTrabajo De Compu Algoritmos
Trabajo De Compu Algoritmos
 
Presentacion derivacion e integracion de funciones de varias variables Andrei...
Presentacion derivacion e integracion de funciones de varias variables Andrei...Presentacion derivacion e integracion de funciones de varias variables Andrei...
Presentacion derivacion e integracion de funciones de varias variables Andrei...
 
Funciones en varias variables, una introduccion
Funciones en varias variables, una introduccionFunciones en varias variables, una introduccion
Funciones en varias variables, una introduccion
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 

Destacado

Prueba Conferencia
Prueba ConferenciaPrueba Conferencia
Prueba Conferenciaguest988f714
 
L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...
L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...
L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...Josep Vidal-Alaball
 
Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008
Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008
Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008Enrique Goites
 
Presentacion Attainresponse
Presentacion AttainresponsePresentacion Attainresponse
Presentacion AttainresponseSorprendeme
 
Presentaciónarchena
PresentaciónarchenaPresentaciónarchena
Presentaciónarchenaeivars
 
Las Cuatro Verdades Nobles
Las Cuatro Verdades NoblesLas Cuatro Verdades Nobles
Las Cuatro Verdades NoblesJoseMariaR
 
Aplicacions Sanitàries del BIG DATA
Aplicacions Sanitàries del BIG DATAAplicacions Sanitàries del BIG DATA
Aplicacions Sanitàries del BIG DATAJosep Vidal-Alaball
 
Luisa Guadalupe Parra Moreno
Luisa Guadalupe Parra MorenoLuisa Guadalupe Parra Moreno
Luisa Guadalupe Parra Moreno145020
 
Telemedicina per millorar accessibilitat, resolució i llistes d’espera
Telemedicina per millorar accessibilitat, resolució i llistes d’espera Telemedicina per millorar accessibilitat, resolució i llistes d’espera
Telemedicina per millorar accessibilitat, resolució i llistes d’espera Josep Vidal-Alaball
 
Las Cuatro Verdades Nobles
Las Cuatro Verdades NoblesLas Cuatro Verdades Nobles
Las Cuatro Verdades NoblesJoseMariaR
 
La mejor manera de empezar un negocio por internet
La mejor manera de empezar un negocio por internetLa mejor manera de empezar un negocio por internet
La mejor manera de empezar un negocio por internetSorprendeme
 
Centro Vidapresentaicion
Centro VidapresentaicionCentro Vidapresentaicion
Centro VidapresentaicionJonathan Steele
 

Destacado (20)

Jornada cierre 2012- Proyecto Aprender tod@s- Escuela N°66 de San José.uy
Jornada cierre 2012- Proyecto Aprender tod@s- Escuela N°66 de San José.uyJornada cierre 2012- Proyecto Aprender tod@s- Escuela N°66 de San José.uy
Jornada cierre 2012- Proyecto Aprender tod@s- Escuela N°66 de San José.uy
 
Prueba Conferencia
Prueba ConferenciaPrueba Conferencia
Prueba Conferencia
 
las plantas
las plantaslas plantas
las plantas
 
L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...
L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...
L ́atenció primària rural a Catalunya. Situació i opinió dels assistents a la...
 
Eycos cafetin
Eycos cafetin Eycos cafetin
Eycos cafetin
 
Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008
Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008
Madoery otro desarrollo_el_cambio_desde_las_ciudades_y_las_regiones_2008
 
Didáctica del conocimiento_artístico. Proyecto "HabitARTE escuela"
Didáctica del conocimiento_artístico. Proyecto "HabitARTE escuela"Didáctica del conocimiento_artístico. Proyecto "HabitARTE escuela"
Didáctica del conocimiento_artístico. Proyecto "HabitARTE escuela"
 
Presentacion Attainresponse
Presentacion AttainresponsePresentacion Attainresponse
Presentacion Attainresponse
 
Presentaciónarchena
PresentaciónarchenaPresentaciónarchena
Presentaciónarchena
 
Las Cuatro Verdades Nobles
Las Cuatro Verdades NoblesLas Cuatro Verdades Nobles
Las Cuatro Verdades Nobles
 
Aplicacions Sanitàries del BIG DATA
Aplicacions Sanitàries del BIG DATAAplicacions Sanitàries del BIG DATA
Aplicacions Sanitàries del BIG DATA
 
Luisa Guadalupe Parra Moreno
Luisa Guadalupe Parra MorenoLuisa Guadalupe Parra Moreno
Luisa Guadalupe Parra Moreno
 
Telemedicina per millorar accessibilitat, resolució i llistes d’espera
Telemedicina per millorar accessibilitat, resolució i llistes d’espera Telemedicina per millorar accessibilitat, resolució i llistes d’espera
Telemedicina per millorar accessibilitat, resolució i llistes d’espera
 
Atmósfera
AtmósferaAtmósfera
Atmósfera
 
Las Cuatro Verdades Nobles
Las Cuatro Verdades NoblesLas Cuatro Verdades Nobles
Las Cuatro Verdades Nobles
 
Entrevista Regió7 03/08/13
Entrevista Regió7 03/08/13Entrevista Regió7 03/08/13
Entrevista Regió7 03/08/13
 
Caso final
Caso finalCaso final
Caso final
 
La mejor manera de empezar un negocio por internet
La mejor manera de empezar un negocio por internetLa mejor manera de empezar un negocio por internet
La mejor manera de empezar un negocio por internet
 
Foto digital
Foto digitalFoto digital
Foto digital
 
Centro Vidapresentaicion
Centro VidapresentaicionCentro Vidapresentaicion
Centro Vidapresentaicion
 

Similar a Eduardo ruiz seguridad y redes

Criptografía experimental
Criptografía experimentalCriptografía experimental
Criptografía experimentalJaime Restrepo
 
Criptografía Experimental [GuadalajaraCON 2012]
Criptografía Experimental [GuadalajaraCON 2012]Criptografía Experimental [GuadalajaraCON 2012]
Criptografía Experimental [GuadalajaraCON 2012]Websec México, S.C.
 
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
Capítulo 5: Criptografía de clave pública, antecedentes matemáticosCapítulo 5: Criptografía de clave pública, antecedentes matemáticos
Capítulo 5: Criptografía de clave pública, antecedentes matemáticosJuan Manuel García
 
CIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADACIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADAdanyro
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
Criptograía vs Esteganografía
Criptograía vs EsteganografíaCriptograía vs Esteganografía
Criptograía vs EsteganografíaJaime Restrepo
 
Criptografía vs esteganografía [GuadalajaraCON 2012]
Criptografía vs esteganografía [GuadalajaraCON 2012]Criptografía vs esteganografía [GuadalajaraCON 2012]
Criptografía vs esteganografía [GuadalajaraCON 2012]Websec México, S.C.
 
Cuantificadores_Algebra_Logica_Diapositiva.pdf
Cuantificadores_Algebra_Logica_Diapositiva.pdfCuantificadores_Algebra_Logica_Diapositiva.pdf
Cuantificadores_Algebra_Logica_Diapositiva.pdfRodrigoSebastian16
 
Derivadas logaritmicas y trigonometricas o exponenciales
Derivadas logaritmicas y trigonometricas o exponencialesDerivadas logaritmicas y trigonometricas o exponenciales
Derivadas logaritmicas y trigonometricas o exponencialeskevin lopez
 
Derivación funciones logarítmicas
Derivación funciones logarítmicasDerivación funciones logarítmicas
Derivación funciones logarítmicasErick Guaman
 
Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.Amador Aparicio
 
Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.Amador Aparicio
 

Similar a Eduardo ruiz seguridad y redes (20)

Criptografía experimental
Criptografía experimentalCriptografía experimental
Criptografía experimental
 
Criptografía Experimental [GuadalajaraCON 2012]
Criptografía Experimental [GuadalajaraCON 2012]Criptografía Experimental [GuadalajaraCON 2012]
Criptografía Experimental [GuadalajaraCON 2012]
 
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
Capítulo 5: Criptografía de clave pública, antecedentes matemáticosCapítulo 5: Criptografía de clave pública, antecedentes matemáticos
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
 
Preprim
PreprimPreprim
Preprim
 
RSA crypt4you
RSA crypt4youRSA crypt4you
RSA crypt4you
 
Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you -V2Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you -V2
 
CIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADACIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADA
 
07 teorianumeros
07 teorianumeros07 teorianumeros
07 teorianumeros
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Criptograía vs Esteganografía
Criptograía vs EsteganografíaCriptograía vs Esteganografía
Criptograía vs Esteganografía
 
Criptografía vs esteganografía [GuadalajaraCON 2012]
Criptografía vs esteganografía [GuadalajaraCON 2012]Criptografía vs esteganografía [GuadalajaraCON 2012]
Criptografía vs esteganografía [GuadalajaraCON 2012]
 
Cuantificadores_Algebra_Logica_Diapositiva.pdf
Cuantificadores_Algebra_Logica_Diapositiva.pdfCuantificadores_Algebra_Logica_Diapositiva.pdf
Cuantificadores_Algebra_Logica_Diapositiva.pdf
 
Derivadas logaritmicas y trigonometricas o exponenciales
Derivadas logaritmicas y trigonometricas o exponencialesDerivadas logaritmicas y trigonometricas o exponenciales
Derivadas logaritmicas y trigonometricas o exponenciales
 
Derivación funciones logarítmicas
Derivación funciones logarítmicasDerivación funciones logarítmicas
Derivación funciones logarítmicas
 
Clase12 (1)
Clase12 (1)Clase12 (1)
Clase12 (1)
 
14 cifraasimetrica
14 cifraasimetrica14 cifraasimetrica
14 cifraasimetrica
 
Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.
 
Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.Intercambio de claves Diffie-Hellman.
Intercambio de claves Diffie-Hellman.
 
Ejemplos de algoritmos
Ejemplos de algoritmosEjemplos de algoritmos
Ejemplos de algoritmos
 
Leccion04 rsa crypt4you
Leccion04 rsa crypt4youLeccion04 rsa crypt4you
Leccion04 rsa crypt4you
 

Más de Futura Networks

Más de Futura Networks (20)

Ibm
Ibm Ibm
Ibm
 
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta   campus party méxico 2011Dot dotpwn v3.0beta   campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011
 
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta   campus party méxico 2011Dot dotpwn v3.0beta   campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011
 
Pen test: El arte de la guerra
Pen test: El arte de la guerraPen test: El arte de la guerra
Pen test: El arte de la guerra
 
Marte
MarteMarte
Marte
 
Zonas habitables en las galaxias
Zonas habitables en las galaxiasZonas habitables en las galaxias
Zonas habitables en las galaxias
 
Legalidad Digital
Legalidad DigitalLegalidad Digital
Legalidad Digital
 
Socialmediarattinger
SocialmediarattingerSocialmediarattinger
Socialmediarattinger
 
Ipv6
Ipv6Ipv6
Ipv6
 
La música en el siglo XXI
La música en el siglo XXILa música en el siglo XXI
La música en el siglo XXI
 
Wordpress Ninja
Wordpress NinjaWordpress Ninja
Wordpress Ninja
 
Word pressttnl
Word pressttnlWord pressttnl
Word pressttnl
 
Redacción para Blogs
Redacción para BlogsRedacción para Blogs
Redacción para Blogs
 
Cpmx3 computo forense reloaded
Cpmx3   computo forense reloadedCpmx3   computo forense reloaded
Cpmx3 computo forense reloaded
 
Campus Party Mexico 2010
Campus Party Mexico 2010Campus Party Mexico 2010
Campus Party Mexico 2010
 
Gelattina usabilidad
Gelattina usabilidadGelattina usabilidad
Gelattina usabilidad
 
Semblanza ps20 campus
Semblanza ps20 campusSemblanza ps20 campus
Semblanza ps20 campus
 
CP Green Apps Challenge
CP Green Apps ChallengeCP Green Apps Challenge
CP Green Apps Challenge
 
Socialocation
SocialocationSocialocation
Socialocation
 
Perdida de datos campus party
Perdida de datos   campus partyPerdida de datos   campus party
Perdida de datos campus party
 

Eduardo ruiz seguridad y redes

  • 1. Geometr´ algebraica aplicada a la seguridad en ıa telecomunicaciones Eduardo Ruiz Duarte Facultad de Ciencias UNAM Agosto 12, 2010 Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 2. Agenda Intro: Criptograf´ en telecomm ıa Conceptos b´sicos de algebra abstracta a Problema de logaritmo discreto en Z p × Aplicaciones del PLD en Zp × Curvas hiperel´ ıpticas, teor´ de divisores y conceptos ıa fundamentales Conclusiones Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 9. Conceptos b´sicos a Definici´n: Un subgrupo de H ⊂ G es un aquel que forma un o grupo como tal 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 10. Conceptos b´sicos a Nota: La siguiente definici´n solo es para grupos abelianos o Definici´n: Un grupo cociente G /S donde < S, ∗ > es subgrupo o de < G , ∗ > es: G /S = {aS / a ∈ G } donde aS = {as / s ∈ S} a cada aS le llamamos clase, ahora construiremos la operaci´n del o cociente G /S Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 11. Conceptos b´sicos a Antes de definir la operaci´n de G /S definamos lo que es el o siguiente producto de conjuntos: ST = {st / s ∈ S y t ∈ T } Entonces si aS, bS ∈ G /S tenemos que (aS)(bS) = (ab)SS = (ab)S ya que es f´cil ver que SS = {st / s, t ∈ S} = S a 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 12. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 13. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 14. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 15. Problema de logaritmo discreto en Z× p 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 16. Problema de logaritmo discreto en Z× p 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 17. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 18. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 19. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 20. Curvas hiperel´ ıpticas, teoria de divisores y conceptos fundamentales Ahora definiremos el grupo abeliano aditivo de una curva el´ ıptica, Consideremos la curva y 2 = x 3 + ax + b tal que la parte derecha no tiene ra´ m´ltiples y a, b ∈ K, K = K ıces u El conjunto: E (K) = {(x, y ) ∈ K × K / y 2 = x 3 + ax + b} ∪ {∞} Forma un grupo abeliano, ∞ es un punto especial que nos hace ver la curva en su versi´n proyectiva o Ya que realmente este conjunto vive en P 2 Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 21. Curvas hiperel´ ıpticas, teoria de divisores y conceptos fundamentales La adici´n P ⊕ Q y el inverso de P (−P) con P, Q ∈ E (K) o cumplen lo siguiente: P = ∞ ⇒ −P = ∞ P = (x, y ) ⇒ −P = (x, −y ) P y Q con coordenada x distinta ⇒ ∃ L P,Q ∩ E (K) {P, Q} (existe un tercer punto que intersecta la recta L P,Q con E (K) que le llamaremos −R (B´zout)) y entonces P ⊕ Q = R e P = −Q ⇒ P ⊕ Q = ∞ P = Q, nos tomamos LP tangente en P a la curva, esta l´ ınea interseca a la curva en otro punto −R, por lo tanto P ⊕P =R Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 22. Curvas hiperel´ ıpticas, teoria de divisores y conceptos fundamentales Ejemplo: y2 = x3 − x Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 23. Curvas hiperel´ ıpticas, teoria de divisores y conceptos fundamentales Si y = λx + b es la recta que pasa por P y Q, al intersectarla con y 2 = x 3 + Ax + B obtenemos P ⊕ Q, y si P = Q obtenemos P ⊕ P derivando impl´ ıcitamente la curva para as´ obtener: ı Sean P = (xp , yp ), Q = (xq , yq ) y R = (xr , yr ) ∈ E (K) tal que car (K) = 2 Si P = Q (coordenada x distinta al menos) P ⊕ Q = R y xr = λ2 − x p − x q yr = λ(xp − xr ) − yp yq −yp λ = xq −xp Si P = Q xr = λ2 − 2xp yr = λ(xp − xr ) − yp 2 3xp +A λ= 2yp Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 24. Curvas hiperel´ ıpticas, teoria de divisores y conceptos fundamentales ıptica sobre F q y P ∈ E (Fq ){∞}, computamos Sea E una curva el´ 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 25. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 26. 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 A 2 ´ 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 27. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 28. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 29. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 30. Curvas hiperel´ ıpticas, teor´ de divisores y conceptos ıa fundamentales Intuitivamente as´ se define el orden en estos dos casos: ı Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 31. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 32. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 33. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 34. Curvas hiperel´ ıpticas, teor´ de divisores y conceptos ıa fundamentales En curvas el´ ıpticas E (Fq ) ↔ Div 0 (E ) P → (P) − (∞) ∞ → O = (∞) − (∞) Esto nos dice que E ↔ Pic 0 (E ) y P → ((P) − (∞)) por lo tanto ((P) − (∞)) representa a P, Esto nos dice que con las curvas el´ ıpticas se construye el grupo ’tal cual’, los divisores principales son las rectas que pasan por los representantes de (P) y (Q) que definen un unico punto ´ R → (R) − (∞) Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 35. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 36. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 37. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 38. 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 Eduardo Ruiz Duarte Una introducci´n a la criptograf´ con curvas o ıa
  • 39. 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 Una introducci´n a la criptograf´ con curvas o ıa
  • 40. ¡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 Una introducci´n a la criptograf´ con curvas o ıa