Decipher

image

Problema a resolver

Durante la Segunda Guerra Mundial, el ejército alemán utilizó la máquina Enigma para encriptar sus comunicaciones. El complejo sistema de cifrado de la máquina parecía indescifrable hasta que un grupo de matemáticos e ingenieros, incluido Alan Turing, desarrollaron técnicas para descifrar los códigos. Este avance jugó un papel crucial en la victoria aliada. Hoy en día, las herramientas modernas de inteligencia artificial como GitHub Copilot pueden ayudarnos a resolver problemas de codificación complejos, al igual que los descifradores de códigos del pasado.

Tu tarea es descifrar un mensaje encriptado junto a GitHub Copilot. El mensaje encriptado se encuentra en el archivo message.txt y contiene una serie de letras y números que debes descifrar. Para ello, en tu lenguaje de programación favorito, deberás programar un código junto a GitHub Copilot que descrifre este mensaje utilizando las pistas que se encuentran a continuación.

Distribución de Código

Para este problema, deberás descargar la distribución del código en tu entorno de Codespaces. Para ello, sigue los siguientes pasos:

  • Descarga la distribución del código

    • Accede a tu GitHub Codespaces de Git Commit: Haz clic en el siguiente botón para crear un nuevo repositorio en tu cuenta personal. Ponle el nombre que quieras; te recomendamos “Conservation”. Guarda el repositorio en tu cuenta. Open in GitHub Codespaces

    • Una vez que hayas guardado el repositorio, verás un botón que dice “Code” y una opción que dice “Codespaces”.

    • Haz clic en “Codespaces” y luego en “Crear nuevo Codespace”. Espera unos minutos mientras se inicia todo el entorno. Una vez que el Codespace haya iniciado, estarás listo para trabajar con el entorno configurado.

    • Deberías encontrar que tu ventana de terminal se asemeja a la siguiente:
        $
      
    • Ahora ejecuta el siguiente comando para descargar el archivo ZIP llamado 3.zip en tu GitHub Codespaces.
        wget http://157.245.132.153/gitcommit/3.zip
      
    • Ejecuta el siguiente comando
        unzip 3.zip
      

      para descomprimir el archivo zip y obtener una carpeta llamada decipher. Ya no necesitas el archivo ZIP, por lo que puedes eliminarlo ejecutando

        rm 3.zip
      
    • Ahora ejecuta
        cd decipher
      

      para dirigirte a la carpeta decipher. Debiéses encontrar que tu ventana de terminal debiése asemejar la de abajo:

        decipher/ $
      
    • Si todo ha salido bien, al momento de ejecutar
        ls
      

      debiéses encontar un archivo llamado message.txt con el mensaje encriptado y y un archivo answers.txt donde debes escribir tus respuestas para resolver este misterio.

Especificación

Una vez que encuentres la solución al mensaje encriptado, deberás escribir tu respuesta en el archivo answers.txt llenando el campo correspondiente. ¡Asegúrate de no cambiar ningún texto existente en el archivo o añadir más líneas de texto!

Ejemplo de cómo deberías llenar el archivo answers.txt:

Respuesta: Hola, soy Alan Turing.

Pistas

La persona que escribió el mensaje encriptado dejó algunas pistas para descifrarlo. Las pistas son las siguientes:

  • Tal como el cifrado que lleva el nombre de un emperador romano, las letras están desplazadas.

  • La clave para descifrar el mensaje es un número entre 10 y 15.

Cómo conocer si tus respuestas están correctas

Para testear la correctitud de tu implementación, puedes ejectuar el siguiente comando en tu terminal:

check50 gitcommituyu/problems/2024/decipher --local

Envíanos tu Solución

Puedes enviar tu implementación a este desafío a nuestra GitHub Discussions dedicada. Si es correcta, estarás participando de un sorteo de premios de GitHub.

Reconocimientos

La imagen de Alan Turing fue tomada del Instituto Alan Turing.