Vous êtes sur la page 1sur 2

En este documento se detallan los archivos que hacen funcional la máquina enigma.

--------------------------------------------------------------------------------

1- El primer archivo importante es "enigma.conf" en él se encuentra la configuración del alfabeto


para cada rotor (en nuestro caso son tres rotores) y el reflector, la configuración está dada por una
fila de texto para cada rotor y una más para el reflector; en dicha fila aparece todo el alfabeto
español con los números de cero al nueve, agregando las vocales tildadas.

El orden en que se escriban los caracteres anteriores será la configuración que el usuario desee
para encriptar, además al inicio de cada fila aparece un número el cual representa a qué rotor
pertenece la configuración, por ejemplo: 1 para el rotor uno y así respectivamente (por defecto el
número cuatro corresponde al reflector).

--------------------------------------------------------------------------------

2- El archivo "Enigma.py" contiene el algoritmo de la máquina enigma y por ende es el archivo a


ejecutar; para utilizar la maquina enigma, en la línea 18 a la 21 se verifica que el archivo
"enigma.conf" esté correctamente escrito para la máquina, de igual forma para las líneas 62-65
corrobora que el archivo a encriptar sea el adecuado para la máquina. En la línea 70 aparece la
línea de código que abre el archivo "mensaje.txt" donde está el mensaje a encriptar, si usted
desea usar otro archivo y no cambiar el nombre, se sugiere que cambie en dicha línea de código la
parte: ‘mensaje’, por el nombre del archivo que usted desea encriptar.

La función: ‘configuración’, lleva la forma que hemos elegido para relacionar cada rotor con sus
respectivos alfabetos, por ejemplo si el primer rotor recibe ‘a’, este lo mandará al siguiente (en
posición), por ejemplo ‘b’, así ‘a’ es relacionado con ‘b’.

La función: ‘reflejar’, es la forma en que actúa el reflector, lo que hace es devolver al simétrico en
la lista, por ejemplo si tenemos la lista [a,b,c,d] y recibimos ‘a’, devolverá su simétrico en la lista
anterior, sería ‘d’, así ‘a’ es relacionado con ‘d’.

La función: ‘rotaiz’, hace que un rotor se mueva a la izquierda, por ejemplo si tenemos la lista
[a,b,c] la función devolverá [b,c,a].
Nota: Al combinar la función ‘rotaiz’ con la función ‘.reverse()’ lo que resulta es una rotación
contraria (rotar a la derecha).

* Desde la línea 112 a la 148 se hace el proceso de codificación usando todo lo anterior descrito.

** De la línea 159 a la 185 se restablecen los rotores (se colocan en sus posiciones iniciales)

* De la línea 187 a la 219 se realiza el proceso de decodificación del texto.

Observación: Es necesario mencionar que se han omitido los signos de interrogación, admiración y
puntuación, por ello nuestro alfabeto solo consta de 76 caracteres y si nuestro texto a trabajar
contiene uno de estos signos, el programa no podrá ejecutarse.