Este capítulo describe la interfaz de Ganzúa, cómo está dividida y explica cómo usar las diferentes funciones del programa.
Para que pueda familiarizarse con el programa y entender mejor cómo funciona, se le sugiere que lo abra y pruebe las distintas funciones mientras se describen.
Las siguientes imágenes muestran cómo se ve3.1 la ventana principal de Ganzúa en las plataformas en que se ha ejecutado satisfactoriamente (ver sección 2.2).
Las etiquetas en las imágenes representan:
La barra de título muestra el nombre del archivo en el que se encuentra el proyecto de criptoanálisis actual. Si no ha guardado el proyecto, entonces se muestra Sin título.
La barra de menús muestra cinco menús, que no son los mismos para todas las plataformas. El menú Ganzúa (disponible sólo en Mac OS X) contiene opciones relacionadas con el programa, como Acerca de, que muestra información sobre la versión de Ganzúa que está usando. En el resto de las plataformas, Acerca de se encuentra en el menú Ayuda y es la única opción de ese menú. Esta es la razón por la que Ganzúa no contiene un menú Ayuda en Mac OS X. Dado que prácticamente cada plataforma maneja los documentos de ayuda de una manera diferente y Ganzúa no fue hecho para una plataforma en particular, sino para ser independiente de éstas; los documentos de ayuda como este manual están disponibles en formatos estándar como HTML y PDF que puede leer en la plataforma que guste. La única ayuda que puede encontrar dentro del programa son etiquetas con descripciones de la sección que está apuntando con el cursor, las cuales aparecen cuando deja el cursor inmóvil sobre la sección de interés por unos segundos.
La siguientes sección explica las opciones de los menús que aparecen en todas las plataformas.
Le permite abrir proyectos de criptoanálisis. Usó esta opción en la sección 2.3, cuando probó la instalación de Ganzúa.
Le permite abrir criptogramas de archivos de texto. Cuando selecciona esta opción aparece una ventana de diálogo donde puede seleccionar el archivo de texto y su codificación. La codificación define un conjunto de caracteres y la relación entre el conjunto de caracteres y su representación en el archivo. Si no conoce qué codificación está usando en sus archivos de texto, probablemente sea la que su sistema elige por omisión. Esta codificación es seleccionada automáticamente cada vez que abre Ganzúa. Si cambia la codificación seleccionada en esta ventana de dialogo, ese cambio será reflejado en el resto de las ventanas de diálogo relacionadas con archivos de texto (aquellas usadas por Guardar criptotexto y Guardar texto plano) y permanecerá hasta que salga de Ganzúa o seleccione otra codificación.
Le permite abrir un archivo con las frecuencias relativas estándar de caracteres, digramas y trigramas de un lenguaje. Estos archivos por lo general se encuentran en el directorio frequencies de Ganzúa (ver sección 2.4.1). Por convención las primeras dos letras de los nombres de los archivos de frecuencias son el código ISO 639 de la lengua a la que pertenecen.
Cuando abre un idioma, define el alfabeto plano a usar, la manera en que se ordenan los caracteres (incluyendo los del alfabeto de cifrado) y los datos a mostrar en la ventana de Frecuencias Relativas del Idioma (ver sección 3.2.4).
Le permite guardar el proyecto de criptoanálisis sobre el que está trabajando en un archivo similar al de Tormes.xml mencionado previamente en esta sección. Si el proyecto ha sido guardado en un archivo previamente se actualizan los datos de dicho archivo.
Los datos guardados incluyen el cifrado seleccionado, los datos del idioma (incluyendo las frecuencias de caracteres, digramas y trigramas), la substitución y el criptotexto.
Le permite guardar el proyecto actual en un archivo nuevo.
Con esta opción puede guardar el criptotexto de su proyecto en un archivo de texto. Cuando elige esta opción aparece una ventana de diálogo similar al que se muestra al seleccionar Abrir criptograma. Desde ésta puede escoger la codificación del archivo y si la cambia, su decisión se reflejará en las ventanas de diálogo relacionadas con archivos de texto (aquellas usadas por Abrir criptograma y Guardar texto plano).
Le permite guardar el texto plano del proyecto (el texto que resulta de aplicar la substitución al criptograma) en un archivo. Como con Abrir criptograma y Guardar criptograma, puede seleccionar la codificación del archivo en la ventana de diálogo y los cambios también se verán reflejados en las las ventanas de esas opciones.
Copia el texto seleccionado del área de texto plano y cifrado. Si desea copiar selecciones de otros lugares, como las tablas con frecuencias relativas de la ventana de estadísticas del idioma, use el atajo que se muestra junto a esta opción (por ejemplo, Comando-C en Mac OS X) después de hacer la selección. También puede arrastrar su selección y soltarla donde desee pegarla. Note que algunos programas no soportan operaciones de arrastrar-soltar.
Cuando abre un criptograma desde un archivo de texto (ver sección 3.2.1) el alfabeto de cifrado a usar se obtiene a partir de los caracteres que aparecen en el criptotexto. La mayoría de las veces, los criptogramas no contienen apariciones de todos los caracteres que desea tener en el alfabeto de cifrado. Por ejemplo, si el carácter K no aparece en el archivo de texto, el alfabeto de cifrado generado al abrir dicho archivo, no lo contendrá.
Para incluir los caracteres faltantes en el alfabeto de cifrado, insértelos uno a la vez3.2 en la ventana de diálogo que se muestra cuando selección esta opción (figura [*]). El botón Cancelar cierra la ventana y cancela la inserción del carácter que se muestre en el área de texto al momento de pulsar.
Si no encuentra el alfabeto plano que desea usar entre los archivos de frecuencias relativas de idiomas incluidos con Ganzúa o le faltan algunos caracteres, puede añadirlos con esta opción. Note que esto es únicamente para propósitos de la substitución y no obtendrá los demás beneficios como las frecuencias relativas de esos caracteres. En el capítulo 4 se explica cómo hacer sus propios archivos de frecuencias relativas de lenguajes.
Para incluir los caracteres faltantes, insértelos uno a la vez, como haría al agregarlos al alfabeto de cifrado.
Esta opción le permite eliminar caracteres del alfabeto de cifrado y el criptograma. Cuando selecciona esta opción, se muestra una ventana con un listado de todos los caracteres en el alfabeto de cifrado. Una vez que haya seleccionado3.3 los que desea quitar, pulse el botón Eliminar. Esto quitará del alfabeto de cifrado todos los caracteres seleccionados y borrará todas sus apariciones en el criptograma.
Le permite agrupar los caracteres del criptograma en bloques separados por un espacio. Esta es una de las razones por las que los caracteres de espacio se consideran especiales y no pueden formar parte del alfabeto de cifrado. Si fueran parte del alfabeto de cifrado, esta operación alteraría el criptograma.
Convierte todos los caracteres del criptograma a mayúsculas. Esta operación es equivalente a abrir un nuevo criptograma con el mismo texto que el actual, pero en mayúsculas. Esto implica que perderá toda la información sobre la substitución, incluyendo los caracteres que haya añadido al alfabeto de cifrado. Si el criptotexto del proyecto actual ya está compuesto exclusivamente por mayúsculas (como en Tormes.xml), entonces el proyecto no sufrirá cambios.
Convierte todos los caracteres del criptograma a minúsculas. Como Criptotexto en mayúsculas, esta operación es equivalente a abrir un nuevo criptograma con el mismo texto que el actual pero en mayúsculas, por lo que perderá toda la información sobre la substitución. Si el criptotexto del proyecto actual ya está compuesto exclusivamente por minúsculas, entonces el proyecto no sufrirá cambios.
Hace que el texto plano del proyecto actual se convierta en el criptotexto. Esta operación es equivalente a abrir un criptograma que contenga el texto plano de este proyecto. Como en los casos de Criptotexto en mayúsculas y Criptotexto en minúsculas, perderá toda la información sobre la substitución.
Esta operación puede ser útil si está usando Ganzúa para cifrar en lugar de hacer criptoanálisis.
Este menú contiene opciones que le permiten cambiar la manera en que el área de texto plano y cifrado muestra su contenido. También puede acceder a estas opciones desde el menú contextual que puede activar en esta área (por ejemplo, con un Control-clic en Mac OS X o un clic con el botón derecho del ratón en otras plataformas)
En este modo, las líneas de texto plano se muestran debajo de las correspondientes líneas cifradas.
En este modo, el criptotexto y el texto plano se muestran en áreas separadas.
Este menú le permite abrir las ventanas secundarias de Ganzúa.
Abre la ventana de estadísticas del idioma, que contiene tablas con las frecuencias relativas estándar de caracteres, digramas y trigramas; las cuales corresponden a las del último archivo que se haya abierto para el proyecto actual.
Los datos presentados en las tablas pueden ser ordenados alfabéticamente o por frecuencia haciendo clic en los encabezados de las columnas. Por ejemplo, si está viendo la tabla de frecuencias relativas de caracteres y hace clic en la etiqueta de la columna que contiene a los caracteres, la tabla se ordenará alfabéticamente y si hace clic en la etiqueta de la columna de frecuencias, la tabla será ordenada por frecuencia de mayor a menor. También puede ordenar los datos en orden inverso si hace clic mientras presiona la tecla de mayúsculas.
Abre la ventana de caracteres ignorados, que contiene un listado de los caracteres del alfabeto de cifrado que están siendo ignorados. Cómo hacer que un carácter sea ignorado y lo que ésto significa se explica en la sección 3.3.
El área de substitución es la sección que muestra la relación entre los caracteres del alfabeto de cifrado y los del alfabeto plano. Contiene una región con controles para la substitución de caracteres, una casilla que controla que sea uno-a-uno (inyectiva), un botón que abre la ventana de caracteres ignorados y un control para elegir la substitución a mostrar dado el número del alfabeto al que corresponde (habilitado sólo para cifrados polialfabéticos).
Los controles de substitución de caracteres muestran el carácter del alfabeto de cifrado a reemplazar en su parte superior, a la derecha un botón que permite añadirlo al conjunto de caracteres ignorados y abajo una lista desplegable para seleccionar un carácter de reemplazo de entre los caracteres del alfabeto plano.
Cuando un carácter está en el conjunto de ignorados, es casi como haberlo eliminado del criptograma y del alfabeto de cifrado. Se quita del área de substitución y las frecuencias relativas del criptotexto se calculan como si no existiera; pero se incluye en el texto plano como aparece en el cifrado. Por ejemplo, en el proyecto Tormes.xml los caracteres de puntuación son ignorados.
La casilla determina si la substitución es inyectiva (uno-a-uno) o no. Si está seleccionada, el usuario únicamente puede elegir caracteres de reemplazo de entre los caracteres que no han sido previamente seleccionados para sustituir algún otro carácter. Si la casilla no está seleccionada, todos los caracteres del alfabeto plano están disponibles.
El botón Ignorados hace lo mismo que la opción Mostrar los caracteres ignorados del menú Ventana; abre la ventana que muestra los caracteres ignorados del alfabeto de cifrado y permite al usuario eliminarlos de ese conjunto.
El panel de estadísticas del criptotexto contiene el índice de coincidencias del criptograma, tablas con las frecuencias relativas del criptograma y un estimado del número de alfabetos usados en el cifrado para obtener el criptograma.
El estimado del número de alfabetos se obtiene usando el índice de coincidencias del criptograma y el del lenguaje. Si el índice de coincidencias del lenguaje no está disponible o el número de caracteres en el alfabeto de cifrado es mayor al del lenguaje, no se muestra el estimado.
Las tablas de frecuencias relativas del criptotexto muestran diferentes datos dependiendo del cifrado elegido. Para los monoalfabéticos, las tablas muestran las frecuencias relativas de caracteres, digramas y trigramas; mientras que para los polialfabéticos se muestran las frecuencias relativas de los caracteres cifrados con cada alfabeto.
El área de selección de cifrado le permite elegir las herramientas específicas del cifrado a usar en su proyecto de criptoanálisis, si tendrá uno o más alfabetos y la información a mostrar en el panel de estadísticas del criptotexto.
Ganzúa tiene dos grupos de herramientas para cifrados monoalfabéticos: el general y el del cifrado de César.
El tipo de substitución en la que el alfabeto es simplemente desplazado un número de posiciones es llamado cifrado de César. En Ganzúa, las herramientas para criptogramas obtenidos con este cifrado se encuentran en la categoría César. A continuación se describe la función de los controles disponibles en el área de herramientas para el cifrado de César.
Las herramientas para cifrados monoalfabéticos en general son las mismas que las disponibles para el cifrado de César, con excepción de la herramienta para desplazamiento.
Si está trabajando en este modo y llega a necesitar la herramienta de desplazamiento, elija César en el área de selección de cifrado. No perderá datos en el cambio, lo mismo aplica para cambiar de César a monoalfabéticos en general.
Cuando escoge un cifrado polialfabético, aparece un control llamado Núm. Alfabetos en la parte superior de la sección de herramientas. Este control le permite seleccionar el número de alfabetos a usar. No confunda la función de este control con la del control del área de substitución.
Ganzúa tiene dos grupos de herramientas para cifrados polialfabéticos: el del cifrado de Vigenère y el del cifrado de Alberti.
En el cifrado de Vigenère cada alfabeto usado difiere de los demás por un desplazamiento, así que muchas de las herramientas disponibles para este cifrado se parecen a las del cifrado de César.
Abra el proyecto Quijote.xml y vea cómo lucen las diferentes secciones de Ganzúa cuando usa un cifrado polialfabético. Fíjese en el área de substitución, el panel con estadísticas del criptotexto y pruebe las herramientas para el cifrado de Vigenère mientras lee sus descripciones.
Las herramientas para el cifrado de Alberti son las mismas que las disponibles para el cifrado de Vigenère, con excepción de la herramienta para desplazamiento.
Si está trabajando en este modo y llega a necesitar la herramienta de desplazamiento, elija Vigenère en el área de selección de cifrado. No perderá datos en el cambio, lo mismo aplica para cambiar de Alberti a Vigenère.
La interfaz de Ganzúa emplea el idioma y convenciones regionales preferidos por el sistema por omisión. Si Ganzúa aún no puede manejar la lengua3.4 que usted desea, usará el idioma inglés.
Si quiere que Ganzúa emplee algún otro lenguaje o convenciones regionales3.5 sin cambiar las preferencias de su sistema, puede especificarlos como opciones en la línea de comandos. Para esto tendrá que ejecutar Ganzúa desde una terminal de línea de comandos.
Por ejemplo, para ejecutar el programa con una interfaz en español y con las convenciones de México, usaría el comando:
Donde GANZÚA es el directorio en que se instaló Ganzúa. -l se usa para indicar el lenguaje usando su código ISO 639 y -c para indicar las convenciones regionales a usar con el código ISO 3166 del país. No es necesario que use ambas opciones, puede usar -l y omitir -c y vice versa.
En Mac OS X puede especificar estos argumentos en el paquete de la aplicación. Para hacer esto, abra el archivo Info.plist con un editor de texto e inserte las siguientes dos líneas en la línea 29, debajo de <string>1.4+</string>.
<key>Arguments</key>
<string>-l es -c MX</string>
Reemplace es y MX con los códigos del lenguaje y país que quiera usar. Como con las opciones de la línea de comandos, puede usar sólo -l o -c , no necesita usar ambos.
Esta sección lista algunos puntos que debe considerar cuando use Ganzúa además de los resaltados en las secciones anteriores.
Cuando abre un criptograma de algún archivo de texto, el alfabeto de cifrado se obtiene a partir de los caracteres que aparecen en él y no son considerados caracteres especiales3.6. Lo primero que debe hacer después de abrir un criptograma es verificar que el alfabeto de cifrado contenga todos los caracteres que desea usar y sólo esos, dado que es común que los criptogramas carezcan de algún carácter del alfabeto. De no hacerlo puede complicar innecesariamente el proceso de criptoanálisis. Las secciones 3.2.2 y 3.3 explican cómo añadir, eliminar e ignorar caracteres del alfabeto de cifrado.
Si piensa usar Ganzúa para cifrados polialfabéticos, también debe recordar que los resultados de la prueba de Kasiski incluyen todas las secuencias repetidas de caracteres con longitud dos o más. Esto implica que las subsecuencias de hasta longitud dos se incluyen en los resultados. Por ejemplo, si ve que la secuencia ABCDE tiene frecuencia 2 y que la secuencia BCD tiene frecuencia 3, entonces, dos de esas apariciones son como subsecuencias en las apariciones de ABCDE.
Revise el sitio de Ganzúa (http://ganzua.sourceforge.net) para actualizaciones y respuestas a preguntas frecuentes. También lea el capítulo 5 si encuentra algún error en el programa, documentación, etc. y necesita contactar al autor.