RSA: Implementación. Ya resolvimos (3), ahora vamos a resolver (2). IIC3242 Complejidad Probabiĺıstica 28 / 77



Documentos relacionados
RSA: Implementación. Ya resolvimos (3), ahora vamos a resolver (2). IIC3242 Complejidad Probabiĺıstica 28 / 77

RSA: Autentificación y firma digitales

RSA: Autentificación y firma digitales

Algoritmos en teoría de números

Un tercer ejemplo: verificación de primalidad

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

Teoría elemental de números

Polinomios. 1.- Funciones cuadráticas

MATEMÁTICAS 5º PRIMARIA DIVISIBILIDAD: MÚLTIPLOS Y DIVISORES

Índice La División Entera El Máximo Común Divisor Algoritmo de Euclides Ecuaciones Diofánticas Factorización. Aritmética I.

Multiplicación de matrices simétricas

Algoritmo de Euclides

Definición de la matriz inversa

RSA funciona correctamente

Matrices escalonadas y escalonadas reducidas

El Algoritmo de Euclides

Práctica 2 - Ejercicio 2.8

Divisibilidad y congruencias

Criptografía y Seguridad Computacional Clase 7: 13/04/2016. En esta clase introduciremos algunos algoritmos básicos en teoría de números.

4. " $#%&' (#) para todo $#* (desigualdad triangular).

Matemática Discreta. Tijani Pakhrou

Nosotros trabajaremos generalmente con K = R ó K = C (y alguna vez con K = Q). Así:

ANILLOS DE POLINOMIOS. Sea A un anillo conmutativo. El conjunto A[X] de polinomios sobre A esta formado por los elementos

CURSOSO. Aritmética: Númerosnaturalesyenteros. Númerosracionalesyfraciones. MATEMÁTICAS. AntonioF.CostaGonzález

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

IIC1253. IIC1253 Una introducción a la teoría de números (y a la criptografía) 1/45

Números enteros. Dado cualquier número natural, éste siempre será menor que su sucesor, luego los naturales son ordenados.

Euclides Extendido y Teorema Chino del Resto

Cardinalidad. Teorema 0.3 Todo conjunto infinito contiene un subconjunto infinito numerable.

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

Cuatro Problemas de Álgebra en la Olimpiada Internacional de Matemáticas.

Ejercicios de Álgebra Básica. Curso 2015/16

Operaciones lógicas principales: Negación, Conjunción y Disyunción

Números naturales, principio de inducción

Tema 2. Divisibilidad. Múltiplos y submúltiplos.

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo.

Curso Propedéutico de Cálculo Sesión 2: Límites y Continuidad

Criptografía de clave pública Sistemas basados en el problema de la mochila

Fracciones. 1. Concepto de fracción 1.a. Las fracciones en nuestra vida Lee el texto de pantalla. 1.b. Definición y elementos de una fracción

Espacios Normados (Normas en R n )

Sucesiones. Se llama sucesión a un conjunto de números dispuestos uno a continuación de otro.

Congruencias. Definición de congruencia. Primeras propiedades

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

FRACCIONES. FRACCIÓN: es una o varias partes iguales en que se divide la unidad.

MATEMÁTICA MÓDULO 1 Eje temático: Números y proporcionalidad

Análisis de Algoritmos

Sigma-álgebras. Requisitos. Operaciones con conjuntos, operaciones con familias de conjuntos.

CEIP Mediterráneo. 1º relación de divisibilidad: múltiplos y divisores.

Análisis de Algoritmos

Problemas de 4 o ESO. Isaac Musat Hervás

Los conjuntos de números Q, IR y C verifican siempre que la suma y el producto de dos elementos

La herramienta ArtEM: Aritmética Entera y Modular

Taller matemático. Razonamiento. Cristóbal Pareja Flores antares.sip.ucm.es/cpareja Facultad de Estadística Universidad Complutense de Madrid

GUÍA NÚMERO 1. Saint Gaspar College MISIONEROS DE LA PRECIOSA SANGRE Formando Personas Íntegras Departamento de Matemática RESUMEN PSU MATEMATICA

si este límite es finito, y en este caso decimos que f es integrable (impropia)

Práctica 2 Métodos de búsqueda para funciones de una variable

Introducción a la Matemática Discreta

Funciones exponenciales y logarítmicas

Demostrando cotas inferiores: Arboles de decisión

Sucesiones y series de números reales

Qué sabemos sobre RP co-rp?

Ecuaciones matriciales AX = B y XA = B. Cálculo de la matriz inversa

Transformada Z. Jose Salvador Cánovas Peña

Funciones de varias variables

Matemáticas I: Hoja 1

Espacio de Funciones Medibles

1) Indique los primeros elementos de los siguientes conjuntos numéricos: Números Naturales: IN = { Números Cardinales: IN o = { 0,1,2,3,4,5,6,7,...

Unidad 1: Números reales.

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

Ejercicios resueltos de progresiones aritméticas

a = mq m (a)+r m (a) y 0 r m (a) < b

Tema 2 Divisibilidad

TEMA 1: NÚMEROS NATURALES, DIVISIBILIDAD 1º ESO. MATEMÁTICAS

TEORIA DE NUMEROS. Temas: MAXIMO COMUN DIVISOR ALGORITMO MCD(A,B) IDENTIDAD DE BEZOUT ALGORITMO ST(A,B) EL TEOREMA FUNDAMENTAL DE LA ARITMETICA.

Universidad Politécnica de Puerto Rico Departamento de Ciencias y Matemáticas. Preparado por: Prof. Manuel Capella-Casellas, M.A.Ed.

Apunte de Teoría de Números

MÚLTIPLOS Y DIVISORES DIVISIBILIDAD M.C.D. y M.C.M. Un número es múltiplo de otro si se obtiene multiplicando este último por un número natural.

Seminario de problemas-bachillerato. Curso Hoja 4

NÚMEROS NÚMEROS REALES

Complementos de Matemáticas, ITT Telemática

Problemas recursivamente enumerables

Ámbito Científico-Tecnológico Módulo III Bloque 3 Unidad 2 Cuanto más, mejor y viceversa

Dr. Mauro Gutierrez Martinez Dr. Christiam Gonzales Chávez

En este capítulo obtendremos los resultados básicos del cálculo diferencial para funciones reales definidas sobre R o sobre intervalos.

Problemas recursivamente enumerables

Tema 3: Ecuaciones diofánticas, congruencias y criterios de. divisibilidad. Índice. J. Sendra, E. Martín, A. Méndez y C. Ortiz.

Algoritmo de Euclides y ecuaciones de congruencia

Introducción a la Matemática Discreta. Grado en Ingeniería Informática. Informática de Computadores. 22 de Diciembre de Grupo 3.

Selectividad Junio 2007 JUNIO 2007

Apuntes de Matemática Discreta 2. Operaciones con Conjuntos

LAS FRACCIONES. Si el numerador es menor que el denominador, la fracción es menor que

Introducción al Tema 9

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

Tema 4 Probabilidad condicionada: teoremas básicos. Independencia de sucesos

2. ARITMÉTICA ENTERA El conjunto de los números enteros. Águeda Mata y Miguel Reyes, Dpto. de Matemática Aplicada, FI-UPM. Conjuntos de números

Tema 4: Múltiplos y Divisores

Una sucesión infinita es una función cuyo dominio es el conjunto de los enteros positivos. Podemos denotar una sucesión como una lista

Objetivos formativos de Álgebra

CINCO JUEGOS PARA TRABAJAR LOS CONCEPTOS MÚLTIPLOS, DIVISORES Y NÚMEROS PRIMOS JUEGO 1

Transcripción:

RSA: Implementación Para poder implementar RSA necesitamos algoritmos eficientes para los siguientes problemas: (1) Generar primos P y Q (2) Generar números e y d tales que e d modφ(n) = 1 (3) Calcular funciones E y D Ya resolvimos (3), ahora vamos a resolver (2). IIC3242 Complejidad Probabiĺıstica 28 / 77

Máximo común divisor Sea MCD(a,b) el máximo común divisor de los números a y b Cómo podemos calcular MCD(a,b)? Proposición Si b > 0, entonces MCD(a,b) = MCD(b,a modb) Demostración: Vamos a demostrar que un número c divide a a y b si y sólo si c divide a b y a mod b. De esto se concluye que MCD(a, b) = MCD(b, a mod b) IIC3242 Complejidad Probabiĺıstica 29 / 77

Máximo común divisor Sabemos que a = α b + (a modb) ( ) Suponga que c a y c b. Dado que (a modb) = a α b, concluimos que c (a mod b). ( ) Suponga que c b y c (a mod b). Dado que a = α b + (a modb), tenemos que c a. IIC3242 Complejidad Probabiĺıstica 30 / 77

Cálculo de máximo común divisor De lo anterior, concluimos la siguiente identidad: { a b = 0 MCD(a,b) = MCD(b,a mod b) b > 0 Podemos usar esta identidad para generar un algoritmos recursivo para calcular el máximo común divisor. Cuál es la complejidad del algoritmo? IIC3242 Complejidad Probabiĺıstica 31 / 77

Cálculo de máximo común divisor Lema Si a b y b > 0, entonces (a mod b) < a 2 Demostración: Si b > a 2 : a modb = a b < a a 2 = a 2 IIC3242 Complejidad Probabiĺıstica 32 / 77

Cálculo de máximo común divisor Si b < a 2, existe k tal que a 2 < k b a. Por lo tanto: a modb a k b < a a 2 = a 2 Si b = a 2 (a debe ser par): a modb = 0 < b a IIC3242 Complejidad Probabiĺıstica 33 / 77

Cálculo de máximo común divisor Concluimos que el algoritmo basado en la identidad calcula MCD(a,b) en tiempo O(log a). Pero este algoritmo puede hacer más! Puede ser extendido para calcular s y t tales que MCD(a,b) = s a + t b Vamos a usar este algoritmo para calcular los coeficiente d y e usados en RSA. Vamos a usar este algoritmo para calcular inversos modulares IIC3242 Complejidad Probabiĺıstica 34 / 77

Algoritmo extendido para calcular el máximo común divisor Suponga que a b, y defina la siguiente sucesión: r 0 r 1 = a = b r i+1 = r i 1 mod r i (i 2) Calculamos esta sucesión hasta un número k tal que r k = 0 Tenemos que MCD(a,b) = r k 1 IIC3242 Complejidad Probabiĺıstica 35 / 77

Algoritmo extendido para calcular el máximo común divisor Al mismo tiempo calculamos sucesiones s i, t i tales que: r i = s i a + t i b Tenemos que: MCD(a,b) = r k 1 = s k 1 a + t k 1 b Sean: s 0 = 1 t 0 = 0 s 0 = 0 t 0 = 1 Se tiene que: r 0 r 1 = s 0 a + t 0 b = s 1 a + t 1 b IIC3242 Complejidad Probabiĺıstica 36 / 77

Algoritmo extendido para calcular el máximo común divisor Dado que r i 1 = r i 1 r i r i + r i 1 mod r i, tenemos que: r i 1 = r i 1 r i + r i+1 r i Por lo tanto: s i 1 a + t i 1 b = r i 1 r i (s i a + t i b) + r i+1 Concluimos que: r i+1 = (s i 1 r i 1 r i s i ) a + (t i 1 r i 1 r i t i ) b Definimos entonces: s i+1 t i+1 = s i 1 r i 1 r i s i = t i 1 r i 1 r i t i IIC3242 Complejidad Probabiĺıstica 37 / 77

Algoritmo extendido para calcular el máximo común divisor Ejemplo Vamos a usar el algoritmo para a = 60 y b = 13. Inicialmente: r 0 = 60 s 0 = 1 t 0 = 0 r 1 = 13 s 1 = 0 t 1 = 1 Entonces tenemos que: r 2 = r 0 modr 1 s 2 = s 0 r 0 s 1 r 1 t 2 = t 0 r 0 r 1 t 1 IIC3242 Complejidad Probabiĺıstica 38 / 77

Algoritmo extendido para calcular el máximo común divisor Example (Continuación) Por lo tanto: r 2 = 8 s 2 = 1 t 2 = 4 Y el proceso continua: r 3 = 5 s 3 = 1 t 3 = 5 r 4 = 3 s 4 = 2 t 4 = 9 r 5 = 2 s 5 = 3 t 5 = 14 r 6 = 1 s 6 = 5 t 6 = 23 r 7 = 0 s 7 = 13 t 7 = 60 Tenemos que: 1 = 5 60 + ( 23) 13 IIC3242 Complejidad Probabiĺıstica 39 / 77

Inverso modular Definición b es inverso de a en módulo n si a b 1mod n Para el caso de RSA: d es inverso de e en módulo φ(n) En el ejemplo: 37 es inverso de 13 en módulo 60 Todo número tiene inverso modular? No: 2 no tiene inverso en módulo 4 Bajo qué condiciones a tiene inverso en módulo n? Cómo podemos calcular este inverso? IIC3242 Complejidad Probabiĺıstica 40 / 77

Inverso modular: Existencia Teorema a tiene inverso en módulo n si y sólo si MCD(a,n) = 1 Demostración: ( ) Suponga que b es inverso de a en módulo n Entonces: a b 1mod n Se deduce que a b = α n + 1, por lo que 1 = a b α n Concluimos que si c a y c n, entonces c 1 Por lo tanto c debe ser igual a 1, de lo que concluimos que MCD(a,n) = 1 IIC3242 Complejidad Probabiĺıstica 41 / 77

Inverso modular: Existencia ( ) Suponga que MCD(a,n) = 1 Ejecutando el algoritmo extendido para el cálculo del máximo común divisor obtenemos s y t tales que: 1 = s n + t a Por lo tanto: a t 1mod n Concluimos que a tiene inverso en módulo n Pregunta final: Es necesario suponer que n a en esta parte de la demostración? IIC3242 Complejidad Probabiĺıstica 42 / 77

Cálculo de exponentes e y d en RSA Recuerde que en RSA: N = P Q y φ(n) = (P 1) (Q 1) Tenemos que generar e y d tales que e d 1mod φ(n) Tenemos los ingredientes necesarios para generar e y d: genere al azar un número e while MCD(e,φ(N)) > 1 do genere al azar un número e calcule s y t tales que 1 = s φ(n) + t e sea d {0,...,φ(N) 1} tal que d t modφ(n) return (e, d) IIC3242 Complejidad Probabiĺıstica 43 / 77