sábado, 25 de julio de 2015

CIFRADO DE CESAR

En criptografía, el cifrado César, también conocido como cifrado por desplazamiento, código de César o desplazamiento de César, es una de las técnicas de cifrado más simples y más usadas. Es un tipo de cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. Por ejemplo, con un desplazamiento de 3, la A sería sustituida por la D (situada 3 lugares a la derecha de la A ), la B sería reemplazada por la E, etc. Este método debe su nombre a Julio César, que lo usaba para comunicarse con sus generales.


El cifrado César muchas veces puede formar parte de sistemas más complejos de codificación, como el cifrado Vigenère, e incluso tiene aplicación en el sistema ROT13. Como todos los cifrados de sustitución alfabética simple, el cifrado César se descifra con facilidad y en la práctica no ofrece mucha seguridad en la comunicación.

EXPLICACIÓN DEL ALGORITMO:


El proceso  empieza  transformando las letras  del alfabeto en números, por ello considerando a P  como el equivalente numérico  de una  letra  en el texto plano,  y C como el equivalente  de la correspondiente letra  en el texto  cifrado, tenemos  la siguiente expresión denominada transformación del César:




IMPLEMENTACIÓN:
Nota el presente algoritmo recibe como parámetro el numero de desplazamientos a realizar, el algoritmo por defecto realiza 3.


public class Cesar{ 
 
    public String cifrado(String frase, int n){ 
 
        int i,j; 
 
        char fraseCifrada[] = new char[frase.length()]; 
 
        fraseCifrada = frase.toCharArray(); 
 
        for(i=0;i< frase.length();i++){ 
            for(j=0;j< n;j++){ 
                if((fraseCifrada[i] > =65 && fraseCifrada[i] < 90) || (fraseCifrada[i] > =97 && fraseCifrada[i] < 122)){ 
                    fraseCifrada[i]++;               
                } 
                else if(fraseCifrada[i]==90) 
                    fraseCifrada[i]='A'; 
                else if(fraseCifrada[i]==122) 
                    fraseCifrada[i]='a'; 
            } 
        } 
 
        frase = String.valueOf(fraseCifrada); 
 
        return frase; 
    } 
 
     
        public String descifrado(String frase, int n){ 
 
        int i,j; 
 
        char fraseDescifrada[] = new char[frase.length()]; 
 
        fraseDescifrada = frase.toCharArray(); 
 
        for(i=0;i< frase.length();i++){ 
            for(j=0;j< n;j++){ 
                if((fraseDescifrada[i] > 65 && fraseDescifrada[i] < = 90) || (fraseDescifrada[i] > 97 && fraseDescifrada[i] < =122)){ 
                    fraseDescifrada[i]--;               
                } 
                else if(fraseDescifrada[i]==65) 
                    fraseDescifrada[i]='Z'; 
                else if(fraseDescifrada[i]==97) 
                    fraseDescifrada[i]='z'; 
            } 
        } 
 
        frase = String.valueOf(fraseDescifrada); 
 
        return frase; 
    } 
} 
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

2 comentarios:

  1. La concha de tu madre, tu codigo tiene errores puto. no me sirve x q no usas arduino lpmqlrmp. kys

    ResponderEliminar
  2. Three-reel slots come with multiple of} paylines ranging between one and nine. However, they allow a most bet of three coins on machines on every line. However, a machine with multiple of} paylines comes with a most bet that is the same as} the number of lines. One factor about|wonderful factor about|beauty of} five-reel slots is that they have more paylines, rising your odds of winning than with the three-reel slots. The machines would have a lever that gamers needed to drag to make a spin. Classic slots perfect for|are excellent for} new gamers attempting their luck in the 우리카지노 online betting industry.

    ResponderEliminar