You are on page 1of 26

Clculos del Mximo Comn

Divisor

ALGORITMO DE EUCLIDES

Ejemplo: mcd(320,296)
320 = 276 1 + 44
276 = 44 6 + 12

44

= 12 3 +

12

1 +

2 +

Empieza dividiendo dos nmeros.


Escribiendo el resultado de la forma
a = bq + r
a>b, 0<=r<b

Ejecutar hasta que el resto sea igual a


cero.
El ltimo resto no-cero es el mcd.

En este caso, (320, 296) = 4.

Ejemplo: mcd(346, 592)= 2


592 = 346 1 + 246
346 = 246 1 + 100

246 = 100 2 + 46
100 = 46 2 +

46

5 +

1 +

3 +

Ejercicios
MCD(4864, 3458) = 38
MCD(54, 240)
= 6
MCD(674, 308)
= 2

ALGORITMO EXTENDIDO DE
EUCLIDES

Algoritmo Extendido de Euclides


Teorema de Bzout
Dados dos enteros positivos a y b con d=mcd(a,b),
existen enteros x, y tal que
ax + by = d
Por ejemplo: mcd(324, 148) = 4, retornado
324 16 + 148 (-35) = 4.
Cmo se encuentran los valores de x, y?

Usando el Algoritmo de Euclides


Se usa el algoritmo de Euclides para obtener los valores de x, y.
Pasos:
1. Calcule el algoritmo de euclides
2. Despeje los restos (excepto para el ltimo resto)

324 = 148 2 + 28

28

= 324 +(-2) 148

148 = 28 5 +

= 148 +(-5) 28

28

3 +

= 28 +(-3) 8

2 +

Paso 3. Sustitucin
Encontrar los valores de X, Y tal que
4 = x 148 + y 324.

En el lenguaje de lgebra lineal, queremos expresar 4


como una combinacin linear de 148 y 324.
Note que la ltima ecuacin tiene una combinacin
linear de 28 y 8, que no es lo que queremos.
4

= 28 +(-3) 8

Paso 3. Sustitucin
Entonces que hacemos? Use la ecuacin previa para
substituir en la ecuacin de combinacin linear.
Simplificamos la ecuacin, pero slo de los nmeros
que estn fuera en las cajas.
4

= 28 +(-3) 8

= 28 +(-3) ( 148 +(-5) 28 )

= 16 28 +(-3) 148

Paso 3. Sustitucin
Tenemos ahora
4

= 16 28 +(-3) 148

Que expresa 4 cmo una combinacin linear


de 28 y 148.
Continua sustituyendo, en cada paso con la
ecuacin previa.

Paso 3. Sustitucin
4

= 16 28 +(-3) 148

= 16 ( 324 +(-2) 148 ) +(-3) 148

= 16 324 +(-35) 148

Finalmente tenemos los valores de x, y.


Garantizando el teorema de Bzout.

Ejercicio
Use el algoritmo de Euclides para calcular
(15, 36) = 3.
Exprese 3 como una combinacin linear de 15
y 36 = 15x + 36y.
3 = 15 5 + 36 (-2)

IMPLEMENTACION DEL ALGORITMO


DE EUCLIDES

Bsico
integer euclid(m, n)
x = m, y = n

while( y > 0)
r = x mod y
x=y
y=r
// I = I + 1!clculo de interacciones!
return x
Cuntas interacciones se necesitan para terminar el
proceso?

Algunas propiedades del algoritmo


de Euclides
Propiedades binarias:
i. Si x , y son ambos pares, entonces
a. MCD(x, y) = 2 MCD(x/2, y/2);
ii. Si x es par, y es impar, entonces
a. MCD(x, y) = MCD(x/2, y);

b. MCD(x,y) = MCD(x-y, y).


iii. Si x , y son ambos impares, entonces x-y
es par y |x-y| < max(x, y).

Algoritmo MCD binario


Entrada: x, y enteros positivos tales que x > y.
Salida: w = MCD(x, y).
1. for (k = 0; u, v ambos pares; k++) {
u /= 2; v /= 2;
};
/* [Encuentra potencia de 2] (bitwise) */
2. [Inicializa] if (x is odd) t =-v else t = x;
3. [bisecta t] while (t is even) t /= 2;
4. if (t > 0) x = t else y = -t;
5. [Substrae] t = x-y. If t 0 go back to 3, otherwise
output w = u2k.

Algoritmo MCD binario


Encuentre el MCD de x =40902, y = 24140

Algoritmo del Mnimo Resto


Podemos acelerar la convergencia cuando en
alguna divisin r > b/2.
P1 Leer a y b
P2
r = resto de dividir a entre b
P3
si r = 0 entonces mcd(a, b) = b FIN
P4
si r > b/2 entonces a = b, b = b r
P5
si no, entonces a = b, b = r
P6 ir al Paso 2

Algoritmo del Mnimo Resto


MCD(21,13)

Algoritmo Extendido de Euclides

Algoritmo Extendido de Euclides


Encuentre los Benzout para a=1769 y b=551

EJERCICIOS PRESENTACIN ESCRITA


(INDIVIDUAL) 05/09/2016

Encontrar todas las soluciones enteras de x,y


para
1234x + 5678y=910
19201x + 3587y=d
5280x + 3600y=d

Cifrado Affin: Explique su respuesta.


Cifre el mensaje inversa con claves a=5 y b=9.
Alicia usa la siguiente funcin para enviar el
mensaje comenow a Bob:
E(x) = 21x + 7

IMPLEMENTACION Y ANALISIS DE
CODIGO 19/09/2016

Algoritmo MCD binario


Algoritmo de Euclides con Menor Resto
Algoritmo LSBGDC(left-shift binary algorithm)
Algoritmo del mcd de Lehmer
Algoritmo Extendido de Euclides
Algoritmo MCD binario extendido
Referencias:
Clculo del mximo comn divisor:Porqu no se usa el
algoritmo de Euclides?. Walter Mora F. Revista digital
Matemtica, Educacin e Internet. Vol. 10, No 2. Marzo
2010.
Handbook of Applied Cryptography . (Cap 2.4.2 y 14.4)
http://cacr.uwaterloo.ca/hac/

You might also like