Universidad Católica San Pablo Programa de Ciencia de la Computación
ESTRUCTURAS DISCRETAS III
Ana Maria Maria Cuadros Cuadros Valdi Valdivia via
1
OBJETIVO
Conocer las técnicas y métodos de encriptación de datos aplicando conceptos de teoría de números y álgebra abstracta cta.
2
Aplica icar con conceptos de álgebra relacio cional. P r o .f M g . A n a M a r i a C u a d r o s
OBJETIVO
Conocer las técnicas y métodos de encriptación de datos aplicando conceptos de teoría de números y álgebra abstracta cta.
2
Aplica icar con conceptos de álgebra relacio cional. P r o .f M g . A n a M a r i a C u a d r o s
CONTENIDO
Teoría de números
3
An Intro troduct ductiion to math mathem emaatic tical Cryp ryptograp grap h y, y, Hoffstein, Hoffstein, Jeffrey; Jeffrey; Pip h er, er, Jill; Silverman, Ed. Ed. 2008 , . . 1997. P r o .f M g . A n a M a r i a C u a d r o s
UNIDAD UNID AD 2 TEORIA DE NÚMEROS Cap.. 4 (4.3,4.4, Cap (4.3,4.4,4.5) 4.5) - Grim Grimald aldii
4
TEORIA DE NÚMEROS
Divisibilidad Divisibilidad y m.c.d. m.c.d. (algoritmo (algoritmo de Euclides) Euclides).. 1. 2. 3. . 5. 6.
5
Divisibilidad División de los enteros Máximo común divisor. divisor. . Teorema fundamental de la aritmética. Aplicaciones: Ecuación Linear Diofántica. P r o .f M g . A n a M a r i a C u a d r o s
Introducción TEORIA DE NUMEROS
6
Criptografía moderna construida por: algebra y teoría de números. La teoría de números es una rama de las matemáticas que se ocupa del estudio de los números enteros y sus propiedades.
P r o .f M g . A n a M a r i a C u a d r o s
Introducción Conjunto de enteros
7
, , comutativa, asociativa, distributiva). Z bajo la suma y multiplicación : ANILLOS P r o .f M g . A n a M a r i a C u a d r o s
Introducción OPERACIONES BINARIAS
8
Operaciones binarias: dos entradas, una salida Criptografía: suma, resta y multiplicación
P r o .f M g . A n a M a r i a C u a d r o s
Introducción OPERACIONES BINARIAS
9
P r o .f M g . A n a M a r i a C u a d r o s
1. CONCEPTO DE DIVISIBILIDAD
10
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: DIVISIBILIDAD Sean a y b enteros, b ≠ 0. Se dice que “b divide a a” si existe un entero n que satisface
a=b×n b es un divisor de a, o a es múltiplo de b. Notación: b|a “b divide a a” si el resto es cero de lo contrario a ł b 11
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo : DIVISI B ILIDAD: a = b.n
12
El entero 4 divide al entero 32 porque 32= 4 x 8
El número 8 no divide al número 42 porque 42=8x5+2. .
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplos : DIVISI B ILIDAD: a = b.n
21 = 3.7 3 divide a 21 => 3|21. El cociente “n” es 7 3 es un divisor o factor de 21.
13
-3|18 18 = (-3)(-6) a|0 0 = (a)(0)
P r o .f M g . A n a M a r i a C u a d r o s
Propiedades DIVISIBILIDAD
Para todo a, b, c, ∈ Z, se cumple lo siguiente:
Propiedad 1: if a|1, then a = ±1. Propiedad 2: if a|b and b|a, then a = ±b. Propiedad 3: if a|b and b|c, then a|c. Propiedad 4: if a|b and a|c, then a|(m × b + n × c), donde m y n son enteros arbitrarios. 14
P r o .f M g . A n a M a r i a C u a d r o s
Propiedades DIVISIBILIDAD a. 13|78, 7|98, -6|24, 4|44 y 11|(-33) b. 13ł27, 7ł50, -6ł23, 4ł41 y 11ł(-32) c. Desde que 3|15 y 15|45→3|45 (iii
prop). d. Desde que 3|15 y 3|9 (vi prop) 3|(15x2 + 9x4), que significa 3|66
15
P r o .f M g . A n a M a r i a C u a d r o s
Propiedades DIVISIBILIDAD Hecho 1: El entero 1 tiene un solo divisor, el mismo Hecho 2: Cualquier entero positivo tiene al menos 2 divisores, 1 y el mismo (puede tener más).
16
32 tiene 6 divisores: 1, 2, 4,8 ,16 y 32
P r o .f M g . A n a M a r i a C u a d r o s
2. DIVISIÓN DE LOS ENTEROS
17
P r o .f M g . A n a M a r i a C u a d r o s
Definición: ALGORITMO DE LA DIVISION
Si a,b Є Z, con b > 0, entonces existen q, r Є Z únicos tales que:
a = q × b + r con 0 ≤ r < b
18
El residuo de una división se denota como “a mod b”, mientras el cociente se denota como a div b. Si a=16 y b=3 => 16 = 3.5 + 1, por tanto q=5, r=1
P r o .f M g . A n a M a r i a C u a d r o s
Definición: ALGORITMO DE LA DIVISION Dos restricciones:
19
Divisor un entero positivo (b>0) Resto un entero no negativo (r≥0)
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplos: Algoritmo de la división: a = qb + r , con 0 ≤ r < b
a=98 y b = 7
a=-45 y b = 8
20
a=170 y b = 11 170 = 15.11 + 5 donde 0 ≤ 5 < 11
a=20 y b = 3
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplos: Algoritmo de la división: a = qb + r , con 0 ≤ r < b Convertir un número decimal a base b
21
Ex presar el decimal 91 en base 2
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplos: Algoritmo de la división: a = qb + r , con 0 ≤ r < b Convertir un número decimal a base b
22
Ex presar el decimal 6137 en base octal
P r o .f M g . A n a M a r i a C u a d r o s
4. M XIMO COM N DIVISOR
23
P r o .f M g . A n a M a r i a C u a d r o s
DIVISOR COMÚN
24
.
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: DIVISOR COMÚN Para a, b Z, un entero positivo c es un divisor común de a y b si c|a y c|b.
25
Los divisores comunes de 42 y 70 son: 1, 2, 7 y 14.
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: Divisor Común
Los divisores positivos de 30 son: 1, 2, 3, 5, 6, 10, 15, 30 Los divisores positivos de 105 son: 1, 3, 5, 7, 15, 21, 35, 105
Entonces los divisores comúnes de 30 y 105 son: 1, 3, 5, 15 => mcd(30,105) = 15 26
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: MÁXIMO COMÚN DIVISOR mcd(a,b)=d Se dice que un entero no negativo d es el máximo común divisor de los enteros a y b,
El entero más grande d tal que d|a y d|b d es divisor común de a y b; y
Para cualquier a,b Z+, existe un único d Z+ que es el máximo común divisor de a, b. Ejemplo: Los divisores comunes de 12 y 18 son {1,2,3,6} y mcd(12,18) = 6
27
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: MÁXIMO COMÚN DIVISOR
Si mcd(a,b) es 1 => a|b está simplificada. Se dice que a y b son primos relativos o co-primos. Ejemplo: 3 |8 es simplificada porque mcd(3,8) es 1.
28
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: ALGORITMO DE EUCLIDES
Basado en los siguientes hechos:
Hecho 1 : mcd(a, 0) = a Hecho 2: mcd (a, b) = mcd (b, r), donde r
29
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: ALGORITMO DE EUCLIDES
Si a, b Z+ aplicamos el algoritmo de la división como sigue: 0 < r1 < b 0 < r2 < r1 0 < r3 < r2
a = q1b + r1, b = q2r1,+r2, r1 = q3r2,+r3,
… i
i+2 i+1,
i+2,
…. rk-2 = qkrk -1,+rk rk -1 = qk+1 rk
i+2
i+1
0 < rk < r k
-1
Entonces, r k , el último resto distinto de cero, es igual a mcd(a,b ) Si a, b Z+ con a > b, entonces el mcd(a,b) = mcd(b, a mod b) 30
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: ALGORITMO DE EUCLIDES
Determinar el m.c.d. de 250 y 111, expresado como combinación lineal de los enteros. a=q b
+ r
250 = 2 (111) + 28 0 < 2 8 < 111 = 2 8 = 1 (27) + 1 0 < 1 < 27 27 = 27 (1) + 0 mcd(250,111) = 1 31
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: ALGORITMO DE EUCLIDES
32
mcd(4864,3458)
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: ALGORITMO DE EUCLIDES
mcd(4864,3458) a
= q
b
+ r
4864 = 1 (3458) + 1406 3458 = 2 (1406 ) + 646 = 646 = 5 ( 114) + 76 114 = 1 ( 76) + 38 76 = 2 ( 38) + 0 mcd(4864,3458) = 38 33
P r o .f M g . A n a M a r i a C u a d r o s
ALGORITMO DE EUCLIDES
34
P r o .f M g . A n a M a r i a C u a d r o s
ALGORITMO DE EUCLIDES
35
Encontrar el mcd de 2740 y 1760
Mcd (2740,1760) = 20
P r o .f M g . A n a M a r i a C u a d r o s
ALGORITMO DE EUCLIDES Cuando mcd (a, b) = 1, decimos que a y b son relativamente primos.
36
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: ALGORITMO EXTENDIDO DE EUCLIDES
El algoritmo extendido de Euclides puede ser fácilmente extendido para que aunado a la obtención del m.c.d.(a,b) = d, encuentre además la solución:
a x + by = d como una combinación lineal de a y b
37
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: ALGORIT MO EXTENDIDO DE EUCLIDES Mcd(250,111) 250 = 2 (111) + 28 111 = 3 (28 ) + 27 28 = 1 (27) + 1
mcd(250,111) = 1
38
ax + by =d 250(4) + 111(-9) = 1
1 = 28 - 1 (2 7) 1 = 28 - 1 (111 – 3 (28)) 1 = -1(111) + 4 (28) – 1 = -1(111) + 4(250) – 8(111) 1 = -9(111) + 4(250) P r o .f M g . A n a M a r i a C u a d r o s
ALGORITMO EXTENDIDO DE EUCLIDES
a x + by = d Casos bases:
39
Paso 1: lo =a y l1 = b, lo= 1*a + 0*b
1
0
l1= 1*a + 0*b
0
1
Paso 2: Encontrar los valores para xi+1, yi + 1 - xi+1 = xi -1 – qi.x - yi+1 = yi -1 – qi.y
P r o .f M g . A n a M a r i a C u a d r o s
ALGORIT MO EXTENDIDO DE EUCLIDES
40
P r o .f M g . A n a M a r i a C u a d r o s
ALGORIT MO EXTENDIDO DE EUCLIDES
41
P r o .f M g . A n a M a r i a C u a d r o s
ALGORIT MO EXTENDIDO DE EUCLIDES
42
Dados a=161 y b =28, encontrar el mcd(a,b) y los valores de x, y Mcd(161,28)=7, x=-1, y =6
P r o .f M g . A n a M a r i a C u a d r o s
ALGORIT MO EXTENDIDO DE EUCLIDES
43
P r o .f M g . A n a M a r i a C u a d r o s
ALGORIT MO EXTENDIDO DE EUCLIDES
Colorario:
44
Siendo d el mcd(a,b). Entonces d es el entero positivo más pequeño tal que para algunos enteros x e y : d= ax + by Lema: Si a, b y c son enteros positivos tal que mcd(a,b) =1 y a|bc entonces a|c P r o .f M g . A n a M a r i a C u a d r o s
5. ECUACIONES DIOFANTICAS
45
P r o .f M g . A n a M a r i a C u a d r o s
Pasos: Ec. Diafantica a x + by = c
Calcular d=mcd(a,b) por el algoritmo de Euclides. Comprobar si d|c,
46
si no divide, no existen soluciones enteras, termina. De lo contrario c=d.e
El par x0, y0 = (xe,ye) es una solución particular de ax+by=c Se usa el concepto de la ec. Diofántica para encontrar la solución general.
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: Ec. Diafóntica
47
Consideremos la ecuación 1492x + 1066y = -4
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: Ec. Diafóntica
48
Al ayudar a los estudiantes en sus cursos de programación, Juan observa que en promedio puede ayudar a un estudiante a depurar un programa en Pascal en 6 minutos, pero tarda 10 . Si trabajó en forma continua durante 104 minutos y no desperdició tiempo, ¿Cuántos programas depuró en cada lenguaje?
P r o .f M g . A n a M a r i a C u a d r o s
2. N MEROS PRIMOS
49
P r o .f M g . A n a M a r i a C u a d r o s
Definiciones: NÚMEROS PRIMOS
Para todo n Z+, n tiene al menos dos divisores positivos: 1 y el mismo n.
Todos los demás enteros positivos (mayores que 1 y que no sean rimos se llaman com uestos.
50
2, 3, 5, 7, 11, 13, 17, …
4,10,16 y 21
Si n Z+ y n es compuesto, entonces existe un primo tal que p|n. Existe una infinidad de primos.
P r o .f M g . A n a M a r i a C u a d r o s
5. TEOREMA FUNDAMENTAL DE LA ARITMETICA
51
P r o .f M g . A n a M a r i a C u a d r o s
Teorema fundamental de la Aritmética
52
Cada entero n>1 puede escribirse como un producto de sus primos de forma única, excepto por el orden de estos.
Donde todos los pt son primos distintos, mientras que los kt son enteros positivos mayores o iguales a 0.
P r o .f M g . A n a M a r i a C u a d r o s
Ejemplo: Teorema fundamental de la Aritmética
Para el entero 980220, podemos determinar la factorización como producto de primos 980220 = 21(490110)=22(245055)=2231(81685) 2 1 1
2 1 1
1
= 22.31 .51 .171.312
53
P r o .f M g . A n a M a r i a C u a d r o s
Teorema Sean m y n enteros mayores que 1, con factorizaciones primas: m = p a p a ...pka 1
1
2
2
j
Y n = p b p b ...pkb 1
1
2
2
j
=> mcd(m,n) = p min(a ,b ) p min(a ,b ) ...pkmin(a , b ) 1
54
1
1
2
2
2
j
j
P r o .f M g . A n a M a r i a C u a d r o s