Seguridad Informática

Documentos relacionados
05. Criptografía de clave pública

Clave Pública. Criptografía-ULL

Sistemas basados en la Teoría de Números

Aritmética Modular MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Modular F. Informática.

Ingeniería en Informática

Ampliación Matemática Discreta. Justo Peralta López

Criptografía asimétrica o de clave pública

Guia para el exámen parcial 1 - unas soluciones

Introducción a la Matemática Discreta

Matemáticas aplicadas a la criptografía

Teorema de Lagrange. En esta sección demostramos algunos hechos básicos sobre grupos, que se pueden deducir de la definición

Algoritmos de cifrado

Capítulo 3: El anillo de los números enteros

Estructuras algebraicas. Departamento de Álgebra. Apuntes de teoría

Capítulo 3: El anillo de los números enteros

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS

1. Introducción Cifrado de Hill RSA ElGamal Firma DSA Test de Miller-Rabin...

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

Lección 3: Sistemas de Cifra con Clave Pública

Método de encriptación RSA con Mathematica

APLICACIONES DE LA ARITMÉTICA MODULAR

Álgebra I Práctica 3 - Números enteros (Parte 1)

Contenido. Contenidos interactivos... xiii Plataforma de contenidos interactivos... xviii Prefacio... xix. Parte I Fundamentos...

Tema 2 Aritmética modular

Aritmética Entera MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Entera F. Informática.

CLCript Cuadernos de Laboratorio de Criptografía jra - Entrega nº 9 Matemáticas discretas en criptografía Página 1

Dado un conjunto A, llamamos operación binaria interna o ley de composición interna a cualquier función de A A en A. [1] [1] [0]

Seguridad Informática

1. Dominio de integridad: Si a, b son enteros, y a 0, b 0 entonces

Criptografía de clave pública

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

Tema 1.- Nociones preliminares: grupos, anillos, cuerpos. Divisibilidad

TEORÍA DE NÚMEROS II

Dígitos de control. Test de Primalidad Algoritmo para calcular a r mod n Criptografía. Aritmética Modular. personal.us.es/lcamacho. Luisa M.

Algoritmos en teoría de números

Álgebra y Trigonometría

Teoría de Anillos y Campos

Tema 2: El grupo de las permutaciones

Aritmética entera y modular

Aritmética Modular. (c) 2012 Leandro Marin

Estructuras Algebraicas

Matemáticas Discretas 2 - Taller 2 Aritmética modular G. Padilla

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

. 1 TEORIA DE NUMEROS. Tema: ARITMETICA MODULAR. (Apuntes de apoyo a clases teóricas) Tiempo de exposición: 2hs

Operaciones con números racionales. SUMA/RESTA.

Un tercer ejemplo: verificación de primalidad

Guía N 1 Introducción a las Matemáticas

Polinomios (lista de problemas para examen)

Algoritmo de Dixon Ataque de Wiener

ASIMETRICA IV LOG DISCRETOS CRIPTO II UT II N 06

Criptografía sobre curvas eĺıpticas

(n, a)(m, b) = (nm, ma + nb) (a, b) + (c, d) = (a + c, b + d) y (a, b)(c, d) = (ac, bd)

Fundamentos algebraicos

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

Clase 2: Criptografía

AMPLIACIÓN DE MATEMÁTICAS

NÚMEROS COMPLEJOS (C) Si calculamos los valores de las potencias de i, encontramos que: con n N + y 0 p < 4

Factorización de polinomios. Profa. Anneliesse Sánchez y Profa. Caroline Rodriguez Departamento de Matemáticas Universidad de Puerto Rico

Criptosistemas basados en curvas hiperelípticas

Exámenes de álgebra básica de enero de Grupos 1 y 3.

ARITMÉTICA II. Adolfo Quirós. COMPLEMENTOS PARA LA FORMACIÓN DISCIPLINAR EN MATEMÁTICAS Curso

Teoría de anillos. Dominios, cuerpos y cuerpos de fracciones.

Sistemas de claves públicas y privadas

Álgebra Básica. Departamento de Álgebra.

Teoría de Números. UCR ECCI CI-0111 Estructuras Discretas Prof. Kryscia Daviana Ramírez Benavides

Capítulo 1. Numeración 1 Variables... 2 Números naturales... 2 Números enteros... 3 Números reales Ejercicios Orden y valor absoluto...

Álgebra Básica. Departamento de Álgebra (2n 1) = n 2,

Dominios Euclideos. Eugenio Miranda Palacios

Tema 8.- Anillos y cuerpos

Fundamentos matemáticos del método RSA

SOLUCIONARIO GUÍA A

2. Obtener, por ensayo y error, una aproximación del entero más grande. Sugerencia: leer n y escribir n y n+1. (Puede ser muy largo el ensayo).

LEYES DE COMPOSICIÓN INTERNA Y ELEMENTOS DISTINGUIDOS

AMPLIACIÓN DE MATEMÁTICAS. a = qm + r

Transcripción:

Seguridad Informática Fundamentos Matemáticos de la Criptografía Ramón Hermoso y Matteo Vasirani Universidad Rey Juan Carlos

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

Divisibilidad I Sea Z el conjunto de los números enteros Se dice que a b (a divide a b) si c : b = a c Si a > 0, a 1, a b, decimos que a es factor de b Un número b es primo si no tiene factores, es decir, sus únicos divisores son 1 y b Si un número no es primo, se llama compuesto

Divisibilidad II Teorema de la división a,b > 0, q,r únicos tales que: a = b q + r con 0 r b donde q se denomina cociente y r resto

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

Aritmética modular I Sea a Z y n > 0 a mod n resto al dividir a entre n Definición: a b mod n si [a mod n] = [b mod n] a b mod n n (b a) k : b a = k n Operaciones: suma y producto [a + b mod n] = [a mod n] + [b mod n] [a b mod n] = [a mod n] [b mod n]

Aritmética modular II Congruencias Cierto número a es congruente con otro cierto número b módulo n, si y solo si se obtiene el mismo resto al hacer ambas divisiones. Se denota mediante: a = b mod n

Aritmética modular III Operaciones: división a/b mod n (si la división es entera no hay problema) La división se define como la multiplicación con el inverso El inverso de un número es otro número que multiplicado por el primero sea igual a 1 Si dado b, c tal que b c = 1 (mod n), decimos que b tiene inverso c = b 1 Por lo tanto, definimos a/b = a b 1 (mod n)

Aritmética modular IV Ejemplo Inversos mod n Teorema: b es invertible mod n si y sólo si mcd(b,n) = 1 3 11 = 33 = 1 (mod 16) 3 es invertible y 3 1 = 11 En la igualdad 6 = 22 mod 16 podemos dividir entre 3: 6/3 = 22/3 = 22 11 = 242 = 2 mod 16 Ejercicio: Dividir por 5 la siguiente congruencia: 27 = 10 mod 17. Hacer lo mismo para 27 = 61 mod 17

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

Grupos I Un grupo es un conjunto G de elementos y de una operación binaria interna que cumple: a (b c) = (a b) c (Asociativa) e : a e = e a = a (Elem. neutro) g h : g h = h g = e (Elem. Inverso) Si a b = b a (Conmutativa), entonces G es un grupo abeliano Un subgrupo es un grupo contenido dentro de otro

Grupos II Notación aditiva: g + h Elemento neutro: 0 El elemento inverso de g se denota g g + g +... + g = m g Notación multiplicativa: g h Elemento neutro: 1 El elemento inverso de g es g 1 g g... g = g m Por convenio: g 0 = 1 y g m = (g 1 ) m

Grupos III El orden de un grupo finito es el número de elementos que lo compone Teorema: G es un grupo de orden m g G : g m = 1 mod N Corolario: g : g i = g [i mod m] Corolario: e > 0 con MCD(e,m) = 1 1 f e : g g e es una permutación de G 2 Si d = e 1 mod m f d es la inversa de f e Permutaciones Permutación e inversión permiten cifrar y descifrar!!!

Grupos IV Ejemplos: Z N = {0,1,...,N 1}, donde = + mod N es un grupo. ORDEN: N (GRUPO ADITIVO - ) Z N = {a {1,...,N 1}} : MCD(a,N) = 1 con = mod N es un grupo. ORDEN φ(n) (GRUPO MULTIPLICATIVO - ) (función de Euler) Función de Euler Si p es primo φ(p) = p 1 Si p,q son primos φ(p q) = (p 1) (q 1) En general: φ(ab) = φ(a) φ(b) si a y b no tienen factores primos comunes φ(p e ) = p e 1 (p 1)

Grupos cíclicos I Sea G un grupo finito de orden m y g G < g >= {g 0,g 1,g 2,...} (subgrupo generado por g) Orden de g: menor i tal que g i = 1 mod N < g >= {g 0,g 1,g 2,...,g i 1 } g x = g y x = y (mod i)

Grupos cíclicos II Si g tiene orden m < g >= G y decimos que G es cíclico, es decir, G = {g 0,g 1,g 2,...,g m 1 } y g recibe el nombre de generador de G Si g tiene orden i entonces i m Consecuencia: si G tiene orden primo p entonces G es cíclico y todos los elementos de G menos el 1 son generadores

Grupos cíclicos III Ejemplos Z N es cíclico para todo N Z p es cíclico si p es primo En Z 15 2 es generador, 3 no Z 8 no es cíclico Z 10 es cíclico En Z 7 3 es generador, 2 no

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

El problema del logaritmo discreto (DLP) I G =< g > de orden q Dado h G existe un único x Z q tal que g x = h Decimos que x = log g (h) Ejemplo: Solución: 6 Z 11 =< 7 > log 7 (4) =?

El problema del logaritmo discreto (DLP) II El problema del logaritmo discreto (DLP) Consiste en obtener el valor de y en x = a y mod n Equivalente a y = log a (x) Problema duro o difícil si ningún adversario PPT A lo resuelve con probabilidad no despreciable Especialmente en los grupos Z p con p primo (y suficientemente grande) Se usa comúnmente en criptosistemas de clave pública (p. ej. en el de Diffie-Hellman o en el de ElGamal)

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

Notas: Intercambio de claves Diffie-Hellman I Problemas Diffie-Hellman: 1 Diffie-Hellman computacional (CDH): Dados h,k G encontrar l G tal que cumpla que: si h = g x,k = g y entonces l = g xy 2 Diffie-Hellman decisional (DDH): Distinguir entre (g x,g y,g z ) vs. (g x,g y,g xy ) donde x,y,z se eligen al azar Relación de resolución de problemas: Resolver DLP Resolver CDH Resolver DDH

El problema de factorizar I 1 Se eligen x,y enteros de n bits al azar 2 Se calcula N = x y 3 El adversario A recibe N y devuelve x, y 4 Si x y = N entonces se dice que Succ(A,n) = 1

El problema de factorizar II No parece muy complicado. Por ejemplo, podemos inferir que, con probabilidad del 75% N es par También es fácil si x o y tienen factores primos pequeños Esto sugiere elegir x, y primos Se cree que, de esta forma, el problema de factorizar es difícil

Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo discreto (DLP) 5 Notas: Diffie-Hellman 6 Notas: RSA

El problema RSA 1 Se generan p,q primos de n bits al azar 2 N = p q 3 Se genera e tal que mcd(e,φ(n)) = 1 4 Se elige y Z N al azar 5 El adversario A recibe (e,y); devuelve x 6 Si x e = y entonces decimos que Succ(A) = 1

Relación de RSA con factorizar I Teorema Si se sabe factorizar N se puede resolver RSA Se calcula φ(n) = (p 1) (q 1) Se calcula d = e 1 mod φ(n) Solución: y d porque (y d ) e = y de = y mod N

Relación de RSA con factorizar II Por lo tanto, RSA podría ser tan difícil como factorizar o algo más fácil No se conoce respuesta a esta conjetura

Generando primos al azar Para producir instancias de RSA o DLP hemos visto que se necesita generar números primos, a veces cumpliendo ciertas condiciones Cómo se hace? Se generan números al azar a los que se pasa un test de primalidad

Pruebas de primalidad En la década de los 70 aparece el primer test de primalidad eficiente (probabilístico) Los más eficientes (por ejemplo el Miller-Rabin) son probabilísticos: Entrada primo devuelve primo siempre Entrada número factorizable devuelve compuesto excepto con pequeña probabilidad (falsos positivos)