Matemáticas Modular
Matemáticas Modular
Matemáticas Modular
r1 = p i c Y b = p j c c/a
1
a< b
1. ALGORITMO PARA ENCONTRAR EL MCD ENTRE 2 NMEROS Ejercicio 1: Utilizando el algoritmo anterior encuentre el MCD de 296 y 814 (muestre cada una de las iteraciones del algoritmo) Ejercicio 2: Implemente el algoritmo anterior utilizando el lenguaje y herramienta de su preferencia
DEFINICION: DEL INVERSO DE UN NUMERO EN ARITMETICA MODULAR SEAN A Y M DOS NUMEROS ENTEROS POSITIVOS (A, M) N, TAL QUE mcd(A, M) = 1, LO QUE SIGNIFICA QUE A Y M NO TIENEN FACTORES COMUNES, ES DECIR, SON PRIMOS RELATIVOS. SE DESEA ENCONTRAR UN NUMERO B N, TAL QUE: (B x A) mod M = 1. SI EXISTE ESTE NUMERO B SE DEFINE COMO B = A- 1 mod M PROCEDIMIENTO: SI A Y M SON NUMEROS PRIMOS RELATIVOS, ENTONCES mcd (A, M) = 1 Y
rn = 1 rn + 1 = 0 rn - 1 = rn qn + 1 + rn + 1 rn - 2 = rn - 1 q n + rn 1 = rn - 2 - r n - 1 q n
EN GENERAL, UNA ITERACION ESTA DADA POR:
1 =
rk - 1 +
rk
4
1 = S1 A S2 M
OBSERVESE QUE SI SE CUMPLE QUE: S1 > 0, ENTONCES S = A 1 DADO QUE (BA) mod M = 1 BA = qM + 1 LO CUAL SUPONE QUE: 1 = BA qM, QUE ES SIMILAR A 1 = S1 A S2 M. 0 NOTESE QUE: ((M + A POR LO TANTO:
A) mod M = 0 + 1
5
INICIE
i = N G = - Q(i) P = 1 Ti = G T = P G T - Q(i - 1) Ti P Ti i = i - 1 F V
A- 1 = M + G V G< 0 F
PARE
i = 1
A- 1 = G 6
R =
3. SE UTILIZA EL ALGORITMO PARA EL CALCULO DEL INVERSO DE UN NUMERO EN ARITMETICA MODULAR. i = 4 G = - Q(4) = - 3 P = 1 T4 <- G = -3 T <- P = 1 i = 3
G = T Q(3)T4 = 1 - 1* (- 3) = 4
A- 1 = 32
8
METODO DEL CRIBADO DEL GRIEGO ERATOSTENES ESCRIBIR TODOS LOS NUMEROS ENTEROS DESDE 2 HASTA k. ENCERRAR EN CIRCULO EL NUMERO 2 Y ELIMINAR TODOS SUS MULTIPLOS. ENCERRAR EN CIRCULO EL NUMERO 3 Y ELIMINAR TODOS SUS MULTIPLOS. ENCERRAR EN CIRCULO EL NUMERO 5 Y ELIMINAR TODOS SUS MULTIPLOS. CONTINUAR HASTA QUE NO SE PUEDAN ELIMINAR MAS NUMEROS. AL FINAL SOLO QUEDAN LOS NUMEROS PRIMOS. EL METODO ES APROPIADO PARA NUMEROS DE CIERTA LONGITUD, PERO CUANDO EL NUMERO a DEL CUAL SE QUIERE DETERMINAR SU PRIMALIDAD CUENTA CON UNA LONGITUD DE 20 O MAS CIFRAS EL METODO ANTERIOR NO ES EL MAS APROPIADO METODO DE SOLOVAY STRASSEN ES UN METODO PROBABILISTICO PARA DETERMINAR LA PRIMALIDAD DE UN NUMERO a DE LONGITUD MUY GRANDE, CON CIERTA PROBABILIDAD. EL METODO ES FUNDAMENTALMENTE UTILIZADO CUANDO EL METODO DE ERATOSTENES RESULTA INEFICIENTE (NUMEROS CON UNA GRAN CANTIDAD DE DIGITOS).
10
DEFINICION: EL SIMBOLO DE JACOBI, DENOTADO POR J(a, n), ES UNA GENERALIZACION DEL SIMBOLO DE LEGENDRE Y SE DEFINE PARA CUALQUIER PAREJA DE ENTEROS a Y n. LA FUNCION DE JACOBI SE UTILIZA PRINCIPALMENTE EN PRUEBAS PARA DETERMINACION DE SI UN NUMERO ES PRIMO O NO CARACTERISTICAS: SI n ES PRIMO, ENTONCES J(a, n) = 1 SI a ES UN RESIDUO CUADRATICO EN mod n. SI n ES PRIMO, ENTONCES J(a,n) = - 1 SI a ES UN NO RESIDUO CUADRATICO EN mod n. SI n ES UN NUMERO COMPUESTO, ENTONCES J(a, n) = J(h, p1) x . . . . J(h, pm), DONDE p1 . . . pm SON LOS FACTORES PRIMOS DE n. ALGORITMO DE CALCULO DEL SIMBOLO DE JACOBI EN FORMA RECURSIVA. 1. J(1, k) = 1 2. J(a x b, k) = J(a; k) x J(b, k) 3. J(2, k) = 1 SI (k2 - 1)/8 PAR = -1 SI (k2 - 1)/8 IMPAR 4. 5. J(b, a ) = J((b mod a), a) SI mcd (a, b) = 1 5.1 J(a; b) x J(b, a) = 1 SI (a - 1)(b - 1)/4 PAR 5.2 J(a; b) x J(b, a) = - 1 SI (a - 1)(b - 1)/4 IMPAR
13
METODO DE SOLOVAY - STRASSEN PARA DETERMINAR LA PRIMALIDAD DE UN NUMERO. SI a PERTENECE A {1, 2, 3, . . .b - 2, b - 1} SE DEBEN PROBAR LAS SIGUIENTES CONDICIONES: MCD (a, b) = 1. J(a, b) = L(a, b) = a(b - 1)/2 MOD b SI b ES UN NUMERO PRIMO LA SEGUNDA CONDICION SIEMPRE ES CIERTA. SI b ES UN NUMERO COMPUESTO (ES EL PRODUCTO DE FACTORES PRIMOS), LA SEGUNDA CONDICION SE CUMPLE CON PROBABILIDAD DE 1/2. POR TANTO, DESPUES DE CULMINAR CON XITO LA PRUEBA PARA 100 DIFERENTES VALORES DE a, LA PROBABILIDAD DE QUE EL NUMERO SEA COMPUESTO ES DE 2- 100 QUE PARA EFECTOS PRACTICOS ES 0. PARA FACILITAR EL CALCULO DEL SIMBOLO DE JACOBI SE HA DESARROLLADO UN ALGORITMO RECURSIVO QUE ES EL QUE SE PRESENTA A CONTINUACION.
14
INICIO
a = 1?
J(a, b) = 1
a ES PAR ?
m = p1 p2 ... p n
B UN ENTERO QUE NO DIVIDE A O(m) A UN ENTERO MENOR QUE m. ENTONCES:
AB = AB mod O(m) (mod m) PRUEBA: SEA z = B mod O(m) ENTOCES B = K O(m) + z. SE SUPONE QUE
z > 0. SEA pk UNO DE LOS FACTORES DE m. SI A NO DIVIDE A pk ENTONCES POR EL TEOREMA DE FERMAT ES POSIBLE ESCRIBIR: A Y COMO pk - 1
pk - 1 = 1 (mod pk)
22
SI A DIVIDE A pk LA CONGRUENCIA SE SATISFACE TRIVIALMENTE YA QUE z > 0. POR LO TANTO LA CONGRUENCIA ES VALIDA PARA TODO VALOR DE A. SI SE APLICA ESTE MISMO PROCEDIMIENTO PARA TODOS pk SE CONCLUYE QUE: A kO(m) + Z = AZ (mod p1 p2 . . . pn) ES DECIR QUE: AB = AB mod O(m) (mod m) UTILIZACION DE LA FUNCION TOTIENT LA FUNCION O(n) ES DE UNA GRAN UTILIDAD EN CRIPTOGRAFIA POR LAS SIGUIENTES RAZONES: SE PUEDE POSTULAR LA SIGUIENTE IGUALDAD CON BASE EN EL TEOREMA ANTERIOR: (AB) mod C = (AB mod O(C)) mod C SI O(C) < B SE REDUCE LA COMPLEJIDAD EN EL CALCULO DE EXPRESIONES EXPONENCIALES
23
EJEMPLO (129) mod 7 = (129 mod O(7)) mod 7 = (129 mod 6)) mod 7 = (123) mod 7 = 6 (256121) mod 124 = (256 121 mod O(124)) mod 124 O(124) = O(31 x 4) = O(31) x O(4) = 30 x 2 = 60 (256 121 mod 60) mod 124 = (256 1) mod 124 = 8 TEOREMA : (AB x CD) mod E = {(AB) mod E x (CD) mod E} PRUEBA : ASUMASE LO SIGUIENTE: (AB) mod E = s1 (CD) mod E = s2 AB = q1 E + s1 Y CD = q2 E + s2 AB x CD = (q1 E + s1 )(q2 E + s2 ) = q1 q2 E2 + (s1 q2 + s2 q1)E + s1 s2 (AB x CD) mod E = (s1 s2 ) mod E = {(AB) mod E x (CD) mod E} mod E EJEMPLO DE APLICACIN: {(128)343} mod 527
:\FIGUERED\POWER\UDIS\SEGUREDES\CURSO
24
128 mod 527 = 128 (128 2 mod 527) mod 527 = (128 mod 527)2 mod 527 = 47 (128 4 mod 527) mod 527 = ((128 2 mod 527) mod 527)2 = 472 mod 527 = 101 (128 16 mod 527) mod 527 = ((128 4 mod 527) mod 527)4 mod 527 = 1014 mod 527 = 35 (128 64 mod 527) mod 527 = ((128 16 mod 527) mod 527)4 mod 527 = 354 mod 527 = 256 (128 256 mod 527) mod 527 = ((128 64 mod 527) mod 527)4 mod 527 = 2564 mod 527 = 35 128 mod 527 x (128 2 mod 527) mod 527 = 128 x 47 mod 527 = 219
:\FIGUERED\POWER\UDIS\SEGUREDES\CURSO
25
= 373 (128 64 mod 527) mod 527 x (128 256 mod 527) mod 527 = 256 x 35 mod 527 = 1 (128343) mod 527 = (219 x 373 x 1) mod 527 = 2
26