CRIPTOANÁLISIS, MEDIANTE ALGORITMOS GENÉTICOS, DE TEXTOS CIFRADOS EN LA GUERRA CIVIL ESPAÑOLA CON LA TÉCNICA DE CINTA MÓVIL

Tamaño: px
Comenzar la demostración a partir de la página:

Download "CRIPTOANÁLISIS, MEDIANTE ALGORITMOS GENÉTICOS, DE TEXTOS CIFRADOS EN LA GUERRA CIVIL ESPAÑOLA CON LA TÉCNICA DE CINTA MÓVIL"

Transcripción

1 CRIPTOANÁLISIS, MEDIANTE ALGORITMOS GENÉTICOS, DE TEXTOS CIFRADOS EN LA GUERRA CIVIL ESPAÑOLA CON LA TÉCNICA DE CINTA MÓVIL Proyecto de fin de carrera, Ingeniería Informática Superior Universidad Pontificia de Comillas ICAI (Madrid 2011) Autor: José Miguel Soriano de la Cámara ÍNDICE Página Cap 1.- Introducción Origen del proyecto Objetivos del proyecto Herramientas empleadas Enfoque de resolución... 5 Cap 2.- Criptografía y Criptoanálisis Métodos de cifrado clásicos Clasificación de los sistemas de cifrado Reglas de Kerckhoffs Reseña histórica de los sistemas de cifra La escítala lacedemonia Método César Cifra Monoalfabética Cifrado Vigenère Cifrado de Playfair Cifrado Vernam Cifrado Bazeries Máquinas de cifrar en el siglo XX La máquina Enigma La máquina Hagelin Cifrado por homófonos Cifrado homofónico de orden n> Criptoanálisis de los cifrados por sustitución con homófonos El método de cinta móvil o método español Ataque al método español: sus debilidades Cap 3.- Método Español: criptoanálisis con algoritmo genético Teoría general sobre Algoritmos Genéticos Preparación de los datos de entrada Cálculo de frecuencias reales Carga del texto cifrado Generación de la tabla inversa Procesado del diccionario Diseño de la estructura de los cromosomas... 50

2 Cap 1.- Introducción. 2/ Inicialización del AG Reproducción o cruce de los individuos Mutación de los cromosomas Evaluación: Función Objetivo (Fitness) Definición final del texto descifrado Cap 4.- Casos de estudio y resultados Cap 5.- Conclusiones y futuros desarrollos Anexo A: Tabla de frecuencias de uso aplicada Anexo B: Método Kasiski (ataque a un cifrado polialfabético) Anexo C: Códigos de Baudot Anexo D: Cifra con ENIGMA Anexo E: El Método Español según Carmona: año Anexo F: Claves y tablas de homófonos de la GC36; ejemplos Anexo G- Planificación y Presupuesto Anexo H.- Código fuente Índice de Figuras Bibliografía José Miguel Soriano de la Cámara

3 Cap 1.- Introducción. 3/119 Cap 1.- Introducción Origen del proyecto El presente trabajo tiene su origen en el proyecto fin de carrera supervisado por los investigadores Don Francisco Alberto Campos Fernández y Don Jesús María Latorre Canteli del Instituto de Investigación Tecnológica de UP Comillas. Dicho proyecto es la continuación natural del desarrollado por el ingeniero Alberto Gascón González en el curso Este proyecto aúna por un lado el interés que el acontecimiento Guerra Civil Española o Guerra del 36 (en adelante GC36) ha despertado y despierta en cualquiera (nacional o extranjero) que se acerque y pretenda entender la España del siglo XX. Por otro lado, para cualquier informático supone un reto profesional el romper el secreto de miles de documentos que aún permanecen cifrados en numerosos archivos históricos (en España y fuera de ella), secreto que, roto, podría revelar datos sobre interpretaciones de hechos que ahora parecen definitivas. Adicionalmente, este proyecto permite la aplicación del algoritmo genético a las técnicas de criptoanálisis y su desarrollo. El proyecto de Don Alberto Gascón referido al inicio ceñía sus hipótesis con las siguientes acotaciones: a) La tabla de homófonos (ver cap ) es conocida pero la clave no. b) Uso de un diccionario compuesto con palabras elegidas por la certeza de su pertenencia al texto origen o plano, y ello no es real. c) Todas las palabras del diccionario tienen 6 o más caracteres 1. Nuestra solución se plantea: Cuando la tabla de homófonos y la clave (ver pág. 28) no son conocidas porque de hecho el criptógrafo no las conoce. Por resolución con Algoritmo Genético (en adelante AG) sin limitación de palabras o nº de caracteres. Incorporando un diccionario real (como fichero de texto) de términos para la búsqueda de coincidencias que permite mejorar el análisis estadístico de la frecuencia de los monogramas, bígramas, trigramas e incluso de palabras. Implementando en el algoritmo reglas de uso del idioma español del tipo después de Q siempre va U, la K, J, H y V siempre van seguidas de vocal, cada 4 caracteres hay al menos una vocal, etc. 1 Con sólo encontrar una palabra se ha resuelto el 22% (6/27) del problema. Qué pasa con las palabras de uno a cinco caracteres?

4 Cap 1.- Introducción. 4/ Objetivos del proyecto a) Objetivo principal: diseño de un algoritmo genético para el criptoanálisis de mensajes generados a partir de tabla de homófonos y clave desconocidas. Objetivos parciales 1. Análisis de la región factible del problema para identificar debilidades en el cifrado de las que se puedan derivar restricciones que ayuden a resolver el problema. 2. Planteamiento de un problema de optimización con restricciones equivalente al proceso de criptoanálisis. 3. Diseño del AG que permita resolver el problema anterior. El propio desarrollo del AG ha ido generando la necesidad de una obligada interacción del criptoanalista 2 con la herramienta que supone, en sí, el AG codificado (por ejemplo, en la fase de inicialización del algoritmo), lo que ha obligado a definir un segundo objetivo: b) Objetivo secundario: diseño de una herramienta Software (SW) con interface amigable que resulte útil e intuitiva para el futuro investigador que pudiera aprovechar los resultados del presente trabajo. Dicho SW 1. No requiere un ordenador muy potente ni aplica técnicas de descifrado por fuerza bruta. 2. Permite opciones de inicialización (diccionarios a usar, texto cifrado, etc.) 3. Facilita informes intermedios y permite restricciones durante la ejecución para que el usuario pueda incorporar su análisis personal en cualquier fase del proceso. Dejamos advertido desde este inicio que aun cuando se consigan todos los objetivos relacionados, nunca podremos implementar un arma esencial para cualquier analista y más en esta materia: la intuición Herramientas empleadas Microsoft Visual Studio Librería de algoritmos genéticos: GALIB v2.4.6 de Enero del 2005 adaptada a c++. Excel para realizar análisis estadísticos y matemáticos a la hora de redactar los algoritmos. Notepad++ para comprobar el funcionamiento de los algoritmos antes de implantarlos. Microsoft Visio para la realización de los diagramas de flujo de los algoritmos. 2 Ver inicio del Capítulo 2

5 Cap 1.- Introducción. 5/ Enfoque de resolución Como se detalla en capítulo 2.4.3, el método de Cifrado por Cinta Móvil o Método Español consiste en el uso de una tabla con 27 columnas correspondientes a las 27 letras del alfabeto y 8 filas que permiten asignar de 2 a 5 valores numéricos (homófonos) por letra con un rango 3 de (ver pág. 28). De manera que a cada letra del mensaje origen (texto plano) le pueden corresponder hasta 5 números (<= 99) y a cada número le corresponde una sola letra. Al cifrar el texto origen cada letra puede ser cifrada al azar usando cualquiera de los números de su columna. Además, mediante el uso de una clave se hace bailar la correspondencia entre las columnas de números y las letras (ver Fig. 1 de cap 2.4.3). Del ejemplo desarrollado en página 28 extraemos el siguiente resumen Mensaje: Atacar el jueves diez a las 6 horas Texto: plano A T A C A R J U E V E S D I E Z A S E I S H O R A S cifrado Resumen de cifrado por cinta móvil 0-1 Para aplicar el algoritmo genético, se realiza una ordenación previa, de menor a mayor, de todos los números (tomados una sola vez) contenidos en el texto cifrado, componiendo un vector de valores numéricos. En el ejemplo Vector de valores numéricos 0-2 A cada número le corresponderá una sola letra del texto plano. Pero, no conociendo la tabla 4, a cada número le podría corresponder cualquiera de las 27 letras del alfabeto. Cómo reducir ese espacio de búsqueda tan amplio -27 letras posibles por número-?: 1º. Se calcula la frecuencia relativa de cada número (de cada homófono) en el texto cifrado y ese valor se multiplica por 1, por 2, por 3, por 4 y por 5, que es el número habitual de homófonos por columna de letra en la tabla de cifrado 5. 2º. Se comparan esos cinco resultados con las frecuencias relativas de aparición de las letras en un texto de la época (ver pág. 74), admitiendo un margen de +-20% para aceptar como positiva la comparación (ver tabla de pág. 32). 3 Rango y de 3 a 4 valores numéricos en la definición clásica de finales del siglo XIX (ver [7] y [8]). 4 Ver nuestro planteamiento en página 3. 5 Es de suponer que si el cifrador dispone de 3 homófonos (cardinal 3) para la letra F, al cifrar un texto largo elegirá con la misma probabilidad (1/3) a cada representante de F en la tabla. Luego si se multiplica por 3 la frecuencia relativa de aparición en el texto cifrado de uno de los homófonos, se debería obtener la frecuencia de uso habitual de la F en el texto origen, que si es suficientemente largo será semejante a la de uso en el idioma (ver Anexo A).

6 Cap 1.- Introducción. 6/119 3º. Con ese margen de error, en las pruebas realizadas se obtiene para cada número del vector de valores un conjunto L de letras candidatas con una media de 9 letras por cada homófono en vez de las 27 iniciales. Se ha reducido el espacio de búsqueda en un 65%. Se puede componer, así, una tabla, que llamaremos tabla inversa de homófonos que con alta probabilidad contiene la solución que estamos buscando: Homófonos Letras Candidatas f b a ñ r h g e x i q v d z y l j j u ñ x Tabla inversa de homófonos 0-3 Se puede ver en detalle este análisis en aptdo Cómo inicializamos el cromosoma del AG? 1º. El vector de valores numéricos obtenido induce un cromosoma inicial en el que cada gen es una letra del alfabeto. Dicha letra es asignada de manera aleatoria pero a. Con las limitaciones derivadas del proceso de reducción del espacio de búsqueda explicado en los párrafos anteriores. Cada gen (letra) debe pertenecer al conjunto L de candidatos del homófono. b. No puede repetirse una letra más de cinco veces en el cromosoma puesto que en la tabla de homófonos a una letra no se le asignan más de 5 números. Ejemplo: si el homófono 01 del vector ejemplo tiene como conjunto candidato f, h, q, z, j, u, el gen de índice 1 en el cromosoma inducido no puede ni podrá contener una g. Al homófono 86 nunca le podrá corresponder una h dado que h no pertenece a ñ, x Vector de valores numéricos 0-4 z g e a o q a e s u o q s e i t c g r e s x d Cromosoma inducido 0-5 2º.- La calidad del cromosoma se evalúa en función del texto resultante al aplicar el cromosoma sobre el texto cifrado, comparando la suma de los errores relativos de las frecuencias de las letras, bigramas y trigramas del texto de la época con los del texto resultante. Además, se realiza una búsqueda secuencial en el texto resultante sobre un diccionario buscando palabras de una determinada longitud; el número de palabras encontradas incrementa la valoración del cromosoma de cara al proceso de selección (ver función objetivo en pág. 52).

7 Cap 1.- Introducción. 7/119 3º.- El proceso de reproducción trata de conseguir un cromosoma con mejor resultado en la función objetivo, respetando como genes las letras del conjunto candidato de cada homófono 4º.- El proceso de mutación cambia genes al azar dentro del conjunto candidato y se reitera hasta encontrar un individuo más óptimo. Cómo definimos el texto final del mensaje descifrado? El AG informa al analista de los cromosomas que evalúa y de su resultado en la función objetivo. Escogiendo aquellos cuyo resultado está incluido dentro del primer 5% de los mejores resultados, definimos los que llamaremos cromosomas candidatos. En las pruebas realizadas, dichos cromosomas (normalmente de 3 a 6) generan hasta un 65% de acierto en los caracteres del texto plano original. Con esa plataforma de partida, y con la utilidad desarrollada al efecto que permite al analista actuar a nivel de cromosoma, se pueden evaluar soluciones basadas en su experiencia, contexto del mensaje o informaciones ajenas a él, que acerquen a la solución final (ver proceso en detalle desarrollado en cap 4 Casos de Estudio ). Con el proceso descrito se completa el criptoanálisis sin necesidad de encontrar la tabla de homófonos. Ésta, en todo caso, surge como parte de la información que resulta del proceso.

8 Criptograma del Método Español Cap 1.- Introducción. 8/119 Como resumen del enfoque de solución expuesto se presenta el esquema siguiente: Texto Cifrado Vector de valores Estudio de Frecuencias Tabla Inversa de homófonos Algoritmo Genético Cromosoma Cromosoma Inicial Inicial Función Objetivo Cromosoma Cromosoma candidato Inicial Inicial Utilidad de Análisis Analista Textos planos Texto Final

9 Cap 2.- Criptografía y Criptoanálisis 9/119 Cap 2.- Criptografía y Criptoanálisis No siendo objeto de este trabajo el estudio de los diferentes sistemas de cifrado o su trayectoria histórica, pero con objeto de enmarcar y clasificar el método de cifrado por cinta móvil y de definir algunos términos habituales en criptografía, a continuación se desarrolla un breve estudio sobre la materia y se describen algunos de estos sistemas. Etimológicamente la palabra criptografía deriva del griego kriptos (oculto) y de graphos (escritura), lo que da una clara idea de su definición clásica: arte de escribir mensajes en clave secreta o enigmáticamente [1]. Fue considerada un arte hasta que Claude Shannon publicó en 1949 el artículo Teoría de los sistemas de comunicación secretos y poco después el libro La teoría matemática de la comunicación, con Warren Weaver. Entonces la criptografía empezó a ser considerada una ciencia aplicada, debido a su relación con otras ciencias, como la estadística, la teoría de números, la teoría de la información y la teoría de la complejidad computacional [1]. La publicación en el año 1976 de un artículo por parte de Whitfield Diffie y Martin Hellman en el que proponen una nueva filosofía de cifra, dando lugar a los criptosistemas de clave pública, se considera el segundo hito significativo en la criptografía moderna [4]. Ahora bien, la criptografía corresponde sólo a una parte de la comunicación secreta. Si se requiere secreto para la comunicación, es porque existe desconfianza o peligro de que el mensaje transmitido sea interceptado por alguien hostil. Este enemigo, si existe, utilizará todos los medios a su alcance para descifrar esos mensajes secretos mediante un conjunto de técnicas y métodos que constituyen una ciencia conocida como criptoanálisis. Al conjunto de ambas ciencias, criptografía y criptoanálisis, se le denomina criptología [1]. Históricamente la criptología ha sido una materia exclusiva del ámbito militar o diplomático. Sin embargo en la sociedad actual la criptología ha extendido sus aplicaciones a todo el ámbito civil proporcionando la seguridad de las redes telemáticas, incluyendo la identificación de entidades y autenticación, el control de acceso a los recursos, la confidencialidad de los mensajes transmitidos, la integridad de los mensajes y su no repudio [1].

10 Cap 2.- Criptografía y Criptoanálisis 10/ Métodos de cifrado clásicos Se llama cifrado (o transformación criptográfica) a una transformación del texto original (texto plano, inicial o texto claro) que lo convierte en el llamado texto cifrado o criptograma. Análogamente, se llama descifrado a la transformación que permite recuperar el texto original a partir del cifrado. Cada una de esas transformaciones está determinada por un parámetro llamado clave [1] Clasificación de los sistemas de cifrado Por ocultación: Disimulo del mensaje origen dentro de otros textos. Por transposición: Método por el que se reordena el texto original aplicando un algoritmo que produce el texto cifrado. El receptor reordena el texto cifrado aplicando el algoritmo inverso. Por sustitución: Método de cifrado por el que unidades de texto plano origen son sustituidas con texto cifrado siguiendo un sistema regular; las "unidades" pueden ser una sola letra, pares de letras, tríos de letras, mezclas de lo anterior, entre otros. El receptor descifra el texto realizando la sustitución inversa [1]. En la figura siguiente hacemos una clasificación detallada de esas tres técnicas de cifrado clásico generales descritas. Sistemas de cifra clásicos 1 Haremos a lo largo de las siguientes páginas un somero estudio comparativo de los sistemas reflejados en la fila inferior del esquema de arriba (elaboración propia). Si el cifrado opera sobre caracteres simples, se denomina cifrado por sustitución simple; un cifrado que opera sobre grupos de letras se denomina poligráfico. Un cifrado monoalfabético usa una sustitución fija para

11 Cap 2.- Criptografía y Criptoanálisis 11/119 todo el mensaje, mientras que un cifrado polialfabético usa diferentes sustituciones en diferentes momentos del mensaje, por ejemplo los homófonos, en los que una unidad del texto plano es sustituida por una de entre varias posibilidades existentes para el texto cifrado [1]. Se llama cifrado producto a la aplicación iterativa de operaciones de cifrado sobre texto ya cifrado, combinando o no sustitución y transposición [1]. En un cifrado por transposición, las unidades del texto plano son cambiadas usando una ordenación diferente, pero las unidades en sí mismas no son modificadas. Por el contrario, en un cifrado por sustitución las unidades del texto plano mantienen el mismo orden, lo que se cambia son las propias unidades del texto plano. Según la relación existente entre la clave de cifrado y descifrado, los sistemas criptográficos se pueden dividir en dos grandes grupos: cifrado simétrico o de clave secreta en el caso de que ambas coincidan; si es imposible obtener la clave de descifrado a partir de la clave de cifrado estamos ante un sistema de cifrado asimétrico o de clave pública [1]. En los sistemas asimétricos la seguridad del sistema no depende del conocimiento de la clave de cifrado. Cualquier usuario puede enviar un mensaje cifrado a otro usando la clave pública de este último, pero sólo aquel que conozca la clave privada correspondiente puede descifrarlo correctamente. El criptoanalista que intente averiguar la clave privada a partir de la pública se encontrará con un problema intratable [1]. Aquí trataremos los sistemas clásicos. El adjetivo de clásico, en contraposición al de criptosistemas modernos, se debe tanto a las técnicas utilizadas en las primeras, básicamente operaciones de sustitución y transposición de caracteres unidas al concepto de clave secreta, como al uso de máquinas dedicadas a la cifra. La criptografía clásica abarca, pues, desde tiempos inmemoriales hasta los años de la postguerra mundial, es decir, hasta la mitad del siglo XX. En el caso de los sistemas modernos, éstos hacen uso, además de lo anterior, de algunas propiedades matemáticas como, por ejemplo, la dificultad del cálculo del logaritmo discreto o el problema de la factorización de grandes números, unido esto a la representación binaria de la información. No obstante, muchos sistemas modernos y que en la actualidad se siguen utilizando, como los algoritmos de clave secreta DES e IDEA, se basan en conceptos que podríamos denominar clásicos como son los de transposición y sustitución con una clave privada, si bien en estos sistemas la operación se realiza sobre una cadena de bits y no sobre caracteres [4]. Cuándo un sistema criptográfico se considera óptimo o eficaz?. En 1883, el francés Auguste Kerckhoffs, en su libro La criptografía militar, enuncia las reglas que, desde entonces, la comunidad criptográfica considera que debe cumplir un buen sistema criptográfico [1]. Auguste Kerckhoffs 1

12 Cap 2.- Criptografía y Criptoanálisis 12/ Reglas de Kerckhoffs: 1. No debe existir ninguna forma de recuperar mediante el criptograma el texto inicial o la clave. Esta regla se considera cumplida siempre que la complejidad del proceso de recuperación del texto original sea suficiente para mantener la seguridad del sistema. 2. Todo sistema criptográfico debe estar compuesto por dos tipos distintos de información. Pública, como es la familia de algoritmos que lo definen. Privada, como es la clave que se usa en cada cifrado particular. 3. La forma de escoger la clave debe ser fácil de recordar y modificar. 4. Debe ser factible la comunicación del criptograma por los medios de transmisión habituales. 5. La complejidad del proceso de recuperación del texto original debe corresponderse con el beneficio obtenido. Genéricamente se conoce como Principio de Kerckhoffs aquel que enuncia de que la seguridad del sistema se debe medir suponiendo que el enemigo conoce completamente ambos procesos de cifrado y descifrado [1]. Es decir, si se mantiene en secreto la clave un sistema perfecto es indescifrable.

13 Cap 2.- Criptografía y Criptoanálisis 13/ Reseña histórica de los sistemas de cifra La escítala lacedemonia: Del griego (skytálē). Es el primer uso de la escritura secreta de que se tiene constancia; data del siglo V a. C., durante las guerras entre Atenas y Esparta. Está formada por dos varas idénticas en sus medidas, en especial su grosor. Se basaba únicamente en la alteración del mensaje mediante la escritura de los símbolos de forma vertical sobre una cinta enrollada en Escítala lacedemonia 1 un rodillo, de manera que al desenrollarla los símbolos del mensaje quedaban desordenados o traspuestos, por lo que sólo se podía leer el mensaje tras enrollar la cinta en un rodillo de igual grosor. Es el método de transposición más elemental; también conocido como transposición de matrices. Es equivalente a disponer en una tabla cada uno de los caracteres del texto plano en filas y luego tomarlos en columnas. Siendo el ancho de fila el número de caras que presenta la escítala y el número de filas la cantidad resultante de dividir el largo total del mensaje entre el ancho de fila. (Ver La frase ostentar el bastón de mando" tiene su origen en esta época. El bastón (la escítala) aseguraba el control del sistema de información y por tanto de la seguridad y de la vida política en la antigua Grecia [4] Método César. Otra de las primeras noticias sobre criptografía proviene de la época romana (siglo I a.c.). El cifrado en este caso consistía en una sustitución según una regla fija: un caracter se cifra con un desplazamiento de 3 puestos en el orden del alfabeto; la A será D, la F será I Mensaje: Atacar a las 6 horas del jueves 10 Alfabeto Plano A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Cifrado D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Texto Plano A T A C A R A S E I S H O R A S J U E V E S D I E Z Cifrado D W D F D U D V H L V K R U D V M X H Y H V G L H C Transmitir: DWDFD UDVHL VKRUD VMXHY HVGLH CXYZM Matemáticamente podemos describir el método usado por Julio César como una función lineal del tipo E(x)= (x+3) mod 26. Para descifrar emplearíamos la función D(x)= (x-3) mod 26 [1]. Puede parecer un sistema infantil pero considerando que durante milenios el 99,9% de la humanidad ha sido analfabeta, no creemos que en la Guerra de las Galias las tribus enemigas tuvieran muchos lectores y, menos aún,

14 Cap 2.- Criptografía y Criptoanálisis 14/119 capacitados para leer el latín codificado de esta manera. De hecho, el Método Cesar se ha usado durante siglos hasta la época del Renacimiento Cifra Monoalfabética. El cifrado Cesar visto, se puede generalizar usando cualquier desplazamiento hasta 26 con la evidente ventaja de que es muy fácil recordar la clave: sólo un número entre 1 y 26. Pero también es fácil de descifrar: hay 26 alfabetos posibles [1]. Podemos anular esta facilidad recordando que si tenemos 26 letras podríamos desordenar el alfabeto plano en alguna de las 26! (4x10 26 ) permutaciones. Una técnica habitual para generar alguno de esos 26! alfabetos posibles desplazados era usar palabra clave: en dicha palabra se eliminan caracteres repetidos y a continuación se relaciona el resto del alfabeto si repetir caracteres. Veamos un ejemplo: Mensaje: Atacar a las 6 horas del jueves 10 Alfabeto Plano A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Clave S A N T I A G O Cifrado S A N T I G O P Q R U V W X Y Z B C D E F H A J K L Texto Plano A T A C A R A S E I S H O R A S J U E V E S D I E Z Cifrado S E S N S C S D I Q D P Y C S D R F I H I D T Q I L Transmitir SESNS CSDIQ DPYCS DRFIH IDTQI LFINE En la tabla, de elaboración propia como todas las que seguirán, hemos dispuesto el mensaje a transmitir como tradicionalmente se ha enseñado en las escuelas de transmisiones [27]: compartimentándolo en grupos de 5 caracteres, formando una especie de palabras que facilitaran la lectura, emisión, copia del mensaje cifrado o comprobación en la recepción, con preguntas del tipo repita grupo 3 ; en el ejemplo DPYCS. En el último grupo era habitual que las normas previeran caracteres de relleno y sin significado para completar hasta 5 (en el ejemplo el último grupo es L y se completa con FINE). Estaba previsto el uso de caracteres numéricos (coordenadas, fechas y horas) y de abreviaturas (H -hora-, PD posición defensiva-, BP base de partida-, LZ zona de lanzamiento-, PC puesto de mando, etc.). Junto con la palabra clave era normal especificar qué grupos se introducían como nulos; en el ejemplo clave SANTIAGO, grupos nulos 3 y 5, daría este mensaje a transmitir: Transmitir SESNS CSDIQ XFRWE DPYCS BFTUP DRFIH IDTQI LFINE Igualmente se instruía en una redacción a formato telegrama previa al cifrado, pero que mantuviera la esencia de la información, con objeto de reducir los recursos requeridos y errores en el proceso de transmisión y descifrado. Es seguro enviar un mensaje con este sistema? Durante siglos esta técnica se consideró segura. En el siglo XI, Al-Kindi encontró un punto débil en la codificación monoalfabética: cada letra del alfabeto plano se sustituye por

15 Cap 2.- Criptografía y Criptoanálisis 15/119 otra y siempre la misma. Si el texto cifrado es suficientemente largo, un análisis de frecuencia de sus caracteres comparado con las frecuencias de uso habituales en el idioma de que se trate permitirá deducir la tabla de conversión utilizada [5]. El criptoanálisis acababa de nacer. La idea de la sustitución se utiliza también en la Biblia, donde se pueden encontrar textos cifrados con atbash hebreo: consiste en usar el carácter simétrico en el alfabeto (el de la a es la z ), a lo que se llama método espejo, o atbash en hebreo; por ejemplo ayuda será zbfwz [1]. Es del siglo XIV la obra más antigua que existe sobre criptografía. Se titula Liber Zifrorum y su autor, Cicco Simoneta, estudia en ella diversos sistemas basados en simples sustituciones de letras. En el siglo XV la criptografía es impulsada por las intrigas entre el papado y las ciudades-estado italianas [5]. En 1466 León Battista Alberti, músico, pintor, escritor y arquitecto, concibió un sistema de sustitución polialfabética que emplea varios abecedarios, saltando de uno a otro; los cambios se indicaban escribiendo la letra del correspondiente alfabeto en el mensaje cifrado. El emisor y el destinatario han de ponerse de acuerdo para fijar la posición relativa de dos círculos concéntricos que determinará la correspondencia de Disco de Alberti 1 los signos; son los llamados discos de Alberti Cifrado Vigenère Durante el siglo XVI se generaliza el uso de la criptografía en los ambientes diplomáticos y en 1586 Blaise de Vigenère publica una obra titulada Traité des chiffres où secrètes manières d'ecrire, donde reúne diferentes métodos utilizados en la época. En dicho tratado recoge un método originalmente descrito por Giovan Batista Belaso en De ahí que incorrectamente se le atribuyera en el siglo XIX a Vigenère, conociéndose aún hoy como el "cifrado Vigenère". El cifrado Vigenère es un cifrado de sustitución polialfabético que se puede considerar como la generalización del cifrado César. La clave está constituida por una secuencia de símbolos del alfabeto K = k0, k1,...,kd-1 de longitud d y donde ki<>kj para todo i,j<d (i<>j). Emplea la siguiente transformación congruente lineal de cifrado [1]: Ek (mi) = (mi + k (i mod d)) mod n siendo mi el i-ésimo símbolo del texto claro y n el cardinal del alfabeto (26 sin la ñ). En el ejemplo que sigue, plano T 20 (20+26) mod 26= 20 S clave Z 26 El descifrado vendrá dado por la transformación mi= (Ek - k (i mod d)) mod n

16 Cap 2.- Criptografía y Criptoanálisis 16/119 TABLA de VIGENÈRE Entrada texto plano A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 3 C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 4 D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 5 E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 6 F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 7 G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 8 H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 9 I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 16 P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 17 Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 18 R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 19 S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 20 T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 21 U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 22 V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 23 W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 24 X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 25 Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 26 Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Entrada clave Para cifrados de campo se usaba la llamada Tabla de Vigenère. Veamos un ejemplo de cifrado: Tras relacionar la palabra clave reiteradamente hasta abarcar todo el mensaje, el carácter cifrado se obtenía leyendo en la primera fila el carácter plano y en la primera columna el carácter correspondiente de la palabra clave; el carácter cifrado resultaba de la intersección de las dos entradas en la tabla. Ejemplo: Mensaje: Atacar a las 6 horas del jueves 13 Clave: A Z U L Texto: plano A T A C A R A S E I S H O R A S J U E V E S T R E C E clave A Z U L A Z U L A Z U L A Z U L A Z U L A Z U L A Z U cifrado A S U N A Q U D E H M S O Q U D J T Y G E R N C E B Y Transmitir: ASUNA QUDEH MSOQU DJTYG ERNCE BYXYZ En este ejemplo podemos comprobar como la A se cifra en A y en U, la C en N y en B, la R en Q y en C, etc. Según la forma de entrar a la tabla, este método tuvo variantes: Vigenère Plano Beaufort Cifrado Alemana Cifrado Clave Cifrado Plano Clave Clave Plano

17 Cap 2.- Criptografía y Criptoanálisis 17/119 Durante siglos el método Vigenère fue considerado irrompible; si la clave de Vigenère tiene mas de 6 caracteres distintos, se logra una distribución de frecuencias en el criptograma del tipo normal, es decir más o menos plana, por lo que se logra difuminar la redundancia del lenguaje. En 1863, Friedrich Kasiski (oficial prusiano) publicó un libro sobre criptografía, Die Geheimschriften und die Dechiffrierkunst ("La escritura secreta y el arte del descifrado"). Ésta fue la primera publicación sobre criptoanálisis aplicado a los cifrados de sustitución polialfabéticos, especialmente el cifrado de Vigenère, desarrollando lo que luego se ha llamado Método Kasiski (ver Anexo B). La importancia del trabajo criptoanalítico de Kasiski no fue valorada entonces o, si lo fue, se mantuvo en secreto. De hecho esta técnica luego se ha sabido que fue diseñada también por el británico Charles Babbage (Gran Bretaña ) y usada en campañas militares inglesas, siendo considerada un secreto militar. Como resultado, el mérito por haber descifrado esta clave le fue otorgado a Friedrich Kasiski Cifrado de Playfair. Sustitución 2-palabras o digrámico Los cifrados anteriores se hacían carácter a carácter, es decir eran monográmicos. Para aumentar la seguridad de la cifra y romper las estadísticas, podemos cifrar por poligramas o bloques de caracteres. Un sistema inventado a finales del siglo XIX (obra del físico Charles Wheatstone pero difundido por su amigo Lord Playfair (que acabó dándole el nombre) es el de Playfair que trabaja con una matriz de 5x5 letras, cifrando por digramas: a cada par de letras del texto claro hace corresponder otras dos letras en el texto cifrado. Se rellena la matriz de izquierda a derecha y de arriba abajo con la palabra clave, no repitiendo letras, y se completa con el resto del alfabeto, sin repetir letras y eliminando J y Ñ: total 25 letras. El texto plano se agrupa por parejas (x,x ) de caracteres; (y,y ) serán el par respectivo cifrado tras aplicar las siguientes reglas [1]: Si (x,x ) están en la misma fila, (y,y ) son los dos caracteres de la derecha. Si (x,x ) están en la misma columna, (y,y ) son los dos caracteres de abajo. Si (x,x ) están en filas y columnas distintas, (y,y ) son los dos caracteres de la diagonal, desde la fila de x. Si x=x, insertar carácter sin significado entre x y x para evitar su repetición, después aplicar reglas Si el número de letras es impar, añadir una sin significado al final del texto, por ejemplo la X. Mensaje: Atacar a las 6 horas del jueves 13 Clave: MURCIELAGO Texto plano ATACAR A SEIS HORAS JUEVES TRECE grupos AT AC AR AS EI SH OR AS JU EV ES TR EC EX

18 Cap 2.- Criptografía y Criptoanálisis 18/119 Cuadrado Playfair M U R C I E L A G O B D F H K N P Q S T V W X Y Z Texto cifrado OQ GR FA GQ OM TK AI GQ MR BM GN QI GM AV Este sistema también es criptoanalizable pues en el criptograma persisten algunas propiedades del lenguaje; en este caso la distribución de digramas típicos; por ejemplo en el castellano en, de, mb, etc. El secreto de este cifrado está obviamente en la matriz, en la palabra clave elegida Cifrado Vernam Hemos visto que, según el principio de Kerckhoffs, un sistema criptográfico basa su seguridad en la clave, seguridad que se mide conociendo el oponente el algoritmo de cifrado pero no la clave. En 1917 Gilbert S. Vernam, ingeniero del MIT que trabajaba en los laboratorios de la empresa AT&T, diseña un dispositivo criptográfico para comunicaciones telegráficas basado en los 32 códigos de Baudot (ver anexo C) que usaban los teletipos desarrollados por su compañía. Estos códigos representan los caracteres del lenguaje con cinco elementos que pueden ser el espacio o la marca (el cero y el uno) diseñado para transmisiones telegráficas. Es decir, un sistema binario con 5 dígitos: 2^5= 32 caracteres. Este cifrador, que tuvo una gran aplicación durante la Primera Guerra Mundial, basa su seguridad en el secreto de una clave aleatoria que se supone tan larga o más que el mensaje y que luego de usarse debe destruirse [4]. Este sistema por sustitución polialfabética es el caso límite del cifrado Vigenère. El hecho de que la seguridad absoluta dependa de un único uso de la clave le dio el sobrenombre de one time pad [14]. Usa una clave constituida por una sucesión de símbolos (bits o caracteres) llamada serie cifrante, operando o-exclusivo XOR cada símbolo de ésta con el correspondiente del texto en claro. Debido a la definición de la función XOR, el descifrado se realiza, igualmente, operando con dicha función cada bit de la misma serie cifrante con el correspondiente del texto cifrado. Si la serie cifrante no se repite, es aleatoria, y de longitud igual o mayor al texto a cifrar, éste cifrado alcanza el secreto perfecto. Además, es el único que verifica tal condición [1]. Cada carácter mi se representa con 5 bits en código Baudot que se suma OR exclusivo (módulo 2) con la correspondiente clave ki de una secuencia binaria aleatoria [4]. De esta forma, el cifrador de Vernam genera un flujo de bits de texto cifrado de la forma:

19 Cap 2.- Criptografía y Criptoanálisis 19/119 C = EK(M) = C1C2C3... Cn Donde Ci = (mi + ki) mod 2 para i = 1,2,..., n; o sea, ci = mi XOR ki Mensaje: Atacar el jueves trece a las seis horas plano: ATACARJUEVESTRECEASEISH 23 caracteres Clave: TCEGIKMOQSUWYBDFVABCDGT 23 caracteres en código Baudot Plano Clave Plano Clave Cifra Cifra A XOR T XOR = = W T XOR C XOR = = V A XOR E XOR = = 2 C XOR G XOR = = H A XOR I XOR = = S R XOR K XOR = = S J XOR M XOR = = Q U XOR O XOR = = 3 E XOR Q XOR = = P V XOR S XOR = = 4 E XOR U XOR = = I S XOR W XOR = = P T XOR Y XOR = = S R XOR B XOR = = W E XOR D XOR = = 1 C XOR F XOR = = A E XOR V XOR = = 3 A XOR A XOR = = 6 S XOR B XOR = = M E XOR C XOR = = K I XOR D XOR = = K S XOR G XOR = = 3 H XOR T XOR = = 5 Cifrado 6 : WV2HS SQ3P4 IPSW1 A36MK K35 Para la operación de descifrado utilizaremos el mismo algoritmo por la propiedad involutiva de la operación OR exclusivo. Esto es: ci XOR ki = (mi XOR ki) XOR ki Como ki XOR ki = 0 para ki = 0 y ki = 1 se obtiene ci XOR ki = mi Cifrado Bazeries: Como hemos visto, sustitución y transformación no resultan muy fiables; sin embargo combinados resultan la base de sistemas mucho más difíciles de romper. Un ejemplo de cifrado producto (transposición más sustitución) fue 6 Como se explica en Anexo C, los caracteres especiales ha sido representados por los dígitos 1 a 6 a efectos de este ejemplo.

20 Cap 2.- Criptografía y Criptoanálisis 20/119 ideado por Etienne Bazeries (criptólogo y comandante del Ejército francés, 1846 a 1931). En este sistema se fija un número clave menor que y se le expresa en texto eliminando las segundas y siguientes repeticiones del mismo carácter. El texto plano se ordena en grupos de cardinal igual a las cifras que componen el número clave: por ejemplo, grupos de 2, 3, 2, 6 y 7 caracteres si la clave fuera [1]. Se generan dos matrices de 5x5: la 1ª contiene el alfabeto relacionado de arriba a abajo y de izquierda a derecha eliminando Ñ y W; la 2ª contiene los caracteres de la clave numérica expresada en texto sin repeticiones, relacionados de izquierda a derecha y de arriba abajo, completando los huecos a partir del último carácter de la clave con los caracteres alfabéticos que le siguen, siempre sin repeticiones. 1ª fase, transposición: se invierten simétricamente los caracteres en cada uno de los grupos del texto plano. 2ª fase, sustitución: en la matriz 1 se busca el carácter plano; el carácter cifrado es el de su misma posición en la matriz 2 Mensaje: Atacar a las 6 horas del jueves 13 Clave: VEINTITRES MIL DOSCIENTOS SESENTA Y SIETE VEINTRSMLDOCAY Texto: plano ATACAR A SEIS HORAS JUEVES TRECE Grupos-clave AT ACA RA SEISHO RASJUEV ES REC EZ transposición TA ACA AR OHSIES VEUJSAR SE CER ZE matriz 1ª 5x5 matriz 2ª 5x5 A F K P U V E I N T B G L Q V R S M L D C H M R X O C A Y Z D I N S Y A B C F G E J O T Z H J K P Q sustitución PV VOV VY KCFBHF DHTJFVY FH OHY QH transmisión PVVOV VYKCF BHFDH TJFVY FHOHY QHZYX Para la transmisión se agrupan en grupos de 5 y se completa el último con caracteres nulos.

21 Cap 2.- Criptografía y Criptoanálisis 21/ Máquinas de cifrar en el siglo XX La rotura de los sistemas tradicionales de cifrado a principios del siglo XX y la masificación de medios materiales y humanos que permitió la Revolución Industrial del XIX en los usos de la guerra moderna en todos los niveles, incluido el tráfico de mensajes cifrados, derivó en el diseño de máquinas que permitieran automatizar el lento y engorroso sistema manual de cifrado. Algunos de los esquemas de cifrado producto fueron usados en los años 20 del siglo pasado para el diseño de máquinas de rotor. Las más conocidas fueron la HAGELIN y la ENIGMA, usadas durante la 2ª Guerra Mundial y que fueron criptoanalizadas en su momento destacando tanto por sus características como por el halo de misterio que las rodeó. El sistema de rotores daba lugar a un importante número de claves secretas que, para aquel entonces, dificultaba in extremis el criptoanálisis La máquina Enigma Inventada por el ingeniero alemán Arthur Scherbius en el año 1923, la máquina Enigma [4] consiste en un banco de rotores montados sobre un eje, en cuyos perímetros había 26 contactos eléctricos, uno por cada letra del alfabeto inglés. En realidad el precursor de este tipo de máquinas con rotores fue Edward Hugh Hebern que algunos años antes inventa y comercializa los denominados cifradores de códigos eléctricos. Esta máquina debe su fama a su amplia utilización durante la Segunda Guerra Mundial, en especial por parte del ejército alemán. El imperio japonés también cifró sus mensajes durante el citado conflicto con una máquina similar denominada Purple. Enigma K adquirida en Nov-36 1 Los rotores se desplazaban como un odómetro. Es decir, al cifrar un carácter el primer rotor avanzaba una posición (correspondiente a 1/26 de una rotación) y sólo cuando éste había realizado una rotación completa (26 letras), el segundo se desplazaba un carácter, y así sucesivamente [4]. Los rotores volvían a su posición inicial, tras un período igual a n t. Por ejemplo, en un sistema con 4 rotores, se utilizan 26 4 = alfabetos de 26 letras. Si aumentamos los rotores a 5, esta cantidad asciende a Esto implicaba que la Enigma usaba un sistema polialfabético, porque la misma letra podía ser sustituida por varias letras distintas a lo largo de un mensaje. Por ejemplo, una 'A' podía ser codificada como una 'M' al principio de un mensaje y más adelante (en el mismo mensaje) ser codificada como una 'T'. La operación de cifra para estas máquinas sigue la siguiente congruencia [4]: Ei (M) = ( fi (M - pi) mod (26 + pi) ) mod 26

22 Cap 2.- Criptografía y Criptoanálisis 22/119 donde pi es la posición en la que se encuentra el rotor i-ésimo y fi la correspondencia de los caracteres de la cara anterior y posterior de este rotor. Por lo tanto, el carácter i-ésimo mi del mensaje M = m1m2m3... se cifrará como: Eki(mi) = ft... f1(m) donde indica la posición relativa entre dos rotores colindantes y t el número de rotores. Rotores de Enigma. 1 Había ciertas características de la Enigma que facilitaban un poco la tarea de decodificación. Por ejemplo, las sustituciones que se realizaban eran tales que una letra nunca podía ser codificada consigo misma. Es decir, una 'A', nunca podía aparecer como 'A' en el mensaje en clave. Si entramos en el simulador [16] y ciframos el mensaje AAAAAAAAA el resultado es KTWREEOST habiendo colocado los rotores 1, 2 y 3 en posición inicial H, D y X. Por mucho que repitamos A nunca se cifra como A Los anillos movibles alrededor de los rotores también incrementaban la complejidad de la máquina. Su objetivo era asignar un número a cada posición del rotor (la cual a su vez correspondía a una letra), de manera que aunque se supiera cuál era la posición inicial de los rotores, el mensaje no podría descifrarse si no se conocía la posición física de los anillos. Cifrar con la máquina Enigma era un proceso lento. Lo operadores trabajaban en grupos de dos, con una persona pulsando las teclas, operación muy lenta ya que las teclas debían pulsarse con mucha fuerza para hacer girar los rotores, y otro registrando la letra cifrada que se encendía en el panel superior de bombillas. Las primeras máquinas Enigma tenían tres rotores y unos doce kilos de peso. La mayoría de los países compraron maquinas para su evaluación y todos ellos hicieron sus versiones. La versión británica era conocida como TYPEX y de ella se construyeron unas unidades, siendo adoptada por el ejército y la RAF. Incluso los polacos, que fueron de los primeros en romper el código generado por la máquina, tuvieron su versión de la misma que llamaban LACIDA [15]. En España, el Bando Nacional, durante la Guerra Civil del 36, adquirió 10 máquinas, como la de la figura del inicio, en Noviembre de 1936, que fueron dedicadas a enlace entre el Alto Mando y con los aliados alemanes e italianos; en total, se calcula que operaron en la Península una cincuentena de estas máquinas [10].

23 Cap 2.- Criptografía y Criptoanálisis 23/119 Quien desee hacer una prueba de funcionamiento de la máquina en tiempo real y cifrado puede hacerlo en El anexo D es un resultado de esta web La máquina Hagelin La máquina Hagelin [17] fue inventada por el criptólogo sueco Boris Hagelin, quien adquirió en 1927 la fábrica de máquinas de cifrar de Arvid G. Damm, otro inventor sueco que no tuvo la suerte de sacar un producto competitivo en el mercado. Entre los años veinte y los treinta, Hagelin diseña diversas máquinas (B-21, B-211, C-36, C-38, etc.) en las que a través de ruedas con piñones realiza una cifra similar a la utilizada por el sistema de Beaufort 7 [4]. La particularidad de estas máquinas, que a la postre hizo millonario a Hagelin, probablemente ante la desesperación de Damm, estaba en una Hagelin CX-52 1 periodicidad muy alta puesto que el número de dientes de las diferentes ruedas eran primos entre sí. Para seis ruedas estos valores eran 26, 25, 23, 21, 19 y 17, de forma que el período era igual a su producto, un valor que supera los 100 millones. La ecuación matemática que representa al cifrado de Hagelin es [4]: Eki(mi) = (k (i mod d) mi) mod n Siendo, d la longitud de la palabra clave, k el carácter correspondiente dentro de dicha palabra, mi el i-ésimo símbolo del texto claro y n el cardinal del alfabeto. El modelo C-38 de esta máquina fue adquirido por el Ejército USA para las comunicaciones militares y diplomáticas durante la IIGM con la designación de M-209. Un diseño compacto y reducido (del tamaño de una sandwichera) facilitaba su uso incluso en niveles tácticos inferiores, pero, sobre todo, el disponer de un sistema de impresión era lo que de verdad facilitaba su uso en relación, por ejemplo, a máquinas como Enigma. Un desarrollo posterior de 1952, el modelo C-52, ha estado operativo en más de 60 países hasta inicios de los 80 y durante toda la guerra fría [17]. En España, en los años cincuenta y a 7 Variante del cifrado Vigenère (ver pág. 13)

24 Cap 2.- Criptografía y Criptoanálisis 24/119 partir de , con las máquinas Enigma ya retiradas por obsoletas, el Ejército español empezó a dotarse con máquinas Hagelin para asegurar sus comunicaciones [10]. Para información más completa y descarga de simulador se recomienda entrar en 8 Primer Tratado de Amistad y Cooperación España-USA de 26-sept-1953.

25 Cap 2.- Criptografía y Criptoanálisis 25/ Cifrado por homófonos Qué entendemos por homófonos? [4] La definición del vocablo puede encontrarse en cualquier diccionario: "palabras de igual pronunciación o sonido y distinto significado" como por ejemplo hola y ola. En criptografía entenderemos por homófonos a las distintas representaciones que damos al mismo carácter plano sin seguir ninguna relación o función determinada. Por ejemplo, si establecemos una relación entre los 27 caracteres del alfabeto con los 100 primeros números del 0 al 99, al cifrar podríamos sustituir la letra A con cualquiera de los siguientes números: 1, 15, 18, 29, 50, 97. Luego, el receptor autorizado, que conoce esta correspondencia, simplemente reemplaza dichos números por la letra A para descifrar el mensaje. En términos matemáticos, pues, una sustitución homofónica es una correspondencia de uno a muchos en lugar de una correspondencia uno a uno típica de los métodos de sustitución monoalfabéticos. Se asigna a cada letra del alfabeto original un conjunto de elementos de un alfabeto ampliado o de elementos agrupados de un alfabeto. Los subconjuntos que se asignan a cada una de las letras del alfabeto original deben ser evidentemente disjuntos [6]. La técnica descrita da lugar a los denonimados cifradores por homófonos, cuya característica principal es la de suavizar la distribución de frecuencias típica del lenguaje, de forma que el criptoanalista no pueda emplear las técnicas estadísticas aplicables en los métodos anteriores. Asignamos, para ello, un mayor número de homófonos a los caracteres más frecuentes del lenguaje y un menor número a aquellos menos frecuentes, con el objeto de que la distribución de estos valores se asemeje lo más posible a una distribución normal [4]. Observamos en el ejemplo que sigue como con arreglo a la tabla de homófonos definida, el mensaje atacar el jueves diez a las 6 horas quedará cifrado según caracteres de cifrado 1 o de cifrado 2 o de cualquier otra combinación que se desprenda de la tabla mostrada. Mensaje: Atacar el jueves diez a las 6 horas Texto: plano A T A C A R J U E V E S D I E Z A S E I S H O R A S Cifrado Cifrado Tabla de homófonos Entrada texto plano A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Cifrado por homófonos 1

26 Cap 2.- Criptografía y Criptoanálisis 26/119 En la tabla de arriba se observa como las letras que más frecuencia de aparición tienen en un texto son las que presentan más alternativas de elección de homófono. En se puede realizar una práctica de cifra homofónica automática. El criterio para asignar los homófonos no siempre tiene que ser a través de una tabla cartesiana. Más novelesco es el sistema usado en el cifrador homofónico más conocido de la historia de la criptografía, atribuido al aventurero Thomas Jefferson Beale, quien en 1821 dejó tres mensajes cifrados, llamados respectivamente B1, B2 y B3, en el que supuestamente entrega todas las pistas para descubrir un fabuloso tesoro por él enterrado en Virginia, Estados Unidos. La técnica aplicada por Beale para formar el conjunto de homófonos del cifrado B2 es sencilla pero ocurrente: asigna números a los caracteres del alfabeto según la posición de la palabra en cuestión que comienza con dicha letra dentro del texto de la Declaración de la Independencia de los Estados Unidos. Se puede ampliar información en [20] Cifrado homofónico de orden n>1 La fortaleza del cifrado está, pues, en la tabla o el texto que determina los homófonos. Un cifrador por homófonos de orden n > 1 será aquel sistema que para cada carácter plano prevea dos o más conjuntos posibles de caracteres homófonos [1]. Un orden 2 se puede obtener, por ejemplo, a través de la tabla de homófonos 2 de ejemplo. B entrando por columna se cifrará como A2, Q5, O8, ; entrando por fila será C2, H0, T3,. Para el cifrado se dará una función que defina para cada carácter del mensaje plano cómo entrar en la tabla: por fila o por columna. Por ejemplo, todo filas, todo columnas, fila, fila, columna, columna en caracteres n+3, etc. Esa función, junto con la tabla, deberá ser conocida por el destinatario del mensaje [27]. Usando la tabla de ejemplo, se puede diseñar otro cifrador por homófonos de orden 2. Definimos dos textos planos: uno V, el verdadero, otro F, falso, de la misma longitud que V. V= atacar jueves trece (17 caracteres) F= retirada jueves dos (17 caracteres) A B C D A A2 V1 X5 B C2 H0 T3 C W9 Q5 S9 D Z5 O8 R1 R H8 J2 N6 Z0 S1 Tabla de homófonos 2 El criptograma se forma con los valores de la tabla intersección V(i) x F(i) entrando V(i) por columna y F(i) por fila. En el ejemplo, 1 i 18 V(1)= a, F(1)= r V(1)xF(1)= H8. En el peor de los casos, si el enemigo posee la tabla, nunca sabrá cual es el mensaje correcto [4].

27 Cap 2.- Criptografía y Criptoanálisis 27/ Criptoanálisis de los cifrados por sustitución con homófonos Si ningún símbolo aparece con más frecuencia que ningún otro, un intento de desciframiento usando el análisis de frecuencia no parece posible. Ofrece, por tanto, una seguridad perfecta el cifrado por homófonos?. No del todo, aunque estos sistemas pueden llegar a ser extremadamente difíciles de romper, especialmente si la asignación de tales valores no sigue una lógica. Con una gran cantidad de texto cifrado es posible encontrar algunas cadenas de números o símbolos que se repiten y, por tanto, se pueden forman digramas, trigramas y en el mejor de los casos palabras y frases completas. Con suerte podremos obtener en algunos casos la tabla de homófonos [4]. Y es que un texto cifrado, a pesar de la sustitución, todavía contiene pistas sutiles. Cada letra de un idioma tiene su propia personalidad, determinada por su relación con todas las demás letras. Por ejemplo [27]: La Q es una letra infrecuente y, por tanto, es probable que esté representada sólo por un símbolo, y sabemos que la u, que supone aproximadamente el 3 por ciento de todas las letras, probablemente esté representada por tres símbolos. Si encontramos un símbolo en el texto cifrado que sólo esté seguido por tres símbolos particulares, entonces sería razonable asumir que el primer símbolo representa la letra q y los otros tres símbolos representan a la u. Otras letras son más difíciles de localizar, pero también las delata su relación con las demás letras: la K, J, H y V siempre van seguidas de vocal. En español, si se divide el texto en grupos de 4 letras, en cada grupo debería aparecer una vocal. En función de que se cuente con una gran cantidad de texto cifrado, se pueden asociar los números más repetidos a letras de alta frecuencia, ir rellenando la matriz de homófonos y, a su vez, buscar digramas, trigramas, palabras, etc., con el objeto de obtener la matriz de cifrado El método de cinta móvil o método español Este método consiste en un caso particular del cifrado por sustitución con homófonos 9. Su origen data de mediados del siglo XIX y la primera vez que aparece documentado es en 1894 en el libro Tratado de criptografía con aplicación especial al ejército de Joaquín García Carmona [7], donde se le denomina Método Oficial de Guerra (ver Anexo E, pág. 80). Poco después, en 1898, aparece en un texto de telegrafía militar de Losada con el nombre de método español [8]. Según Carmona el método era utilizado en la época de su publicación por todos los Ministerios exceptuando el de Estado; Losada, por su parte, afirma que es el procedimiento adoptado en España para cifrar los escritos oficiales. 9 El ataque y rotura de mensajes cifrados con este método conociendo sólo el texto cifrado es el principal objetivo de este Proyecto de Fin de Carrera.

28 Cap 2.- Criptografía y Criptoanálisis 28/119 El criptógrafo de cinta móvil consiste en una tabla de homófonos a la que se añaden dos filas, una en la que figura el alfabeto en orden normal y en la otra se introduce una cinta móvil con un alfabeto doble totalmente aleatorio. En el diseño original la cinta pasa a través de dos ranuras a ambos lados de la tarjeta donde esta ubicada la clave y justo debajo del alfabeto claro, tal como muestra la siguiente figura [5] Tabla de homófonos con cinta móvil 1 Para formar la tabla de homófonos se utilizaban números de dos cifras del 10 al 99 distribuidos correlativamente por filas y de manera que a cada carácter le correspondieran 3 ó 4 números [8], sin embargo, en los sistemas usados durante la Guerra Civil del 36 esta limitación se cambia en algunos casos y se elimina en otros llegándose a representar todos los números del 01 al 99. El alfabeto de la cinta móvil solía generarse mediante la utilización de una palabra clave. Por ejemplo, si utilizamos la palabra revolución el alfabeto generado podría ser, utilizando el mismo esquema que el presentado en el libro de Carmona [10] R E V O L U C I N A B D F G H J K M P Q S T W X Y Z - Con lo que el alfabeto en la cinta quedaría como, RAPEBQVDSOFTLGUHWCJXIKYNMZ Para cifrar ambos comunicantes debían ponerse de acuerdo en la colocación de la cinta móvil, para ello indicaban el par de letras, la primera del alfabeto normal y la segunda de la cinta para posicionarla correctamente (en la tabla de ejemplo, N en J ). La definición de la clave completa, siguiendo el ejemplo, se daba con la expresión revolución N en J. Posteriormente se procedía a cifrar utilizando el alfabeto marcado en la cinta como alfabeto base y escogiendo cualquiera de los números de la columna debajo de la letra a cifrar como texto cifrado. Ejemplo: Mensaje: Atacar el jueves diez a las 6 horas Texto: plano A T A C A R J U E V E S D I E Z A S E I S H O R A S Clave Revolución N en J cifrado cifrado

29 Cap 2.- Criptografía y Criptoanálisis 29/119 Tabla de clave X (caso "Mar Cantábrico") A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Q D S O F T L G V U H W C J X I K Y N M Z R A P E B El ejemplo se ha confeccionado con la tabla usada en sus comunicaciones por el barco Mar Cantábrico [12] (ver Anexo F, pág. 80) y la clave revolución N en J. Si bien el secreto depende de ir variando los números usados como cifra, lo cierto es que muy frecuentemente eran empleados los mismos números para representar las letras. Al cifrar el mensaje del ejemplo presentado hemos detectado lo que para textos largos suponía, creemos, el Talón de Aquiles de este método: el cifrador, por mucho cuidado que tuviera, acaba repitiendo números porque para cada carácter sólo dispone de 3-4 homófonos posibles; las letras de mayor frecuencia de uso acaban por no poder ser encubiertas 10. En el corto mensaje plano usado (26 letras) la a aparece 5 veces y la e 4 veces por lo que alguno de sus homófonos es repetido (el 58 en cifrado 1, el 54 en cifrado 2, por ejemplo), y esto en un mensaje de 300 ó 400 caracteres termina por descubrir frecuencias de uso. Como se ve en Anexo F (pág. 80) el sistema descrito no era seguido al pié de la letra en Una de las primeras variaciones fue el cambio del alfabeto de la primera fila. Originalmente dicha fila presentaba todas las letras en orden alfabético, siendo sustituida más adelante por un alfabeto en el que las letras aparecían en un orden aleatorio o no estaban todas. Esta modificación ya aparece en la clave general de 15 de abril de 1910, con lo que no podemos decir que se trate de una innovación aparecida en la guerra. Otra fue el añadir varias cintas móviles como en la clave aviación 1931 en la que las cintas eran una la típica del alfabeto móvil y dos correspondientes a dos de las filas de códigos. Esto hacia que un mismo número representase a varias letras en función de su colocación y permitía, teóricamente, mejorar la resistencia del código. Además se solían incluir pequeños repertorios para las claves más comunes [10]. Lo expuesto junto a otras faltas en disciplina de transmisiones (falta de concienciación sobre el secreto en las comunicaciones, enviar mensajes cifrados parcialmente, uso reiterado de la misma clave, cifrado del mismo mensaje con distintas claves, etc.) hacía que el sistema no proporcionara gran seguridad, sobre todo si la tabla era descubierta por el enemigo. Además, la compartimentación de las zonas de operaciones que sufrió sobre todo el Bando 10 Eliminando, de este modo, la distribución normal que se consigue en los sistemas de sustitución homofónica puros (ver pág. 23).

30 Cap 2.- Criptografía y Criptoanálisis 30/119 Rojo (en denominación de la época) dificultaba la actualización o renovación de claves y tablas aún cuando se tuviera la certeza de haber sido descubiertas por el enemigo. Por ello es chocante que un sistema con tan poca seguridad fuese tan ampliamente utilizado, y lo es más cuando vemos que se utilizó en los niveles más altos de Mando. Carmona ya avisaba de la poca seguridad del método y daba un ejemplo 11 de cómo descifrar un mensaje conocida la tabla pero no la clave [7]. No sólo avisaba, sino que la Junta Superior Consultiva de Guerra eleva un informe al Ministro de la Guerra por el cual se le concede Cruz de Primera Clase al Mérito Militar por el contenido del tratado que ha publicado, y en ese informe se hace eco de la inseguridad del método. Léase en la siguiente imagen extracto de dicho informe [7] Informe de la Junta Consultiva sobre la seguridad del Método Español 1 A pesar de lo dicho, este sistema fue el método más ampliamente utilizado durante la GC36 por los dos contendientes, si bien la mayor disciplina y coordinación que se estableció en el Bando Nacional en este área de las comunicaciones, como en casi todas las demás del esfuerzo bélico, le permitió jugar con ventaja durante los 3 años de contienda. Como ya se ha dicho al tratar las máquinas de rotor, para las comunicaciones el Bando Nacional adquirió diez máquinas Enigma alemanas en noviembre de 1936 que fueron dedicadas al enlace del Alto Mando. El cifrado en escalones operativos altos y medios siguió realizándose con tabla de homófonos y cinta móvil, sistemas de sustitución o transposición más elementales [10] y códigos de trinchera como el que se muestra en página 83. Véase en este sentido, apéndice VII de [9] 11 En pág. 100 de su tratado, para apoyar su crítica, presenta dos ejemplos: en el primero parte de un mensaje que contiene partes sin cifrar, consiguiendo deducir de la relación entre esas partes y las cifradas la tabla de homófonos; en el segundo ejemplo, totalmente encriptado, se apoya en dicha tabla y en un análisis de frecuencias de uso para salvar el obstáculo de la cinta móvil.

31 Cap 2.- Criptografía y Criptoanálisis 31/119 Como curiosidad en Anexo F (pág. 80) se muestran algunos ejemplos de claves y tabla de homófonos y documentos reales utilizados durante el conflicto Ataque al método español: sus debilidades Hemos visto, pues, que a cada letra del mensaje origen (texto plano) le pueden corresponder hasta 5 números (<= 99) y a cada número le corresponde una sola letra. Al cifrar el texto origen cada letra puede ser cifrada al azar usando cualquiera de los números de su columna en la tabla. Además, mediante el uso de una clave se hace bailar la correspondencia entre las columnas de números y las letras. Atendiendo al objetivo de este proyecto: el criptoanálisis sin conocer la tabla de homófonos Qué debilidades encontramos en el sistema de cinta móvil a efectos de atacar el criptograma?. Veamos: 1º. Aún no habiéndose encontrado escrita como norma, en todas las tablas observadas (ver al efecto [9] y [11]) se respeta la costumbre de relacionar la misma decena de números por fila de la tabla, de manera que los homófonos de la columna de una letra están separados siempre por al menos 10 unidades. 2º. En el cifrado por homófonos, la distribución normal de frecuencias de uso se consigue asignando a cada carácter del alfabeto un número de homófonos proporcional a su frecuencia de uso en el idioma. Esto no es posible en el método español. 3º. En el método español la columna de homófonos de cada letra suele tener de 3 a 5 números, lo que en textos largos mantiene información indirecta sobre frecuencia de uso de la letra. 4º. Dicho problema se incrementa con el uso de la cinta móvil 12. 5º. La operación de cifrado obliga a elegir entre una media de 4 homófonos por letra. Si se supone esa elección aleatoria, cada homófono tendrá una probabilidad del ¼ de ser elegido para reemplazar a su letra. 6º. Con esa probabilidad de ¼, si multiplicamos la frecuencia de uso del homófono en el texto cifrado (frec Hj) por 4, obtenemos la frecuencia de uso de la letra en el texto plano y, si este texto es largo, dicha frecuencia debe ser semejante o igual a la frecuencia relativa estándar de uso en el idioma o frec Ci. Luego frec Ci 4 x frec Hj Sin considerar los argumentos anteriores, el espacio de búsqueda de la solución (el alfabeto que encabeza las columnas de la tabla) comprende 27 letras 12 Por ejemplo, si en la tabla original a la A (frecuencia de uso habitual 13,34%) se le asignan 5 homófonos y a la X (frecuencia de uso habitual 0,10%) 3 homófonos, la aplicación del alfabeto perturbado por la cinta móvil puede invertir la asignación, imputándole a la A sólo 3 homófonos y a la X, que tal vez no se use en el mensaje plano, 5 homófonos.

32 Cap 2.- Criptografía y Criptoanálisis 32/119 posibles por homófono dado que a cada número le podría corresponder cualquiera de las 27 letras del alfabeto. Cómo reducir ese espacio de búsqueda tan amplio -27 letras posibles por número-?: Para abarcar mayor casuística: a) Se estimará el número n de homófonos por columna entre 1 y b) frec Ci se comparará con cada (n x frec Hj) donde 1 n 5. c) Si el texto cifrado es corto 14 y, por tanto, la frecuencia de uso del homófono puede estar algo alejada de la habitual de su letra en el idioma, admitimos un margen de fluctuación o error Me y comparamos (frec Ci) con (n x frec Hj ±Me). d) De dicha comparación obtenemos para cada homófono Hj un conjunto de letras candidatas L= Ci donde Ci pertenece a L si existe n / (frec Ci) pertenece a [ (n x frec Hj ±M e ) ], siendo 1 n 5. Es decir, si frec Ci= 8,93% y (2 x frec Hj)= 9,01%, la letra Ci queda incluida en L del homófono Hj, dado que Cómo definimos Me? (9,01%x 0,8) 8,93% (9,01%x 1,2) Se han hecho pruebas sobre un mensaje plano de 511 caracteres del que conocemos la tabla de homófonos y el texto cifrado; se ha podido comparar los resultados de la técnica expuesta en los párrafos anteriores con la tabla real, buscando definir un Me eficiente. El resumen está en la tabla siguiente: Me Acierto Cm Reducción 10% 50,68% 6,31 76,60% 20% 84,00% 9,76 63,83% 30% 89,00% 12,05 55,35% 40% 93,00% 13,23 50,99% 50% 93,00% 14,12 47,69% 60% 93,00% 15,24 43,53% 70% 93,00% 16,52 38,81% 80% 93,00% 17,86 33,84% 90% 95,00% 19,37 28,26% 100% 96,00% 21,03 22,12% 110% 96,00% 22,03 18,42% 120% 96,00% 22,23 17,66% Análisis de Me y media de letras candidatas No sólo porque la tabla pudiera tener sólo 1 número en una columna, sino porque aunque la tabla tuviera 5 homófonos en esa columna, el cifrado de un mensaje en particular puede que no requiera escoger más que un número de esa columna. 14 No más de 250 caracteres, como se instruía en la época a los operadores dentro de las normas de seguridad a cumplir.

33 Cap 2.- Criptografía y Criptoanálisis 33/119 Donde: Me es el margen que admitimos en torno a n x frec Hj para dar positiva la comparación de frecuencias de uso: ±10%, ±20%, etc. Acierto indica el porcentaje de letras de la tabla de homófonos real que quedan incluidas correctamente en el conjunto L de candidatos de cada homófono. Para Me= 20%, acierto= 84%. Cm es el cardinal medio de los conjuntos candidatos. Para Me= 20%, Cm es 9,76 en la tabla. Reducción es el porcentaje medio en que se reduce el espacio de búsqueda. Para Me=20%, Reducción= ( (27-9,76) / 27 ) x 100= 63,86 %. La gráfica siguiente informa de Cm en función de Me Cm en función de Me 25,00 20,00 15,00 10,00 5,00 0,00 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 110% 120% 130% 140% 150% Cm La gráfica siguiente cruza Acierto con Reducción e informa del punto de Me más eficiente: 20% 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Rendimiento en función del margen de error Me 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 110% 120% 130% 140% 150% Acierto Reducción

34 Cap 2.- Criptografía y Criptoanálisis 34/119 Tras lo expuesto, para cada homófono obtenemos un conjunto L de letras candidatas que, pudiendo ser amplio (8-10 caracteres), nunca serán las 27 letras que a priori se nos presentan como posibles para cada homófono. De esta manera podemos componer una tabla inversa de asignación de letras candidatas a cada homófono como la que sigue: Homófonos f b a ñ r h g e x i q v d z y l j j Letras Candidatas u Tabla inversa de homófonos 0-2 Con la técnica descrita hemos reducido, pués, el espacio de búsqueda de 27 a 10 letras de media por homófono, un 65% menos. A partir de esta tabla inversa inicializamos el AG (ver en detalle cap 3.2 pág. 40). ñ x

35 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 35/119 Cap 3.- Método Español: criptoanálisis con algoritmo genético. Habiendo estudiado los sistemas de sustitución por homófonos y analizado en particular el Método de Cinta Móvil, pasamos a plantear y explicar la solución que proponemos. Sobre el núcleo fundamental que supone el código del Algoritmo Genético (ver Cap 3.1), se ha diseñado un programa que interactuando con el usuario permite definir ciertos parámetros como, por ejemplo, las listas que se usarán para definir un diccionario en el que reconocer las palabras, la longitud mínima de las palabras a buscar. Además, para permitir que el criptoanalista incorpore su intuición o criterios personales, se le permite elegir cualquier cromosoma que genere el AG 15, para, a partir de él y con la utilidad desarrollada al efecto, continuar con el criptoanálisis, aceptando que hay un nivel a partir del cual el AG no mejora significativamente sus resultados, ya que la posibilidad de falsos positivos que desvirtúen el resultado es muy alta 16. Y ello, porque estamos ante un problema de sustitución polialfabética (proyección inyectiva); el Sr. Gascón, al dar por conocida la tabla, reducía su problema a una sustitución monoalfabética, dado que la misma tabla permite tratar la proyección como biyectiva aún siendo, aparentemente, inyectiva 17. Parámetros Nivel Externo Algoritmo Genético Menú, Cromosomas_candidatos Usuario Nivel externo del Sistema 1 15 Lo lógico será elegir aquellos cromosomas con mejor resultado en la función objetivo. 16 Y al contrario, lo que pueden parecer falsos positivos, para el analista pueden tener todo el sentido lógico: por ejemplo, palabras o caracteres componentes de un código de trinchera. 17 f: A B es inyectiva <=> para todo x 1, x 2 / x 1 x 2 => f(x 1) f(x 2)

36 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 36/119 El diagrama de flujo interno del programa queda definido según el siguiente esquema: Menú Opción 1 Mostrar menú 1º Nivel Opción = 0 Opción Opción = 3 Opción = 4 Cromosomas candidatos 2 Procesado Automático Opción = 1 3 Cargar texto histórico 5 Analizar texto cifrado 6 Procesar diccionario 4 Analizar frecuencias Opción = 2 Opción = 5 7 Descifrar texto 1er. Nivel interno del Sistema 1 El esquema muestra la estructura lógica del flujo interno dedicando los puntos 3, 4, 5 y 6 a la preparación de los datos (ver aptdos 3.2 y 3.3 siguientes) y el punto 7 para el AG (ver aptdos. 3.4 a 3.7).

37 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 37/ Teoría general sobre Algoritmos Genéticos Los algoritmos genéticos (AG) son una familia de métodos de cálculo inspirados en la teoría de la evolución de las especies y la selección natural. Como algoritmos en sí, se puede decir que son métodos estocásticos de búsqueda ciega de soluciones cuasi-óptimas [26]. Un AG codifica información relativa a un problema concreto en una serie de estructuras de datos denominadas cromosoma o genotipo. Aplicando a estas estructuras sucesivos operadores de recombinación se puede encontrar una posible solución al problema planteado. Funcionamiento interno del AG En un AG se genera un conjunto de cromosomas (cromosoma, cada solución planteada) compuestos por genes (o características) que representa a un conjunto de posibles soluciones o población. Esa población es sometida a ciertas transformaciones y a un proceso de selección sesgado a favor de los mejores candidatos con los que se pretende obtener nuevas soluciones candidatas. Individuo o cromosoma 1 Individuo o cromosoma 2 Individuo o cromosoma 3 genes POBLACIÓN Individuo o cromosoma n Conceptos básicos del AG 1 La estrategia del AG parte de una población aleatoria de individuos descritos de diversas formas mediante cromosomas y genes. A partir de esa población y con los operadores de reproducción y mutación se genera una nueva población que en general debe ser de mejores características en relación a una función objetivo o fitness o de adaptación que guía el proceso de búsqueda de la mejor solución o individuo. La reproducción o cruce entre individuos procura obtener nuevos candidatos (soluciones) mejores que sus padres. La mutación permite realizar cambios aleatorios en individuos para obtener material genético perdido o no existente.

38 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 38/119 Ventajas del AG No requieren representación matemática muy elaborada de los problemas tratados. Dan soluciones a problemas desahuciados mediante otras técnicas o muy complejos con otros métodos. Son muy robustos frente a ruido o decisiones puntuales erróneas. Son fácilmente hibridables con otras técnicas de Inteligencia Artificial: Redes neuronales, Lógica Borrosa. Modularidad y portabilidad. Ofrecen un entorno amplio para tratar muy diversos tipos de problemas que requieran optimización. Criterios a implementar "La naturaleza es sabia: cualquier animal o vegetal en sucesivas generaciones ha sido capaz de adaptarse a base de cambios de su forma de vida o de su estructura para sobrevivir" (Charles Darwin). Lo que sea favorable para la supervivencia hay que conservarlo. Lo que represente debilidad para la supervivencia hay que descartarlo. Estructura del Algoritmo Genético 1º. Generación de una población de individuos totalmente aleatoria. 2º. Evaluación de esta población siguiendo un criterio de distancia al objetivo buscado según la función objetivo. 3º. Aplicación de selección de cualidades más ventajosas de la población. 4º. Aplicación de operadores de cruce y mutación. 5º. Resultado: población siguiente con una generación más cercana a la solución. 6º. Repetir desde punto 2 hasta lograr una solución similar al objetivo buscado.

39 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 39/119 Inicio Inicio estadístico de la población Seleccionar individuos para reproducción Algoritmo Genético Producir descendencia Mutar descendencia Evaluación de la población y búsqueda de palabras con impresión de informes Fin? Fin Estructura del AG 1 Origen del término AG La expresión algoritmo genético aparece por primera vez en la tesis doctoral de J. D. Bagley "The behavior of adaptive Systems which employ genetic and correlation algorithms". Universidad de Michigan en La teoría general y su aplicación tiene origen en el trabajo de John Henry Holland "Adaptation in natural and artificial Systems" (1975), Profesor de Filosofía, de Ingeniería Eléctrica y de Ciencias de la computación en la Universidad de Míchigan.

40 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 40/119 Un grupo de investigadores seguidores de Holland en los 80 dan un fuerte empuje (Goldberg, Baker y otros). Hoy día es una técnica muy extendida para resolver problemas de optimización, sobre todo si la función a optimizar tiene muchos máximos/mínimos locales. En estos casos se requerirán más iteraciones del algoritmo para "asegurar" el máximo/mínimo global. También son adecuados si la función a optimizar contiene varios puntos muy cercanos en valor al óptimo y solamente podemos "asegurar" que encontraremos uno de ellos (no necesariamente el óptimo).

41 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 41/ Preparación de los datos de entrada Como todo sistema de información, para el inicio de ejecución del AG necesitamos unos imputs o datos de entrada. La definición de dichos imputs se realiza en las siguientes fases: Cálculo de frecuencias reales. Obtención de las frecuencias de uso de las letras, bigramas y trigramas que aparecen en un texto que podríamos considerar como de la época (ver en Anexo A pág. 74), que nos sirva de referencia para poder evaluar la calidad del posible texto plano generado por cada cromosoma (ver aptdo. 3.7): a. Dicho texto se lee de la carpeta Textos\ (fichero TextoCalculoFrecuencias.txt, preparado por defecto o definido por el usuario), y se carga en un string: Muestra de TextoCálculoFrecuencias.txt 1

42 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 42/ Cargar texto cálculo de frecuencias Textos Texto 3.1 Cargar texto texto_frecuencias Simplemente abre el archivo de texto y lo carga en un string. Carga del texto de la época 1 b. Se recorre el texto leyendo primero en grupos de una letra, luego dos letras y por último tres letras almacenando, en un vector V la cantidad de veces que aparece cada n-grama. Posteriormente se divide entre el total para hallar la frecuencia de cada n-grama. Para incrementar el contador por cada nueva aparición del n- grama de manera eficiente se utiliza una función HASH que trabaja en base 27 18, función que evita una búsqueda secuencial dentro del vector para encontrar la posición de memoria donde almacenar el nuevo valor del contador de iteraciones del n-grama dado. Ejemplo de trabajo de la función Hash F: índice bi-gramas aa ab ac ba bb bc zx Zy zz Vector V Aparece el bigrama zx. En base 27 z= 26 y x= 25. F(zx)= 26x x27 0 = 726 V(726)= V(726) + 1= es el número de caracteres del alfabeto aplicado. Usamos un sistema de numeración en base 27, donde el cero es A y el 26 es Z (comparar con el sistema hexadecimal para comprender).

43 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 43/ ,2,3 Calcular frecuencia ngramas Texto_frecuencias 4. Analizar frecuencias 4.1 Calcular frecuencia letras 4.2 Calcular frecuencia bigramas 4.3 Calcular frecuencia trigramas fre_letras fre_bigramas fre_trigramas Frecuencias Recibe el texto_frecuencias y analiza las frecuencias de los monogramas, bigramas y trigramas Esquema de análisis de frecuencias 1 Texto_frecuencias Inicio Leer ngrama fre_letras Leer ngrama letra Potencia = 0 Val = 0 Long = long(ngrama) Pos = Long Calcular Posición Pos >= 0 Letra, pos val += (ngrama[pos] - 'a')*27^ potencia; Colocar Potencia++ Pos-- Devolver val Fin Recorre el texto frecuencias letra a letra, cada letra es pasada a una función hash que trabajando en base 27 halla la posición adecuada y es almacenada en el vector. Procedimiento de cálculo de frecuencias 1

44 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 44/119 Las frecuencias resultantes serán almacenadas en ficheros independientes en la carpeta Frecuencias\. En Anexo A (pág. 72) se puede observar el resultado de frecuencias obtenido para los n-gramas más significativos Carga del texto cifrado Se lee el texto cifrado cargando los distintos valores numéricos que lo integran y se ordenan de menor a mayor para eliminar los repetidos y facilitar las búsquedas, de manera que obtenemos un vector numérico que se usará de referencia a la hora de aplicar los cromosomas para poder generar un texto plano candidato con el que comparar las frecuencias cargadas anteriormente. Estos valores formarán la base de los cromosomas del algoritmo genético. (ver apartado 3.3) Texto cifrado 1 Vector de Valores

45 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 45/ Generación de la tabla inversa. Una vez definido el vector de valores y siguiendo con el proceso explicado en capítulo 2.4.4, obtenemos una tabla 19, de la que se muestra a continuación un extracto Extracto de tabla inversa 1 La primera fila es informativa y no interviene en la confección de la tabla; se coloca para visualizar el resultado del proceso. Vemos que el homófono 22 se repite en el texto cifrado 9 veces: frecuencia relativa 1,76%; al multiplicarla por 2, por 3, por 4 y por 5, resultan frecuencias de uso de 3,52%, 5,28%, 7,05% y 8,81%. Estas cifras, con un margen de error Me de 20% (ver pág. 32), se 19 Esta tabla corresponde al criptoanálisis realizado sobre el mensaje que estudia el Sr. Gascón en su proyecto, correspondiente al texto plano barco toda confianza en isla Ibiza

46 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 46/119 corresponden con las frecuencias de uso de las letras b, c, d, i, l, n, o, r, s, t, u, como se puede apreciar viendo los datos de la tabla lateral Frec. uso idioma. Queda definido el conjunto candidato L para el homófono 22 (ver pág. 32). Y, comprobando en la primera fila, que ya decíamos, es informativa, vemos que, efectivamente, la b en el mensaje original se cifra con el 22. Con Me= +-20% el cardinal medio de los conjuntos candidatos es 9,5 y se reduce el espacio de búsqueda en un 65%. En el caso del homófono 70 su conjunto candidato L= f, g, h, q, v, y, z. En la primera fila la letra es u que no pertenece a L Esto es así porque la frecuencia de uso del 70 en el texto cifrado es tan pequeña (0,20%) que no permite sacar conclusiones. En los casos estudiados se ha encontrado una media de un 10% de estas situaciones pero son situaciones tan poco significativas que no desvirtúan el proceso general pero ya anticipan la necesidad de la intervención del analista para alcanzar el 100% del criptoanálisis. Textos Texto Cifrado 5. Analizar texto cifrado fre_letras texto_cifrado 5.1 Cargar texto cifrado Calcular Tabla Inversa 5.2 Ordenar y Eliminar repetidos valores_texto tabla_inversa Ilustración 1 Análisis del texto cifrado 2 En la figura se observa cómo se carga el texto cifrado de la carpeta \Textos dando como resultado por un lado el texto cifrado y por otro tras ordenarlo y eliminar repetidos, el vector de valores de equivalencia para el cromosoma.

47 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 47/ Procesado del diccionario Para procesar el diccionario se siguen los siguientes pasos los siguientes pasos: a) Se intenta cargar el diccionario diccionario_completo.txt de la carpeta \Diccionarios filtrando las palabras en función de la mínima longitud especificada por el usuario 20. i. Si falla la carga, buscará los archivos base.txt, lista1.txt y lista2.txt en la carpeta Diccionarios\. Estos archivos contendrán bien listados de palabras, bien textos normales con los que generar un nuevo diccionario y que el analista podrá definir a conveniencia. ii. iii. Cargará todas las palabras en memoria eliminando los signos ortográficos, las ordenará alfabéticamente y eliminará las repetidas (ver fig. diccionario completo siguiente). Por último generará el índice base índice.txt para acelerar la búsqueda de palabras a partir de su raíz, procedimiento explicado en apartado b) siguiente (ver fig. Índice base de búsqueda siguiente) Diccionario completo 1 20 El mínimo aconsejable es 6. Cuanto menor sea la longitud de palabra mayor será la cantidad de falsos positivos encontrados por el algoritmo.

48 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 48/119 Índice base de búsqueda 1 b) Se intenta cargar de índice#.txt el índice correspondiente al grupo de palabras que tienen una longitud mayor o igual a la mínima especificada por el usuario. Si falla la carga porque no exista el fichero i. Seleccionará del diccionario completo las palabras de longitud mayor o igual a la especificada y definirá como término de búsqueda los primeros cuatro caracteres (ver figura siguiente). ii. Eliminará las repetidas y buscará las posiciones en el diccionario. iii. Para acabar generará el índice específico índice#.txt Índice para palabras >= 6 caracteres 1

49 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 49/119 diccionario El 6.3 a la vez que carga cada palabra, le quita las tildes y demás símbolos. 6.1 Cargar diccionario Error? Sí 6.3 Cargar listados listados diccionario No diccionario Listados Listados diccionario 6. Procesar diccionario Índice_filtrado 6.2 Cargar índice longitud longitud 6.4 Ordenar y limpiar diccionario índice 6.5 Generar índice Error? Sí 6.6 Generar índice filtrado No Longitud == 0 longitud No / Índice_filtrado Procedimiento: Intenta cargar el diccionario, si da error genera tanto el diccionario como el índice básico. Si consigue cargarlo intenta carga el índice con el filtro de longitud adecuado y si no lo hay lo genera. Índice_filtrado Índice_filtrado Listados Sí / índice_filtrado Proceso de carga de diccionario e índice 1 Con estos pasos ya tenemos preparado para el proceso las frecuencias de uso de la época con las que comparar los textos, el vector de valores y el diccionario e índice sobre el que buscar las palabras.

50 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 50/ Diseño de la estructura de los cromosomas Como ya se ha dicho, para inicializar el AG se realiza una ordenación previa de todos los números contenidos en el texto cifrado y con ellos se genera el vector de valores numéricos. A cada número de este vector le corresponderá una sola letra del texto plano. El vector de caracteres resultante es lo que compone el cromosoma del AG. Mensaje cifrado 1 Vector de valores ordenado Cromosoma z m u a o q a e s u o q s e i t c g r e s c c p a l f t d d o f u t s r n o p n v a a z u r r p v d n ñ i b n y m b b f u g x m i i e ñ d h e l l

51 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 51/ Inicialización del AG El vector de valores numéricos obtenido induce un conjunto de cromosomas inicial en el que cada gen es una letra del alfabeto. Dicha letra es asignada al gen de manera aleatoria pero a. Con las limitaciones derivadas del proceso de reducción del espacio de búsqueda explicado en los párrafos anteriores. Cada gen (letra) debe pertenecer al conjunto L de candidatos del homófono (ver pág. 32). b. No puede repetirse una letra más de cinco veces en el cromosoma puesto que en la tabla de homófonos a una letra no se le asignan más de 5 números. Ejemplo: si el homófono 22 de la tabla inversa de pág. 45 tiene como conjunto candidato b, c, d, i, l, n, o, r, s, t, u, su gen en el cromosoma inducido no puede ni podrá contener una g. Un resumen del vector de valores y su cromosoma inducido sería el siguiente: Vector de valores numéricos 0-1 z g e a d e l e s t o q s e g c y q u e s x a Cromosoma inducido Reproducción o cruce de los individuos Al reproducir los cromosomas, la función de la librería Galib utilizada (ver aptdo. 1.3) responde con dos casos posibles: 1. Que sólo devuelva un cromosoma: devuelve el mismo cromosoma en uno de los dos hijos. 2. Que devuelva dos cromosomas: se selecciona de manera secuencial cada gen (letra) del padre y de la madre si, perteneciendo al conjunto candidato, el resultado de la función objetivo del cromosoma, fijados el resto de los genes, es el menor de los resultados que se obtienen con las demás letras del conjunto candidato a ese gen. Se añade, además la limitación de que un mismo gen no puede repetirse más de cinco veces en el cromosoma. Una vez recorrido todo el cromosoma fijando los nuevos genes, se selecciona el nuevo cromosoma si su resultado de la función objetivo es mejor que el del cromosoma padre. Si no, se deshecha el hijo y se continua con los padres en el proceso de mutación.

52 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 52/ Mutación de los cromosomas. La mutación escoge genes (letras) del cromosoma al azar y los cambia por otros asegurándose de que se cumplen las limitaciones seguidas en la reproducción del cromosoma descritas en los anteriores puntos. Repite este proceso hasta encontrar un cromosoma con resultado de función objetivo mejor o alcanzar 500 reiteraciones, en cuyo caso mantiene pasa a la siguiente generación el cromosoma original Evaluación: Función Objetivo (Fitness) La calidad del cromosoma se evalúa en función del texto resultante al aplicar el cromosoma sobre el texto cifrado, comparando la suma de los errores relativos de las frecuencias de las letras, bigramas y trigramas del texto de la época con los del texto resultante. Además, se realiza una búsqueda secuencial en el texto resultante sobre un diccionario buscando palabras de una determinada longitud; el número de palabras encontradas incrementa la valoración del cromosoma de cara al proceso de selección. El error se calcula, como viene siendo común en este tipo de problemas, comparando la frecuencia de los n-gramas del texto de referencia ( de la época o el que haya definido el usuario) con el del texto plano generado por el cromosoma a evaluar. La fórmula aplicada es: Error frec. LetraTextoCandidato frec. UsoLetraIdioma letras frec. LetraBigramaCandidato frec. UsoBigramaIdioma * 2 bigramas trigramas frec. TrigramaTextoCandidato frec. UsotrigramaIdioma * 3 nº Palabras Reconocidas Error Error *(1 ) nº CaracteresTextoCandidato longitudmínimapalabra En los tres primeros sumandos se penaliza la mayor diferencia de uso de bigramas y trigramas, multiplicando por 2 y por 3 respectivamente. El resultado obtenido se premia en función del número de palabras detectadas en el diccionaria: cuanto más palabras detectadas, más bajo es Error. Sin embargo este premio se trata de que sea mínimo porque el encontrar muchas palabras en el texto no es garantía de que sean correctas o estén en el lugar correcto. Vemos a continuación un esquema del proceso:

53 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 53/ Evaluar Cromosoma Fre_letras, fre_bigramas, fre_trigramas Obtener texto plano asociado Comparar frecuencias error Proceso de evaluación 1 El resultado de esta fórmula sobre el texto plano de cada cromosoma indicará la bondad de un cromosoma para pasar a la generación siguiente: a menor error mayor posibilidad de paso a la siguiente generación. Si el programa detecta que el AG deja de encontrar mejores individuos, desactiva la condición de que el cromosoma de salida tiene que tener mejor valoración en función objetivo que el de entrada, con el fin de empeorar la población para buscar otras vías de mejora.

54 Cap 3.- Método Español: criptoanálisis con algoritmo genético. 54/ Definición final del texto descifrado. El AG informa al analista de los cromosomas que evalúa y de su resultado en la función objetivo. Escogiendo aquellos cuyo resultado está incluido dentro del primer 5% de los mejores resultados, definimos los que llamaremos cromosomas candidatos. Dichos cromosomas generaban en las pruebas efectuadas un nivel de aciertos 21 de hasta el 65% de los caracteres del mensaje original. Vale como resumen la tabla siguiente Nº de caracteres del mensaje plano Valor fitness Aciertos hasta 400 5,2 35% - 52% hasta 800 4,1 53% - 65% Aciertos del AG según longitud del mensaje 0-3 A partir de esos cromosomas, y con la utilidad desarrollada al efecto, el analista evalúa soluciones que acercan a la solución final (ver proceso en detalle desarrollado en Cap 4: Casos de Estudio ). La intervención del analista es obligada en esta fase porque si el AG presenta, por ejemplo, como parte de su solución, la expresión mijarporelhlego, el analista, en función del resto del mensaje y de otras informaciones que posea, puede evaluar la expresión fijarporelfuego, usual en el argot de táctica militar. La expresión pablicaazionel, pueden ser acelerada en su solución si el analista prueba con fabricaaviones 22. Además, la utilidad desarrollada informa de los cambios que se producen en el resto del mensaje plano puesto que el analista actúa sobre el gen del cromosoma candidato, de manera que el cambio de m por f y de l por u en el ejemplo anterior, repercute en el resto del mensaje y no sólo en la expresión mijarporelhlego. Considérese, además, que las claves solían incorporar abreviaturas y códigos indicativos de autoridades, organismos o unidades militares, acciones habituales en combate, etc. cuyo significado es muy difícil implementar a priori en una aplicación (ver al respecto Apéndice VII de Soldados sin rostro [9]) pero que el analista interesado en la materia sí debe conocer. Con el proceso descrito se completa el criptoanálisis sin necesidad de encontrar la tabla de homófonos. Dicha tabla, en todo caso, surge como parte de la información que resulta del proceso. 21 Acierto en la letra y en la posición ocupada en el mensaje. 22 Ambos ejemplos son muestra real de situaciones que se nos han dado durante el estudio cuyo resumen se presenta en Cap 4.

55 Cap 4.- Casos de estudio y resultados 55/119 Cap 4.- Casos de estudio y resultados Partiendo del caso del Mar Cantábrico (ver Anexo F, pág. 80), se ha trabajado sobre tres telegramas (caso 1, 2 y 3 siguientes) que en su día fueron descifrados y probablemente ello contribuyó a la captura del barco [12]. Describen comunicaciones entre el Ministro de Marina y Aire y el Presidente del Gobierno Vasco. Fueron cifrados con la clave Bocho (ver pág. 82); la tabla de homófonos de dicha clave no comprendía la Ñ pero si la CH. Para nuestro trabajo no se ha considerado la CH como letra. Para nuestro estudio, los mensajes planos, extraídos de [12], han sido cifrados con una utilidad desarrollada para este fin en Visual C++: por ello el texto cifrado que recoge el estudio no es el texto cifrado histórico pero si es resultado de la clave Bocho real. En el caso 1 no se aplica cinta móvil y no se utiliza alfabeto perturbado; en el caso 2 se aplica como cinta móvil la segunda fila de la tabla Bocho de página 82. Se verá con ello que es indiferente el uso de la cinta móvil, puesto que con el procedimiento seguido, en ambos casos se obtiene la tabla de homófonos 23. Clave Bocho. De Valencia para Bilbao. Caso de estudio 1 Transmitido día A las 9.15 horas. 880 caracteres Texto plano: El ministro Marina y Aire a Presidente Gobierno vasco. Estamos examinando la idea de establecer en Bilbao una fábrica aviones en que se construiría bien el aparato americano "Martin Bombers" y el "Fokker 31". Ruégole llame al ingeniero aeronáutico Cerro de servicio en Lamiaco y exponiéndole esta idea nos diga dados los elementos que ahí podrían reunirse y clase materiales que han de emplearse en uno y otro modelo cual estima preferible para fabricación ahí, o si simultáneamente pudieran construirse ambos. Primera condición es encontrar local adecuado y en condiciones relativa seguridad y con terreno próximo que pueda acondicionarse para aeródromo. Díceme que en caso reúna ambas condiciones Zamudio donde instalóse fábrica Esperanza que antes se hallaba en Marquina y otro aspecto a estudiar inmediatamente es posibilidad reunir ahí con rapidez y urgencia caso requiere todo elemento mecánico para producciones referidas y suplico V.E. tome con máximo empeño esta iniciativa y me dé cuenta su desarrollo v previamente déme seguridades que espero respecto posibilidad realizar este proyecto. (Fin del comunicado.) Texto cifrado: 23 La aplicación de la cinta móvil implica sólo un cifrado por sustitución simple, fácilmente rompible por análisis de frecuencias.

56 Cap 4.- Casos de estudio y resultados 56/ Vector de valores ordenado: Tabla inversa (conjunto de candidatos para cada homófono): 00: b c f g h m p t u v y 01: a c d e i l m n o r s t 02: f g h q v y z 03: b c d i l m n o r s t u 04: a c e i n o r s t u 05: a c d e i l m n o p r s t 08: b c f h m p t u y 09: b c f h m p t u y 10: b f g h j q v y 12: c d i l n o p r s t u 13: f g h q v y z 14: b c f h m p t u y 15: j q x z 16: b f g h j q v y 17: b c d i l m n r s t u 18: b f g h j q v y 19: b f g h m p v y z 21: b c d i l n o r s t u 22: c d g i l m n p r s t u v 23: a c d e i l m n o r s 24: b f g h m p v y z

57 Cap 4.- Casos de estudio y resultados 57/119 25: b f g h m p v y z 26: f g h q v y z 27: b c d i l n o p r s t u 28: a d e i l m n o r s 29: j q x z 30: b f g h j q v y 31: c d g i l m n p r s t u v 32: b f g h m p v y z 33: a c d e i l m n o r s t 34: a c d e i l m n o r s 36: b c d i l m n r s t u 37: j q x z 38: a c d e i l m n o p r s t 39: j q x z 41: j q x z 42: b c d i l m n o r s t u 43: b c d i l m n r s t u 44: f g h q v y z 45: b f g h m p v y z 46: c d i l n o p r s t u 47: b c f g h m p t u v y 48: f g h q v y z 49: a c d e i l m n o p r s t 50: c d g i l m n p r s t u v 51: c d g i l m p t u v y 52: b c f h m p t u y 53: a c e n o s t u 54: a c d e i l m n o p r s t 55: j q x z 56: c d f g h l m p t u v y 57: c d g i l m n p r s t u v 58: j q x z 59: b c f h m p t u y 61: c d i l n o p r s t u 62: b c d i l m n o r s t u 63: c d i l n o p r s t u 64: j q x z 65: c d i l n o p r s t u 67: c d f g h l m p t u v y 69: b f g h j q v y 72: b c f h m p t u y 73: a c d e i l m n o p r s t 74: j q x z 75: f g h q v y z 77: b c d i l n o p r s t u 78: c d g i l m n p r s t u v 81: f g h q v y z 82: c d i l n o p r s t u 83: c d g i l m n p r s t u v 84: b f g h j q v y 85: f g h q v y z 86: b g m p q v y 87: j q x z 88: a d e i n o r s u 90: b f g h j q v y 91: a e i n o r s u 92: j q x z 93: a c d e i l m n o p r s t 94: f g h q v y z 95: b c d i l m n o r s t u 97: c d f g h l m p t u v y

58 Cap 4.- Casos de estudio y resultados 58/119 98: c d g i l m p t u v y 99: f g h q v y z La media de letras posibles asignadas a cada homófono es 9,35. El porcentaje medio de reducción del espacio de búsqueda es 65%. Cromosoma del mensaje plano y cromosomas candidatos Cp: uigreatmqnhlkysvbdcopbzmeqguyantxrkhilzfspvodcbeaqushmolixrpytnhvdcqosmfuyapegixrtcq Cc1:uigraotmgnymjblgpdcemmhdeqfupsntqrzxidvpspvescbeaquljcolojrlvtnzhtsqosfvyzabazifrdcq Cc2:uigraotmgnymjblgpdcemmhdeqfupsntqrqxidfpspvescbeazuljcolojrlvtnzhtsqoshvyzabazifrdcq Cc3:uigleotmqnhmjhsvpdcegghdeqvuyantqrjxidfpspzascbeajulzcorojrmbtnzvlsfosvfyxabazifcdtq Cc4:uigleotmqnhmjvsvpdcegmhdeqfuyantqrqxidvpspgascbeajuljcorojrmbtnzzlsfoshvyxabazifcdtq Leyenda: Cromosoma candidato es aquel con un resultado de función objetivo óptimo: resultado dentro del primer 5% de la escala de los mejores resultados. Cp, cromosoma del texto plano; Ccn, cromosoma candidato nº n (n desde 1 a 4). El color Rojo indica consonante fallida. Color Azul indica vocal fallida 24. La tabla siguiente resume datos que reflejan la eficiencia de los cromosomas resultado del AG y de los sucesivos análisis del criptoanalista a partir de dicho cromosoma resultante. # Cromosoma resultante del AG. #.1 cromosoma con las vocales corregidas. #.2 cromosoma tras el estudio del analista. Cromosoma Cc Fitness del cromosoma Nº Aciertos en cromosoma % Aciertos en cromosoma Nº Aciertos en texto plano % Aciertos en texto plano 1 4, ,24% ,64% ,38% ,91% 2 4, ,05% ,52% ,38% ,52% 3 4, ,62% ,16% ,57% ,45% ,48% ,23% ,62% ,93% ,33% ,25% % ,89% % % 4 4, ,24% ,70% ,19% ,00% Eficiencia de los cromosomas candidatos 1 24 El comportamiento del AG permite enunciar la siguiente regla empírica: Si en un cromosoma candidato se reconoce una vocal, en el cromosoma del texto plano habrá una vocal. Dicha regla debe ser aprovechada por el analista generando el cromosoma Ccn.1.

59 Cap 4.- Casos de estudio y resultados 59/119 El analista usará los cromosomas candidatos para analizar los mensajes planos que de ellos se derivan. Como ejemplo, se muestra a continuación el proceso de mejora seguido sobre el cromosoma candidato Cc3 que es el de mojor resultado fitness. Con la utilidad desarrollada al efecto (que permite ver el texto plano generado por un cromosoma candidato) el analista lo modifica y crea el cromosoma Cc3.1, y siguientes hasta llegar a la solución final. Texto solución del AG (Cromosoma 3): estodelejodinanloraideadeestabreterengimbaounopablicaazionelenquelesenltruoroa pienedogalateacarosanadactinpodpershempajjertlasynoluevedemradeaminvenieroaere naudotececcaleservicioendadiasehafganiandadeesdailaonossivalasasdolarecentosqu eahomelcoancaunirlexcraladateliarasquehanleevprearsaenunebatledoleracuadestido mrafaligdemarapobrisasoanaziasisimurtoneacentepudoeronconstruirseambosmcoderac ondicoonesententrordotamasacuaseyentenlocionelredadivasegucilalbsonterceneblef icojuagyadoasonsisionocsemalaaaresrecositadequeantasereunaampascandicianeshodu siosenseinltadasepobricoesberanfoqueontessezarraboanvarquinayotraalmactoaestus oorindadoadamendeesposogidilalleuniraxisonlabilefyyrzenciocasarefuiecatedaemem andocetanicomarapledyctionescaferidoshsyprosavatamecancaqimeevmanoastainitiodi zaydelecuentaludesoclormavpreviadendeladaseguciladesfueesperolaspectomesigorid adraadoharestegrabasde Texto solución del analista (Cromosoma 3.1): estadolejadinanloraideadeestabreterengimbaounapablicaazionelenquelesonltruiria pienedagalatoacerisanodactinpodpershempojjertlesynoluevodemradeaminvenieroaero nauditoceccoleservicioendadiasohefgoniendodeesdaileanossivalasosdolerecentosqu eahimolcianceunirlexcraledateliaresquehanleevprearseenunobotlodolerocuadestida mrefeligdemarapabrisasionaziosisimurtaneacentepudieranconstruirseambosmciderac ondicionesentontrardotamasecuasoyentonlicionelredadivasegucilalbsontercenoblof icojuegyedaasonsisionacsemalaaerosrocositedequeentasoreunaampascondicioneshadu siosonseinltadosepabricaesberanfaqueantessezarrabaenvarquinayotroalmectoaestus iarindediadamendeesposigidilalleuniraxisonlabilefyyrzenciacasorefuiecetodoemem endocetanicomaraplodyctionesceferidashsyprisovetomeconcaqimoevmenoestainitiadi zaydelecuentaludesaclormovpreviadendeledeseguciladesfueesperolespectomosigirid adreadiharestegrobesdo En el Cc3.1 se ven palabras fácilmente reconocibles: estabreter -> establecer -> (62,l);(98,c) 25 gimbao -> bilbao -> (25,b); (14,l) pablicaazionel -> fabricaaviones -> (45,f);(3,r);(48,v);(57,s) enquelesonltruiria -> enqueseconstruiria -> (57,s);(78,c) aeronaudito -> aeronautico -> (97,t);(98,c) Con estos cambios se obtiene el cromosoma 3.2 que genera el siguiente texto candidato 3.2.1: estadosejadinanlolaideadeestablecerenbilbaounafabricaavionesenqueseconstruiria pienedagaratoacericanodactinpodpershelfojjertresynoruevodelladealinvenieroaero nauticoceccoleservicioendadiacohefgoniendodeestaileanossivalasosdoselecentosqu eahimolcianceunirsexclasedaterialesquehanleevplearseenunobotrodolelocuadestida mreferibdemarafabricacionaziosisimultaneacentepudieranconstruirseambosmciderac ondicionesencontrardocalasecuasoyenconlicionesredativasegucilalbcontercenobrof icojuegyedaaconsicionacsemaraaerosrocosicedequeencasoreunaampascondicioneshadu siosonseinstadosefabricaesberanfaqueantessezallabaenvarquinayotroasmectoaestus iarindediatamenteesposibidilalreuniraxiconrabilefyyrzenciacasorefuiecetodoelem 25 Con esta expresión se indica que al homófono 62 le debe corresponder la L y al 98 la C. Se comprueba, por ejemplo, que R y L pertenecen al conjunto de candidatos del 62 en la tabla inversa, aunque dado el origen probabilístico de este estudio, podría ocurrir que L no hubiera pertenecido.

60 Cap 4.- Casos de estudio y resultados 60/119 entocecanicomaraprodyccionesceferidashsyplicovetomeconcaqimoevmenoestainiciati vaydelecuentasudesacrollovpreviadenteledeseguciladesfueesperorespectomosibilid adreadiharestegrobecto agaratoacericano -> aparatoamericano -> (24,p);(59,m) elecentos -> elementos -> (59,m) ceunirse -> reunirse -> (95,r) dateriales -> materiales -> (27,m) leevplearse -> deemplearse -> (77,d);(84,m) texto candidato 3.2.2: estamosejaminandolaideadeestablecerenbilbaounafabricaavionesenqueseconstruiria pienedaparatoamericanomartinpompershelfojjertresynoruevodellamealinvenieroaero nauticocerrodeservicioendamiacohefponiendodeestaideanossivadasosdoselementosqu eahimodrianreunirsexclasematerialesquehandeemplearseenunobotromodelocuadestima mreferibdemarafabricacionaziosisimultaneamentepudieranconstruirseambosmrimerac ondicionesencontrardocalasecuasoyencondicionesredativaseguridadbconterrenobrof imojuepyedaaconsicionarsemaraaerosromosicemequeencasoreunaampascondicioneshamu siosonseinstadosefabricaesberanfaqueantessezallabaenmarquinayotroasmectoaestus iarinmediatamenteesposibididadreuniraxiconrabidefyyrzenciacasorefuieretodoelem entomecanicomaraprodyccionesreferidashsyplicovetomeconmaqimoemmenoestainiciati vaymedecuentasudesarrollovpreviamentedemeseguridadesfueesperorespectomosibilid adreadiharesteprobecto ejaminando -> examinando -> (64,x) martinpompers -> martinbombers -> (19,b) fojjertresyno -> fokkertresuno -> (39,k);(15,k);(86,u) damiaco -> lamiaco -> (43,l) efponiendo -> exponiendo -> (94,x) enunobotro -> enunoyotro -> (69,u/y) mreferibdemara -> preferiblepara -> (67,p);(43,l) redativa -> relativa -> (43,l) probecto -> proyecto -> (69,y) Con este último paso se genera un texto comprensible casi al 100%, (en la tabla se indica un 96,25% de aciertos sobre el texto plano original), a falta de volver a repetir el procedimiento una última vez. Texto candidato 3.2.3: estamos examinando la idea de establecer en bilbao una fabrica aviones en que se construiria bien el aparato americano martin bombers h el fokker tres uno ruevo le llame al inveniero aeronautico cerro de servicio en lamiaco h exponiéndole esta idea nos siva dasos los elementos que ahi podrian reunirse x clase materiales que han de emplearse en uno y otro modelo cual estima preferible para fabricacion azi o si simultaneamente pudieran construirse ambos primera condicion es encontrarlo calasecuasoyen condiciones relativa seguridad y con terreno broximo jue pueda aconsicionarse para aerosromo siceme que en caso reuna ambas condiciones hamusiosonse instalose fabrica esberanfa que antes se zallaba en marquina y otro aspecto a estusiar inmediatamente es posibilidad reunir axi con rabidef y urzencia casorefuiere todo elemento mecanico para producciones referidas h suplico ve tome con maqimo empeno esta iniciativa y me de cuenta su desarrollo v previamente deme seguridades fue espero respecto posibilidad realihar este proyecto ruevo -> ruego -> (30,g) Con esta expresión se quiere indicar que al homófono 30 le debe corresponder la G.

61 Cap 4.- Casos de estudio y resultados 61/119 inveniero -> ingeniero -> (30,g) siva -> diga -> (50,d);(30,g) dasos -> dados -> (50,d) azi -> ahí -> (58,h) broximo -> proximo -> (90,p) jue -> que -> (55,q) aconsicionarse -> acondicionarse -> (50,d) aerosromo -> aerodromo -> (50,d) siceme -> diceme -> (50,d) esberanfa -> esperanza -> (90,p);(44,z) zallaba -> hallaba -> (74,h) estusiar -> estudiar -> (50,d) axi -> ahí -> (41,h) rabidef -> rapidez -> (44,z) urzencia -> urgencia -> (92,g) h -> y -> (16,y) *ve -> se -> (75,s) maqimo -> maximo -> (37,x) *v -> y -> (75, y) fue -> que -> (81,q) realihar -> realizar -> (26,z) Texto candidato 3.2.4: estamos examinando la idea de establecer en bilbao una fabrica aviones en que se construiria bien el aparato americano martin bombers y el fokker tres uno ruego le llame al ingeniero aeronautico cerro de servicio en lamiaco y exponiendole esta idea nos diga dados los elementos que ahí podrian reunirse x clase materiales que han de emplearse en uno y otro modelo cual estima preferible para fabricacion ahí o si simultaneamente pudieran construirse ambos primera condicion es encontrar local adecuado y encondiciones relativa seguridad y con terreno proximo que puedaa condicionarse para aeródromo diceme que en caso reuna ambas condiciones zamudio donde instalose fabrica esperanza que antes se hallaba en marquina y otro aspecto a estudiar inmediatamente es posibilidad reunir ahí con rapidez y urgencia caso requiere todo elemento mecanico para producciones referidas y suplico ve tome conmaximo empeno esta iniciativa y me de cuenta su desarrollo v previamente deme seguridades que espero respecto posibilidad realizar este proyecto x -> (87,y) Cromosoma 3.2.5: cromosoma final uigreatmqnhlkysvbdcopbzmeqguyantxrkhilzfspvodcbeaqushmolixrpytnhvdcqosmfuyapegixrtcq

62 Cap 4.- Casos de estudio y resultados 62/119 Ta bla de homófonos derivada del cromosoma a 05 g 30 n 73 s 83 a 33 g 92 o 23 t 08 a 54 h 13 o 49 t 36 a 88 h 41 o 61 t 72 b 19 h 58 o 82 t 97 b 25 h 74 p 24 u 00 b 52 i 01 p 47 u 31 c 22 i 42 p 67 u 56 c 51 i 63 p 90 u 86 c 78 i 93 q 10 v 18 c 98 k 15 q 29 v 48 d 21 k 39 q 55 v 75 d 50 l 14 q 81 x 37 d 77 l 43 q 99 x 64 e 04 l 62 r 03 x 94 e 28 m 09 r 38 y 16 e 53 m 27 r 65 y 32 e 91 m 59 r 95 y 69 f 45 m 84 s 17 y 87 f 85 n 12 s 46 z 26 g 02 n 34 s 57 z 44 Tabla de homófonos resultado del criptoanálisis 0-1 Se obtiene una tabla casi idéntica al original dado que en el proceso de cifrado no tienen porque haberse utilizado todos los números de la tabla original. Clave Bocho. De Valencia para Bilbao. Caso de estudio 2 Transmitido día A las 2.05 horas. 453 caracteres. Texto plano: El ministro de Marina y Aire al presidente Gobierno vasco. Por Ministerio Estado se me ha remitido telegrama del embajador España París fechado ayer que dice lo siguiente: Gobierno México en vista bloqueo y para evitar situaciones diplomáticas desairadas ha dado órdenes representantes en extranjero para que no se despachen de puertos en que se encuentran actualmente barcos matriculados México a nuestros servicios, por tanto barcos en esta situación que se hallen en España no deben salir ya bajo pabellón mexicano y deberán ser tomadas medidas con respecto a los que se encuentren en extranjero.

63 Cap 4.- Casos de estudio y resultados 63/119 Texto cifrado: Vector de valores ordenado: Tabla inversa (conjunto de candidatos para cada homófono): 01: f g h q v y z 02: a d e i n o r s u 04: b f g h p v y z 05: b c d i l n o r s t u 06: b g m p q u 07: f g h q v y z 09: c d g i l m p t u v y 11: b g m p q u 12: b c d g i l m n p r s t u 13: f g h q v y z 14: c d g i l m p t u v y 16: b f g h p v y z 17: f g h q v y z 18: b c d g i l m n p r s t u 19: c d g i l m p t u v y 20: a d e i l m n o r s u 21: c d i l n o p r s t u 22: c d g i l m p t u v y 23: c d g i l m p t u v y 24: c d i l n o p r s t u 25: b f g h p v y z 26: b c f h m p t u v y 27: a c d e i l m n o p r s t 28: f g h q v y z 29: b g m p q u 30: c d i l n o p r s t u 32: c d g i l m p t u v y 33: c d i l n o p r s t u 34: c d i l n o p r s t u 35: f g h q v y z 37: c d g i l m p t u v y 40: f g h q v y z 41: b f g h p v y z 42: f g h q v y z

64 Cap 4.- Casos de estudio y resultados 64/119 43: b f g h p v y z 44: a c d e i l m n o r s 45: a c d e l o t 46: b g m p q u 47: c d i l n o p r s t u 48: b c f h m p t u v y 49: b c f h m p t u v y 50: a c d e i l m n o p r s t 51: b f g h p v y z 52: b c d g i l m n p r s t u 53: b f g h p v y z 54: a d e i n o r s u 58: f g h q v y z 59: c d i l n o p r s t u 60: a c e i n o r s t u 61: c d i l n o p r s t u 62: b f g h p v y z 64: b c f h m p t u v y 66: b f g h p v y z 67: c d i l n o p r s t u 69: c d g i l m p t u v y 70: b c d g i l m n p r s t u 72: f g h q v y z 73: a d e i n o r s u 74: f g h q v y z 75: f g h q v y z 76: c d i l n o p r s t u 77: a d e i n o r s u 78: c d g i l m p t u v y 80: f g h q v y z 82: b f g h p v y z 84: b f g h p v y z 85: a e i n o r s u 87: f g h q v y z 88: a c e n o s t u 89: b f g h p v y z 90: c d i l n o p r s t u 91: f g h q v y z 92: b c d g i l m n p r s t u 93: f g h q v y z 94: b c d g i l m n p r s t u 98: b g m p q u La media de letras posibles asignadas a cada homófono es 9,26. El porcentaje medio de reducción del espacio de búsqueda es 66%. Cromosoma del mensaje plano y cromosomas candidatos Cp: gsqachijrxblympenudoptiqvslarhcjxgbteyomdnupqaxiedbcholsfrxmtnuhdielamoqsgcu Cc1: zspomgimrfcfvrlenudobceguncodycvvhpiepiucsbtfagtadbmpollyrggtniqpyehahoqszlm Cc2: qspouhimrycgzdlerudshcegmncodglqpvpaebiccsptgefoadvmbitlyrfhtnifbyahavoqnzlu Cc3: qspouhimrycpzdlerudshcegmncodgtqpvpaebiccsgtgefoadvmbillyrfhtnifbyahavoqnzlu Cc4: qspouhimrycpzdlerudshceggncodgtqpvpaebiccsgtgefoadvmbillyrfhtnifbyahavoqnzlu Cc5: qspouvimrycpzllerudlhcegmscodgtqpvpaebiccsgtgefoadvmbildyrfhtnufpyahavoqnznu Cc6: gspomhiurvcfvtlenidlbcafmncodydqvgpeepimcsbtfaqiarbchollyrzgtnuqpyevahogszdm Cc7: gspomhiurvcfvtlenidlbcafmncodydqvgpeepimcsbtfaziarbchollyrzgtnuqpyevahogsqdm Cc8: gspomhiurqlpvclenidlbcafmncodydfvgpeepimcsbtgafiarbchotlyrzgtnufpyefahovsqdm Cc9: qngouhimrftpvtcenidopcavmsdosvcyzgpdemimclytpagierbcbolnfrhhlsufbpagavofnydu Cc10: qnpibhimrytbgdcenudopuagmsdolvchvypeemimclptvagserbczoldfrhhtsiffpagayoqngdu Cc11: qngimhimsqdhztcenilopcavpslorvcybzpdemimclptpafuerbcbolnfrvhtsufgyayavofngdu Cc12: qngimhiprqlbvtcanidibcavmslorfczvypdemomclvtpahuedfcbolszrhgtsufpyehayogngdu

65 Cap 4.- Casos de estudio y resultados 65/119 Leyenda: Cromosoma candidato es aquel con un resultado de función objetivo óptimo: resultado dentro del primer 5% de la escala de los mejores resultados. Cp, cromosoma del texto plano; Ccn, cromosoma candidato nº n (n desde 1 a 12). El color Rojo indica letra fallida. Color Azul indica vocal fallida. La tabla siguiente resume datos que reflejan la eficiencia de los cromosomas candidatos resultado del AG y de los sucesivos análisis del criptoanalista a partir de dichos cromosomas. # Cromosoma resultante del AG. #.1 cromosoma tras el estudio del analista. Cromosoma Cc Fitness del cromosoma 5,1554 (23 palabras) 5,1068 (27 palabras) 5,1184 (29 palabras) 5,1897 (30 palabras) 5,2014 (21 palabras) 5,0167 (20 palabras) 5,0180 (20 palabras) 5,0138 (17 palabras) 4,9688 (23 palabras) 4,9741 (20 palabras) 4,9509 (25 palabras) Nº Aciertos en cromosoma % Aciertos en cromosoma Nº Aciertos en texto plano % Aciertos en texto plano 23 30,26% ,43% 16 21,05% ,10% 17 22,37% ,20% 17 22,37% ,20% 18 23,68% ,07% 26 34,21% ,21% 26 34,21% ,21% 25 32,89% ,11% 26 34,21% ,58% 27 35,53% ,80% 25 32,89% ,80% ,16% ,42% ,79% ,17% ,74% ,82% ,00% ,12% ,63% ,89% ,89% ,29% ,05% ,74% ,95% ,82% ,11% ,45% % % 12 4,9894 (22 palabras) 26 34,21% ,32% Eficiencia de los cromosomas candidatos 2

66 Cap 4.- Casos de estudio y resultados 66/119 Se observa como para cromosomas con la misma puntuación en la función objetivo los que tienen más palabras del diccionario reconocidas en el texto son al mismo tiempo los que menos aciertos tienen en el mismo. El analista usará los cromosomas candidatos para analizar los mensajes planos que de ellos se derivan. Como ejemplo, se muestra a continuación el proceso de mejora seguido sobre el cromosoma candidato 11. Con la utilidad desarrollada al efecto (que permite ver el texto plano generado por un cromosoma candidato) el analista lo modifica en sucesivas reiteraciones hasta llegar a la solución final. Para que sea más realista, en esta ocasión no aplicamos la regla empírica enunciada en pié de página 58. Tras comprobar los textos planos generados por los cromosomas candidatos, el texto que sigue, generado por el cromosoma 11 tras aprovecharnos de la debilidad 1ª regla de la decena (ver Cap º) por la que aplicamos al homófono 83 la e (83,e), ha resultado ser uno de los más inteligibles. Texto solución del AG (Cromosoma 11): tortalunderaiestaroneteviretutyrocehegravarelempomalosentolaparunfechiriamerpp eladelonuquientezobuernovequcoenpandadlivieomcaraepitasnuduadaisencaplitaducon lenauricinforagoorlenenrecrenentasteneseftrasmesotarafienisegescadbesleciertin elgueneelcuendrasamcialhesdedirconmatsicuhirosmebadoaluendsinnespamaontordosdo pordonelescosyciaciospuenebalyelesestilanocedelsalarzadayocabellostevacasimred erisserdomorantericandonrentecdoolingueneesmpesdrelesebdralmero zobuerno -> gobierno -> (42,g);(59,i) tortalinderaiestaroneteviretityrocehegravarelempomalosentolaparinfechiriamerpp eladeloniquientegobiernoveqicoenpandadlivieomcaraepitasniduadaisencaplitadicon lenairicinforagoorlenenrecrenentasteneseftrasmesotarafienisegescadbesleciertin elgueneelcuendrasamcialhesdedirconmatsicuhirosmebadoaluendsinnespamaontordosdo pordonelescosyciaciospuenebalyelesestilanocedelsalarzadayocabellostevacasimred erisserdomorantericandonrentecdoolingueneesmpesdrelesebdralmero niquiente -> siguiente -> (2,s);(1,g) tortalinderaiestaroseteviretityrocehegravarelempomalosentolaparisfechiriamerpp eladelosiguientegobiernoveqicoenpasdadlivieomcaraepitassiduadaisencaplitadicos lenairicinforagoorlenesrecrenentasteseseftrasmesotarafienisegescadbesleciertin elgueseelcuendrasamcialhesdedirconmatsicuhirosmebadoaluesdsissespamaostordosdo pordoselescosyciaciospuesebalyelesestilanocedelsalarzadayocabellostevacasimred erisserdomorastericandonrentecdoolingueneesmpesdrelesebdralmero estaro -> estado -> (61,d) veqico -> mexico -> (89,m);(13,x) tortalinderaiestadoseteviretitydocehegramadelempomalosentolaparisfechidiamerpp eladelosiguientegobiernomexicoenpasdadlivieomcaraepitassiduadaisencaplitadicos lenairicinfodagoorlenesrecrenentasteseseftrasmesotarafienisegescadbesleciertin elgueseelcuendrasamcialhesdedirconmatsicuhidosmebadoaluesdsissespamaostordosdo pordoselescosyciaciospuesebalyelesestilanocedelsalarzadayocabellostevacasimded erisserdomodastedicandonrentecdoolingueneesmpesdrelesebdralmero cehegrama -> telegrama -> (26,t);(16,l) fechidi -> fechado -> (5,a);(47,o)

67 Cap 4.- Casos de estudio y resultados 67/119 tortalinderaoestadosetevaretitydotelegramadelempomalosentolaparisfechadoamerpp eladelosiguientegobiernomexicoenpasdadlovieomcaraepitassiduadaosencaplotadicos lenairacanfodagoorlenesrecrenentasteseseftrasmesotarafienosegescadbeslecierton elgueseelcuendrasamtialhesdedarconmatsiculadosmebadoaluesdsossespamaostordosdo pordoselestosytiaciospuesebalyelesestalanocedelsalarzadayocabellostevacasomded erasserdomodastedicandonrentecdoolongueneesmpesdrelesebdralmero retitydo -> remitido / repetido -> (18,m);(84,i) / (18,p);(84,i) tormalinderaoestadosemevaremitidotelegramadelempomalosentolaparisfechadoamerpp eladelosiguientegobiernomexicoenpasdadlovieomcaraepitassiduadaosencaplomadicos lenairacanfodagoorlenesrecrenentasteseseftrasmesotarafienosegescadbeslecierton elgueseelcuendrasamtialhesdedarconmatsiculadosmebadoaluesdsossespamaostordosdo pordoselestositiaciospuesebalyelesestalanocedelsalarzadayocabellosmevacasomded erasserdomodasmedicandonrentecdoolongueneesmpesdrelesebdralmero va -> ha (35,h) caplomadicos -> diplomaticos -> (49,d);(27,i);(44,t) tormilinterioestadosemeharemitidotelegramadelempomalosentolaparisfechadoamerpp elidelosiguientegobiernomexicoenpistadlovieomcaraepitassituadiosendiplomaticos lenairadanfodagoorlenesrecrenentasteseseftrasmesotarafienosegescadbeslecierton elgueseelcuentrasamtialhestedarconmatsiculadosmebidoaluestsossespimiostortosto pordoselestositiaciospuesebalyelesestalanodedelsalirzadayocabellosmevicasomded erassertomodasmedidandonrentectoolongueneesmpestrelesebtralmero situadioses -> situaciones -> (94,c);(77,n) diplomaticos -> diplomaticas -> (33, a) dederas ser tomodas medidan don rentecto -> deberan ser tomadas medidas con respecto -> (14,b);(77,n);(33,a);(70,s);(94,c);(92,s);(52,p) ebtralmero -> extranjero -> (41,x);(50,n);(11,j) porministerioestadosemeharemitidotelegramadelempajalosespanaparisfechadoamerpp elicelosiguientegobiernomexicoenpistablovieomcaraepitassituacionesdiplomaticas lesairadasfadagoorlenesrecresentanteseneftranjesoparafienosegescacbenleciertos engueseencuentranamtialhentebarcosmatsiculadosmexicoanuestsossespimiosportanto parcosenestasitiacionpuesebalyenenespananodebensalirzabayocabellonmevicanomdeb eransertomadasmedidasconrespectoalosgueseenmpentrenenextranjero espana -> españa (no se considera la ñ) en pista blovieo m cara epitas -> en vista bloqueo y para evitar -> (29,v);(28,q);(22,u);(46,y);(19,p);(29,v);(12,r) porministerioestadosemeharemitidotelegramadelempajalorespañaparisfechadoayerpp elicelosiguientegobiernomexicoenvistabloqueoyparaevitarsituacionesdiplomaticas lesairadasfadagoorlenesrepresentanteseneftranjeroparafuenosegespacbenlepuertos engueseencuentranamtualhentebarcosmatriculadosmexicoanuestrosservimiosportanto parcosenestasituacionpuesebalyenenespañanodebensalirzabayopabellonmevicanoydeb eransertomadasmedidasconrespectoalosgueseenmpentrenenextranjero empajalor -> embajador -> (43,b);(23,d) lice -> dice -> (23,d) lesairadas -> desairadas -> (23,d) orlenes -> ordenes -> (23,d) eftranjero -> extranjero -> (58,x) para fue no se gespacben le-> para que no se despachen de-> (91,q);(82,d);(23,d)

68 Cap 4.- Casos de estudio y resultados 68/119 gue -> que -> (4,q) amtualhente -> actualmente -> (6,c)(75,m) que se enmpentren -> que se encuentren -> (4,q);(6,c)(51,u) por ministerio estado se me ha remitido telegrama del embajador españa paris fechado ayer pue dice lo siguiente gobierno mexico en vista bloqueo y para evitar situaciones diplomaticas desairadas fa dado ordenes representantes en extranjero para que no se despachen de puertos en que se encuentran actualmente barcos matriculados mexico a nuestros servicios por tanto barcos en esta situacion pue se halyen en españa no deben salir za bayo pabellon mevicano y deberan ser tomadas medidas con respecto a los que se encuentren en extranjero pue -> que -> (53,q) fa -> ha -> (80,h) pue -> que -> (53,q) halyen -> hallen -> (87,l) za -> ya -> (17,y) bayo -> bajo -> (40,j) mevicano -> mexicano -> (74,x) por ministerio estado se me ha remitido telegrama del embajador españa paris fechado ayer que dice lo siguiente gobierno mexico en vista bloqueo y para evitar situaciones diplomaticas desairadas ha dado ordenes representantes en extranjero para que no se despachen de puertos en que se encuentran actualmente barcos matriculados mexico a nuestros servicios por tanto barcos en esta situación que se hallen en españa no deben salir ya bajo pabellón mexicano y deberan ser tomadas medidas con respecto a los que se encuentren en extranjero Ta bla de homófonos derivada del cromosoma a 05 e 85 l 87 q 91 x 58 a 33 f 72 m 18 r 12 x 74 a 54 g 01 m 48 r 34 y 17 a 88 g 42 m 75 r 73 y 46 b 14 g 93 m 89 s 02 b 43 h 07 n 21 s 30 b 62 h 35 n 50 s 70 c 06 h 66 n 77 s 92 c 37 h 80 o 24 t 26 c 64 i 09 o 47 t 44 c 94 i 27 o 67 t 76 d 23 i 59 o 90 u 22 d 49 i 84 p 19 u 51 d 61 j 11 p 25 u 78 d 82 j 40 p 52 u 98 e 20 l 16 q 04 v 29 e 45 l 32 q 28 x 13 e 60 l 69 q 53 x 41 Tabla de homófonos resultado del criptoanálisis 0-2

69 Cap 5.- Conclusiones y futuros desarrollos 69/119 Cap 5.- Conclusiones y futuros desarrollos Se ha diseñado un procedimiento que permite el descifrado de mensajes cifrados con cinta móvil sin conocer la tabla de homófonos y con resultados óptimos. Dicho procedimiento combina resultados de un Algoritmo Genético (aciertos hasta el 65%) con el criterio de un analista en la proporción de 8 a 2. El método de la cinta móvil se puede considerar un sistema criptográfico seguro?. Es obvio que no alcanza el nivel de fortaleza del método de sustitución por tabla de homófonos convencional (ver cap. 2.4, pág 25) que consigue enmascarar totalmente la frecuencia de uso de los caracteres en el texto plano. La dificultad de atacar este sistema ya se comentó en el capítulo Criptoanálisis de los cifrados por sustitución con homófonos. El estudio de sistemas clásicos presentado en Capítulo 2, ha tenido como objetivo secundario el analizar los mecanismos de criptoanálisis que los rompían por si se encontraba algo aplicable al Método Español. De todos hemos encontrado alguna técnica de rotura menos de los sistemas de sustitución por tabla de homófonos, de los que hay en Internet en general, y en la bibliografía en particular, un silencio absoluto al respecto. Si seguimos las Reglas de Kerckhoffs (ver cap. 2) es evidente que el Método Español las cumple parcialmente: la regla 3 relativa a la facilidad de escoger, recordar o modificar la clave (en este método consideramos a la tabla de homófonos la clave real) no se cumple. Partiendo de las debilidades analizadas en el Aptdo , se ha demostrado a lo largo de los capítulos 3 y 4 que tampoco cumple la Regla 1 (no debe existir ninguna forma de recuperar mediante el criptograma el texto inicial o la clave). En términos conceptuales, pués, no es un método seguro. Pero es que, además, desde las primeras referencias bibliográficas (1894, ver pág. 30 y [7]), es criticado por su inseguridad; problema de inseguridad acrecentado por la dificultad de renovar, modificar y distribuir las tablas y, sobre todo, por la falta de disciplina en la aplicación de las normas de seguridad. Conocida la tabla, el mecanismo de la cinta móvil no incorpora seguridad adicional dado que en los mensajes se especificaba en abierto la clave que generaba la cinta móvil ( sector X en B ); en el supuesto de no conocer la clave, el criptoanálisis, conociendo la tabla, se reduce a un simple ataque por análisis de frecuencias, dado que el criptograma se deriva, en este caso, de una sustitución simple. La verdadera seguridad viene dada, por tanto, por el desconocimiento de la tabla de homófonos. Pero esta tabla, al tener limitado el número de homófonos a un máximo de cinco por carácter (a veces sólo dos) reduce la eficiencia de la sustitución y en textos largos denuncia la frecuencia de uso habitual en el idioma por mucho que el cifrador elija aleatoriamente los números asignados al carácter plano en su columna de la tabla de homófonos. Además, la costumbre de relacionar los homófonos por filas respetando las decenas (una fila, una decena), crea otra debilidad.

70 Cap 5.- Conclusiones y futuros desarrollos 70/119 Una vez hecho el análisis de frecuencias de bigramas y trigramas en el texto cifrado, se ha observado que no es necesario atender a reglas como tras la q siempre va una u y tras esta casi siempre una e o tras la k, j, h, v, ñ siempre sigue una vocal, puesto que su implementación no incrementaba la eficiencia pero retardaba la ejecución del algoritmo. Conclusiones de los casos de estudio La inicialización del AG programada con las limitaciones expuestas en cap produce un inmediato acercamiento a valores próximos al óptimo (en 10 reiteraciones), para luego realizar mejoras inapreciables y estancarse a partir de la reiteración 50. El gráfico siguiente plasma este comportamiento mostrando en el eje de abcisas el número de iteraciones y en ordenadas el valor de la función objetivo. 8,8 8,3 7,8 7,3 6,8 6,3 5,8 5,3 4,8 Valor fitness Valor fitness Comportamiento del AG 1 No se han apreciado mejoras en el rendimiento del AG a partir de una población de 30 individuos porque las limitaciones impuestas al proceso de reproducción, al tratar de aprovechar las debilidades encontradas en el método español, obligan a definir individuos muy similares. Valores en el parámetro del AG probabilidad de mutación superiores al 5% dejan de producir mejoras en el cromosoma. Cromosomas con mejor valor fitness no tienen porque ser los que generen mayor número de palabras reconocidas en el texto; el encuentro de una palabra no implica que sea correcta en el mensaje final o que esté en el lugar correcto. Esto ya se advertía en la definición de la función objetivo (cap. 3.7). En el caso 2 se ha usado cinta móvil para el cifrado previo pero ello ha sido indiferente para el proceso de criptoanálisis, que es el mismo seguido en el Caso 1 en el cual no se usó cinta móvil para el cifrado previo. La tabla de homófonos se relaciona al final de cada caso de estudio y es que no ha sido necesaria buscarla. Se consigue el mensaje plano y la tabla de

71 Cap 5.- Conclusiones y futuros desarrollos 71/119 homófonos es consecuencia informativa del proceso pero no paso previo para conocer el mensaje final. Para mensajes de 800 caracteres, el AG proporciona resultados que reconocen hasta un 65% de caracteres en el mensaje final. El trabajo que el analista hace a continuación (descrito en los dos casos de estudio así como el efectuado en dos más que no se exponen) supone un tiempo de unas dos horas para textos de 400 caracteres y una hora con 800 caracteres, dado que el AG incrementa su eficiencia con la longitud del mensaje. Futuros desarrollos El principal objetivo del proyecto ha estado en el desarrollo del AG y se ha conseguido que facilite cromosomas con aciertos de hasta el 65%. Por ello, la utilidad de análisis complementaria desarrollada lo ha sido sin más pretensiones que el que funcione ; no es operativa aún cuando resuelve. Esta utilidad de análisis debería ser capaz de automatizar parte del 35% restante aún considerando que siempre tendrá que intervenir el analista, implementando, por ejemplo: La debilidad de la decena : los homófonos de la columna de una letra están separados siempre por al menos 10 unidades. La regla empírica de que si en el gen de un cromosoma candidato hay vocal en el cromosoma final también lo habrá. El reconocimiento de palabras incompletas para sugerir solución al analista. La separación de palabras conforme van siendo reconocidas. Se propone como modo de coordinar el AG con esa utilidad de manera eficiente, la aplicación futura de técnicas de backtraking Backtracking (o búsqueda atrás) es una técnica de programación para hacer búsqueda sistemática a través de todas las configuraciones posibles dentro de un espacio de búsqueda. Para lograr esto, los algoritmos de tipo backtracking construyen posibles soluciones candidatas de manera sistemática. En general, dado una solución candidata S: 1. Verifican si S es solución. Si lo es, hacen algo con ella (depende del problema). 2. Construyen todas las posibles extensiones de S, e invocan recursivamente al algoritmo con todas ellas.

72 Anexo A: Tabla de frecuencias de uso aplicada. 72/119 Anexo A: Tabla de frecuencias de uso aplicada. Aún pareciendo sencillo el asunto (basta examinar un tratado de lingüística o de criptología para extraer un tabla de frecuencias), la definición de frecuencias de uso de caracteres en español, como en cualquier idioma, es matizable. Hemos encontrado que: 1. Es diferente el uso escrito del hablado. En el diccionario de la RAE la letra más frecuente es la a (14,02%) seguida de la e (9,55%), pero en cualquier texto castellano, la frecuencia de las partículas "que", "el", "se", "me", etc. hace que la "e" sea más frecuente. En la lengua hablada el fonema /e/ aparece un 14,67%, seguido de /a/ 12,19% 2. Influyen también la época, la materia, el entorno profesional o social, la región, etc. en la que se emplee el lenguaje. 3. El estilo narrativo es determinante. En el caso particular del mensaje de guerra, por ahorro de recursos, es habitual la redacción en formato telegrama previa al cifrado, lo que implica primar la r de los infinitivos. El gráfico, extraído de un estudio de los profesores Antonio Moren, *Doroteo T. Toledano, *Raúl de la Torre, *Marta Garrote, **José M. Guirao, muestra la relación entre el uso hablado y el escrito. Las primeras 100 sílabas más usadas en español suponen el 78,7% del cuerpo hablado mientras que en el escrito es el 72,5%. En el estudio referido, en la tabla de frecuencias resultante la a muestra un 12,27% y 12,89% y la e 15,12% y 12,74% respectivamente [22]. Hemos intentado suavizar la incidencia de este problema: 1. Realizando el estudio de frecuencias sobre textos de mensajes de la GC39 agrupados sin espacio entre caracteres ni acentos en el fichero TextoCalculoFrecuencias.txt (ver pág. 74). 2. Calculando frecuencias sobre textos militares de la época: Reglamento táctico de Caballería 1926, Reglamento de Intendencia 1952, Reglamento táctico de Infantería Haciendo el cálculo de frecuencias en tiempo real al inicio de la aplicación. La aplicación lee ese fichero previamente. El usuario puede indicar de esta manera sobre qué texto quiere hacer el cálculo de las frecuencias. En la tabla que sigue se relacionan los porcentajes que obtenemos con el método expuesto (que son los que usa el algoritmo de la aplicación) analizando letras, digramas y trigramas y, como complemento a la discusión expuesta, se compara con los porcentajes deducidos sobre La Regenta de Leopoldo Alias Clarín, novela escrita en 1884, a partir de estudio y discusión descritos en

73 Anexo A: Tabla de frecuencias de uso aplicada. 73/119 donde, además, se añade un análisis de frecuencias sobre el Quijote. Análisis de frecuencias sobre TextoCalculoFrecuencias.txt La Regenta a 13,341% de 2,731% ent 0,657% a 13,994% e 13,227% en 2,465% sde 0,657% e 12,829% o 8,707% as 2,151% ade 0,647% o 9,317% n 7,403% er 2,008% del 0,647% s 7,374% s 7,260% es 1,979% con 0,552% r 6,496% r 6,832% os 1,751% ien 0,495% n 6,375% i 6,575% la 1,694% ode 0,476% i 6,280% d 5,719% ad 1,684% que 0,476% l 6,079% l 5,462% on 1,646% cio 0,466% d 4,892% c 4,596% el 1,532% ela 0,466% u 4,197% t 4,520% al 1,513% nte 0,466% t 3,926% u 3,549% se 1,427% ria 0,466% c 3,810% m 2,693% ar 1,408% ter 0,457% m 2,657% p 2,122% do 1,389% dos 0,438% p 2,473% b 1,513% an 1,370% ene 0,438% b 1,940% g 1,075% re 1,266% eri 0,428% q 1,294% v 1,018% nt 1,247% ado 0,419% v 1,128% y 0,923% ra 1,209% ada 0,409% g 1,106% f 0,856% te 1,171% ero 0,409% h 1,004% h 0,828% ca 1,152% ese 0,409% y 0,991% q 0,628% ci 1,104% ion 0,409% f 0,615% z 0,447% ue 1,085% est 0,400% j 0,468% j 0,295% ta 1,075% ndo 0,390% z 0,404% ñ 0,247% co 1,037% los 0,371% ñ 0,255% x 0,105% ro 1,018% sen 0,362% x 0,089% k 0,057% ne 0,990% sta 0,352% k 0,004% w 0,000% ri 0,980% ido 0,343% w 0,001% in 0,971% one 0,343% na 0,961% ose 0,343% or 0,961% por 0,343% ia 0,952% des 0,324% st 0,923% ase 0,314% ac 0,914% era 0,314% nd 0,904% cas 0,305% ma 0,847% esd 0,305% lo 0,837% nto 0,305% ec 0,799% las 0,295% to 0,790% nde 0,295% ie 0,771% res 0,295% da 0,752% aci 0,286% sd 0,752% ala 0,286% sa 0,742% ias 0,286% io 0,733% and 0,276% un 0,723% das 0,276% od 0,704% ede 0,276% tr 0,695% nes 0,276% nc 0,638% asa 0,266% le 0,628% enc 0,266%

74 Anexo A: Tabla de frecuencias de uso aplicada. 74/119 Análisis de Frecuencias 14,000% 12,000% 10,000% 8,000% 6,000% 4,000% 2,000% 0,000% a e o n s r i d l c t u m p b g v y f h q z j ñ x k w TextoCalculoFrecuencias.txt La Regenta Extracto del texto de la época sobre el que se realiza el análisis de frecuencias (fichero TextoCalculoFrecuencias.txt). Usado en la inicialización por defecto del AG y extraído del proyecto del Sr. Gascón ( ) que ya lo usaba con la misma finalidad: tiene caracteres y está compuesto por el texto de varios telegramas. Loscuatrobatallonesdelabrigadaefectuaranmañanaunejercicioconsusp uestotacticosaliendodespuesdelafuerzadeldesayunoyregresandoasusb asesantesdelahoradelasegundacomidalaprimerasedistribuiraenelcamp oelsegundoycuartobatallonsaldrandelacinetatomandodireccionesdist intasyelprimeroytercerbatallonesdesdestalinmartaenlamismaformato dosellosefectuaranunrecorridodeveinticincokilometroscomprendidoe lregresoestableciendodurantelamarchalosserviciosdefranqueoexplor acionyseguridadqueseindiquenenlosreglamentostacticosydecampañalo sjefesdebatallonterminadoelsupuestoharanunabrevememoriahaciendoc onstarenellaeltiempoinvertidoenlamarchayenelejerciciotacticopunt odondesehadesarrolladoasicomotambiencualquierdeficienciaobservad adurantesucursolafuerza (siguen 4 páginas de texto) dedicadasalafabricaciondematerialdeguerraentreotrasdespuesdelas masconocidasestanlafabricaderadiadoresrocaencastelldefelalacasas bampyunafabricadebombasdemanoenarenyademartambiensetrabajamuchoe nelparquedeartilleriadondetrabajanunosquinientosobrerosyenlaanti guacasadaviddedicadatambienadepositosdematerialbelicoplanamayor.

75 Anexo B: Método Kasiski (ataque a un cifrado polialfabético) 75/119 Anexo B: Método Kasiski (ataque a un cifrado polialfabético) En 1863, Friedrich Kasiski (oficial prusiano) publicó un libro sobre criptografía, Die Geheimschriften und die Dechiffrierkunst ("La escritura secreta y el arte del descifrado"). Ésta fue la primera publicación sobre criptoanálisis aplicado a los cifrados de sustitución polialfabéticos, especialmente el cifrado de Vigenère, desarrollando lo que luego se ha llamado Método Kasiski. Dado que el criptoanálisis estadístico directo no funciona porque la distribución de las letras originales está suavizada, se basa en que [3]: 1. A lo largo de un texto suficientemente largo ciertas secuencias de caracteres aparecen muchas veces en el texto plano y consecuentemente los textos cifrados con Vigenère tienen las correspondientes secuencias de letras cifradas también muy repetidas. 2. La distancia entre las cadenas más repetidas en el texto cifrado debe ser un múltiplo de la longitud de la clave K y un buen candidato a longitud será el máximo común divisor de los valores más repetidos en las distancias encontradas. 3. Dividimos el criptograma en L subcriptogramas que entonces han sido cifrados por una misma letra de la clave y en cada subcriptograma hacemos un ataque simple ahora de tipo estadístico monoalfabético. 4. La idea es buscar ahora a través de los tres caracteres más frecuentes en cada subcriptograma las posiciones relativas de las letras A, E y O que en castellano están separadas por 4 y 11 espacios. La letra de la posición que ocupe la letra A (A = 0) será entonces la letra clave correspondiente. 5. Si la posición relativa de la letra A es el valor 0, entonces la letra E está cuatro espacios a la derecha de la A (m+4 mod 26) y la letra O está 15 espacios a la derecha de la letra A (m+15 mod 26) y a 11 de la letra E. 6. Buscaremos en cada subcriptograma Ci las tres letras más frecuentes y que cumplan además con esa distribución: mod Es suficiente contar con estas tres letras para que el ataque prospere. No obstante, se puede afinar un poco más el ataque si tomamos en cuenta la siguiente letra frecuente en castellano S, en la posición (m+19) mod 26. Veamos un ejemplo de esta metodología [3]: Sea el criptograma C de 404 caracteres que vamos a criptoanalizar el siguiente: PBVRQ VICAD SKAÑS DETSJ PSIED BGGMP SLRPW RÑPWY EDSDE ÑDRDP CRCPQ MNPWK UBZVS FNVRD MTIPW UEQVV CBOVN UEDIF QLONM WNUVR SEIKA ZYEAC EYEDS ETFPH LBHGU ÑESOM EHLBX VAEEP UÑELI SEVEF WHUNM CLPQP MBRRN BPVIÑ MTIBV VEÑID ANSJA MTJOK MDODS ELPWI UFOZM QMVNF OHASE SRJWR SFQCO TWVMB JGRPW VSUEX INQRS JEUEM GGRBD GNNIL AGSJI DSVSU EEINT GRUEE TFGGM PORDF OGTSS TOSEQ OÑTGR RYVLP WJIFW XOTGG RPQRR JSKET XRNBL ZETGG NEMUO TXJAT ORVJH RSFHV NUEJI BCHAS EHEUE UOTIE FFGYA TGGMP IKTBW UEÑEN IEEU. Se observan las siguientes cadenas (subrayadas) en el criptograma:

76 Anexo B: Método Kasiski (ataque a un cifrado polialfabético) 76/119 3 cadenas GGMP, separadas por 256 y 104 posiciones. 2 cadenas YEDS, separadas por 72 espacios. 2 cadenas HASE, separadas por 156 espacios. 2 cadenas VSUE, separadas por 32 espacios Luego el período o longitud de la clave puede ser el m.c.d. (256, 104, 72, 156, 32) = 4. La clave tendrá cuatro caracteres, por lo tanto tomaremos del criptograma el carácter 1º, el 5º, el 9º, etc. para formar el primer subcriptograma CA; luego el 2º, el 6º, el 10º, etc. para formar el subcriptograma CB, y lo mismo para subcriptogramas CC y CD. Tenemos ahora 4 subcriptogramas de sólo 101 letras c/u (muy importante tenerlo en cuenta en las estadísticas) que han sido cifrados con la misma letra de la clave: C A = PQAAEPDMRÑEEDCNUSRIECNIONSAAETLUOLAUIEULMNIIEAAOOLU MNARSOMRSISERNAISIRTMDTOORLIORRENENOAVSNIAEOFAMTEI C B = BVDÑTSBPPPDÑPPPBFDPQBUFNUEZCDFBÑMBEÑSFNPBBÑBÑNMKDPF QFSJFTBPUNJMBNGDUNUFPFSSÑRPFTPJTBTETTJFUBSUTFTPBÑE C C = VISSSIGSWWSDCQWZNMWVOEQMVIYESPHEEXEEEWMQRPMVISTMSWO MOEWQWJWEQEGDISSETEGOOSETYWWGQSXLGMXOHHECEEIGGIWEE C D = RCKDJEGLRYDRRMKVVTUVVDLWRKEYEHGSHVPLVHCPRVTVDJJDEIZ VHSRCVGVXRUGGLJVEGEGRGTQGVJXGRKRZGUJRRVJHHUEYGKUNU La frecuencia relativa observada en cada uno de los subcriptogramas es: A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z C A C B C C C D Luego, la letra más frecuente del subcriptograma debería corresponder a la letra E del texto en claro, la segunda a la letra A y la tercera a la letra O. La regla AEO en el ataque de Kasiski 1. Si la posición relativa de la letra A es el valor 0, entonces la letra E está cuatro espacios a la derecha de la A (m+4) mod 27 y la letra O está 15 espacios a la derecha de la letra A (m+15) mod 27 y a 11 de la letra E. 2. Buscaremos en cada subcriptograma Ci las tres letras más frecuentes y que cumplan además con esa distribución: mod Es suficiente contar con estas tres letras para que el ataque prospere. No obstante, podemos afinar un poco más el ataque si tomamos en cuenta la siguiente letra frecuente en castellano S, en la posición (m+19) mod 27 En el ejemplo para CA se observa que la única solución que cumple con esto es la que coincide la AEO (12, 12, 10) luego la letra clave sería la A. Para CB elegimos BFP (14, 12, 14) por lo que la letra clave sería B. Para CC elegimos EIS (18, 7, 12) por lo que la letra clave sería E. Para CD elegimos RVG (13, 14, 12) por lo que la letra clave sería R.

77 Anexo B: Método Kasiski (ataque a un cifrado polialfabético) 77/119 Con la clave K = ABER obtenemos el texto plano siguiente: PARAQ UELAC OSANO MESOR PREND ACOMO OTROS AÑOSH ECOME NZADO YACON UNOSS UAVES EJERC ICIOS DEPRE CALEN TAMIE NTOMI FNTRA SDESA YUNAB AHECO NTEMP LADOU NABOL APLAT EADAY UNATI RAEEE SPUMI LLONY MAÑAN AMEIN ICIAR EENEM AMORA LPROJ IMOCO NLOSQ UELIM PIENE LPARA BRISA SENLO SSEMA FOROS ESTAG IMNAS IADEL CORAZ ONMET AFORI COEST ANIMP ORTAN TECOM OLADE LOTRO CORAZ ONPOR QUELO SRIES GOSCO RONAR IOSES TANAH IESCO NDIDO STRAS LAVID ASEDE NTARI AYPAR APETA DOSEN FECHA SCOMO ESTAS DENAV IDAD Para que la cosa no me sorprenda como otros años he comenzado ya con unos suaves ejercicios....

78 Anexo C: Códigos de Baudot 78/119 Anexo C: Códigos de Baudot El código Baudot fue inventado por Emile Baudot en 1874 y se utilizó en las primeras transmisiones telegráficas y radioeléctricas como Alfabeto Internacional de Telegrafía Nº 1. Se trata de un código de 5 bits que representa 32 caracteres distintos (2^5); dos de ellos permiten conmutar entre dos grupos denominados letras y signos. Letras contiene el alfabeto completo de la A a la Z y algunos caracteres especiales como los de cambio a grupo de signos o cambio a letras, hasta un total de 32; signos contiene las cifras del 0 al 9, los signos de puntuación y caracteres especiales hasta un total de 26. Total 58 caracteres. La siguiente tabla muestra el código Baudot y la operación XOR que utiliza el sistema de cifrado Vernam: Signos Código de Baudot XOR Secuencia letras Bit letras* Mensaje Clave - A A 0 0 0? B B : C C $ D D E E! F F & G G # H H 8 I I J J ( K K ) L L. M M, N N 9 O O 0 P P 1 Q Q 4 R R ` S S 5 T T 7 U U ; o = V V 2 W W / X X 6 Y Y Bit de salida + o " Z Z ret. carro Para el ejemplo desarrollado en cap cifrado Vernam hemos representado los cambio linea caracteres especiales de la izquierda con cambio a letras los dígitos 1 a 6, usando para el cifrado la cambio a signos columna adjunta letras* espacio blanco

79 Anexo D: Cifra con ENIGMA 79/119 Anexo D: Cifra con ENIGMA Entrando en encontramos una aplicación SW que en tiempo real muestra el movimiento de los rotores de ENIGMA v4.3. La imagen corresponde al estado de los rotores tras la cifra del último carácter del siguiente mensaje (entrada O salida K : Difícil parece romper el cifrado homofónico con cinta móvil pero mas difícil pareció el cifrado con ENIGMA y se rompió Cifrado: VFKVG OZYTL KESKX QEGWL UMOVN PHKIN EXSUO PVNGF YRCAF IBPUI AZWKG HXBJT LDONQ VXVFF OSCVG JLWGZ ZJPMU BWAMP FSYCB SSTK

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que se envían de una

Más detalles

Cuaderno de notas del OBSERVATORIO LA CRIPTOGRAFÍA DESDE LA ANTIGUA GRECIA HASTA LA MÁQUINA ENIGMA

Cuaderno de notas del OBSERVATORIO LA CRIPTOGRAFÍA DESDE LA ANTIGUA GRECIA HASTA LA MÁQUINA ENIGMA Cuaderno de notas del OBSERVATORIO Instituto Nacional de Tecnologías de la Comunicación LA CRIPTOGRAFÍA DESDE LA ANTIGUA GRECIA HASTA LA MÁQUINA ENIGMA Del griego criptos (oculto) y logos (tratado), la

Más detalles

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Rompiendo el Código Enigma Introducción y objetivos Como un pequeño homenaje a Alan Turing en su año conmemorativo, las prácticas de este curso

Más detalles

Semana 13: Encriptación. Cifrado simétrico

Semana 13: Encriptación. Cifrado simétrico Semana 13: Encriptación Cifrado simétrico Aprendizajes esperados Contenidos: Características y principios del cifrado simétrico Algoritmos de cifrado simétrico Encriptación Simétrica En la encriptación

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

BLOWFISH,AES, AES192, AES256, TWOFISH)

BLOWFISH,AES, AES192, AES256, TWOFISH) Unidad 2 CRIPTOGRAFIA 2.1 Sistemas Criptograficos clasicos 2.1.1 Sustitución Monoalfabetica (Cifrario de Cesar) 2.1.2 Sustitución Polialfabetica (Cifrario Vigenere) 2.1.3 Tranposición 2.2 Criptografia

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03. INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados

Más detalles

SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN

SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN INTRODUCCIÓN Criptografía proviene del griego y significa Escritura secreta. Se debe hacer una distinción entre cifrados y códigos: Un cifrado es una transformación carácter a carácter o bit a bit, sin

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

E 1 E 2 E 2 E 3 E 4 E 5 2E 4

E 1 E 2 E 2 E 3 E 4 E 5 2E 4 Problemas resueltos de Espacios Vectoriales: 1- Para cada uno de los conjuntos de vectores que se dan a continuación estudia si son linealmente independientes, sistema generador o base: a) (2, 1, 1, 1),

Más detalles

Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia

Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia Encriptación de Datos Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia asegurar que la Información viaje segura, manteniendo su autenticidad, integridad, confidencialidad y

Más detalles

TPVFÁCIL. Caja Real. Definiciones.

TPVFÁCIL. Caja Real. Definiciones. TPVFÁCIL. Caja Real. TPVFÁCIL incluye desde la versión 3.3.2 la posibilidad de manejar dos cajas, la Caja Real y la Caja normal. La idea es esconder los datos de caja que pueden alcanzar los usuarios no

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Controles de Entorno Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2do. Cuatrimestre 2010 Contenido Controles Criptográficos Definiciones Técnicas

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

ARREGLOS DEFINICION GENERAL DE ARREGLO

ARREGLOS DEFINICION GENERAL DE ARREGLO ARREGLOS DEFINICION GENERAL DE ARREGLO Conjunto de cantidades o valores homogéneos, que por su naturaleza se comportan de idéntica forma y deben de ser tratados en forma similar. Se les debe de dar un

Más detalles

TIPOS DE RESTRICCIONES

TIPOS DE RESTRICCIONES RESTRICCIONES: Las restricciones son reglas que determinan la posición relativa de las distintas geometrías existentes en el archivo de trabajo. Para poder aplicarlas con rigor es preciso entender el grado

Más detalles

1. SISTEMAS DIGITALES

1. SISTEMAS DIGITALES 1. SISTEMAS DIGITALES DOCENTE: ING. LUIS FELIPE CASTELLANOS CASTELLANOS CORREO ELECTRÓNICO: FELIPECASTELLANOS2@HOTMAIL.COM FELIPECASTELLANOS2@GMAIL.COM PAGINA WEB MAESTROFELIPE.JIMDO.COM 1.1. INTRODUCCIÓN

Más detalles

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00 La mayor parte de las dependencias no habían manejado el IVA en los recibos oficiales, que era el documento de facturación de nuestra Universidad, actualmente ya es formalmente un CFD pero para el fin

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

ANÁLISIS DE DATOS NO NUMERICOS

ANÁLISIS DE DATOS NO NUMERICOS ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas

Más detalles

Subespacios vectoriales en R n

Subespacios vectoriales en R n Subespacios vectoriales en R n Víctor Domínguez Octubre 2011 1. Introducción Con estas notas resumimos los conceptos fundamentales del tema 3 que, en pocas palabras, se puede resumir en técnicas de manejo

Más detalles

Introducción. Algoritmos

Introducción. Algoritmos Introducción La firma digital es una herramienta que permite garantizar la autoría e integridad de los documentos digitales, posibilitando que éstos gocen de una característica que únicamente era propia

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad

Más detalles

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue CRIPTOGRAFIA Qué es, usos y beneficios de su utilización Introducción Antes, computadoras relativamente aisladas Hoy, computadoras en redes corporativas conectadas además a Internet Transmisión de información

Más detalles

PROGRAMACIÓN LINEAL. 8.1. Introducción. 8.2. Inecuaciones lineales con 2 variables

PROGRAMACIÓN LINEAL. 8.1. Introducción. 8.2. Inecuaciones lineales con 2 variables Capítulo 8 PROGRAMACIÓN LINEAL 8.1. Introducción La programación lineal es una técnica matemática relativamente reciente (siglo XX), que consiste en una serie de métodos y procedimientos que permiten resolver

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos

Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos por estas redes: necesidad de protección de la información.

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Introducción a la Estadística con Excel

Introducción a la Estadística con Excel Introducción a la Estadística con Excel En el siguiente guión vamos a introducir el software Excel 2007 y la manera de trabajar con Estadística Descriptiva. Cargar o importar datos En Excel 2007 podemos

Más detalles

Roberto Quejido Cañamero

Roberto Quejido Cañamero Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases. BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades

Más detalles

Estadística con Excel Informática 4º ESO ESTADÍSTICA CON EXCEL

Estadística con Excel Informática 4º ESO ESTADÍSTICA CON EXCEL 1. Introducción ESTADÍSTICA CO EXCEL La estadística es la rama de las matemáticas que se dedica al análisis e interpretación de series de datos, generando unos resultados que se utilizan básicamente en

Más detalles

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario 14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,

Más detalles

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas. Tema 1 Matrices Estructura del tema. Conceptos básicos y ejemplos Operaciones básicas con matrices Método de Gauss Rango de una matriz Concepto de matriz regular y propiedades Determinante asociado a una

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER Centros educativos de la Comunidad de Madrid que deseen ser centros de prácticas de los alumnos del Máster en Profesorado de ESO y Bachillerato,

Más detalles

VÍDEO intypedia003es LECCIÓN 3: SISTEMAS DE CIFRA CON CLAVE PÚBLICA. AUTOR: Gonzalo Álvarez Marañón

VÍDEO intypedia003es LECCIÓN 3: SISTEMAS DE CIFRA CON CLAVE PÚBLICA. AUTOR: Gonzalo Álvarez Marañón VÍDEO intypedia003es LECCIÓN 3: SISTEMAS DE CIFRA CON CLAVE PÚBLICA AUTOR: Gonzalo Álvarez Marañón Consejo Superior de Investigaciones Científicas, Madrid, España Hola, bienvenidos a intypedia. Conocidos

Más detalles

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE) QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1 . ESPACIOS VECTORIALES Consideremos el siguiente subconjunto de R 4 : S = {(x, x 2, x 3, x 4 )/x x 4 = 0 x 2 x 4 = x 3 a. Comprobar que S es subespacio vectorial de R 4. Para demostrar que S es un subespacio

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

Lección 22: Probabilidad (definición clásica)

Lección 22: Probabilidad (definición clásica) LECCIÓN 22 Lección 22: Probabilidad (definición clásica) Empezaremos esta lección haciendo un breve resumen de la lección 2 del libro de primer grado. Los fenómenos determinísticos son aquellos en los

Más detalles

3. Algoritmo DES (Data Encription Standard)

3. Algoritmo DES (Data Encription Standard) 3. Algoritmo DES (Data Encription Standard) 3.1. Fundamentos Cifrado por bloques (block cipher) Opera sobre un bloque de texto plano de n bits para producir un texto cifrado de n bits. Tipicamente, la

Más detalles

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y El de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y compra en los diversos almacenes del Grupo JAB. En concreto podremos:

Más detalles

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

Comenzando con MATLAB

Comenzando con MATLAB ÁLGEBRA LINEAL INGENIERÍA INFORMÁTICA Curso 08/09 PRÁCTICA 1 Comenzando con MATLAB 1 Funcionamiento de Matlab MATLAB es un sistema interactivo basado en matrices para cálculos científicos y de ingeniería.

Más detalles

Julio César Mendoza T. Ingeniería de Sistemas Quito

Julio César Mendoza T. Ingeniería de Sistemas Quito 46 Julio César Mendoza T. Ingeniería de Sistemas Quito 47 RESUMEN En el presente artículo se presenta una breve introducción a la criptografía sin profundizar en las matemáticas que soportan los algoritmos

Más detalles

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado.

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado. DIAGRAMA DE AÁRBOL 1.- INTRODUCCIÓN Este documento describe el proceso de construcción de un Diagrama de Árbol, mediante el cual se dispone de una metodología simple y sistemática para la identificación

Más detalles

QUIERES COMPROBAR CÓMO LAS REDES DETECTAN Y CORRIGEN ERRORES?

QUIERES COMPROBAR CÓMO LAS REDES DETECTAN Y CORRIGEN ERRORES? QUIERES COMPROBAR CÓMO LAS REDES DETECTAN Y CORRIGEN ERRORES? AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA DETECCIÓN Y CORRECCIÓN DE ERRORES ETAPA CICLO MEDIO Y SUPERIOR DE INFORMÁTICA Resumen Hoy en día las

Más detalles

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...

Más detalles

Contraseñas seguras: Cómo crearlas y utilizarlas

Contraseñas seguras: Cómo crearlas y utilizarlas Contraseñas seguras: Cómo crearlas y utilizarlas Contraseñas seguras y seguridad de las contraseñas Las contraseñas son las claves que utiliza para obtener acceso a información personal que ha almacenado

Más detalles

SMS Gestión. manual de uso

SMS Gestión. manual de uso SMS Gestión manual de uso índice qué es SMS Gestión 2 acceso al servicio 3 01 acceso con la clave de servicios de Orange 4 02 acceso personalizado 6 02.1 cómo personalizar su acceso a la aplicación 7 02.2

Más detalles

Guía de usuario para el acceso al recibo de nómina mediante la intranet de la Conselleria

Guía de usuario para el acceso al recibo de nómina mediante la intranet de la Conselleria Guía de usuario para el acceso al recibo de nómina mediante la intranet de la Conselleria Estado actual Estado V1.3 Fecha modificación 4/6/2012 Autor Dirigido a Ubicación/URL Empleados de la Agencia Valenciana

Más detalles

PARÁBOLA. 1) para la parte positiva: 2) para la parte negativa: 3) para la parte positiva: 4) para la parte negativa:

PARÁBOLA. 1) para la parte positiva: 2) para la parte negativa: 3) para la parte positiva: 4) para la parte negativa: Página 90 5 LA PARÁBOLA 5.1 DEFINICIONES La parábola es el lugar geométrico 4 de todos los puntos cuyas distancias a una recta fija, llamada, y a un punto fijo, llamado foco, son iguales entre sí. Hay

Más detalles

Práctica del paso de generación de Leads

Práctica del paso de generación de Leads Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados

Más detalles

8.1. Introducción... 1. 8.2. Dependencia/independencia estadística... 2. 8.3. Representación gráfica: diagrama de dispersión... 3. 8.4. Regresión...

8.1. Introducción... 1. 8.2. Dependencia/independencia estadística... 2. 8.3. Representación gráfica: diagrama de dispersión... 3. 8.4. Regresión... Tema 8 Análisis de dos variables: dependencia estadística y regresión Contenido 8.1. Introducción............................. 1 8.2. Dependencia/independencia estadística.............. 2 8.3. Representación

Más detalles

Capítulo 8 Teoría de la Complejidad Algorítmica

Capítulo 8 Teoría de la Complejidad Algorítmica Capítulo 8 Teoría de la Complejidad Algorítmica Seguridad Informática y Criptografía Ultima actualización del archivo: 01/03/06 Este archivo tiene: 31 diapositivas v 4.1 Material Docente de Libre Distribución

Más detalles

DETERMINACIÓN DEL VOLUMEN DE PEDIDO.

DETERMINACIÓN DEL VOLUMEN DE PEDIDO. Lote económico de compra o Lote Optimo DETERMINACIÓN DEL VOLUMEN DE PEDIDO. Concepto que vemos en casi todos libros de aprovisionamiento, habitualmente la decisión de la cantidad a reaprovisionar en las

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

Accesibilidad web GUÍA FUNCIONAL

Accesibilidad web GUÍA FUNCIONAL Accesibilidad web GUÍA FUNCIONAL 0 _ ÍNDICE 01_Introducción 02_Primeros pasos 03_Conceptos 04_Navegación por voz 05_Navegación por teclado 06_Navegación por sonido 07_Compatibilidad con lectores de pantalla

Más detalles

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. JUAN DE LA ROSA T. TEMA 1 Desde tiempos remotos el hombre comenzó a

Más detalles

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J.

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J. Generación de Números Aleatorios Números elegidos al azar son útiles en diversas aplicaciones, entre las cuáles podemos mencionar: Simulación o métodos de Monte Carlo: se simula un proceso natural en forma

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97 SISTEMAS DE NUMERACIÓN Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. La norma principal en un sistema de numeración posicional es que un mismo símbolo

Más detalles

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

x 10000 y 8000 x + y 15000 a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas.

x 10000 y 8000 x + y 15000 a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas. Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Septiembre 2012 - Propuesta A 1. Queremos realizar una inversión en dos tipos

Más detalles

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Medidas de Tendencia Central y Dispersión

ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Medidas de Tendencia Central y Dispersión Descargado desde www.medwave.cl el 13 Junio 2011 por iriabeth villanueva Medwave. Año XI, No. 3, Marzo 2011. ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Medidas de Tendencia Central y Dispersión Autor:

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

FICHERO DE AYUDA DEL PROGRAMA MEGAPRIMI

FICHERO DE AYUDA DEL PROGRAMA MEGAPRIMI FICHERO DE AYUDA DEL PROGRAMA MEGAPRIMI Versión MEGAPRIMI : 4.0 Fecha : 19/06/2010 1. INFORMACION GENERAL Versión completamente gratuita. Entre otras muchas opciones, el programa permite seleccionar cualquier

Más detalles

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

Más detalles

EJERCICIOS DEL TEMA 1

EJERCICIOS DEL TEMA 1 EJERCICIOS DEL TEMA 1 Introducción a los ordenadores 1) Averigua y escribe el código ASCII correspondiente, tanto en decimal como en binario, a las letras de tu nombre y apellidos. Distinguir entre mayúsculas/minúsculas,

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

Criptografía. Por. Daniel Vazart P.

Criptografía. Por. Daniel Vazart P. Criptografía Por. Daniel Vazart P. Que es? La finalidad de la criptografía es, en primer lugar, garantizar el secreto en la comunicación entre dos entidades (personas, organizaciones, etc.) y, en segundo

Más detalles

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. www.fundibeq.org

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. www.fundibeq.org DIAGRAMA MATRICIAL 1.- INTRODUCCIÓN Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. Muestra su potencial, como herramienta indispensable para la planificación

Más detalles