Está en la página 1de 63

Universidad Catlica San Pablo

Programa de Ciencia de la Computacin

ALGEBRA ABSTRACTA

Ana Maria Cuadros Valdivia

1
OBJETIVO
Conocer las tcnicas y mtodos de encriptacin

de datos aplicando conceptos de teora de


nmeros y lgebra abstracta.

Prof. Mg. Ana Maria Cuadros


2
Criptografa
UNIDAD 1

3
Definicin
Criptografa
Cryptography :
Kryptos: Ocultar
Grphien: Escribir

Estudio de mtodos para enviar y recibir


mensajes por medio de un algoritmo, usando
una o ms claves.
Cifrar: Transformar un texto plano en texto cifrado.

Prof. Mg. Ana Maria Cuadros


Descifrar: Operacin inversa, transformar un texto
cifrado en un texto plano.

4
Proceso de Cifrado y Descifrado
Criptografa
Intruso
MENSAJE
ORIGINA
L

Receptor
CIFRADO DESCIFRAD
Emisor O

Prof. Mg. Ana Maria Cuadros


MENSAJE
Canal Inseguro MENSAJE
ORIGINA ORIGINA
5
L L
Criptografa Tradicional
TRANSPOSICIN SUSTITUCIN

GRUPOS MONOALFABTICA POLIALFABTICA

ESCTALA

MONOGRMICA POLIGRMICA NO PERIDICA PERIDICA


SERIES

COLUMNAS VERNAM

FILAS N-GRMICA
DIGRMICA
LINEALES PROGRESIVOS
ALFABETO
PLAYFAIR HILL
ESTNDAR
ENIGMA

Prof. Mg. Ana Maria Cuadros


ALFABETO ALFABETO ALFABETO
CSAR
MIXTO ESTNDAR MIXTO
AFN
OTROS VIGENRE OTROS

6
Cifrado de Csar
Sustituye una letra del alfabeto por otra: clave 3

Mensaje : hola
Mensaje encriptado:

Prof. Mg. Ana Maria Cuadros


Mensaje : paz clave 4
Mensaje encriptado:

7
Cifrado de Csar

Prof. Mg. Ana Maria Cuadros


Mensaje : paz clave 4
Mensaje encriptado:

8
Cifrado de Csar

Mensaje : Paz
Clave : 5

Mensaje encriptado: uigwz

Prof. Mg. Ana Maria Cuadros


9
Prof. Mg. Ana Maria Cuadros
Cifrado por Bloques

10
Cifrado de Feistel
Mensaje: M = STAR WARS, LA MISIN CONTINA

M = STAR WARS, LA MISIN CONTINA


M1 = STAR WARS LAMI SION CONT INUA
S1 = TUBS WARS MBNJ SION DPU INUA Si: Mi +1 mod 27
P1 = BUST WARS NBJM SION PUD INUA Pi: 3241

M2 = WARS BUST SION NBJM INUA PUD


Segunda
S2 = XBST BUST TJP NBJM JVB PUD
P2 = SBTX BUST PJT NBJM VBJ PUD vuelta

Prof. Mg. Ana Maria Cuadros


C = SBTX BUST PJT NBJM VBJ PUD
Cifrados de clave pblica
Criptografa RSA
Escoger dos nmeros primos distintos p y q, y
multiplicarlos obteniendo un nmero n.
77
24152531111715249931151329153211

Fcil de hacer, difcil de deshacer


Multiplicar 2 nmeros primos.
Factorizar N y encontrar los primos

Prof. Mg. Ana Maria Cuadros


12
Referencias bibliogrficas
Handbook of Applied Cryptography, Alfred Menezes,
Paul van Oorschot, Scott Vantone, CRC Press, 1996.

Prof. Mg. Ana Maria Cuadros


13
Teora de Nmeros
UNIDAD 2

Cryptography and Network Security (Behrouz Forouzan)


Mathematics of Cryptography
Part I: Modular Arithmetic, Congruence,
and Matrices

14
Introduccin
TEORIA DE NUMEROS
Criptografa moderna construida por: algebra y teora
de nmeros.
RSA:
cmo encontrar nmeros primos y cmo factorizarlos?
cmo calcular el m.c.d. de dos nmeros?
Potencia de enteros

La teora de nmeros es una rama de las matemticas


que se ocupa del estudio de los nmeros enteros y sus
propiedades.

Prof. Mg. Ana Maria Cuadros


15
Introduccin
Conjunto de enteros

Los enteros: suma, resta, multiplicacin (leyes


comutativa, asociativa, distributiva).
Z bajo la suma y multiplicacin : ANILLOS

Prof. Mg. Ana Maria Cuadros


16
Introduccin
OPERACIONES BINARIAS
Definicin:
Una operacin binaria * en un conjunto, es una regla
que asigna a cada par ordenado de elementos de un
conjunto, algn elemento del conjunto
Ejemplo:
a) Defnase en Z+ una operacin binaria * por a*b que es
igual al mnimo entre a y b o al valor comn si a=b.

b) Defnase en Z+ una operacin binaria * por a*b= a

Prof. Mg. Ana Maria Cuadros


c) Defnase en Z+ una operacin binaria * mediante a*b=
(a*b)+2 donde * est definida por el ejemplo a)

17
Introduccin
OPERACIONES BINARIAS
Definicin:
Una operacin binaria * en un conjunto S es
conmutativa si y solo si a*b=b*a para todo a,b S. La
operacin * es asociativa si y solo si (a*b) * c=a*(b*c)
para todo a,b,c S

Prof. Mg. Ana Maria Cuadros


18
Introduccin
OPERACIONES BINARIAS
Operaciones binarias: dos entradas, una salida
Criptografa: suma, resta y multiplicacin

Prof. Mg. Ana Maria Cuadros


19
Introduccin
OPERACIONES BINARIAS

Prof. Mg. Ana Maria Cuadros


20
Divisin de Enteros
Si dividimos a por n, obtenemos q y r.

a=qn+r

Ejemplo:
a= 255
n= 11
q=23

Prof. Mg. Ana Maria Cuadros


r=2

21
Prof. Mg. Ana Maria Cuadros
Dos restricciones

22
Ejemplo a=qn+r
a= -255
n = 11

Prof. Mg. Ana Maria Cuadros


23
Ejemplo a=qn+r
a= -255
n = 11

Prof. Mg. Ana Maria Cuadros


24
Funcin mdulo: a = q . n + r
Para convertir el mdulo a positivo:
Decrementar el valor de q en uno.
Adicionar el valor de n a r para convertirlo a positivo

Prof. Mg. Ana Maria Cuadros


25
1. CONCEPTO DE
DIVISIBILIDAD

Prof. Mg. Ana Maria Cuadros


26
Definiciones:
RELACION DE DIVISIBILIDAD EN Z

a=qn
Observacin: si n divide a tambin decimos que:
n es un divisor de a
a es un mltiplo de n
n es un factor de a
a es divisible por n

Prof. Mg. Ana Maria Cuadros


Notacin: n|a n divide a a si el resto es cero de lo contrario
ab

27
Ejemplo :
DIVISI B ILIDAD: a = b.n
El entero 4 divide al entero 32 porque 32= 4 x 8

El nmero 8 no divide al nmero 42 porque 42=8x5+2.


Hay un resto.

Prof. Mg. Ana Maria Cuadros


13|78, 7|98, -6|24, 4|44 y 11|(-33)
1327, 750, -623, 441 y 11(-32)
28
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.

-3|18
18 = (-3)(-6)
a|0

Prof. Mg. Ana Maria Cuadros


0 = (a)(0)

29
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.

Prof. Mg. Ana Maria Cuadros


Propiedad 4: if a|b and a|c, then
a|(m b + n c), donde m
y n son enteros arbitrarios.
30
Propiedades
DIVISIBILIDAD
a. Desde que 3|15 y 15|45
b. Desde que 3|15 y 3|9

Prof. Mg. Ana Maria Cuadros


31
Propiedades
DIVISIBILIDAD
a. Desde que 3|15 y 15|453|45 (iii
prop).
b. Desde que 3|15 y 3|9 (iv prop)
3|(15x2 + 9x4), que significa 3|66

Prof. Mg. Ana Maria Cuadros


32
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 ms).

Prof. Mg. Ana Maria Cuadros


32 tiene 6 divisores: 1, 2, 4,8 ,16 y 32

33
Prof. Mg. Ana Maria Cuadros
2. MXIMO COMN DIVISOR

34
DIVISORES COMUNES DE DOS ENTEROS

Prof. Mg. Ana Maria Cuadros


35
Definiciones:
DIVISOR COMN
Para a, b Z, un entero positivo c es un divisor
comn de a y b si c|a y c|b.

Los divisores comunes de 42 y 70 son: 1, 2, 7 y 14.

Prof. Mg. Ana Maria Cuadros


36
Definiciones:
MXIMO COMN DIVISOR mcd(a,b)=d
Se dice que un entero positivo d es el mximo comn
divisor de los enteros a y b,
d es divisor comn de a y b;
El entero ms grande d tal que d|a y d|b

Ejemplo:
Los divisores comunes de 12 y 18 son {1,2,3,6} y

Prof. Mg. Ana Maria Cuadros


mcd(12,18) = 6

37
ALGORITMO DE EUCLIDES
Basado en los siguientes hechos:

Hecho 1 : mcd(a, 0) = a
Hecho 2: mcd (a, b) = mcd (b, r), donde r
es el resto de dividir a por b

Ejemplo: mcd(36,10)

Prof. Mg. Ana Maria Cuadros


38
Definiciones:
ALGORITMO DE EUCLIDES
Si a, b Z+ aplicamos el algoritmo de la divisin como sigue:

a = q1b + r1, 0 < r1 < b


b = q2r1,+r2, 0 < r 2 < r1
r1 = q3r2,+r3, 0 < r 3 < r2

ri = qi+2ri+1,+ri+2, 0 < ri+2 < ri+1
.
rk-2 = qkrk -1,+rk 0 < rk < r k -1
rk -1 = qk+1 rk

Prof. Mg. Ana Maria Cuadros


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)

39
Ejemplo:
ALGORITMO DE EUCLIDES
Determinar el m.c.d. de 250 y 111, expresado
como combinacin lineal de los enteros.
a=q b + r
250 = 2 (111) + 28 0 < 2 8 < 111
111 = 3 ( 2 8 ) + 27 0 < 27 < 111
2 8 = 1 (27) + 1 0 < 1 < 27
27 = 27 (1) + 0

Prof. Mg. Ana Maria Cuadros


mcd(250,111) = 1

40
Ejemplo:
ALGORITMO DE EUCLIDES
mcd(4864,3458)

Prof. Mg. Ana Maria Cuadros


41
Ejemplo:
ALGORITMO DE EUCLIDES
mcd(4864,3458)
a = q b + r
4864 = 1 (3458) + 1406
3458 = 2 (1406 ) + 646
1406 = 2 ( 646) + 114
646 = 5 ( 114) + 76
114 = 1 ( 76) + 38
76 = 2 ( 38) + 0

Prof. Mg. Ana Maria Cuadros


mcd(4864,3458) = 38

42
Prof. Mg. Ana Maria Cuadros
ALGORITMO DE EUCLIDES

43
ALGORITMO DE EUCLIDES
Encontrar el mcd de 2740 y 1760
Encontrar el mcd de 25 y 60

Prof. Mg. Ana Maria Cuadros


44
ALGORITMO DE EUCLIDES
Encontrar el mcd de 2740 y 1760

Prof. Mg. Ana Maria Cuadros


Mcd (2740,1760) = 20

45
ALGORITMO DE EUCLIDES
Encontrar el mcd de 25 y 60

Prof. Mg. Ana Maria Cuadros


Mcd (25, 60) = 5

46
ALGORITMO DE EUCLIDES

Cuando mcd (a, b) = 1, decimos que a y b


son relativamente primos.

Prof. Mg. Ana Maria Cuadros


47
Definiciones:
ALGORITMO EXTENDIDO DE EUCLIDES
El algoritmo extendido de Euclides puede ser
fcilmente extendido para que aunado a la
obtencin del m.c.d.(a,b) = d, encuentre adems
la solucin:

a x + by = d

como una combinacin lineal de a y b

Prof. Mg. Ana Maria Cuadros


48
Ejemplo:
ALGORIT MO EXTENDIDO DE EUCLIDES
Mcd(250,111)

250 = 2 (111) + 28 1 = 28 - 1 (2 7)
111 = 3 (28 ) + 27 1 = 28 - 1 (111 3 (28))
28 = 1 (27) + 1 1 = -1(111) + 4 (28)
27 = 27 ( 1) + 0 1 = -1(111) + 4 (250 2(111))
1 = -1(111) + 4(250) 8(111)
mcd(250,111) = 1 1 = -9(111) + 4(250)

ax + by =d

Prof. Mg. Ana Maria Cuadros


250(4) + 111(-9) = 1

49
ALGORIT MO EXTENDIDO DE EUCLIDES

Prof. Mg. Ana Maria Cuadros


50
ALGORIT MO EXTENDIDO DE EUCLIDES

Prof. Mg. Ana Maria Cuadros


51
ALGORIT MO EXTENDIDO DE EUCLIDES
Dados a y b, encontrar el mcd(a,b) y los valores de x, y
a=161 y b =28
a=17 y b =0
a= 0 y b =45

Prof. Mg. Ana Maria Cuadros


52
ALGORIT MO EXTENDIDO DE EUCLIDES
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

Prof. Mg. Ana Maria Cuadros


53
a = 17 and b = 0,

Solucin
mcd (17, 0) = 17, s = 1, and t = 0.

Prof. Mg. Ana Maria Cuadros


2.54
a = 0 and b = 45

Solucin
mcd(0, 45) = 45, s = 0, t = 1.

Prof. Mg. Ana Maria Cuadros


2.55
3. ECUACIONES DIOFANTICAS

Prof. Mg. Ana Maria Cuadros


56
Ecuacin Linear Diofntica
Objetivo: Encontrar x, y que satisfagan la ecuacin

Una ecuacin diofntica tiene dos variables


ax + by = c.

Puede tener:
ninguna solucin : si dc
o infinitas soluciones : si d|c

Prof. Mg. Ana Maria Cuadros


57
Ecuacin Linear Diofntica
a x + by = c
Solucin Particular:
x0 = (c/d) *x y y0 = (c/d)* y

Solucin General :
x = x0 + k (b/d) e y = y0 k(a/d)

Prof. Mg. Ana Maria Cuadros


donde k is un entero

58
Pasos:
Ecuacin Linear Diofntica
a x + by = c
Calcular d=mcd(a,b) por el algoritmo de Euclides.
Comprobar si d|c,
si no divide, no existen soluciones enteras, termina.
De lo contrario :
Reducir la ec. dividiendo ambos lados de la ec. por d.
Encontrar x, y usando el alg. Extendido de Euclides
e= c/d

Prof. Mg. Ana Maria Cuadros


Encontrar el par x0, y0 = (xe,ye) es una solucin particular

Se usa la solucin general.

59
Ejemplo:
Ec. Diafntica
Encontrar la solucin particular y general de
21x + 14y = 35

a) mcd(21,14)
b) 21x + 14y = 35
c) x0 = (c/d) *x y0 = (c/d)* y
d) x = x0 + k (b/d) y = y0 k(a/d)

Prof. Mg. Ana Maria Cuadros


60
Ejemplo:
Ec. Diofntica
Encontrar la solucin particular y general de
21x + 14y = 35

Prof. Mg. Ana Maria Cuadros


61
Ejemplo:
Ec. Diafntica
Consideremos la ecuacin
1492x + 1066y = -4

Prof. Mg. Ana Maria Cuadros


62
Ejemplo:
Ec. Diafntica
Al ayudar a los estudiantes en sus cursos de
programacin, Juan observa que en promedio
puede ayudar a un estudiante a depurar un
programa en Pascal en 6 minutos, pero tarda 10
minutos en depurar un programa escrito en C++.
Si trabaj en forma continua durante 104 minutos
y no desperdici tiempo, Cuntos programas
depur en cada lenguaje?

Prof. Mg. Ana Maria Cuadros


63