PROYECTO DE PYTHON BÁSICO
PROGRAMA DE TECNOLOGÍA EN CÓMPUTO
Enero 2018
CIFRADO CÉSAR
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 codificación 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.
Se pide lo siguiente:
Una función que realice el cifrado del texto para un n dado.
Una función que realice el descifrado del texto para un n dado.
Ejemplo para un desplazamiento n=3; Texto original: “Todo lo que se preguntaba eran las mismas
respuestas que buscamos el resto de nosotros. De dónde vengo, A dónde voy, Cuánto tiempo tengo.
Todo lo que pude hacer fue sentarme y ver como moría.”
Texto codificado: “wrgr or txh vh suhjxqwded hudq odv plvpdv uhvsxhvwdv txh exvfdprv ho
uhvwr gh qrvrwurv. gh góqgh yhqjr, d góqgh yrb, fxáqwr wlhpsr whqjr. wrgr or txh sxgh kdfhu
ixh vhqwduph b yhu frpr pruíd.”
NOTAS:
Los caracteres especiales (puntos, comas…) no se encriptan
Los espacios no se encriptan
Vamos a usar solo caracteres en minúscula, no caracteres especiales ni acentuados
El mapeo da la vuelta de modo que “x” se mapea en “a” y así sucesivamente.
Deberás ignorar espacios al contar los desplazamientos.
Para descifrar el mensaje simplemente se invierte el proceso
PROGRAMA DE TECNOLOGÍA EN CÓMPUTO
ESPECIFICACIONES DEL PROGRAMA
- Escribir un programa que pueda descifrar y codificar un mensaje.
- El programa debe contener un menú con las siguientes opciones:
1.- Codificar mensaje
2.- Descifrar mensaje
3.- Salir
- Cuando se entre a cada opción se le preguntará al usuario el desplazamiento del cifrado.
- Una vez asignado el desplazamiento, el usuario deberá ingresar el mensaje a codificar o
descifrar dependiendo del caso.
- El mensaje se deberá escribir únicamente en minúsculas
- Ya que se escribió el mensaje, el programa nos debe devolver el mensaje ya sea codificado
o descifrado según sea el caso.
- El programa debe seguirse ejecutando a menos que el usuario decida salirse
ENTREGABLES
- Se debe entregar el código fuente, es decir su archivo con extensión .py
- Generar el ejecutable del código (archivo .exe)
- Capturas de pantalla para verificar que el programa es funcional
- (Opcional) Comentario sobre el curso
- Todo lo anterior en un archivo .rar o .zip
CONSIDERACIONES
- El código debe de ser lo más sencillo posible (pythonico)
- Su código debe de estar documentado de acuerdo como se vio en clase.
PUNTOS EXTRA
- Cada línea del código comentada.
- Cuando se muestre el mensaje codificado/descifrado, mostrar en pantalla el caracter más
usado el mensaje
- Que el programa soporte mensajes con mayúsculas y minúsculas