05. Criptografía de clave pública

Documentos relacionados
Algoritmos de cifrado Definir el problema con este tipo de cifrado

Redes de comunicación

SEGURIDAD EN SISTEMAS DE INFORMACION. TEMA 2 - parte 2. Criptografia asimétrica

Capítulo 13 Cifrado Asimétrico con Mochilas

CRIPTOGRAFIA DE CLAVE SECRETA. El emisor y el receptor conocen y usan la misma clave secreta para cifrar y descifrar mensajes.

ASIMETRICA IV LOG DISCRETOS CRIPTO II UT II N 06

El sistema RSA. Estímulo del Talento Matemático. Real Academia de Ciencias

Ingeniería en Informática

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

TEMA 40: Criptografía: Sistemas de clave simétrica y asimétrica, certificados digitales. Legislación en materia de firma electrónica.

Criptografía básica. (extracto de ponencia Administración Electrónica ) EUITIO Universidad de Oviedo. Alejandro Secades Gómez

4.2 Números primos grandes. MATE 3041 Profa. Milena R. Salcedo Villanueva

Criptografía. Por. Daniel Vazart P.

El algoritmo RSA. Aula Virtual Crypt4you. Dr. Jorge Ramió Aguirre Universidad Politécnica de Madrid

Test de primalidad, aplicación a la criptografía

Criptografía de Clave secreta: Cifrado en flujo. Amparo Fúster Sabater Instituto de Física Aplicada C.S.I.C.

Bases de la Firma Electrónica: Criptografía

Álgebra I Práctica 4 - Números enteros (Parte 2)

DIVISIBILIDAD. 2º E.S.O. Un número es múltiplo de otro si se puede obtener multiplicando el segundo por otro número entero.

Modelos Matemáticos en Ciberseguridad

Criptografía y Seguridad de Datos Introducción a la Criptografía: Confidencialidad de los mensajes

Criptografía de clave pública. El sistema RSA

TEMA 1.- POLINOMIOS Y FRACCIONES ALGEBRAICAS

Ampliación Tema 3: Múltiplo y divisores

Aritmética entera. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Aritmética entera 1 / 15

Capítulo 8 Teoría de la Complejidad Algorítmica

BLOQUE 5. SUCESIONES Y SERIES DE NÚMEROS REALES

Bloque 1. Aritmética y Álgebra

Criptografía Básica. Reinaldo Mayol Arnao Centro de Tecnologías de Información Universidad de Los Andes 2006

TEMA 4: ECUACIONES Y SISTEMAS DE ECUACIONES

Seguridad Informática

Tema 11 Introducción a la Criptografía

Rompiendo llaves RSA expĺıcitamente con OpenSSL

Generación de variables aleatorias continuas Método de la transformada inversa

UNIVERSIDAD NACIONAL DE LA PLATA

Clave Pública y Clave Privada

1 NÚMEROS REALES Representación sobre la recta Entre dos números cualesquiera pertenecientes a él hay infinitos números racionales.

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

Tema 3 Álgebra Matemáticas I 1º Bachillerato. 1

Unidad 2: Ecuaciones, inecuaciones y sistemas.

INECUACIONES Y SISTEMAS DE INECUACIONES LINEALES.

(CAST5, BLOWFISH,AES, AES192, AES256, TWOFISH)

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

TEMA 1 NÚMEROS NATURALES

MANUAL DE CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK 2010

Si lo escondo, lo encuentras? Aritmética del reloj Mª Joaquina Berral Yerón, Inmaculada Serrano Gómez

ÍNDICE. Preliminares. Abstract 9 Símbolos y notaciones 11 Tablas de verdad Leyes lógicas 15 Conceptos preliminares 16 Teoremas preliminares 21

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32

Teoría de Números. UCR ECCI CI-1204 Matemática Discretas Prof. M.Sc. Kryscia Daviana Ramírez Benavides

Objetivos formativos de Álgebra

Desarrollo e implementación de un prototipo de Notaría Digital

CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK EXPRESS 6.0

Lección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática

TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS. 1. Introducción

MATEMÁTICAS TEMA 50. Polinomios. Operaciones. Fórmula de Newton. Divisibilidad de polinomios. Fracciones algebraicas

Criptografía y firma digital

Matemáticas Universitarias

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

TEMA 2 - parte 3.Gestión de Claves

MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES MEMORIAS DE SEMINARIO EL ALGORTIMO DE ELGAMAL LUIS ALBERTO PERALTA AMAYA

Conectados con el pasado, proyectados hacia el futuro Plan Anual de Matemática II Año PAI VII Grado

FIABILIDAD, CONFIDENCIALIDAD, INTEGRIDAD Y DISPONIBILIDAD

FIRMA DIGITAL. Trabajo realizado por Manuel Iranzo

Objetivos. Criterios de evaluación. Contenidos. Actitudes. Conceptos. Procedimientos

Chapter Audio Summary for McDougal Littell Algebra 2

CONFIANZA Uno de los principales desafíos a que se enfrentan los medios telemáticos es asegurar la identidad de las partes que intervienen en cualquie

Las condiciones que debe reunir una comunicación segura a través de Internet (o de otras redes) son en general las siguientes:

INSTITUTO TECNOLOGICO DE LAS AMERICAS CARRERA DE TECNOLOGO EN DESARROLLO DE SOFTWARE PRECALCULO

Una Introducción Matemática a la Criptografía (para mis alumnos de Álgebra I)

Primaria Sexto Grado Matemáticas (con QuickTables)

DIVISIBILIDAD 2 3 = 8. Es decir, el resultado de multiplicar 2 por cualquier número natural.

Redes de Ordenadores 3º Doble Tit. Informática y Telemática. Trabajo

Última modificación: 1 de julio de

PRECALCULO INSTITUTO TECNOLÒGICO DE LAS AMÈRICAS CARRERA DE TECNÓLOGO EN MECATRONICA. Precálculo. Nombre de la asignatura: MAT-001

Bloque 1. Aritmética y Álgebra

Protección de Datos con Matemáticas elementales: Sistema RSA

MANUAL DE CONFIGURACIÓN DEL CERTIFICADO DIGITAL EN OUTLOOK EXPRESS 6.0

Capítulo 7 Teoría de los Números

Seguridad matemática en la Sociedad de la Información

Preparación para Álgebra universitaria con trigonometría

FUNCIONES EXPONENCIAL Y LOGARÍTMICA

1 Aritmética Modular y Criptografía

MATEMÁTICAS 2º ESO. TEMA 1

GUÍA DE EJERCICIOS N 14 PROBABILIDADES

Tema: Funciones hash y firma digital

PRODUCTOS NOTABLES: son aquellas multiplicaciones algebraicas

CONJUNTO DE LOS NÚMEROS NATURALES

Bol. Soc. Esp. Mat. Apl. n o 17 (2001),

UNIDAD DIDÁCTICA V POLINOMIOS Y ECUACIONES ALGEBRAICAS RACIONALES

2. Subraya los múltiplos de 4: Subraya los múltiplos de 2:

MEDIDAS DE TENDENCIA CENTRAL

DIVISIBILIDAD NÚMEROS NATURALES

Definición: Se llama variable aleatoria a toda función X que asigna a c/u de los elementos del espacio muestral S, un número Real X(s).

Unidad 1: Espacio de Probabilidad

Universidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación

Transcripción:

05. Criptografía de clave pública Criptografía 5º Curso de Ingeniería Informática Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla

Contenido Cifrado con clave pública Ventajas e inconvenientes RSA ElGamal clásico ElGamal elíptico Comparativa

Cifrado con clave pública Primeramente propuesto por Diffie y Hellman en 1.976. Algoritmos basados en funciones matemáticas y no en operaciones sobre patrones de bits. Es asimétrica, implica el uso de dos claves. Éste hecho posee importantes consecuencias en los ámbitos de la confidencialidad, distribución de claves y la autentificación. Concepto de función de un solo sentido.

Intercambio Diffie-Hellman Problema del Logaritmo Discreto (PLD) x y g (mod p) x log y(mod p) Dado hallar Para que PLD sea difícil de resolver: g debe dar lugar a muchas potencias distintas p debe ser un número primo fuerte Intercambio de clave, conocido (p,g): xa A toma 1<x a <p-1 y envía a B y g (mod p) g a B toma 1<x b <p-1 y envía a A y b g xb (mod p) Clave común: y x b a y x a b g x a x b (mod p)

Intercambio Diffie-Hellman p 71, g 21, x a 46, x b 57 y y a b 9(mod 71) 61(mod 71) 46 21 46 57 61 9 57 21 16(mod 71) Intercambio de clave, conocido (p,g): xa A toma 1<x a <p-1 y envía a B y g (mod p) a B toma 1<x b <p-1 y envía a A y b g xb (mod p) Clave común: y x b a y x a b g x a x b (mod p)

Intercambio Diffie-Hellman Problema del Logaritmo Discreto (PLD) x y g (mod p) x log y(mod p) Dado hallar Para que PLD sea difícil de resolver: g debe dar lugar a muchas potencias distintas p debe ser un número primo fuerte Un elemento g se denomina primitivo o generador de un grupo (G, ) si sus potencias generan todo el grupo Un primo p se dice fuerte si es de la forma p 1 r r 1 s p 1 t Para ciertos primos grandes r, s y t g

Búsqueda de generadores Método de selección de elementos primitivos Entrada: p primo, con * Elegir al azar enz p {1,2,, p 1} Para i desde 1 hasta t hacer si Fin para Salida: elemento primitivo 0 { p1 p i 2 1,,,, r p 1 p1 1 p1 1(mod p) entonces empezar de nuevo p2 } Z * p r t {1,2,, p 1}

Búsqueda de generadores 2 3 2 18,18} {1,2, },,, 1, { * 19 17 2 0 Z,18} {1,2,, 19 * 19 p Z 11 1 1 11 7 11 7 7 1 1 18 1 1 1 1 18 18 1 9 8 7 6 5 4 3 2 1 6 9 x x 1 7 7 11 7 11 1 1 11 18 1 1 18 18 18 18 1 18 18 17 16 15 14 13 12 11 10 6 9 x x

Búsqueda de números primos Test de Miller-Rabin: probables primos s Entrada: n impar, con n 2 r 1 para r impar Elegir 1<a<n al azar si a r j 2 1(mod n) ó a r 1(mod n),0 j s 1 entonces n es primo con una 3 probabilidad mayor o igual que en otro caso n es compuesto 4 Aplicar el test k veces aumenta la probabilidad a En adelante, primo significará probable primo según Miller-Rabin 1 1 k 4

Búsqueda de primos fuertes Test de Gordon: probables primos fuertes Entrada: s y t primos Elegir el primer primo r de la forma 2it+1 para i i 0 Salida: primo fuerte, consistente en el primer primo de la forma 2 2s r (mod r) s 1 2 jrs, para j j0 Requiere un 19% más de tiempo que Miller-Rabin

Funciones de un solo sentido f() es una función de un solo sentido si: 1. Dado cualquier y es computacionalmente imposible hallar x tal que f(x)=y. Se traduce en que descifrar resulta imposible... 2. Existe una función h y una información secreta s tal que conocidos s e y: es fácil de calcular h(s, y). f(h(s, y)) = y....si no se conoce la puerta trasera La información s se denomina puerta trasera. Tras un criptosistema asimétrico siempre hay una función de un solo sentido con puerta trasera

Clave pública: cifrado ingenuo Es débil por suplantación 1. Cada usuario genera una pareja de claves para el cifrado y el descifrado de mensajes. 2. Cada usuario da a conocer su clave pública. 3. Si un usuario A quiere enviar un mensaje a B, cifra el mensaje usando la clave pública de B. 4. Cuando B recibe el mensaje, lo descifra usando su clave privada. Ningún otro receptor puede descifrar el mensaje pues sólo B conoce su clave privada.

Clave pública: cifrado ingenuo E KU O (M ) O E KU B (M ') A B C E (M ) M E (C) KU B KR B

4. B descifra el mensaje usando primero su clave privada y después la pública de A. Ningún otro receptor puede descifrar el mensaje pues sólo B conoce su clave privada. El mensaje procede de A: lo autentifica el uso de su clave pública. Cifrado con autentificación Cifrado con autenticación 1. Cada usuario genera una pareja de claves para el cifrado y el descifrado de mensajes. 2. Cada usuario da a conocer su clave pública. 3. Si un usuario A quiere enviar un mensaje a B, cifra el mensaje doblemente, primero usando su clave privada y después la pública de B.

Cifrado con autentificación A B B A C E ( E ( M )) KU B KR A M E ( E ( C)) KU A KR B

Ventajas e inconvenientes Ventajas Versátiles: resuelven muchos problemas. Seguros. No tienen problemas para la distribución de claves. Inconvenientes Lentos. Suelen necesitar soportes especiales: aritméticas de grandes números y otras. Difíciles de implementar en hardware.

RSA Generación de claves 1. Se eligen dos números primos suficientemente grandes p, q. Se hace n = p q, Φ = (p-1) (q-1) 2. Se elige e primo con Φ y se calcula d, un número tal que el resto de dividir d e entre Φ sea 1. 3. Clave pública: (n, e). Clave privada: d. n pq e ( n) ( p 1)( q 1) d e 1 (mod ( n))

Cifrado y descifrado RSA Los mensajes se dividen en bloques de bits y cada bloque se representa con un número entre 0 y n. Si un bloque es x el cifrado es y, el resto de dividir x e e entre n. y x (mod n) Si se recibe y, se obtiene x calculando el resto de dividir y d d (mod p1) entre n. y x y d (mod (mod p) n) d (mod q1 y ) (mod q) y d x de x 1k ( n) x ( n) k x x(mod n)

RSA Método de la potencia rápida Entrada: b,n,e=(c k-1,...,c 0 ) 2 t=1 Para j desde k-1 hasta 0 hacer t=t 2 (mod n) si c j =1 entonces t=b t (mod n) Fin para Salida: t=b e (mod n) e c k1 0 k12 c0 2 b e k1 c 2 2 0 k1 c0 b b

RSA n 2867 pq 6147 ( n) ( p 1)( q 1) 6046 2760 e 247 d M 1575 C 247 C 2085 M 1 1575 2085 (mod 2760) 247 2503 2503 (mod 2867) (mod 2867) 2085 1575 TCR 43 2503 11 (mod 61) 50 M 2085 (mod 2867) 19 Euler17 (mod 47) 24 Bezout 61 47 6110 4713 1 M 504713 2461( 10) 1575

Seguridad de RSA p y q deben ser primos no próximos entre sí para evitar la factorización de n El mínimo común múltiplo de p-1 y q-1 ha de ser grande para disminuir el número de claves privadas útiles d i para descifrar el cifrado con e Las elecciones de n y de e deben evitar la proliferación de mensajes que no se cifren

Seguridad de RSA p y q deben ser primos no próximos entre sí para evitar la factorización de n Factorización de Fermat n pq x 2 2 p q p q n y, para Idea: buscar (x,y) con x 2 -n=y 2 para x 2 >n n 121879, n x 349.112 2 2 x 350 x n 3 69 x 351 x n 1322 2 x 352 x n 45 p 397, q 307 2, y 2

Seguridad de RSA El mínimo común múltiplo de p-1 y q-1 ha de ser grande para disminuir el número de claves privadas útiles d i para descifrar el cifrado con e Sea mcm( p 1, q 1), y sea d e 1 (mod ) Es evidente que <(n), pues p-1 y q-1 son ambos pares, por lo que d diferirá en general de d. Pero Euler ed d M (mod p) M C (mod n) Euler M (mod n) ed M (mod q) M n d Lo mismo para d i d i, 0 i

Seguridad de RSA e El mínimo común múltiplo de p-1 y q-1 ha de ser grande para disminuir el número de claves privadas útiles d i para descifrar el cifrado con e Sea n 3053, p 157 (3053) 71, q 43, e 157 210 d 157 Claves válidas de descifrado : d i 2940 d 157 mcm(70,42) 3053103 103 210i,0 i 14 210 103,313,523,733,943,1153,1363,1573, 1 1 (mod 2940) (mod 210) 1783,1993,2203,2413,2623,2833,3043 210 103 1573

Seguridad de RSA Las elecciones de n y de e deben evitar la proliferación de mensajes que no se cifren M M e e(mod p1) (mod M M (mod p) n) e(mod q1 M M ) (mod q) Se puede probar que la ecuación x e =x (mod p) tiene exactamente 1+mcd(e-1,p-1) soluciones, para p primo e M M para [1 mcd( e 1, p 1)] [1 mcd( e 1, q 1)] mensajes diferentes M

Seguridad de RSA Las elecciones de n y de e deben evitar la proliferación de mensajes que no se cifren Sea n 551, p 29, q 19, e 13 13 13 M M (mod 29) M M (mod 551) 13 M M (mod19) La primera ecuación tiene 1+mcd(12,28)=5 soluciones 13 M M (mod 29) M {0,1,12,17,28} La segunda ecuación tiene 1+mcd(12,18)=7 soluciones 13 M M (mod19) M {0,1,7,8,11,12,18} La ecuación primigenia tiene 5 7=35 soluciones {0,1,12,30,46,57,58,75,87,88,115,133,144,145,191,202,220,273,278, 331,349,360,406,407,418,436,463,464,476,493,494,505,521,539,550}

Ataques a RSA Cíclico: elevar reiteradamente el mensaje cifrado a la clave pública e hasta que se obtenga el mensaje cifrado original Factorización de n Merkle-Hellman: buscar exponentes i y j tales que M i =M j (mod n)

ElGamal clásico ElGamal Clásico Taher ElGamal propone en 1985 un algoritmo de cifra que hace uso del problema del logaritmo discreto PLD Generar un primo fuerte p para definir el grupo Z p * Tomar g un elemento generador de Z p * Cada usuario elige un número aleatorio 1<x<p El valor x será la clave privada Cada usuario calcula g x mod p Los valores g x mod p, g y p serán la clave pública Seguridad del sistema Para descubrir la clave privada, el atacante deberá enfrentarse al problema del logaritmo discreto.

Cifrado con ElGamal Cifrado con ElGamal Los mensajes se dividen en bloques de bits y cada bloque se representa con un número entre 1 y p-1. Cifrado: A cifra un número M que envía a B El usuario B ha elegido su clave privada x, (1<x<p-1) El usuario B ha hecho pública su clave, g, p e y=g x mod p El emisor A genera un número aleatorio k de sesión (1<k<p-1) y envía a B C=[g k mod p, M*y k mod p]

Descifrado con ElGamal Descifrado con ElGamal Descifrado: B descifra el criptograma C que envía a A El usuario B recibe C=[g k mod p, M*y k mod p] B toma el valor g k mod p y calcula [(g k ) x ] -1 mod p B descifra el criptograma C D(C)= M*y k * [(g k ) x ] -1 mod p=m y k * [(g k ) x ] -1 mod p=(g x ) k * [(g k ) x ] -1 mod p=1

Ejemplo: ElGamal ElGamal clásico Ejemplo: Benito toma p=2579, g=2 (elemento generador de Z * 2579) y x=765 (valor aleatorio) y calcula y=2 765 mod 2579=949. Clave pública: (p,g,y) Clave privada: x.alicia envía el mensaje M=1299 cifrado a Benito. Toma k=853 aleatoriamente C=E(M)=[2 853 mod 2579, 1299 * 949 853 mod 2579]=[435, 2399] M=D(C)=2396 * (435 765 ) -1 mod 2579= 1299

Observaciones: ElGamal Clásico ElGamal clásico Un mismo mensaje M puede cifrase de distinta manera si se elige distintos valores de k. El tamano del criptograma C es el doble del mensaje M. En la práctica estos sistemas sólo se úsan para cifrar claves de sesión o resúmenes. Por tanto, M= números de centenas de bits mientras que p (en ElGamal) y n (RSA) números de miles de bits.

Curvas elípticas

Curvas elípticas

Suma de puntos

Suma de puntos

Sobre un cuerpo finito

ECC

ECC

Cifrado ECC

Descifrado ECC

Tamaños de claves