Cesar

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

Disponible desde: domingo, 27 de noviembre de 2022, 17:00

Límite de entrega: jueves, 8 de diciembre de 2022, 20:00


Ficheros requeridos: Cesar.java ( Descargar)
Número máximo de ficheros: 4
Tipo de trabajo: Individual
Un campo en la informática es la codificación y decodificación de cadenas, para distintos
fines.

Existen muchos procedimientos que permiten hacer esto, entre los cuales se encuentran
aquellos que utilizan la sustitución simple de un caracter por otro.

Probablemente el método mas sencillo es el conocido como el Cesar, que usa una tecnica
de sustitución. Para ello, utiliza una rotación simple de los caracteres del alfabeto para el
reemplazo.

En este sentido el alfabeto es un conjunto de símbolos; puede incluir dígitos, símbolos


especiales u obviar algunas letras. Para efectos de este ejercicios la letras pueden estar en
minúsculas o mayúsculas, es indistinto; por supuesto para que el alfabeto tenga
consistencia, no pueden existir dos símbolos iguales.

Cada vez que se construye un cifrador Cesar, se requiere la información del alfabeto sobre
el cual se escriben las cadenas y un numero entero positivo que indica la rotación.

Por ejemplo, si se tiene:

alfabeto = {a,b,c,d,p,r,s,t, ,0,2}


rotacion = 3
Una cadena valida con este alfabeto es:

AbraCadrabaPatasDCabra 2020
la misma se codifica asi:

AbraCadrabaPatasDCabra 2020
A se reemplaza por d que esta a distancia 3 en el alfabeto
b se reemplaza por p que esta a distancia 3 en el alfabeto
...
0 se reemplaza por b que esta a distancia 3 en el alfabeto
Al final la cadena codificada queda:

dp drds dpdtd2d0srdp dacbcb


Para descifrar una cadena se hace el proceso inverso, por ejemplo si se quiere descifrar la
cadena:

dp datd2dardp d
el resultado será:
abra pata cabra
Debes notar que la aparición de una mayúscula o minúscula siempre genera una respuesta
en minúscula. Es válido asumir que los símbolos del alfabeto cuando se trata de letras
estarán en minúsculas.

Diseña e implementa una solución para construir cifradores Cesar (definir clase Cesar), que
permitan:

 construir un objeto de clase Cesar, dado el alfabeto y la rotación


 cifrar una cadena dada, cuya firma es:

public String cifrar(String cadena)

 decifrar una cadena dada, cuya firma es:

public String decifrar(String cadena)

Esta practica tiene puntuación para el examen de SP

También podría gustarte