NOMBRE DE LOS(AS) ESTUDIANTES DEL GRUPO FECHA ENTREGA – FECHA SUBIDA SEDE CARRERA NIVEL DOCENTE MODULO PUNTAJE MÁXIMO 35 PUNTAJE DE CORTE 24/11/2022 – 26/11/2022 Talca Ingeniería Civil Informática IV Eric Lillo Morales Teoría de la computación 21 PUNTAJE OBTENIDO CALIFICACIÓN FINAL INSTRUCCIONES • Desarrollar Libre. • La evaluación se desarrolla en parejas (2 personas). • Dispone de 3 días para su realización. • Se deberá analizar un caso de encriptación que nos remonta a la Segunda Guerra Mundial. • Por consiguiente, usted deberá crear un algoritmo que permita desencriptar un mensaje oculto. • El entregable es el algoritmo de desencriptación de mensajes y un .txt con la resolución de las PISTAS RESOLUCIÓN PROBLEMA. • Los estudiantes deben colocar los nombres de los integrantes al comienzo del algoritmo mediante comentarios de línea. • El documento debe ser subido al UCMVirtual en Unidad 2>Evaluación unidad, el día 26 DE NOVIEMBRE HASTA LAS 23:50 HRS. • Los indicadores del 2 al 7 de la rúbrica se aplican sólo sobre 50% de la implementación. 1 DESCRIPCIÓN DEL CASO Caso: 1 de septiembre de 1939 – 2 de septiembre 1945. Adolf Hiltler y su imperio Nazi da comienzo al holocausto más grande de la historia mundial. Los cuales iniciaron con el exterminio judío en sus tierras, para luego invadir 11 países más. Diferentes países veían expectantes el avance de la Alemania Nazi, entre ellos EE.UU., quien se ve involucrado tras el ataque a Pearl Harbor. “Los submarinos alemanes, como por arte de magia, hundían sin cesar los convoyes cargados de provisiones y armas que, a través del mar del Norte, se dirigían a Gran Bretaña desde Estados Unidos.” (Geographic, 2021) La única manera de poder anticiparse a los movimientos nazis era desencriptando los mensajes creados por la maquina Enigma. Alan Turing, genio matemático lógico e informático teórico, entre otros. Fue un hombre clave para la victoria británica en la Segunda Guerra Mundial, ya que, fue el primer hombre en poder descifrar los mensajes cifrados por Enigma, permitiendo la derrota de la Alemania Nazi. Figura 1: Alan Turing. Usted, junto a su compañero de equipo tendrá que desarrollar un algoritmo que permita la desencriptación de una serie de mensajes enviados por su docente. Figura 2: Alan Turing junto a la máquina que descifró el código "Enigma". 2 Mensajes a descifrar: • KYZKFKYF TFSKTYGPK W KFYKFKTI KTZXGFKTIXOVZGJU SKJOGTZKFKTIXOVZGIOUTFYOSKZXOIG KXOIFRORRU • OVJWOCYNYJDCSVSIKNY OBJNSBOKNYJZYAJTDVSYJMOBKA OXJBDJXYWLAOJBOJVOJNOXYWSXKJOVJWOCYNYJMOBKA OASMJVSVVY ¿QUÉ LE FALTA AL CASO? Profundización en problemática: investigar sobre métodos de encriptación y descubrir el utilizado. Restricciones explicitas: el desarrollo de código presenta restricciones que se especifican en el caso (el alumno tendrá que identificar las restricciones). INFORMACIÓN ADICIONAL Pistas resolución problema: 1. Existen tres tipos de encriptación: Asimétrica, Simétrica e Hibrida. 2. El tipo de criptografía utilizada es la que da origen a las otras dos. 3. Recuerde que Julio Cesar fue un gran estratega militar. 4. Todos los mensajes terminan con el nombre de ERIC LILLO. Pistas de resolución algoritmo: 1. El tamaño máximo de cada línea es de 60 carácter (Restricción). 2. Crear el siguiente abecedario: ABCDEFGHIJKLMNOPQRSTUVWXYZ (espacio en blanco al principio). 3. Todos los mensajes encriptado están escritos en mayúscula (Restricción). Estructura de entrada al algoritmo: 1. Solicitar la cantidad de casos (0 < NCasos ≤ 50) (Restricción). 2. Solicitar firma encriptada (o solo inicial). 3. Solicitar cantidad de líneas a desencriptar (3 ≤ NCasos ≤ 10) (Restricción). 3 Rúbrica Indicadores Destacado (5 punto) Competente (4 punto) Básico (2 Punto) En desarrollo (1 punto) Resolución de problema. Utilización de normas de estilo en programación. Descubre las 4 pistas otorgadas. Cumple con toda las normas de estilo trabajada en clases (identación, nombre de variables, variables de ciclos y comentarios). Valida las 3 restricción explicitas en el caso a analizar. Descubre 3 pistas de las otorgadas. Cumple con 3 normas de estilo. Descubre 2 pistas de las otorgadas. Cumple con 2 normas de estilo. Descubre 1 pistas de las otorgadas. Sólo cumple con 1 normas de estilo. Realiza 2 restricción explicitas en el caso a analizar. Sólo cumple con 2 indicaciones solicitadas. Realiza 1 restricción explicitas en el caso a analizar. Cumple con 1 indicación solicitad. Realiza 1 restricción con errores explicita en el caso a analizar. Lógica de proceso permite evaluar todos los casos, pero implementación no compila. Implementación no optimizada, pero permite llegar a la solución solicitada. Entrega la solución después de 15 min del plazo establecido. Implementación sólo permite evaluar casos particulares. Lógica e implementación no permite llegar a la solución solicitada (Implementación >50%). Implementación sólo permite evaluar casos particulares. Lógica de cadenas o arreglos no permite obtener la solución correcta. Entrega la solución después de 30 min del plazo establecido. Validar restricción. La entrada del algoritmo cumple con las indicaciones solicitadas. Implementación permite evaluar todos los posibles casos encriptados. Estructura entrada Procesos (desencriptar) Arreglos Cadenas Plazo entrega / Implementación de utilizada es optimizada y permite llegar a la solución solicitada. Entrega la solución en el plazo establecido por el docente. Entrega la solución después de 20 min del plazo establecido. Cumple todas las indicaciones solicitadas con error PUNTAJE OBTENIDO SEGÚN NIVELES DE DESEMPEÑO Indicadores Niveles de desempeño Destacado Competente Básico En desarrollo Observaciones Resolución de problemas. Utilización de normas de estilo en programación. Validar restricción. Estructura entrada Procesos (desencriptar) Arreglos / Cadenas Plazo de entrega 4 Escala de Notas Puntaje Nota Puntaje Nota Puntaje Nota 0 1 2 3 4 5 6 7 8 9 10 11 1.0 1.1 1.3 1.4 1.6 1.7 1.9 2.0 2.1 2.3 2.4 2.6 12 13 14 15 16 17 18 19 20 21 22 23 2.7 2.9 3.0 3.1 3.3 3.4 3.6 3.7 3.9 4.0 4.2 4.4 24 25 26 27 28 29 30 31 32 33 34 35 4.6 4.9 5.1 5.3 5.5 5.7 5.9 6.1 6.4 6.6 6.8 7.0 5