miércoles, 29 de abril de 2015

Aunque no lo sepas... eres del Athletic

Basándome en un post de "Gimnasia mental" que publicó mi amigo y coautor de este blog Dani Villar y ahora que se acerca la final de la copa 2015 que disputará mi querido Athletic, os propongo un juego para que conozcáis realmente, de corazón, cuál es el equipo de vuestros sueños, es decir, el que os dicta vuestro subconsciente.

Para ello, no vale hacer trampas, os propongo lo siguiente:

a) Piensa en cualquier número entero de tres cifras, por ejemplo: 528.

b) A continuación piensa en ese mismo número pero con las cifras invertidas, en el ejemplo: 825.

c) Ahora, resta el menor del mayor, en el ejemplo: 825 - 528 = 297.

d) Suma los dígitos del número obtenido en la resta anterior, en el ejemplo: 2 + 9 + 7 = 18.

e) Finalmente, busca en la siguiente relación el resultado obtenido en el paso anterior y sabrás cuál es el equipo del que eres hincha, aunque ni tú mismo seas consciente de ello:

0.- A ti no te gusta el fútbol, pero en el fondo eres del Athletic.
1.- Real Madrid.
2.- Barcelona.
3.- Real Sociedad.
4.- Sevilla.
5.- Valencia.
6.- Osasuna.
7.- Betis.
8.- Levante.
9.- Alavés.
10.- Granada.
11.- Huelva.
12.- Racing.
13.- Oviedo.
14.- Deportivo.
15.- Sporting.
16.- Getafe.
17.- Córdoba.
18.- Athletic.
19.- Eibar.
20.- Otro.


En tu caso, ¿De qué equipo eres realmente hincha?.

lunes, 27 de abril de 2015

Para emprender hay que ser como el abejorro

He leído por ahí que en la NASA existe un cartel que dice:

"Está comprobado que el abejorro, aerodinámicamente, a causa de su peso, tamaño y cuerpo no puede volar, sólo que él no lo sabe".

Y, aunque no sé si es verdad, si no existe este cartel debería existir, ya que entiendo que lo que nos cuenta es algo muy importante.

En concreto, para emprender creo que tenemos que ser como los niños (ya conté esto en un post anterior) y como los abejorros, es decir:

"Para lograr el éxito tenemos que ser plenamente INconscientes de nuestras propias limitaciones".

Algo, además, aplicable a todas o casi todas las facetas de nuestra vida ("ligar", el deporte, el trabajo,...) y, en definitiva, que se resume en "actitud versus aptitud" (hombre, si tenemos las dos mejor que mejor), ya que lo realmente importante son las ganas que tengamos de perseguir nuestros sueños. Sin duda esto supondrá afrontar retos y dificultades - no digo que sea fácil -, pero el abejorro vuela.

Y, por tanto, fruto de esa actitud: lo fundamental es perseverar en alcanzarlos. Algunas frases famosas que nos lo recuerdan:

"El 90% del éxito se basa simplemente en insistir".
- Woody Allen -

"Sólo una cosa convierte en imposible un sueño: el miedo a fracasar".
- Paulo Coehlo -

"El éxito es la capacidad de ir de fracaso en fracaso sin perder entusiasmo".
- Winston Churchill -

"No he fracasado, he encontrado 10.000 maneras en las que esto no funciona".
- Thomas Edison -

miércoles, 22 de abril de 2015

And the winner is... quien yo quiera

No, no me refiero a los ganadores de los premios Oscar de la Academia de la Artes y las Ciencias Cinematográficas, sino a los concursos públicos y más concretamente a aquellos para adjudicar servicios en el ámbito de las TIC (Tecnologías de la Información y Comunicación), que es el sector al que me dedico. Por favor, que no se me entienda mal el título de este post, no pretendo "acusar" a nadie de nada, sino poner de manifiesto una reflexión personal sobre este tema.

En mi situación actual hace ya tiempo que sólo me presento a "cuentagotas" a este tipo de concursos, pero cuando leo algunos pliegos, en ocasiones, no dejo de "sorprenderme" por ciertas cuestiones que, al meno a mí, me parecen un tanto arbitrarias.

En esta ocasión me gustaría hablar de un tipo de fórmulas que se emplean para la valoración del precio que presentan los licitadores. Me refiero a las fórmulas multilineales mediante las cuales la asignación de la puntuación se realiza de una forma proporcional por tramos.

Es decir, cuando se utilizan este tipo de fórmulas se definen una serie de tramos de manera que el cálculo de la puntuación que corresponde a cada precio ofertado se obtiene por interpolación lineal en el segmento en el que se encuentre cada uno de ellos.

Típicamente, para delimitar los tramos suelen utilizarse como referencia los siguientes puntos:

- Baja máxima: baja porcentual correspondiente al importe más económico ofertado de entre todos los licitadores.

- Baja media: promedio de las bajas ofertadas por los licitadores.

- Baja mínima: baja porcentual correspondiente al importe más caro ofertado de entre todos los licitadores.

Pongamos ahora un ejemplo de licitación:

- Precio o presupuesto máximo de licitación: 201.000 euros.

- Criterios a valorar mediante aplicación de fórmulas: Precio (de 0 a 51 puntos).

- Criterios que no se valorarán mediante aplicación de fórmulas: Metodología (de 0 a 32 puntos) y Mejoras (de 0 a 17 puntos).

Puntos que delimitan los tramos y puntuación asignada a estos:

- Baja máxima: 51 puntos (puntuación máxima).

- Baja media+5: 45 puntos.

- Baja media: 40 puntos.

- Baja media-10: 20 puntos.

- Baja mínima: 10 puntos.

De esta forma podríamos tener un gráfico como el siguiente para la asignación de la puntuación correspondiente a las ofertas económicas de los licitadores:


Bien, ¿no?; incluso un sistema que puede ser más "justo" que las simples fórmulas lineales, que se limitan a la asignación de puntuación de forma proporcional al importe ofertado, o, al menos y en mi opinión, puede ser "entendible" que en ocasiones se utilicen fórmulas de este tipo.

¿Por qué digo esto?. Sin ser ni pretender ser un experto en esta materia, mi interpretación es que con la utilización de fórmulas multilineales se lanza un mensaje claro a los licitadores: "Ajusten el precio a lo que ustedes realmente piensen que vale el servicio. Daré la importancia que se merece al precio, pero éste no lo será todo".

En consecuencia, creo que en estos casos la estrategia de los licitadores debe consistir en situarse lo más cercano posible a la Baja media+5, ya que las puntuaciones que se obtienen con ésta son poco menores a la que se obtienen con la Baja máxima y, además, comportamientos demasiado agresivos pueden implicar la exclusión de la licitación por baja desproporcionada o temeraria.

Sin embargo, toda fórmula matemática es susceptible de ser "torturada" (al igual que las estadísticas) hasta que dé el resultado que más le convenga a cada uno (llámenme "mal pensado", pero...). Para apoyar esta afirmación veamos un ejemplo real partiendo del anterior, cambiando los puntos que delimitan los tramos y puntuación asignada a estos, y teniendo en cuenta, además, la condición para que una bajada de precio puede ser considerada como desproporcionada:

- Baja máxima: 51 puntos (puntuación máxima).

- Baja media+5: puntuación máxima x (100-0,05 x Baja media) / 100.

- Baja media: puntuación Baja media+5 x (100-0,20 x Baja media) / 100.

- Baja media- 8: puntuación Baja media x (100-0,50 x Baja media) / 100.

- Baja media-40 o inferior: puntuación nula.

- Se considerarán, en principio, como desproporcionadas o anormales las ofertas que sean inferiores en más de un 10% a la media aritmética de todas las ofertas admitidas.

¿Qué, cómo se nos queda el cuerpo?.

Pues bien, en mi opinión lo que realmente significaba esto no era que el precio no sólo no lo sería todo, sino que tendría muy poco peso relativo en la adjudicación, es decir, ésta se realizaría fundamentalmente según la valoración de los criterios no evaluables mediante fórmula. Veamos, a la vista de la ofertas económicas presentadas por los licitadores, como quedó en este caso el gráfico para la asignación de la puntuación:

- Empresa 1: 153.672 euros (baja del 23,55% sobre el importe máximo de licitación).

- Empresa 2: 157.180 euros (baja del 21,80% sobre importe máximo de licitación).

- Empresa 3: 179.493 euros (baja del 10,70% sobre importe máximo de licitación).

- Empresa 4: 184.771 euros (baja del 8,07% sobre importe máximo de licitación).

Por tanto, la baja media fue del 16,03% y el gráfico quedó de la siguiente forma:


Unos segmentos que en sus tres primeros tramos casi son una línea plana, ¿no?.

De esta forma, por interpolación lineal y si no me equivoco, la puntuación económica obtenida por cada uno de los licitadores fue:

- Empresa 1: Baja del 23,55%. Puntuación: 51 puntos.

- Empresa 2: Baja del 21,80%. Puntuación: 50,72 puntos.

- Empresa 3: Baja del 10,70%. Puntuación: 46,35 puntos.

- Empresa 4: Baja del 8,07%. Puntuación: 45,07 puntos.

Es decir, una diferencia de sólo 5,93 puntos entre quien hace una bajada sobre el precio máximo de licitación del 23,55% y quien hace una bajada del 8,07%. ¿Predecible esta situación?. Pues no lo sé, o me gustaría pensar que no, pero ¿quién ganó finalmente?. Curiosamente la puntuación de la parte técnica, es decir, la correspondiente a criterios que no se valoraron mediante la aplicación de fórmulas, fue en orden inverso a la puntuación económica, resultando adjudicataria la Empresa 4.

Ni se me ocurre pensar (mis "malos pensamientos" no llegan a tanto) que hubiera un orden deliberadamente predeterminado de licitadores para adjudicar el concurso, aunque puede parecerlo (sobre todo viendo las puntuaciones asignadas a la parte técnica), y mucho menos decir que la utilización de fórmulas como éstas no sea legal, ya que, en virtud de la legislación vigente, las administraciones y sociedades públicas gozan de una amplia discrecionalidad, a mi juicio excesiva en ocasiones, para elegir qué concretos criterios utilizar en cada caso a fin de adjudicar un determinado contrato, así como para darles el peso relativo que consideren oportuno, pero dejo a la interpretación de cada uno si esto es conforme, no ya a la literalidad sino al menos al espíritu, de la normativa en esta materia:

"En la determinación de los criterios de adjudicación se dará preponderancia a aquellos que hagan referencia a características del objeto del contrato que puedan valorarse mediante cifras o porcentajes obtenidos a través de la mera aplicación de las fórmulas establecidas en los pliegos."
(art. 150.2.II TRLCSP).

Mi conclusión personal sobre casos como el que he expuesto es que si esto es dar preponderencia a los criterios a valorar mediante fórmulas: ¡Que baje Dios y lo vea!.  

Y tú, ¿Qué opinas?. Asunto para el debate.

lunes, 20 de abril de 2015

¿Puedo cumplir con el deber de información con un cartel?

Sí, pero aténgase a las consecuencias, o, al menos, esto es lo que parece deducirse del informe jurídico 0029/2011 de la Agencia Española de Protección de Datos.

En el citado informe se afirma:

"La Ley Orgánica 15/1999 no exige una forma determinada de llevar a cabo el deber de información que impone. Esta Agencia de protección de Datos se ha pronunciado respecto de la libertad de forma para dar cumplimiento a dicho deber en diversos informes, admitiendo la información facilitada mediante un cartel anunciador, que reúna los requisitos de ubicación y formato que garanticen su conocimiento por parte de los interesados".
Pero...

"No obstante lo anteriormente indicado, debe recordarse que, en todo caso, corresponde al responsable del fichero la prueba del cumplimiento del deber de información,...".

Mi interpretación en román paladino: "Sí y no, y todo lo contrario... Ya veremos". ¡Viva la seguridad jurídica!.

Por tanto, mi recomendación: incluir el texto informativo correspondiente en un documento a firmar por el interesado, para poder acreditar que éste ha sido debidamente informado sobre todos los aspectos exigidos por la normativa, y sólo en aquellos casos en los que esto no sea posible, o suponga un engorro importante para la operativa, utilizar el cartel informativo. Al menos, tendrá usted algo a lo que agarrarse si el afectado denuncia no haber sido informado previamente sobre ello de forma expresa, precisa e inequívoca. Pero... ya veremos.

miércoles, 15 de abril de 2015

La colaboración: el gran mantra para autónomos y micropymes

Hoy he asistido a una reunión de presentación de un programa que promueve el Ayuntamiento de Getxo, a través de su área de Promoción Económica, que busca generar oportunidades de colaboración entre las empresas del municipio.

El programa en cuestión se llama "GetxoKoKrea"; una iniciativa que me ha parecido muy interesante, ya que creo que, con independencia de la situación actual de crisis en la que muchos se han visto obligados a emprender (en mi caso ha sido vocacional, aunque tardía), la colaboración "bien" entendida entre autónomos y micropymes es el futuro (me refiero al "ganar-ganar", no al "yo venderte-tú comprarme") o, al menos, así me gustaría que fuese, porque sino yo mismo lo tengo de "colores".

En esta línea el consultor externo tenía un eslogan muy convincente:

"The future is CO-"

Es decir, el futuro es la colaboración (cualquier eslogan que se precie debe estar en perfecto inglés), pero yo creo que para ello hay que cambiar de mentalidad. No se trata de vender (yo he venido aquí a "hablar de mi libro", en palabras del genial Francisco Umbral) ni de un networking con tarjetas para el mismo fin (algo que creo también muy aplicable a la forma en la que algunos se aproximan en redes sociales y profesionales), sino más bien de establecer relaciones de confianza en base a las capacidades de cada uno ("activos", en palabras del consultor externo) y que en mi opinión tienen que ser complementarias (diría, más bien, excluyentes - y con esto me refiero a cualitativa o, por lo menos, cuantitativamente; sino mal vamos y no tardarán en surgir conflictos).

La verdad es que la exposición del consultor externo me ha parecido muy acertada en muchas de sus afirmaciones, pero, como no podía ser de otra forma, finalmente parecía más interesado por los resultados a obtener por el propio Ayuntamiento de Getxo (que es del que cobra, no confundir con el municipio, que es el que paga; e incluso reconozco que yo también lo estaría, es decir, el fin último parece ser en sí mismo la puesta en marcha de otro programa más y el "autobombo", que el alcalde salga en el Getxoberri en una foto rodeado de todos los asistentes con caras muy sonrientes y si es posible incluso junto a un ejemplar del pez espinoso - especie que se supone habita el río Gobela, al igual que Nessie en el lago Ness) que en los resultados tangibles a obtener por los autónomos y micropymes del municipioy, todo ello, basado en una supuesta metodología que va a conseguir establecer estas sinergias de forma "milagrosa" (aquí, en mi opinión, lucha contra nuestra idiosincrasia; los vascos seremos muchas cosas - unas positivas y otras negativas -, pero, hasta donde yo recuerdo, jamás nos hemos puesto de acuerdo en nada, y esto de colaborar, basado en mi experiencia, no es una excepción).

Como digo interesante iniciativa a la que acudiré a las siguientes reuniones, siempre que no lean este post en mi humilde blog y me prohíban la entrada :), pero me surgen muchísimas dudas (Programa cofinanciado por el Fondo Social Europeo - "tiramos con pólvora del rey", al menos el 50% de las salvas -, ¿Qué parte de esto es imagen para el ayuntamiento y qué parte responde de verdad a dinamizar las empresas del municipio?, ¿Qué hace el Ayuntamiento de Getxo, además de este tipo de programas, en mi opinión de dudosa eficacia real, para la promoción económica del municipio?).

Seguiré informando..., ya que, como digo y si me dejan asistir, iré a las próximas reuniones.      

viernes, 10 de abril de 2015

Criptografía (VIII): la máquina Enigma (VII)

En el anterior post nos habíamos quedado en que, antes del inicio de la II Guerra Mundial y gracias a las labores de criptoanálisis realizadas por Rejewski y sus colegas, podían ya descifrarse los mensajes de la máquina Enigma utilizada por el ejército alemán.

Pero los alemanes no tardaron en incorporar modificaciones, tanto a las características de la propia máquina como a la forma de operar con ella, que dificultaban la obtención de la clave y más tarde, como veremos en este post, la imposibilitaron.

Así, a finales de 1937, los alemanes sustituyeron el reflector que venían utilizando por otro con un cableado diferente, lo que obligó a los polacos a volver a deducir éste y, peor aún, a volver a elaborar el catálogo, pero esto no dejó de ser un "inconveniente", eso sí, muy molesto, pero sin mayores implicaciones. En poco tiempo consiguieron tener funcionando las réplicas de la máquina Enigma con el nuevo reflector y, aunque tardaron algo más de tiempo, habían elaborado el nuevo catálogo.

Creo que es importante recordar aquí el principio de Kerckhoffs, por el cual:

"La seguridad del sistema debe recaer en la seguridad de la clave, debiéndose suponer conocidos el resto de los parámetros del sistema criptográfico".

Es decir, mientras los alemanes se limitaran a incluir modificaciones en las características propias de la máquina sin que afectaran a la seguridad de la clave esto sólo supondría poner escollos más o menos difíciles de superar por los criptoanalistas polacos, pero al fin y al cabo se trataba de obstáculos salvables. Cosa diferente sería si las modificaciones incidieran en la seguridad de la clave, como ocurrió poco después y veremos a continuación.

En 1938, a menos de un año del inicio de la II Guerra Mundial, los alemanes hicieron un cambio importante en la operativa de la máquina al establecer un nuevo procedimiento que en esta ocasión sí incidía en la seguridad de la clave y que hizo que el criptoanálisis polaco hasta la fecha no fuera ya eficaz.


Hasta ese momento, como sabemos, el operador para cifrar un mensaje actuaba de la siguiente manera:

1.- Configuraba la máquina con la clave del día que figuraba en el libro mensual que había recibido. Ésta estaba compuesta por: orden de los rotores en las ranuras que los alojaban, posición inicial de cada uno de ellos y conexiones a establecer en el tablero de clavijas.

2.- Elegía tres caracteres que indicaban la posición inicial de los rotores con los que iba a cifrar ese mensaje concreto ("clave de sesión") y los tecleaba dos veces de forma consecutiva. Por tanto, esos seis primeros caracteres del mensaje a transmitir se cifraban durante todo un día con la clave que figuraba en el libro y, por consiguiente, también con la posición inicial de los rotores que formaba parte de la misma.

3.- Giraba los rotores hasta la posición inicial que él había seleccionado y tecleaba el mensaje a cifrar. Por tanto, el mensaje se cifraba con el orden de los rotores y conexiones del tablero de la clave del día que figuraban en el libro y con la posición inicial de los rotores que él había elegido ("clave de sesión").

4.- Finalmente, transmitía los seis caracteres cifrados correspondientes a la "clave de sesión" obtenidos en el paso 2 y los caracteres cifrados del mensaje obtenidos en el paso anterior.

Pero a partir de ese momento la posición inicial de cada uno de los rotores, que como digo era parte de la clave del día, dejó de formar parte de ella y era el operador quien también la elegía, además de elegir la "clave de sesión". Pero, ¿cómo sabría entonces el operador que recibía el mensaje la posición inicial con la que tenía que configurar la máquina para poder descifrar la "clave de sesión" con la que a su vez descifrar el mensaje?.


Para contar esto tengo que explicar otra de las características de la máquina Enigma que no había introducido hasta ahora para no dificultar la comprensión de su funcionamiento. Los rotores disponían de un anillo externo con las letras del alfabeto que rodeaba al núcleo del rotor que contenía el cableado interno de los contactos. Pues bien, ese anillo externo podía ser girado para variar su posición con respecto a los contactos y fijarlo en la posición deseada, era lo que se conocía como el ajuste del anillo.

Es decir, supongamos que el anillo externo de un rotor está en su posición inicial, se gira una posición y se fija ahí de forma que la letra "A" se sitúa ahora sobre los contactos sobre los que antes estaba la "B", la "B" sobre los que estaba la "C", la "C" sobre los que estaba la "D" y así sucesivamente. Así, ahora cada letra se cifrará con el cableado interno que antes le correspondía a la siguiente.

Pero, tras esta breve explicación, volvamos al cambio introducido por los alemanes en la operativa. A partir de ese momento la clave del día que figuraba en el libro que los operadores recibían mensualmente estaba compuesta por:

- El orden de alojamiento de los rotores en las ranuras.
- El ajuste del anillo de cada uno de los rotores.
- Las conexiones a realizar en el tablero de clavijas (pares de letras a intercambiar).


Y para cifrar un mensaje el operador actuaba de la siguiente manera:


1.- Configuraba la máquina con la clave del día que figura en el libro mensual (de la que había desaparecido la posición inicial de los rotores y para cada uno de los cuales debía realizar el ajuste del anillo a la posición indicada).


2.- Elegía tres caracteres para la posición inicial de los rotores con los que iba a cifrar la "clave de sesión" y los giraba hasta la posición seleccionada.

3.- Elegía tres caracteres que indicaban la posición inicial de los rotores con los que iba a cifrar el mensaje ("clave de sesión") y los tecleaba dos veces de forma consecutiva. Por tanto, esos seis caracteres correspondientes a la "clave de sesión" no se cifraban ahora durante todo un día con la misma posición inicial de los rotores, sino que se cifraban con la posición inicial que el propio operador había seleccionado en el paso anterior.

4.- Giraba los rotores hasta la posición inicial que él había seleccionado para la "clave de sesión" y tecleaba el mensaje a cifrar. Por tanto, el mensaje se cifraba con el orden de los rotores y conexiones del tablero de la clave del día que figuraban en el libro y con la posición inicial de los rotores que él mismo había elegido en el paso anterior para la "clave de sesión".

5.- Transmitía en claro (sin cifrar) los tres caracteres por él elegidos para cifrar la "clave de sesión", después los seis caracteres cifrados correspondientes a la "clave de sesión" y, finalmente, los caracteres cifrados del mensaje obtenidos en el paso anterior.


Pero, ¿si se interceptaba el mensaje, no se podía situar los rotores en la posición inicial que se había transmitido en claro y así descifrar la "clave de sesión" y después el mensaje?. Pues no, porque con esos tres caracteres transmitidos sin cifrar, sin conocerse el ajuste de los anillos de los rotores, no podía averiguarse cuál era realmente la posición del cableado interno de los rotores que se estaba utilizando.



Con este cambio los alemanes invalidaron el método de criptoanálisis polaco hasta la fecha, basado en el cifrado de la "clave de sesión" de todos los mensajes de un día con la clave que figuraba para éste en el libro mensual de claves (incluida la posicición inicial de los rotores) y en su repetición dos veces de forma consecutiva. Ahora, el catálogo de características elaborado no valía para nada.

Y, a partir de aquí, ¿qué?, ¿se dieron por vencidos?... pues no. Un poco de paciencia, insisto en que "romper" el código de la máquina Enigma fue un proceso complejo y que llevó mucho tiempo (los alemanes no se estaban "quietos" e introducían novedades de forma constante para hacer al sistema invulnerable a los métodos de criptoanálisis), pero, tal y como digo, la situación a menos de un año vista del inicio de la II Guerra Mundial era desoladora; las comunicaciones alemanes eran ahora otra vez opacas. En un post posterior contaré cómo siguió esta "carrera", la de unos para descifrar los mensajes y la de los otros para evitarlo. 

martes, 7 de abril de 2015

Criptografía (VII): la máquina Enigma (VI)

En el post anterior conté brevemente cómo Rejewski y su colegas consiguieron deducir el cableado de los rotores y del reflector de la máquina Enigma utilizada por el ejército alemán en la II Guerra Mundial y en éste trataré sobre cómo lograron hacerse con la clave del día para descifrar los mensajes.

Con las réplicas de la máquina Enigma que fue posible construir tras la deducción del cableado de los rotores y del reflector sólo era posible descifrar los mensajes si caían en sus manos las claves del día con las que habían sido cifrados, ya que probar el número astronómico de posibles claves quedaba fuera de la capacidad humana (en esa época no había ordenadores).

Así que Rejewski y sus colegas se propusieron idear un método para obtener las claves del día a partir de esa gran debilidad de operación de la máquina que era la repetición dos veces de forma consecutiva de la "clave de sesión" al inicio de cada mensaje y que tan buenos resultados les había dado anteriormente.

¿Cómo lo hicieron?. Pues, otra vez, demostrando ser unos genios al deducir un sistema para reducir de forma muy significativa el número de posibles claves a probar para que esta tarea quedara ya dentro de lo humanamente posible en aquella época, es decir, al establecer un elegante método que combinaba su genio matemático con la fuerza bruta necesaria para rematar esta tarea.

El método que establecieron se basaba en las permutaciones del primer y cuarto caracteres (AD), del segundo y quinto (BE) y del tercero y sexto (CF), comentadas en el post anterior, que se producían al teclear dos veces de forma consecutiva las letras que indicaban la posición inicial de lo rotores que el operador había elegido para cifrar un mensaje concreto ("clave de sesión") y que como sabemos a lo largo de un mismo día se cifraban siempre con la misma clave (clave del día).

En el ejemplo de mensajes interceptados que puse en el post anterior obtuvimos que la permutación AD podía expresarse ordenada por la longitud de sus ciclos de la siguiente manera:

AD = (JNVU)(RYSZ)(ACIKETMLX)(BGPDOFWHQ).

Es decir, si en el mensaje interceptado el primer carácter es "J" el cuarto es siempre "N", si el primer carácter es "N" el cuarto es "V", si el primer carácter es "V" el cuarto es "U", y así sucesivamente.

Supongamos ahora que en el tablero de conexiones se conectan las correspondientes letras que hacen que con la clave del día la letra que se cifra como "B" pase a cifrarse como "E" y viceversa, y la que se cifra como "W" pase a cifrarse como "Z" y al contrario. Por tanto, los seis primeros caracteres del primer mensaje interceptado de nuestro ejemplo (ver post anterior), que son "BDZ GOW", pasarían a ser ahora "EDW GOZ" y, por consiguiente, la permutación AD sería ahora:

AD = (JNVU)(RYSW)(ACIKBTMLX)(EGPDOFZHQ).

Es decir, las letras conectadas en el tablero de conexiones sólo afectan a que cambian ciertas letras en algunos ciclos de la permutación, pero no a su estructura (número de ciclos y longitud o número de elementos de los mismos), por lo que ésta es una característica del cifrado de la máquina Enigma que es reflejo de la ubicación de los rotores en las ranuras que los alojan y de su posición inicial (parte de la clave del día), con independencia de las conexiones que se establezcan en el tablero.

Y, en este punto, yo me pregunto: ¿Y... eso es bueno o malo?. Pues bien, para ellos obtener esta conclusión fue muy importante; a partir de esta característica podían reducir de forma muy considerable el número de posibilidades a probar para obtener el orden y posición inicial de los rotores de la clave del día. Como sabemos, este número de posibilidades era todavía muy elevado (26 x 26 x 26 x 6 = 105.456), pero dejaba ya abierta la puerta al empleo de la fuerza bruta.

Pero, ¿cómo?. Sigamos con nuestro ejemplo. A partir de las tres permutaciones AD, BE y CF obtenidas en el post anterior:

AD = (JNVU)(RYSZ)(ACIKETMLX)(BGPDOFWHQ);
BE = (AI)(DO)(BPMZX)(HJSTY)(CEUKGQ)(FVLRNW);
CF = (CNK)(EMO)(AGLY)(BIZW)(DHRSUQ)(FPXTJV),

podemos establecer una notación para expresar la longitud o número de elementos de cada uno de sus ciclos, de la siguiente manera:

AD -> (4 4 9 9).
BE -> (2 2 5 5 6 6).
CF -> (3 3 4 4 6 6).

Por lo que podemos expresar las longitudes de los ciclos de las tres permutaciones como:

(4 4 9 9)(2 2 5 5 6 6)(3 3 4 4 6 6).

Además, Rejewski observó que, aunque el número de ciclos y sus longitudes cambiaban cada día, en cada permutación los ciclos de la misma longitud aparecían siempre por parejas.

El siguiente paso consistió en crear un catálogo con esta información (características). Así comenzó el ataque de fuerza bruta.

Sin duda un ardua y tediosa tarea que comenzaron a realizar con las réplicas de la máquina Enigma que fue posible fabricar gracias a la labor anterior realizada por Rejewski. Había que poner los rotores en un orden concreto (encajarlos en sus correspondientes ranuras), girarlos hasta una posición inicial concreta, teclear dos veces de forma consecutiva los tres caracteres de una de las posibles "claves de sesión" (desde la "AAA" hasta la "ZZZ") y calcular el número de ciclos y la longitud de los mismos que le correspondían... y repetir esto "sólo" 105.455 veces más.

Un trabajo que podía llevar muchísimo tiempo, por lo que pronto se dieron cuenta de que, si no querían tardar una eternidad en elaborar el catálogo, tenían que simplificar esta tarea de alguna manera. Para ello, diseñaron y fabricaron una máquina que llamaron ciclómetro.

Básicamente, el ciclómetro constaba de 2 juegos de rotores y, además, de 26 lámparas y 26 interruptores correspondientes a las 26 letras del alfabeto.

Ambos juegos de rotores estaban conectados, con la particularidad de que el rotor rápido del segundo juego (N2se sincronizaba automáticamente ajustándose 3 posiciones con respecto al rotor rápido del primero (N1).

De esta forma se simulaba el efecto de cifrar una letra, con una ubicación determinada de los rotores en las ranuras y con una posición inicial concreta de los mismos, como si ésta se hubiera pulsado en primera posición en una máquina Enigma y de cifrar esa misma letra como si se hubiera pulsado después en cuarta posición, pero esto se conseguía accionando sólo el interruptor correspondiente a esa letra (con una réplica de la máquina Enigma se hubiera tenido que pulsar esa tecla en primera posición, dos teclas más y esa misma tecla en cuarta posición). Además, los circuitos del ciclómetro permitían obtener de forma sencilla la longitud de los ciclos que le correspondían a la posible "clave de sesión" que se había probado.

Cuando se accionaba el interruptor correspondiente a la primera letra de una de las posibles "clave de sesión" se iluminaba la lámpara correspondiente a dicha letra y, además, las de aquellas que pertenecían al mismo ciclo y a otro ciclo de la misma longitud de la permutación AD (recordar que los ciclos de la misma longitud siempre ocurren a pares).

El número de lámparas que se iluminaban al accionar un interruptor era siempre el doble del número de letras en los ciclos de la permutación AD. Por ejemplo, si se encendían 8 lámparas se deducía que la permutación AD tenía, al menos, 2 ciclos de longitud 4.

Para deducir la longitud del resto de ciclos de la permutación AD bastaba con accionar el interruptor correspondiente a una de las letras que no se habían iluminado y, por ejemplo, si se iluminaban las lámparas correspondientes a 18 letras se obtenía que la permutación AD tenía, además, 2 ciclos de longitud 9. En este ejemplo ya se habrían encendido todas las lámparas, por lo que las longitudes de los ciclos de la permutación AD se podían expresar como (4 4 9 9).

Posteriormente, se actuaba de la misma manera para la permutación BE (accionado el interruptor correspondiente a la segunda letra de la "clave de sesión" que se estaba analizando) y después para CF (tercera letra de esa "clave de sesión"), con lo que, por ejemplo, podía obtenerse la siguiente característica para el conjunto de las tres permutaciones: (4 4 9 9) (2 2 5 5 6 6)(3 3 4 4 6 6).   

Pero veamos un ejemplo gráfico



Después de hacer esto se anotaba la característica en una tarjeta y se ordenaban éstas de una manera específica para facilitar su consulta.

El catálogo estaba compuesto por:

- 6 ubicaciones posibles de los rotores en las ranuras (3! = 3 x 2 x 1 = 6).
- Dentro de cada una de las anteriores se incluían las características, es decir, 263 = 17.576 entradas; una para cada una de las posibles "claves de sesión" con esa ubicación concreta de los rotores en las ranuras.

De esta forma el catálogo contenía un total de 6 x 17.576 = 105.456 entradas.

Ejemplo (los dos primeros dígitos indican el número de ciclos, los siguientes la longitud de cada uno de ellos y los tres últimos caracteres la posición inicial de los rotores):

- I, II, III:
   16 02 02 03 03 04 04 04 04 05 05 06 06 06 06 09 09 ... AAA.
   ................................................................................................ AAB.
   ...
   ................................................................................................ ZZZ.
- I, III, II:
   ................................................................................................ AAA.
   ................................................................................................ AAB.
   ...
   ................................................................................................ ZZZ.  
- ...

El catálogo se ordenaba, dentro de cada ubicación posible de los rotores en las ranuras, por número de ciclos y longitud de los mismos.


Una vez de que se completó el catálogo era posible descifrar ya los mensajes de cada día, para lo que se actuaba de la siguiente manera:

1º) A partir de los mensajes interceptados se obtenía la característica conjunta de las permutaciones AD, BE y CF (número de ciclos y longitud de los mismos en cada una de ellas).

2º) Se acudía al catálogo para localizar esa característica (lamentablemente, en ocasiones esa característica correspondía a varias entradas del catálogo, pero se reducían enormemente las posibilidades a probar).

3º) Si había habido suerte y esa característica sólo figuraba en una entrada del catálogo ya se disponía de la ubicación inicial de los rotores en sus ranuras y de la posición inicial de los mismos, mientras que si figuraba en varias entradas había que probar los mensajes interceptados en una réplica de la máquina Enigma con cada una de las posibles configuraciones iniciales que correspondían a dichas entradas (como digo muchísimas menos y, por tanto, algo perfectamente posible de hacer en poco tiempo) hasta que apareciera un texto en claro más o menos coherente.


Y digo "más o menos coherente" porque aún faltaba saber las conexiones establecidas en el tablero para intercambiar letras, pero esto no era mayor problema, ya que si en el texto en claro había palabras predecibles resultaban evidentes las letras que se habían intercambiado (conectado a pares en el tablero de conexiones). Por ejemplo: si al descifrar un parte metereológico aparecía en el texto en claro "TEWWER", los criptoanálistas podían deducir fácilmente que se habían intercambiado los caracteres "W" y "T" de la palabra "WETTER" (tiempo en alemán), y así con muchas otras palabras predecibles.

¿Esto fue todo?. Pues me temo que no (como dije en un post anterior de esta serie, se trató de un proceso muy complejo y también muy largo), ya que los alemanes a medida que se acercaba el inicio de la II Guerra Mundial introdujeron cambios, tanto en las características de la máquina Enigma como en su operativa, que dificultaban la obtención de la clave del día mediante este método, y más tarde la imposibilitaron. Pero éste será un asunto a tratar en posteriores posts.