viernes, 26 de junio de 2015

IMPLEMENTACIÓN DE LA EXPONENCIACIÓN MODULAR EN Z


La exponenciación modular es un tipo de exponenciación realizada sobre un módulo. Es particularmente útil en ciencias de la computación, especialmente en el campo de la criptografía.

Algoritmo:
Entrada:  a E Zn , k E Z  tal que 0 ≤ k < n
Salida : ak mod n
 int exp=1;
 int xp= a%n;
 Mientras (k>0) Hacer     
     si(k%2!=0) 
                         exp= (exp*xp)%n;
             fin si
     xp=(xp*xp)%n;
     k= k/2;
     Fin Mientras
 Retornar (exp)
Implementación:

public int CalcularExp(int a,int k,int z)
    {
        int exp=1;
        int xp=a%z;
        while(k>0)
        {
            if((k%2)!=0)
            {
                exp=(exp*xp)%z;
            }
            xp=(xp*xp)%z;
            k=k/2;
        }
        return exp;
    }
banner
Previous Post
Next Post

Hola, me llamo Andrés.Soy egresado de la carrera de Ingeniería Informática en la Universidad Nacional de Trujillo (Perú).Me considero autodidacta de corazón ,amante del mundo de la programación, software libre y hacking ético

1 comentario: