Está en la página 1de 41

Seguridad en Redes

Tema 3.

Sistemas criptográficos de clave asimétrica

Principios

2

  • Cada usuario utiliza una pareja de claves, una pública y otra privada.

  • Si se cifra con una sólo se puede descifrar con la otra.

  • Hay un algoritmo de cifrado y otro de descifrado.

  • Seguridad: debe ser inviable averiguar la clave privada conociendo el algoritmo de cifrado y descifrado, la clave pública y criptogramas.

Principios 2  Cada usuario utiliza una pareja de claves, una pública y otra privada. 

Principios

3

  • Se puede ofrecer servicios de:

    • Confidencialidad: cifra con clave pública del receptor.

    • Autenticación: cifra con privada de emisor.

  • En ambos casos el receptor descifra con la clave asociada a la de cifrado.

  • Se puede aplicar ambos servicios: se cifra primero con la clave pública del receptor y el resultado con la privada del emisor.

  • Veremos en otros temas formas más eficientes de ofrecer los dos servicios.

  • Categorías de uso de criptosistemas de clave publica y algoritmos:

    • Cifrado/descifrado: servicio de confidencialidad (RSA)

    • Firma digital: servicio de autenticación (RSA, DSS)

    • Intercambio de clave: clave de sesión entre dos comunicantes (Diffie-Hellman)

  • Principios 3  Se puede ofrecer servicios de:  Confidencialidad : cifra con clave pública del

    Requisitos de un sistema clave pública

    4

    • Diffie y Hellman postularon los requisitos que debía cumplir sin proponer un algoritmo:

      • Computacionalmente fácil de generar un par de claves pública y privada.

      • Computacionalmente fácil para el emisor generar el texto cifrado a partir del texto en claro y la clave pública del receptor.

      • Computacionalmente fácil para el receptor de recuperar el texto en claro a partir del texto cifrado y la clave privada.

      • Computacionalmente difícil para un oponente determinar la clave privada a partir de la pública.

      • Computacionalmente difícil para un oponente recuperar el texto en claro a partir de la clave pública y el texto cifrado.

  • Podemos añadir un nuevo requerimiento válido para algunas aplicaciones:

    • La función de cifrado y descifrado pueden ser aplicadas en cualquier orden.

  • Se utilizan funciones trampa o de un solo sentido:

    • Es fácil calcular la función.

    • Es difícil calcular la inversa de la función, a no ser que se conozca un dato denominado clave.

  • Requisitos de un sistema clave pública 4  Diffie y Hellman postularon los requisitos que debía

    Criptoanálisis

    5

    • Tres posibles métodos:

      • Fuerza bruta sobre la clave:

        • Probar con todas las posibles claves.

        • Se puede evitar haciendo la clave suficientemente larga.

    • Cálculo de clave privada:

      • Calcular la clave privada a partir de la pública.

      • Hasta la fecha no se ha demostrado que no se pueda hacer.

      • Todos los algoritmos actuales son sospechosos, incluso RSA.

  • Fuerza bruta sobre el mensaje:

    • Aplicable a mensajes cortos confidenciales (pe. una clave DES de 56 bits).

    • Se puede averiguar el mensaje en claro cifrando con la clave pública todos las posibles valores del mensaje y comparando con el texto cifrado.

    • En este caso la longitud de la clave pública de cifrado no hace más seguro el sistema.

  • Criptoanálisis 5  Tres posibles métodos:  Fuerza bruta sobre la clave:  Probar con todas

    Algoritmo RSA. Procedimiento.

    6

    • Desarrollado por Ron Rivest, Adi Shamir y Len Adleman en el MIT 1977.

    • Consiste en un cifrador de bloque en el que el texto en claro y cifrado se consideran un entero entre 0 y n-1 (longitud de bloque log 2 (n) bits).

    • Procedimiento:

      • Siendo M el bloque en claro, el bloque cifrado es: C = M e mod n

      • Para recuperar el bloque en claro se hace: M = C d mod n = M ed mod n

      • El emisor conoce la clave pública: {n, e}

      • El receptor conoce la clave privada: {n, d}

    Algoritmo RSA. Procedimiento. 6  Desarrollado por Ron Rivest, Adi Shamir y Len Adleman en el

    Algoritmo RSA. Requisitos.

    7

    • Debe cumplir los siguientes requisitos:

      • Es posible encontrar e, d y n tal que M ed = M mod n para todo M <
        n.

      • Es relativamente fácil calcular M e y C d para todo M < n.

      • Es imposible determinar d dados e y n.

    Algoritmo RSA. Requisitos. 7  Debe cumplir los siguientes requisitos:  Es posible encontrar e, d

    Algoritmo RSA. Ejemplo.

    8

    • Clave privada {77, 119}; clave pública {5, 119}, M = 19.

    • Ciframos M: C = 19 5 mod 119 = 66

    • Recuperamos M: M = 66 77 mod 119 = 19

    Algoritmo RSA. Ejemplo. 8  Clave privada {77, 119}; clave pública {5, 119}, M = 19.

    RSA: Base Teórica

    9

    • Corolario del teorema de Euler: dados dos números primos p y q y dos números enteros n y m de forma un valor arbitrario k:

    que n = pq y 0 < m < n, y dado

    m k(n)+1 = m k(p-1)(q-1)+1 m mod n

    • (n) es la función de Euler: número de enteros positivos menores que n y relativamente primos a n, es decir (mcd(entero,n)=1.

    • Podemos obtener la relación deseada si ed = k(n)+1 que equivale a:

    ed 1 mod

    (n)

    d e -1 mod

    (n)

    • e y d son inversas multiplicativas, ambos valores son por lo tanto relativamente primos con (n): mcd((n), d)=1; mcd((n), e)=1

    RSA: Base Teórica 9  Corolario del teorema de Euler: dados dos números primos p y

    RSA: Obtención de la clave

    10

    • Esquema de generación de clave:

      • Seleccionar los primos p y q (secreto): p= 7, q = 17.

      • Calcular n = pq (público): n = 7*17 = 119

      • Calcular (n) = (p-1)(q-1) (privado): (n) = 6*16 = 96

      • Seleccionar e tal que mcd((n), e)=1, 1 < e < (n) (público): e = 5

      • Calcular d tal que de = 1 mod (n) y d < (n) (privado): d = 77

    RSA: Obtención de la clave 10  Esquema de generación de clave:  Seleccionar los primos

    Consideraciones computacionales

    11

    • Cifrado/descifrado:

      • Para las exponenciaciones aplicar el algoritmo de exponenciación rápida realizando los producto con aritmética modular.

    Consideraciones computacionales 11  Cifrado/descifrado:  Para las exponenciaciones aplicar el algoritmo de exponenciación rápida realizando

    Consideraciones computacionales

    12

    • Generación de clave:

      • Buscar dos números primos grandes (puede ser un trabajo costoso):

        • Procedimiento habitual que determinar si un número aleatorio es primos:

          • Buscar número aleatorio impar n.

          • Buscar un entero aleatorio a < n.

          • Aplicar un test de primalidad como Miller-Rabin. Si n falla el test rechazarlo.

          • Si n pasa el test con un número suficiente de valores aleatorios a, se acepta como primo. Si no, hay que buscar otro valor de n.

  • El procedimiento puede llegar a ser largo cuando n es grande (los primos cerca de N están espaciados una media de logN).

  • Seleccionar e o d y calcular el otro:

    • Buscar un números aleatorio (e) relativamente primo con (n). La probabilidad de que un número aleatorio sea relativamente primo con (n) es 0.6. Probamos que mcd((n), e)=1.

    • Calculamos d a partir de e con el cálculo de la inversa: d = e -1 mod (n).

    • El algoritmo extendido de Euclides realiza ambas operaciones.

  • Consideraciones computacionales 12  Generación de clave:  Buscar dos números primos grandes (puede ser un

    Seguridad de RSA

    13

    • Tipos de ataque a RSA:

      • Fuerza bruta: se soluciona haciendo claves más largas aunque en ese caso el cifrado/descifrado es más lento.

      • Ataque matemático: tres aproximaciones

        • Factorizar n en sus dos factores primos: conocidos p y q se calcula (n) y d.

        • Determinar (n) directamente a partir de n: ¿Cuántos residuos tiene n?

        • Determinar d directamente a partir de e y n: logaritmos discretos.

  • Ataque de temporización:

    • Se basa en la observación de distintos tiempos de ejecución para determinados valores aplicados a operaciones de los algoritmos (exponenciación rápida).

    • Sabiendo el tiempo de ejecución se puede intuir el valor.

    • Se puede evitar este ataque con varios tipos de medidas:

      • Forzar al algoritmo a dar resultados en un tiempo constante. Pierde rendimiento.

      • Dar un retardo aleatorio al algoritmo para confundir al atacante.

      • Blindar el valor a proteger (texto cifrado) multiplicándolo por un número aleatorio R antes de pasarlo por el algoritmo. El receptor multiplica por la inversa R -1 mod A. Utilizado por RSA.

  • Seguridad de RSA 13  Tipos de ataque a RSA:  Fuerza bruta: se soluciona haciendo

    Gestión de claves

    14

    Dos aspectos:

    Técnicas de distribución de clave pública

    • Anuncio público de clave pública

    • Autoridad de certificación

    Distribución de clave secreta mediante clave pública

    • Esquema sencillo

    • Con confidencialidad y autenticación

    • Esquema híbrido

    Gestión de claves 14  Dos aspectos:  Técnicas de distribución de clave pública  Anuncio

    Anuncio público de clave pública

    15

    • Si se dispone de un algoritmo de clave pública como RSA, se puede difundir la clave pública de un usuario a un gran número de participantes.

    • Por ejemplo, los usuarios de PGP difunden su clave pública en mensajes que envían a foros públicos (grupos de noticias de USENET y listas de distribución de correo de Internet).

    • Plantea el inconveniente de que alguien puede falsificar un anuncio público haciéndose pasar por otro usuario.

    Anuncio público de clave pública 15  Si se dispone de un algoritmo de clave pública

    Autoridad de Certificación

    16

    • Un certificado contiene la clave pública de un usuario y otra información como tiempo de expiración e identidad del usuario.

    • El certificado es generado y gestionado por una autoridad de certificación.

    • El certificado está cifrado con la clave privada de la autoridad de certificación, por lo tanto tenemos garantías de su autenticidad e integridad.

    • Requisitos de este esquema:

      • El certificado es público.

      • Cualquiera puede comprobar que el certificado es autentico.

      • Sólo la autoridad de certificación puede generar y actualizar certificados.

      • Cualquier participante puede verificar la validez del certificado: dentro de fecha de validez (se comprueba su tiempo de validez).

    Autoridad de Certificación 16  Un certificado contiene la clave pública de un usuario y otra

    Certificados

    17

    • Documento que contiene la clave pública de un interlocutor

    • Formato: nombre del sujeto, emisor del certificado, periodo

    de validez, clave pública del sujeto, uso (firma, cifrado de

    claves…)…Firma de la autoridad.

    • Tipos: identidad, rol, atributo…

    • Esquemas: X.509, SPKI…

    • Los certificados se pueden revocar.

    • Se mantiene una Lista de Revocación de Certificados: CRL.

    • Verificar si un certificado está en la CRL antes de usar su clave pública.

    • OCSP: propuesta alternativa de CRL, con consulta on-line especifica sobre un certificado concreto (no de la lista completa).

    Certificados 17  Documento que contiene la clave pública de un interlocutor  Formato: nombre del

    Infraestructura PKI

    18

    • Una infraestructura PKI tiene:

      • Autoridad de certificación: genera los certificados

      • Autoridad de registro: identificación y registro previo a la emisión del certificado

      • Autoridades de repositorio, almacenamiento y recuperación de certificados y CRL.

      • Autoridades de generación y distribución de CRLs.

  • Además puede tener:

    • Autoridades de sellado de tiempo.

    • Autoridades de atributos.

    • Terceras partes de confianza para provisión de servicios como no repudio o anonimato.

  • Modelo de confianza:

    • Los usuarios deben decidir si confían en una autoridad de certificación.

  • Infraestructura PKI 18  Una infraestructura PKI tiene:  Autoridad de certificación: genera los certificados 

    Arquitecturas de CAs

    19

    • Árbol jerárquico Puro

      • Autoridades de orden superior que certifican otras de orden inferior.

      • Certificación mutua en la entre CAs root

      • Sólo certificados directos

    CAROOT CAROOT CA CA CA CA CA CA CA CA CA CA CA CA
    CAROOT
    CAROOT
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA

    Arquitecturas de CAs

    20

    • Árbol jerárquico

      • Puede haber atajos y CAs con varios padres

    CAROOT CAROOT CA CA CA CA CA CA CA CA CA CA CA CA
    CAROOT
    CAROOT
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA
    CA

    Arquitecturas de CAs

    21

     Arquitecturas Jerárquicas conectadas mediante un puente CA Puente CAROOT CAROOT CA CA CA CA CAROOT
    Arquitecturas Jerárquicas conectadas mediante un puente
    CA Puente
    CAROOT
    CAROOT
    CA
    CA
    CA
    CA
    CAROOT
    CA CA
    CA CA
    CA CA
    CA CA
    CA
    CA
    CA CA
    CA CA
    Arquitecturas de CAs 21  Arquitecturas Jerárquicas conectadas mediante un puente CA Puente CAROOT CAROOT CA

    Intercámbio de clave Diffie-Hellman

    22

    • Permite a dos usuarios intercambiar una clave segura.

    • Se basa en la dificultad de calcular logaritmos discretos:

      • Si a es raíz primitiva de un número primo p: a i mod p; 1 i p-1 son distintos y generan los números desde 1 hasta p-1.

      • Para un entero b y una raiz primitiva a de un primo p, se puede encontrar el exponente i que cumpla: b = a i mod p;

      • i es el logaritmo discreto (o índice) de b para la base a mod p: i = ind a,p (b)

    Intercámbio de clave Diffie-Hellman 22  Permite a dos usuarios intercambiar una clave segura.  Se

    Intercámbio de clave Diffie-Hellman

    23

    • Procedimiento para intercambio de clave entre A y B:

      • Valores públicos conocidos por A y B:

        • número primo p grande

        • número a < p y raíz primitiva de p.

    Y A  a X mod p A  A selecciona X A < p y
    Y
    A 
    a
    X
    mod
    p
    A
    A selecciona X A < p y calcula y envía a B Y A (público):
    Y
    B  mod
    a
    X
    p
    B
    B selecciona X B < p y calcula y envía a A Y B (público):
    K
    ( )
    Y
    X
    mod
    p
    A
    A calcula la clave:
    B
    K
    ( )
    Y
    X
    mod
    p
    B
    B calcula la clave:
    A
    a,p, YA
    XA
    XB
    YB
    A
    B
    K
    K

    Intercámbio de clave Diffie-Hellman

    24

    • Criptanálisis:

      • El oponente conoce: p, a, Y A , Y B.

      • Para calcular la clave K debe calcular previamente x B = ind a,p (Y B ) o x A = ind a,p (Y A ) y este es un problema difícil si p es grande (logaritmos discretos).

  • Puede sufrir un ataque del intermediario:

    • Un atacante se pone en medio de A y B.

    • Se hace pasar por B ante A: intercambia una clave K ac .

    • Se hace pasar por A ante B: intercambia una clave K bc .

  •  

    B

    B A
     
    B A

    A

    Kac

    C

    Kbc

     

    A

       

    B

         
    Intercámbio de clave Diffie-Hellman 24  Criptanálisis:  El oponente conoce: p, a, Y , Y

    Distribución de clave secreta compartidas

    25

    • Una vez distribuida de forma segura la clave pública, puede ser utilizada para ofrecer confidencialidad y autenticación.

    • Su uso con grandes volúmenes de datos plantea el problema de la lentitud de sus algoritmos con respecto a los de clave simétrica.

    • Por este motivo se suele utilizar como medio de distribución de claves secretas de forma segura.

    • Ejemplo:

    A
    A
    Ks B
    Ks
    B

    IDa, Kpua

    Distribución de clave secreta compartidas 25  Una vez distribuida de forma segura la clave pública,

    Kpua[Ks]

    Distribución de clave secreta compartidas 25  Una vez distribuida de forma segura la clave pública,

    Ks[M]

    Distribución de clave secreta compartidas 25  Una vez distribuida de forma segura la clave pública,
    • Puede sufrir el ataque del intermediario: un intruso E puede meterse en medio de A y B y hacer creer a B que es A enviándole su clave pública [IDa, Kpue]

    Distribución de clave secreta compartidas 25  Una vez distribuida de forma segura la clave pública,

    Otros algoritmos

    26

  • ECC vs RSA:

    • ECC clave más corta.

    • ¿Es más Rápido?

  • Otros algoritmos 26  ECC (Elliptic Curve Criptography)  Algoritmos basados ecuaciones cúbicas de curvas elípticas.http://www.deviceforge.com/articles/AT4234154468.html  ECC vs RSA:  ECC clave más corta.  ¿Es más Rápido? " id="pdf-obj-25-30" src="pdf-obj-25-30.jpg">

    ECC vs RSA

    Tamaño de la clave

    RSA

    ECC

    • 1024 bits ≡ 160 bits

    • 1536 bits ≡ 192 bits

    • 2048 bits ≡ 224 bits

    • 3020 bits ≡ 256 bits

    • 7680 bits ≡ 384 bits

    15380 bits ≡ 521 bits

    Procesamiento

    ECC vs RSA Tamaño de la clave  RSA ECC 1024 bits ≡ 160 bits 1536
    ECC vs RSA Tamaño de la clave  RSA ECC 1024 bits ≡ 160 bits 1536

    27

    Curvas Elípticas

    28

    • Curvas elípticas del tipo: y 2 + axy + by = x 3 + cx 2 + dx + e

    • Las curvas elípticas, al igual que otros problemas (e.g. DH) de clave pública se definen sobre un Grupo Abeliano {G,}.

      • es un operador binario que opera con elementos: a,b є G

      • Propiedades:

        • Grupo cerrado: Si a,b є G; ab є G

        • Asociativa: (ab) c = a(b c) para todo a,b,c є G

        • Conmutativa: (ab) = (ba) para todo a,b є G

        • Elemento identidad: hay un e є G tal que ae= ea=a

        • Elemento inverso: por cada a є G, hay un a’ є G tal que a●a’= a’●a=e

    Curvas Elípticas 28  Curvas elípticas del tipo: y + axy + by = x +

    ECC sobre números reales

    29

    • Limitamos la curva a la familia: y 2 = x 3 + ax + b

    • E(a,b) expresa una determinada curva para unos valores de a y b.

      • Ejemplo: E(1,1); y 2 = x 3 + x + 1

    • Propiedades:

      • Simétricas respecto a Y=0

      • Tienen un punto singular O llamado punto cero o punto en el infinito

      • E(a,b) debe cumplir 4a 3 +27b 2 ≠ 0 para que x 3 + ax + b no tenga factores repetidos.

      • Se define el operador adición con las siguientes reglas para que la curva sea un Grupo Abeliano (P, Q, T y S son puntos de la curva):

        • P+O = P, O es el elemento identidad

        • El negativo de P = (x,y) es P = (x,-y); P+(-P)=O

        • P, Q y T son los tres puntos de intersección de una recta con la curva:

          • P + Q + T = O; P + Q = -T.

        • Recta vertical que intersecciona con ECC en el punto P:

          • P + (-P) = O.

        • S es la intersección con la recta tangente en Q con la curva:

    ECC sobre números reales 29  Limitamos la curva a la familia: y = x +
    • Q + Q = 2Q = S

    http://www.cryptomathic.com/labs/ellipticcurvedemo.html

    30

    T -T
    T
    -T
    http://www.cryptomathic.com/labs/ellipticcurvedemo.html 30 T -T

    Ejemplo E(5,3)

    31

    Ejemplo E(5,3) 31 y^2=x^3-5x+3 y=x+2
    y^2=x^3-5x+3 y=x+2
    y^2=x^3-5x+3
    y=x+2

    Cifrado

    32

    • En el cifrado se utiliza la operación básica: kP

      • K constante

      • P punto de la curva

  • Se realiza repitiendo las operaciones básicas:

    • P+Q

    • 2P; caso particular en el que P=Q.

  • Ejemplo: 11P = 2(2(2P))+2P+P

  • Cifrado 32  En el cifrado se utiliza la operación básica: kP  K constante 

    ECC: descripción algebraica de la adición

    33

    • Dada la curva E(a,b)

    • Dos puntos de la curva P (x P ,y P ) y Q (x Q ,y Q )

    • Pendiente de la recta que pasa por P y Q:

      • ∆ = (y Q -y P )/(x Q -x P )

    • Si llamamos R = P+Q (-R es el tercer punto de intersección T)

      • x R = ∆ 2 -x P -x Q

      • y R = ∆(x P -x R )- y P

  • Si P = Q; P + P = 2P = R, Con y P ≠ 0.

    • x R = [(3x P 2 +a)/2y P ] 2 -2x P

    • y R = [(3x P 2 +a)/2y P ] (x P -x R ) - y P

  • ECC: descripción algebraica de la adición 33  Dada la curva E(a,b)  Dos puntos de

    ECC sobre Zp: curvas primas

    34

    • Más apropiado para hacer implementaciones software

    • y 2 mod p = (x 3 + ax +

    b) mod p

    • E p (a,b) debe cumplir (4a 3 +27b 2 ) mod p ≠ 0 mod p; Grupo Abeliano

    • Hay un conjunto finito de puntos (x, y) que satisface la ecuación de la curva. Donde x, y < p.

    • La suma de dos puntos da otro punto del conjunto finito.

      • P+ O = P

      • Dado P(x P , y P ), existe inverso P (x P , -y P ). P- P = O.

      • Cálculo de la suma:

        • x R = (∆ 2 -x P -x Q ) mod p

        • y R = (∆(x P -x R )- y P ) mod p

        • Si P ≠ Q; ∆ = ((y Q -y P )/(x Q -x P ) )mod p

        • Si P = Q; ∆ = ((3x P 2 +a)/2y P ) mod p

  • La multiplicación se define como una repetición de adiciones:

    • kP = P + P + P + P+…+P, k veces

  • ECC sobre Zp: curvas primas 34  Más apropiado para hacer implementaciones software  y mod

    Puntos en un campo finito

    35

    • Si sumamos dos puntos, obtendremos otro punto de la curva.

    • Interés en puntos x e y con valores comprendidos entre 0 y p-1.

    • Otros puntos tienen su equivalente en estos puntos.

    • Puntos de la curva E 23 (1,1): y 2 mod 23 = (x 3 + x + 1) mod 23

    Puntos en un campo finito 35  Si sumamos dos puntos, obtendremos otro punto de la

    0, 1

    6,4

    12,19

    0, 22

    6,19

    13,7

    1, 7

    7,11

    13,16

    1, 16

    7,12

    17,3

    3, 10

    9,7

    17,20

    3, 13

    9,16

    18,3

    4, 0

    11,3

    18,20

    5, 4

    11,20

    19,5

    5, 19

    12,4

    19,18

    Seguridad de ECC

    36

    • Debe haber un número grande de puntos.

    • N es el número de puntos en E p (a,b):

    p+1-2p 1/2 ≤ N ≤ p+1+2p 1/2

    • Si p es grande, N es aproximadamente el número de elementos en Zp (N ≈ p).

    Seguridad de ECC 36  Debe haber un número grande de puntos.  N es el

    Criptografía con ECC

    37

    • Operaciones de tipo: P = k Q mod p

      • Puntos de la curva: P y Q є E p (a, b)

      • Constante: k < p

  • Calcular P conocidos k y Q es fácil.

  • Calcular k = P/Q mod p ó Q = P/k mod p, con k suficientemente grande es difícil.

  • Criptografía con ECC 37  Operaciones de tipo: P = k Q mod p  Puntos

    ECC Diffie Hellman

    38

    • A: P A = n A G; G público, n A secreto

    • B: P B = n B G; n B secreto

    A

    nA

    G, PA PB
    G, PA
    PB

    B

    nB

    ECC Diffie Hellman 38  A: P = n G; G público, n secreto  B:

    K = P A n B = P B n A = n A n B G

    Cifrado/descifrado con ECC

    39

    • Dada la curva elíptica E

    p

    (a,b) y un punto de la misma G

    • Clave privada de A/B: n A / n B

    • Clave pública de A/B: P A = n A G/ P B = n B G

    • A cifra Pm con la clave pública de B:

      • Genera k

      • Calcula el criptograma Cm = {L, M}

     L = kG  M = Pm + kP B A Cm = (L,M)
    L = kG
    M =
    Pm + kP B
    A
    Cm = (L,M)

    nA

    • B descifra: M - n B L

    B

    nB

    • Desarrollando: Pm + kP B - n B (kG) = Pm + kn B G - n B (kG) = Pm

    Cifrado/descifrado con ECC 39  Dada la curva elíptica E p (a,b) y un punto de

    Tamaño de clave

    40

    • Tamaño recomendado de clave 160, con seguridad equivalente a una clave simétrica de 80 bits a una de RSA de 1024 bits.

    • NIST ha publicado una lista de curvas elípticas recomendadas de 5 tamaños distintos de claves: 80, 112, 128, 192, 256.

    • Desafío de Certicom (año 2003):

      • Objetivo: romper una clave ECC de 109 bits con un ataque masivo en paralelo basado en el ataque del cumpleaños

      • Recursos: más de 10000 PC's de tipo Pentium

      • Tiempo: funcionamiento continuo durante 540 días.

      • Si la clave es de 163 bits (valor recomendado), se estima una cantidad de recursos necesaria 108 veces mayor que los utilizados en éste desafio.

    Tamaño de clave 40  Tamaño recomendado de clave 160, con seguridad equivalente a una clave

    Conclusiones

    41

    La criptografía asimétrica ofrece: confidencialidad, autenticación, no repudio, intercambio de secretos Más lenta que la simétrica Claves más largas que en la simétrica Necesidad de distribuir claves públicas de forma confiable Los algoritmos ECC: mejor procesamiento y claves de tamaño más reducido

    Conclusiones 41  La criptografía asimétrica ofrece: confidencialidad, autenticación, no repudio, intercambio de secretos  Más