Estas aquiContenido / Cómo se hizo: los criptogramas de la Botifarra
Cómo se hizo: los criptogramas de la Botifarra
Por infosniper
Para los que nos ha gustado en algún momento la seguridad informática, ha resultado inevitable leer algo sobre criptografía: fórmulas raras, números primos, matemáticas en su sentido más estricto... Para muchos de nosotros, especialmente para los de letras, la criptografía ha ido siempre envuelta de un aura de misterio y misticismo entendible sólo por expertos. Lo que conocíamos de ella era que, a través de determinados algoritmos matemáticos, con o sin contraseña, convertíamos textos planos en un cúmulo de caracteres y símbolos raros supuestamente indescifrables...
Y un día entró en escena la criptografía cuántica. Cuando comencé a leer sobre ella no entendía para qué era necesaria tanta sofisticación, tanta inversión en investigación y desarrollo, ni tenía claro si detrás de todo aquello había algún tipo de interés oculto. Comprendí entonces que para la mayoría de mortales el halo de misterio sobre la criptografía iba a crecer aún más y se me ocurrió la gilipollez: ¿por qué no desviar la atención de la comunidad hacia otro tipo de criptografía, una de andar por casa en calzoncillos y camiseta, pero que fuera a la vez lo suficientemente fuerte o resistente a un ataque como para que quienes están muy preocupados por la seguridad de sus mensajes a través de Internet abrieran los ojos ante una posibilidad que siempre habían tenido al alcance de la mano sólo aplicando un poco de imaginación, sin puertas traseras y gratis?.
Aquí comenzó el plan. ¿Dónde encontraría el mejor terreno de juego? Kriptópolis. ¿Conseguiría captar la atención del público?. Sólo había una forma de averiguarlo: plantear un primer reto sencillo. Así nació con carácter experimental el Primer Reto Criptográfico, caracterizado por su extrema simplicidad o sencillez.
Sorprendentemente la aceptación fue mayor de lo que esperaba, aunque también, como era de suponer, fue inevitable que apareciera el listo de turno vomitando los correspondientes desprecios. Esta ligera incomodidad y un atento correo de Rafael C. me decidió finalmente a acometer la segunda parte del plan, la presentación en sociedad del Segundo Reto Criptográfico, esta vez más complicado que el primero y por lo tanto más duro de pelar. Y aquí precisamente comenzó lo bueno, porque la planificación del mismo me permitíó dejar una ventana abierta a mi propia intervención en función de cómo fueran desarrollándose los trabajos de criptoanálisis. Mi intención iría entonces encaminada a conseguir que el Reto se apartara de un típico y aburrido análisis matemático para ir derivando en una especie de thriller (introduciendo la figura del Asesino del Zodíaco), con toques de humor y provocación para motivar el interés y la participación del personal, y de paso resultar más ameno para todos, incluso para mí. Y recalco lo de "más ameno para mí" porque en más de una ocasión he estado a punto de cancelar el experimento, por haberse convertido más en una obligación que en un divertimento.
¿Y para qué tanto trabajo, qué se pretendía demostrar con todo esto?
En primer lugar sería ridículo negar que se quería demostrar que infosniper no era tan tonto como parecía y que era capaz de crear su sistema de cifrado propio, simple y medianamente aceptable. Pero en realidad lo que se pretendía demostrar, por encima de todo, era que CUALQUIERA DE NOSOTROS CON UN POCO DE IMAGINACIÓN sería capaz de lo mismo, y por tanto ese misticismo que rodeaba a la criptografía iba a tener los días contados. No sé si lo habré conseguido, pero de momento sí hemos podido comprobar cómo durante el criptoanálisis realizado por los lectores más valientes de Kriptópolis se han propuesto distintos y mejores sistemas de cifrado que el planteado por mí.
Sin embargo una cosa sí que nos quedará en el aire por comprobar, y es la de si en el reto han participado profesionales-expertos del criptoanálisis. Nunca lo sabremos, y es completamente lógico que así sea.
EL RETO
Como es bien sabido, este Segundo Reto Criptográfico comenzó el 4 de agosto de 2008 y está compuesto por tres mensajes cifrados:
"Segundo reto criptográfico de Infosniper"
http://www.kriptopolis.org/segundo-reto-criptografico-de-inf...
"¡Nuevo mensaje interceptado!"
http://www.kriptopolis.org/nuevo-mensaje-interceptado
"Operación Donsimón"
http://www.kriptopolis.org/operacion-donsimon
y tres hilos complementarios:
"¿Publicamos la solución?"
http://www.kriptopolis.org/pre-solucion-reto-criptografia-2
"Llegó el Día 28 de diciembre: día de los inopables"
http://www.kriptopolis.org/28-diciembre-dia-de-los-inopables
"Criptograma de la Botifarra: el asalto final"
http://www.kriptopolis.org/criptograma-de-la-botifarra-el-as...
Aviso a navegantes: no entraré a comentar aquí los numerosos mensajes subliminales que he ido introduciendo en el reto a través de mis intervenciones, porque eso lo dejaré para el libro recopilatorio en formato .PDF que se ofrecerá de forma gratuita. Así que un poco de paciencia.
EL CRIPTOGRAMA...
En diversas ocasiones había oído hablar de la trilogía "Criptonomicón" de Neal Stephenson y del sistema de cifrado Solitario, desarrollado por Bruce Schneie,r que se ejecutaba mediante una baraja de cartas. Esto hizo plantearme:
Si los americanos eran tan chulos ¿por qué aquí íbamos a ser menos?, ¿por qué no hacerlo a la española? y ¿por qué no hacerlo sin la necesidad de llevar ninguna baraja en el bolsillo?. Pues como por aquí gastamos un humor especial la idea del "Criptograma de la Botifarra" -pues había que darle un nombre- comenzó a tomar forma hasta que fue finalmente presentado en sociedad a través de Kriptópolis. Y mientras los lectores del sitio se rompían los cuernos con él, yo aprovecharía para intentar adquirir en una librería los Códigos Enigma, Pontifex y Aretusa para enterarme de qué iba realmente este famoso tocho. Una vez terminada la lectura de esta trilogía llegué a unas cuantas conclusiones:
- que no era recomendable realizarla sin disponer de los tres volúmenes bajo el riesgo de perder el hilo de las historias.
- que no era recomendable realizarla en una habitación en la que no se estuviera en absoluto silencio bajo el riesgo de perder el hilo de las historias.
- que no era recomendable realizarla dejando pasar días sin coger el libro bajo el riesgo de perder el hilo de las historias.
- que no era recomendable realizarla con el cuerpo cansado bajo el riesgo de quedarse dormido en determinados fragmentos de la obra, más que nada porque el volumen podría soltársenos de las manos y por consiguiente perderse la página por la que íbamos, y también para evitar que el perro se tirara directamente a por él para triturarlo con sus afilados dientes.
- que si algún día decidía volver a leerlo realizaría en primer lugar una relación de los capítulos ambientados en la Segunda Guerra Mundial y otra de los ambientados en la actualidad, para a continuación leer los primeros y después el resto, si los resistía.
- que el libro en general, pese a lo dicho, era muy interesante y recomendable.
Sigamos. Lo bueno de emplear un sistema de cifrado como el que a continuación analizaremos es que como da tanto juego, como ofrece tantas posibles combinaciones, es capaz de acabar con la paciencia de cualquier atacante que se lo haya tomado lo suficientemente en serio como para haber invertido mucho tiempo y ganas. Supongo que todos los lectores estarán de acuerdo en esta valoración.
Pero pese a lo anterior eso no significa que el reto no hubiera podido resolverse. En primer lugar yo jugaba con la ventaja de que no había un premio jugoso para el acertante (al menos inicialmente... ojalá lo hubiera). En segundo lugar no nos encontrábamos en tiempo de guerra, por lo que no existía un ente que organizara a múltiples y brillantes cerebros para planificar y coordinar los ataques sobre un texto que se hubiera cifrado de forma similar a éste (un texto enemigo, ojo, que yo soy de los buenos). Y en tercer lugar había que tener en cuenta la existencia e intervención de un factor que siempre podría contribuir al descifrado de un mensaje cifrado (que en este caso no ha ocurrido así y que hablando en porcentajes se encontraría sobre el 0'talytal %), un importante factor que ha participado en muchos de los grandes descubrimientos de la Humanidad: el factor "puñetera chiripa-casualidad-suerte".
Hablando del sistema empleado en el reto para cifrar los tres mensajes quiero insistir una vez más en que éste pudo haber sido mucho más complejo y sin embargo igual de sencillo de descifrar. El truco, entre muchos otros, consistiría simplemente en variar los tipos de cálculo aplicables y/o ir incluyendo más variables, con lo cual y de forma automática el criptoanálisis se complicaría en gran medida. Por ejemplo, por dar una sola de estas variables, se podrían haber introducido de forma salteada y aleatoria en varios tramos del mensaje cifrado las frases o sentencias siguientes:
OK0218 manilla asOK OK sotareyOK OKcaballoasas 0644OK OK0739manillarey 0551OK
¿Qué significado-valor tendrían? La explicación al final.
... DE LA BOTIFARRA
En España la palabra "BOTIFARRA" tiene varios significados y van desde un tipo de embutido, al órgano varonil cuya mayor parte del tiempo permanece colgando, a un "corte de mangas", o a un JUEGO DE NAIPES. En la zona del territorio por la que me muevo, la "Botifarra" como juego de cartas está considerada casi un deporte nacional, transmitiéndose sus técnicas y trucos de generación en generación porque, aparte de ser muy entretenido, por su culpa y a lo largo de su historia han cambiado de manos múltiples fortunas. Por eso sus timbas-partidas con dinero sobre la mesa son consideradas ilegales y perseguidas, ya que escapan al control del Estado, es decir, que como el Estado no puede cobrar nada de ellas a través de impuestos sobre el juego son declaradas ilegales.
En el Criptograma de la Botifarra (en cualquiera de los tres) es evidente que aparecen las cartas de la baraja española y el hecho de incluir la "Manilla" o "9" decantaba inmediatamente hacia qué juego de cartas debería ir dirigida la investigación. Pero claro, no en todo el territorio español era conocido el juego como tal (y en el extranjero ya no digamos) por lo que era previsible que alguien diera pronto la pista. Y así fue, pero lo curioso es que pese a identificársele inmediatamente como juego de la Manilla nadie dijo entonces que en Cataluña era conocido como Botifarra y que tenía una difusión extraordinaria.
Tuvieron que transcurrir muchos días, hasta llegar el 30 de noviembre, en que Jumpering lo dijo abiertamente en su comentario, y eso que p0LyeSt3R en "Manilla" citaba el claro enlace. Quien lo hubiera leído del todo, en su punto 14 iba a encontrar la denominación del juego de la Manilla en Cataluña: "la Butifarra". Sólo que su escritura es errónea; en ambos escritos es errónea pues reproduce la mismísima pronunciación de la palabra. En realidad su escritura correcta es "botifarra", con "bo" aunque se pronuncie "bu". Si alguien hubiera introducido en Google (echar tres veces sal hacia nuestra espalda) "la butifarra" habría encontrado justo en el primer enlace la famosa "ButiNET - El joc de la botifarra per Internet" (Butinet - El juego de la BOtifarra por Internet).
Ahora vamos con la "MANILLA". "Manilla", según el Diccionario de la Real Academia, hace referencia, entre otras cosas, a "Manecilla del reloj". Una manecilla puede pinchar, ¿no?. Pues el reloj y el tiempo también serán muy importantes para la resolución del criptograma. Vamos allá.
---------------------------------------------- | infosniper = información/francotirador | ----------------------------------------------
Imaginemos pues que estamos observando a través de una mira telescópica (circular): una cruz divide la imagen en cuatro sectores y señala nuestro objetivo. Quedémonos con esa visión de una cruz en un círculo y ahora, para hacerlo aún más evidente y claro, trasladémosla a un reloj analógico (circular). Tenemos ahora dividido el reloj en cuatro partes de noventa grados cada una. Ahora acoplemos a cada una de esas partes, comenzando por la superior derecha, y girando hacia la derecha en el sentido de las agujas del reloj, de 7 en 7, las letras del abecedario en castellano, pero teniendo en cuenta que antes de la 'a' va un espacio vacío que ocupará una posición en el orden (total 28). El espacio vacío simplemente es de relleno, para molestar a los atacantes y para que sean 7 los caracteres insertados en cada parte, pero tomará el valor de "primero" o "uno" en los cálculos.
------------------- z | - y | a x | b w | c v | d u | e t | f ------------------- s | g r | h q | i p | j o | k ñ | l n | m -------------------
El sistema empleado es el siguiente.
En el mensaje cifrado (en los tres, pero de momento nos vamos a centrar sólo en el primero) pueden observarse de izquierda a derecha grupos de espacios en blanco, grupos de letras que constituyen palabras, y grupos de cifras. Cada letra del mensaje en texto plano viene definida por una frase o conjunto de esos grupos, siendo el grupo de las cifras el que marca siempre el final del conjunto. Por ejemplo:
" rey0112" es la primera letra del mensaje en texto plano " manillaas0733" es la segunda "ochoas 0041" es la tercera "reyas 0207" es la cuarta "caballoas0014" es la quinta "manilla 0018" es la sexta, etc.
El grupo de cifras representa una hora anotada digitalmente. Por ejemplo "0112" viene a ser como "01:12". Los minutos SÓLO indican el cuadrante del reloj en el que encontrar la letra del mensaje en texto plano. Por eso, en el sentido de las agujas del reloj "12" (está entre "0" y "15") equivale a los caracteres "-abcdef". Ahora habrá que buscar cuál de ellas es la correcta haciendo unos pequeños cálculos con el resto. Atención: nunca se van a usar los valores minutos 15, 30, 45, 60 ó 00, porque no definirían en qué cuadrante habría que buscar, ya que corresponderían a las líneas de la cruz.
Las letras constituyen palabras con un significado propio. Estas palabras pueden estar solas como tal o bien unidas a otras palabras. Estas palabras son empleadas para identificar las cartas del juego de naipes citado. Pues bien, cada carta tiene un valor en el juego y es el siguiente por orden de mayor a menor:
9, conocida como "Manilla" 5 puntos 1, conocida como "As" 4 puntos 12, conocido como "Rey" 3 puntos 11, conocido como "Caballo" 2 puntos 10, conocido como "Sota" 1 punto el resto de cartas valen 0 puntos
Pues eso, sin necesidad de saber jugar, cada palabra valdrá para el mensaje cifrado lo que en puntos vale en el juego: "manilla" 5, "sota" 1, "siete" 0, "tres" 0, etc. Para simplificar puede sustituirse cada palabra por su valor. Si hay dos palabras juntas contabilizarán como una sola, pero sumando su valor. Por ejemplo, "sotarey" valdrá 4, "manillaas" valdrá 9, "caballodos" valdrá 2, "seisrey" valdrá 3, etc.
Un inciso-comentario. Hubiera podido emplear las cartas de la Botifarra para despistar y en realidad hacer referencia a otros valores, o en lugar de emplear cuatro dígitos podía haber empleado tres de vez en cuando también para despistar (cuando apareciera el 0 delante), pero no lo hice porque eran precisamente más pistas sobre las que trabajar, es decir, que el propio mensaje cifrado consistía en una pista.
Los espacios en blanco de cada grupo son muy importantes y deben contarse... aunque no siempre (jeje, más guerra psicológica). Si están a la izquierda de los grupos de letras SE OMITEN, no se les tendrá en cuenta (lo admito, soy retorcido), pero si están a la derecha sí, porque se deberán restar del valor que tenga la palabra. Por ejemplo "manillaocho" vale 5, si está seguida de tres espacios en blanco será: 5-3=2. Otro ejemplo: antes de "caballorey", que vale 5, hay 4 espacios en blanco, pues no se tienen en cuenta y sigue valiendo 5, pero si a continuación de "caballorey" hay dos espacios en blanco será 5-2=3. Las cartas que no tienen valor no afectan a los cálculos. Por ejemplo, "manillaasocho" vale 9, pero si va seguida de tres espacios en blanco será 9-3=6.
Una vez obtenido el valor de las palabras en relación a los espacios en blanco falta el cálculo final: restarle la hora digital (recordemos que los minutos nos indicaban el cuadrante en el que se incluía la letra del mensaje en texto plano). El número que nos dé como resultado será la posición de la letra en el cuadrante correspondiente contabilizada de arriba a abajo. Por ejemplo, si tenemos
"manillamanilla 0319"
sería 5+5-4-3=3
19 corresponde al cuadrante de las letras "ghijklm"
entonces 3 corresponde a la letra "i" en texto plano
Otro ejemplo:
" manillaas0733"
sería 5+4-7=2
33 corresponde al cuadrante de las letras "srqpoñn"
entonces 2 corresponde a la letra "r" en texto plano
Aunque este sistema a primera vista pueda parecer un poco complicado y farragoso, descifrar un mensaje resultará extremadamente SENCILLO y RÁPIDO con sólo un mínimo de práctica, un papel y un lápiz. No así el cifrarlo, ya que como una letra en texto plano puede adoptar múltiples combinaciones de cartas, espacios en blanco y horarios, es justamente aquí donde se deberá emplear la imaginación para hacer que no coincidan y convertir el mensaje cifrado en algo difícil de atacar.
Como se ha visto en "Criptograma de la Botifarra: el asalto final" el texto plano del PRIMER mensaje era:
infosnipergooglepagescombotifarra
pero en realidad aplicando el sistema de cifrado descrito hasta ahora no ofrece ese texto plano sino otro:
"arrafitobmocsegapelgoogrepinsofni"
Aquí estaba la última complicación del sistema. Cualquier texto plano antes de cifrarse debe ser desordenado o, mejor dicho, ordenado del revés de forma que la primera letra se convierta en la última, la segunda en la penúltima, la tercera en la antepenúltima, etc.
El texto plano obtenido del SEGUNDO mensaje era realmente:
"arrafitobmocsegapelgoogrepinsofniptth"
exactamente el mismo primer mensaje pero añadiéndole cuatro letras al final para despistar a los que las cuentan.
Cambiándoles el orden de derecha a izquierda quedan como:
"httpinfosnipergooglepagescombotifarra"
Éstas eran las dos primeras soluciones, que poniéndoles la guinda final quedaban como:
http://infosniper.googlepages.com/botifarra
El texto plano del TERCER mensaje cifrado era un poco más largo:
"roooloceneitinotnitinocnalbseonnoicnusaeneiteuqonivle"
que cambiándole el orden de derecha a izquierda queda como:
"elvinoquetieneasuncionnoesblanconitintonitienecolooor"
una muestra evidente de los efectos de la sangría en el cuerpo humano...
Y para terminar, la explicación sobre el valor de las frases "OK0218 manilla asOK" y parecidas que se dijeron hace un rato: pues su valor dentro del mensaje cifrado sería cero patatero, nada, no eran más que ruido, saltos dentro del mensaje. ¿Quién no ha jugado alguna vez al juego de la OCA?. Entonces ¿qué sentido tendría poner el juego de la OCA dentro de un juego de cartas como éste? En este caso ninguno, por lo tanto "de OK a OK y tiro porque me toca".
"Ave Imperator, morituri te salutant."
infosniper
http://infosniper.googlepages.com
Me ha parecido genial este sistema. Era una idea que venía barruntando desde hace tiempo, ¿que pasaría si un aficionado con relativos conocimientos crea un algoritmo? ¿Cuanto tardaría en caer?
Yo mismo me entretuve algún rato pensando en este reto al principio y no llegué a nada claro y abandoné, pero esta entrada me ha gustado mucho, has explicado muy claramente todo el proceso.
Muchas gracias por los retos y muchas gracias por la solución.
Por fin
¡Qué cerca estuvimos!
Agustín, ¿recuerdas aquella tabla que puse pero que nunca te expliqué su funcionamiento porque me parecía absurda y una pérdida de tiempo? Pues mira la segunda línea de la tabla.
Ahora es fácil hablar, pero en su día la estuve probando y ¡nada! Mi principal fallo fue empezar a contar los índices desde cero y no desde uno como haría alguien de letras. Siendo humildes, ni conociendo la disposición del alfabeto habría llegado a la solución. Siempre me atormentaron los espacios, y creo que ese ha sido el gran truco que ha hecho que infosniper gane.
Pues nada, saludos a todas las víctimas y a otra cosa!
Ha sido muy interesante. Yo lo más cerca que estuve fue en situar 7 caracteres por cuadrante, porque me parecía claro que un 28º carácter que no se utiliza sólo servía para hace el alfabeto divisible por cuatro. Pero no acerté la distribución, ya que ponía el 28º al final, y pensaba que las letras se proyectaban sobre otros alfabetos que había en los ejes de la maldita mirilla.
Por otra parte, yo hubiera asignado la numeración siguiendo un orden cirular, horario, en este caso. Es decir, para mí el primer signo del tercer cuadrante hubiera sido la "n", y no la "s", y el del cuarto sería la "t" y no la "z"
Al intentar aplicar mi último churro-algoritmo, tuve la desgracia de "acertar" las dos primeras letras, lo que me llevó, dada mi impulsividad -aprovecho para disculparme por ella ante TODOS- a creerme que había encontrado algo. De este modo he cometido la ridiculez de publicar un -el- último post del foro del criptograma de la Botifarra, que es un verdadero galimatías.
Queda demostrado que un algoritmo casero de cifrado puede resistir numerosos ataques. Y digo "numerosos" y no "fuertes" porque no quiero atribuírme fuerza alguna en este oficio. Pero me atrevo a pensar que hubiera resistido el ataque de auténticos especialistas.
Enhorabuena otra vez a infosniper. Ha sido muy interesante y divertido. Además ha habido posts muy cachondos y mucha camaradería. Enhorabuena a todos
Con lo de tu tabla. Y tú mira este post que mandé clandestinamente como anónimo-fidelio
http://www.kriptopolis.org/criptograma-de-la-botifarra-el-asalto-final#c...
Dices que estabas leyendo el Criptonomicón cuando ideaste el sistema. ¿Te basaste en el algoritmo del Solitario que aparece en el libro? Encuentro algunas similitudes entre el algoritmo que describes y el del libro (http://www.schneier.com/solitaire.html).
Saludos y ¡buen trabajo!
Tras idear el sistema y presentarlo en sociedad fue cuando comencé a leerlo. Lo único que había leído de Criptonomicón era lo referente al "Solitario".
No. Me basé en LA IDEA de emplear una baraja de cartas. Sólo que los americanos lo complicaban mucho al tener que llevarla encima y nosotros, más prácticos porque en el bolsillo de la camisa solamente nos ponemos el móvil, el bolígrafo, el boleto de la lotería Primitiva, el calendario del bar, y la cartera con las tropecientas fotos de la familia más tarjetas de crédito-débito-caprabo-sindicato-videoclub, pues como que la baraja casi que no nos cabía. Igual sí, pero apretándola un poco.
Pues ya es raro, ya.
infosniper
http://infosniper.googlepages.com
No tenia idea de los retos hasta que leí sobre el "asalto final" y aun así no les preste importancia hasta hace 3 días en que decidí intentar resolverlos. Vamos, la solución del primer criptograma estaba ahí y los que quedaban usaban el mismo sistema. Solo era cuestión de pensar un poco…
Es una lastima que lo de “botifarra” no se lo haya comentado a un colega de Barcelona, me hubiera servido mucho mas que leer algunos comentarios por ahí. Aun así, mi hipótesis de que los espacios en blanco eran el inicio del grupo que conformaba cada letra estaba tan errada como mi deducción de que “manilla” tenia valor de 6 y no de 5 (con que deporte nacional, eh?, ahora lo se…) Si de algo me alegro, es que en lo que respecta a la lógica, no estaba tan equivocado.
Suponía que se utilizaba el valor 0 para algunas palabras que aparecían ocasionalmente, suponía un cierto caso en que se debía restar en vez de sumar (aunque esto también iba a causarme mas problemas), y claro esta, que las operaciones eran solo de suma y resta ya que "solo se necesita un papel y un lápiz", y otras cosas sencillas que cualquiera hubiera podido deducir. Lo del retículo de la mira telescópica fue algo que no me lo esperaba… aunque había una imagen de eso justamente en algún lado.
En fin, creo que el experimento ha sido interesante. La importancia del cifrado de datos es crítica, retos como este demuestran que pueden existir tantas formas de cifrado como gente pensante en el mundo y que no hay que ser un prodigio de las matemáticas para proponer uno simple, susceptible de ser mejorado (como todas las cosas del mundo) y a la vez difícil de vulnerar.
Saludos
pero lo dificil era saber cual. Sigo creyendo que era muy difícil que diéramos con el algoritmo. Con los mensajes en claro se avanzó mucho, como averiguar que el mensaje estaba al revés o por fin deletrear en grupos. Posiblemente se habría podido acabar resolviendo. Creo sinceramente que sin pistas ni las parejas claro/cifrado no habría sido atacable.
En fin, me gustan mucho algunas de las ideas que se usan y la duda está en como hacer que el algoritmo fuera reutilizable incorporando una clave de cifrado (y manteniendo el algoritmo conocido, incluyendo como se aplica la clave)
Una que se me ocurrió es variar el valor de las cartas, pero hay una debilidad implícita y es que el cuadrante donde buscar las letras sería conocido. Eso permitiría ataques de diccionario basados en palabras que contuvieran letras de los cuadrantes presentes.
Cualquier desplazamiento del alfabeto añadiría una cierta dificultad pero no lo protegería demasiado, ya que en el fondo seguimos teniendo una separación fija entre cuadrantes de 7 carácteres, cosa que permitiría hacer un análisis estadístico para saber, por ejemplo, en que cuadrante está la "E" y desde ahí situar a sus vecinas. Un desplazaminto fijo conocido en cada carácter sería trivial de deshacer.
Reordenar inicialmente el alfabeto, por si mismo, tampoco iba a ayudar mucho más. La debilidad de que una letra permanezca siempre en el mismo cuadrante introduce un vector de ataque dificilmente salvable. Reordenar en cada carácter, partiendo de la base de que el atacante sabe como se hace también podría ser revertido. Si el algoritmo de reordenación fuera lo suficientemente potente para no se atacable, pues se utiliza ese para codificar directamente.
Vamos que no lo veo nada trivial. Se os ocurre algún método?
Buf, si yo lo unico que hacia era trabajar con tablas, que mal iba.
Si, teoricamente eso se podria considerar una tabla (aunque practicamente no).
En fin, espero estar mas acertado la proxima vez.