martes, 2 de julio de 2013

Alice, Bob y Eve (Diffie–Hellman key exchange) [Reporte 1 [R1]]


Tarea Realizada para la Materia de Seguridad de la información y criptografía Protocolos [Reporte 1 [R1]]

Protocolo:
1- Alice y Bob deciden públicamente un primo p y un generador g ∈ Zp. (que pertenezca al grupo Zp)
2- Alice genera x envía f(X) a Bob,    f(X) = g^x mod p.
3- Bob genera y envía f(Y) a Alice,    f(Y) = g^y mod p.
4- Alice calcula s = f(Y)^x mod p
5- Bob calcula s = f(X)^y mod p
6- Alice y Bob ahora comparten un secreto s. (Esto se debe a que x*y es lo mismo que y*x. Así que alguien que conocía a estos dos números enteros privados también podrían haber calculado s de la siguiente manera:
 s =  (g ^x*y mod p) mod p
Tando Alice y Bob han llegado al mismo valor, porque
(g^x)^y    &     (g^y)x son iguales mod p            

Utilizando el metodo que vimos en clase
def potmod(x,pot,mod):#x numero, pot potencia, mod si es binario es 2 :l          
    bi=pot
    res=1
    temp=x
    while bi >0:
        if bi %2 ==1:
            res=(res*temp)%mod
        temp=(temp*temp)%mod
        bi= bi >> 1
    return res




y para comprobar:


La intervención de Eve:
Eve tiene que realizar operaciones prueba con los datos que ella conoce los cuales son:
 p=11                       g=3              f(X)=5            f(Y)=3
con los cuales realizara operaciones prueba para encontrar los supuestos valores de x y lo que se tiene que hacer para descubrir la clave secreta que hay entre Alice y Bob
Kf(Y)^x mod  = f(X)^y mod 
es lo siguiente:
tomar el generador elevándolo a números prueba iniciando en 1 realizando modulo del 11:
R= 3^ n  mod  11
hasta que sea 5 o 3:
 3^1 mod 11= 3
3^2 mod 11= 9
3^3 mod 11= 5
3^4 mod 11= 4
y tomando los exponentes que dieron al resultado se realiza el calculo de K

K= 3^3 mod 11      =        5^1 mod 11 
K=5

cuando Eve tiene la clave con la que ellos logran obtener el mensaje del otro ella puede escuchar todo lo que Alice y Bob se envian.




"Toda la seguridad es inherente en el conocimiento de la clave y ninguna es inherente en el conocimiento de la algoritmo ".

1 comentario: