
El criptograma a descifrar es el siguiente:
ESTA ES LA CLAVE DEL MENSAJE@L CMVSWVNOBMFVPAJZRLNM FLDGS NTFCETDLFCELFNDVM JOBRHS HBAFGCÑE
Y contamos con algunas pistas...
"La parte que está antes del signo @ contiene toda la información necesaria para la resolución del enigma. La parte posterior al signo es el mensaje cifrado, que contiene 62 caracteres
Como es evidente, hay separador de palabras (espacio), y un alfabeto de 28 signos, las 27 letras del castellano más el separador.
Quiero creer que puede resultar divertido e interesante para los usuarios de Kriptópolis, aunque no creo que resulte tan difícil como el de Infosniper."
Se abre la veda.
El algoritmo explicado
Agustín16 Mayo 2009 - 2:12pm
Cuando JoseLo y SkAsI descifraron el primer Enigma, di por concluído el asunto, pero no pensé que las pocas líneas de código que se pusieron en el foro no eran suficiente explicación para un algoritmo que se prometía factible con "lápiz y papel" Aunque las hojas de cálculo puedan servir para aclararlo, creo que debo una explicación en román paladino, de cómo se cifraba y se descifraba el engendro. Mis disculpas por la tardanza.
La clave, ESTA ES LA CLAVE DEL MENSAJE, contiene TODA la información necesaria para resolver el Enigma. ¿Y cuál es esa información? Pues la CLAVE propiamente dicha, y el ALFABETO
El alfabeto se construye, como ya dijeron en el foro, con la clave sin letras repetidas, y completando con las letras del alfabeto básico.
De manera que el alfabeto es
ESTA LCVDMNJBFGHIKÑOPQRUWXYZ
Pero el afabeto que realmente se usa es el inverso:
ZYXWURQPOÑKIHGFBJNMDVCL ATSE
parece una dificultad añadida, pero para los que manejan bien los programas, sólo supone poner un -1 como parámetro de una función. Qué cosas
Ahora empieza el cifrado propiamente dicho: Pegamos la clave al mensaje en claro. como la hiedra se pega al árbol:
Ahora obtenemos la posición de cada letra del mensaje en el alfabeto
23-25-24-22-25-27-05-25-23-12-20-25-20-24-15-25-21-09-06-28-22-28...
Obtenemos también la posición de cada letra de la clave en el alfabeto, y las ponemos junto a las del mensaje
23-25-24-22-25-27-05-25-23-12-20-25-20-24-15-25-21-09-06-28-22-28...
28-27-26-25-24-28-27-24-23-25-24-22-23-25-21-28-24-20-28-23-24-19...
Ahora sumamos cada par de números
51-52-50-47-49-55-32-49-46-37-44-47-43-49-36-53-45-29-34-51-46-47...
Se halla el módulo 28 de ellos:
23-24-22-19-21-27-04-21-18-09-16-19-15-21-08-25-17-01-06-23-18-19...
Y se busca la letra correspondiente en el alfabeto, con lo que se obtiene:
L CMVSWVNOBMFVPAJZRLNM FLDGS NTFCETDLFCELFNDVM JOBRHS HBAFGCÑE
El descifrado, ahora sí, es obvio.
Qué curioso
Alenog18 Mayo 2009 - 10:21am
Qué curioso. No me fijé en que estaba trabajando con un alfabeto invertido. Ahora no tengo aquí el código pero miraré en cuanto pueda la forma en que está planteado.
Aparte del interés intrínseco, resulta interesante ver como hiciste el plantemiento del primero de cara al segundo enigma.
He estado mirándolo
Alenog20 Mayo 2009 - 11:06pm
He estado mirándolo y el algoritmo funciona tanto con el alfabeto al derechas como invertido*. Así que esa dificultad añadida no es tal, ya que el paso de invertir el alfabeto no sólo no añade seguridad, sino que se puede omitir completamente.
*Con la diferencia de una unidad.
Creo que el motivo es que estamos convirtiendo el texto a números y el número a texto con el mismo alfabeto, y por eso podemos trabajar con él de ambas formas.
Escrito en el mismo formato que usaste arriba:
Alfabeto: ESTA LCVDMNJBFGHIKÑOPQRUWXYZ
La posición de cada letra del mensaje en el alfabeto:
6-4-5-7-4-2-24-4-6-17-9-4-9-5-14-4-8-20-23-1-7-1-5-4-5-6-4-2-5-10-1-11-3-1-2-5-1-
11-3-23-1-11-4-9-4-2-5-7-16-4-23-6-1-2-5-13-4-13-13-4-15-1
La posición de cada letra de la clave en el alfabeto:
1-2-3-4-5-1-2-5-6-4-5-7-6-4-8-1-5-9-1-6-5-10-1-11-2-4-12-1-1-2-3-4-5-1-2-5-6-4-5-
7-6-4-8-1-5-9-1-6-5-10-1-11-2-4-12-1-1-2-3-4-5-1
Sumadas:
6-5-7-10-8-2-25-8-11-20-13-10-14-8-21-4-12-28-23-6-11-10-5-14-6-9-15-2-5-11-3-14-
7-1-3-9-6-14-7-29-6-14-11-9-8-10-5-12-20-13-23-16-2-5-16-13-4-14-15-7-19-1
Convertidas a letra con el mismo alfabeto:
L CMVSWVNOBMFVPAJZRLNM FLDGS NTFCETDLFCELFNDVM JOBRHS HBAFGCÑE
El código que tengo hace esto:
for (i=0; Mensaje[i]; i++) { if (Accion == Encripta) { printf("%c", AlfabetoClave[R( L2N (Mensaje[i]) + L2N(Clave[i%lenClave])) ]); } else { printf("%c", AlfabetoClave[R( L2N (Mensaje[i]) - L2N(Clave[i%lenClave])) ]); } } si uso el alfabeto invertido, se convierte en for (i=0; Mensaje[i]; i++) { if (Accion == Encripta) { printf("%c", AlfabetoClave[R( L2N (Mensaje[i]) + L2N(Clave[i%lenClave]) + 1) ]); } else { printf("%c", AlfabetoClave[R( L2N (Mensaje[i]) - L2N(Clave[i%lenClave]) - 1) ]); } }Por el código que puso, JoseLo también trabajó con el alfabeto "en orden".
El algoritmo automático
Agustín14 Mayo 2009 - 8:19pm
Por si os sirve de ayuda, aquí tenéis unas Hojas que ejecutan el cifrado y cifrado automáticamente. Os pongo una para OpenOffice y otra para Excel.
Enigma Open Office
Enigma Excel (.rar)
Ahora toca un reto al revés.
LlamameX5 Mayo 2009 - 2:43pm
(O al derecho, según se mire)
Estos dos últimos retos han sido de encontrar el algoritmo que se uso a partir de los resultados y la clave usada (en el caso de la botifarra no se usaba ninguna). Lo que tocaría ahora es a partir de un algoritmo publicado y de un mensaje cifrado con él probar cuan resistente es.
Como ya dije en algún mensaje creo que el criptoanálisis de verdad va más por ahí
Óbviamente me refiero a algoritmos "caseros" como estos, no hablo de AES ni nada parecido.
Una idea muy interesante
Agustín5 Mayo 2009 - 5:33pm
Como no creo que deban proliferar los retos como setas, la propuesta tendría que ser aprobada por Admin.
Me gustaría, no obstante, comentar un par de cosas. Dices más arriba que el doble uso de la clave debilita el algoritmo. Es cierto que no codifica la primera letra, pero creo que no condiciona ninguna otra. Es verdad que por azar puede haber más coincidencias, de hecho con la clave inicial "ESTA ES LA CLAVE DEL MENSAJE" aparecían 14 coincidencias, es decir, más de un 23 %. Pero con otras claves aparecen muchas menos o ninguna -salvo la primera- Por ejemplo, en el caso de
RECUERDOS DE CONSTANTINOPLA@LITOIS FKJNIITMJEBATIPFFKYMSNQDTTOILNPA ULJAKGFIRJOXBG FPHFAMS
sólo aparecen 6, lo que no llega a un 10%
y con
DABALE ARROZ A LA ZORRA EL ABAD@LBOFEWDBCPOC RKEWHJGKFRRCRRTONENURTZZTUHFVC BXZFNCICFTFREOLLHE
son 4, no llegan al 7 %
Con
QUE VIVA MEXICO GRINGOS CABRONES@LMIROJIRTRHSLRZCBÑFBKRFCRZLYNKVZT DAAHQHIKXTGPNRUHFANTFHBLEHLB
sólo hay 2 coincidencias -sólo una aparte de la primera-, o sea un 3 %
Es verdad que la fuerza del cifrado es clave-dependiente. Una clave boba, con muchas letras iguales puede dejar el mensaje con el culo al aire, pero el azar influye mucho, puesto que
QUENDE FERNENDE SEPTEME ESEBE PELETEN@LCRIITFKCXRGRPSJNWGBHLRJRÑGKRGM VDIR NMP RGPKTBIJHMCRGRÑWAVGÑD
se mantiene en el 3 %
Desde luego, una clave idiota como
BAH@LHACHUUHNIECDBIAWQRFEEBC MCSBÑEÑVETAEÑVRFOAECSBEHHTLFU ACBACGF
eleva las conincidencias al 34 %, aunque en principio nadie sabría dónde están.
Haría falta ser completamente estúpido para usar
ZZZZZZ@LA CASUALIDAD FAVORECE A LAS MENTES ENTRENADAS CHARLES BABBAGE
Ahora bien, si se usa una clave decente, y es secreta -como debe ser- ¿qué fuerza tendría el cifrado? Podemos especular con ayuda de las matemáticas, sin crear todavía formalmente un reto.
El problema reside en el alfabeto, pero no sólo en él, ya que aunque supiéramos que es ABCDEFGHIJKLMNÑOPQRSTUVWXYZ , no sabríamos si la clave es ABCDEFGH, más corta, o más larga, como todo el alfabeto: ABCDEFGHIJKLMNÑOPQRSTUVWXYZ , o más aún, porque caben claves de 62 signos, como: ABCDEFGHIJKLMNÑOPQRSTUVWXYZ ABCDEFGHIJKLMNÑOPQRSTUVWXYZ ABCDEF. Y todo ello influye poderosamente en el cifrado
Pero centrémonos sólo en el alfabeto. Como la primera letra es transparente, nos quedan 27 por colocar, lo que hace un total de 27! permutaciones. Ahora vendrán los lingüistas a pegarme: "¡Alto ahí! Que el idioma es redundante" Y tienen razón. El castellano es redundante, como sabéis: Si quitamos letras de un texto, sigue siendo reconocible, y aunque no hay acuerdo al respecto, se podría aceptar que de promedio se podrían quitar hasta el 50% de ellas. Eso, grosso modo, nos sugeriría que sólo deberíamos acertar con unas 13 0 14 letras del alfabeto "en su sitio", lo que nos lleva a la cifra de
13! = 6227020800 = 6,2 * 10E9
permutaciones. Que los matemáticos me corrijan. Este número no es demasiado grande, y permitiría un ataque de fuerza bruta. Pero imagino que la fortaleza del algoritmo es mucho mayor, porque seguramente tendríamos que calcularla a partir de la clave y, siguiendo un razonamiento similar, y muy a ojo de buen cubero, nos llevaría a una cifra de:
31! = 8.2 * 10E33
permutaciones
He aquí un problema interesante para expertos en combinatoria y probabilidad.
Si quieres entretenerte (esto no lo propongo para nadie más) prueba a descifrar esto
@EVLCNNUGÑIUTGDICONOESPSEFQNLJÑRCJDDEMUJLSCVZMJDVUV QILDNEML
Saludos
P.S.
Yo tenía preparada una segunda versión de el Enigma, en la misma línea de descubrir un algoritmo más o menos retorcido, pero si a admin le parece mejor la propuesta de "medir" la fuerza de un algoritmo conocido, como éste, yo estaría encantado, porque caben varios enfoques, matemático, de fuerza bruta...y seguramente lo pasaríamos muy bien.
Además tengo una hoja que ... (y entonces, como al bardo de la aldea de Astérix, vienen los kriptopoleros, me maniatan y me cuelgan de un árbol hasta que acabe el banquete, qué coñazo el tío con sus hojas)
Me refiero a que
LlamameX6 Mayo 2009 - 9:28am
usar la misma clave para generar el alfabeto vendría a ser algo así (repeticiones aparte) a usar vignere con la clave ABCDEFG, al menos para los primeros carácteres de la clave. No lo he comprobado matemáticamente (cielos, no tengo tanto tiempo libre) pero intuitivamente se introduce un sesgo en la codificación, especialmente al usar como clave palabras que pueden aparecer en el mensaje.
Por ejemplo. Si con la clave "ESTA ES LA CLAVE DEL MENSAJE" obtenemos el alfabeto "ESTA_LCVD... " y codificamos TESTARUDO (va por mi XD) obtenemos TSALVZSHZ que aunque no dice gran cosa si agrupa algunas de las letras de la tabla. De saber como se ha codificado podría abrir una via de ataque (entiendo que es exactamente lo que me propones y te acepto el reto, a ver si hay suerte)
La debilidad no va tanto por dejar caracteres sin codificar (que también) si no por reducir la entropía del mensaje resultante. A ver si me pongo y hago algunos números.
Cielos que mal
LlamameX6 Mayo 2009 - 11:12am
Me corrijo a mi mismo.
No lo he codificado con la clave sino con el alfabeto. Sería TSALVRWBW.
Yuju!
SkAsI5 Mayo 2009 - 11:08pm
Uhmm, que interesante, un reto "real". Algoritmo + texto cifrado.
A por ello!
Corrección
Agustín5 Mayo 2009 - 6:55pm
Se me ha colado una tontería: La clave ABCDEFGHIJKLMNÑOPQRSTUVWXYZ_ sería equivalente a ABCDEFGHIJKLMNÑOPQRSTUVWXYZ_ABCDEFGHIJKLMNÑOPQRSTUVWXYZ_, etc. Lo demás lo mantengo -de momento-
Estoy encantado
Agustín5 Mayo 2009 - 12:39pm
Lo habéis descifrado maravillosamente, en el tiempo previsto. Al parecer lo han resuelto simultáneamente JoseLo y SkAsI, pero ha habido un magnífico trabajo de equipo en el que han participado todos los laureados: AgustinB, dtimon, Igor21, LlamameX y Sergi, además de todos los que han participado en el reto. Mi enhorabuena a todos.
Justificándome en la la utilidad didáctica de estas actividades, voy a permitirme un comentario: Yo me estaba impacientado, porque desde muy al principio se podía haber establecido la igualdad de muchas letras del mensaje entre sí. Me explico. Si disponemos la clave sobre el texto cifrado:
ESTA ES LA CLAVE DEL MENSAJE@L CMVSWVNOBMFVPAJZRLNM FLDGS NTFCETDLFCELFNDVM JOBRHS HBAFGCÑE
nos debe llevar a
12345678901234567890123456789012345678901234567890123456789012
ESTA ES LA CLAVE DEL MENSAJEESTA ES LA CLAVE DEL MENSAJEESTA E
L CMVSWVNOBMFVPAJZRLNM FLDGS NTFCETDLFCELFNDVM JOBRHS HBAFGCÑE
LA C
Si el cifrado es convencional -cosa que no va a ocurrir siempre- cada letra de la clave habrá transformado una letra del texto en claro en su correspondiente cifrada. Me explico, La quinta letra clave es un espacio " ", y le corresponde una "V" en el texto cifrado. En la octava letra tenemos lo mismo. Por lo tanto: La quinta y la octava letra del texto en claro son iguales, sea cual sea el alfabeto. Como teníamos cada mensaje cifrado con diferentes claves, las posibilidades de hacer este tipo de deducciones se multiplicaban. Según mis cuentas, y salvo error u omisión, deberíais haber deducido las siguientes relaciones:
1 = 52
2 = 5 = 8 = 12 = 16 = 24 = 27 = 43 = 45 = 50 = 57 = 60
3 = 23 = 25 = 29 = 36 = 47 = 55
4 = 48
6 = 28
19 = 51
20 = 34 = 37 = 41 = 62
31 = 33 = 39
32 = 42
35 = 54
38 = 42
Como ya dabais, correctamente, por buenas las primeras tres: "LA C", podíais haber colocado en su sitio una par de "L", un par de "C", varias "A" y varios espacios.
Dicho esto, no me queda más que reiterar mi enhorabuena al grupo, y agradecer vuestra atención.
Vuestro
Agustín
P.S.
Eso sí, tengo preparado una segunda versión que ya no será -ni mucho menos- tan fácil. Si os apetece la someteré a la atención de admin, a ver qué le parece.
No veo eso de la quinta y la octava
LlamameX6 Mayo 2009 - 12:19pm
Lo que queda claro es que las parejas de carácteres clave/mensaje iguales se codificarán igual, con lo que
la_cAsuAlidad... esta_es_la_clave... ^ ^Tienen la misma codificación con esta clave y este alfabeto (que viene condicionado por ésta). Con otras claves es distinto.
Tampoco es cierto al revés. Por un lado por que la combinación (A,_) se codifica igual que (_,A) y por otro por que por ejemplo N es tanto el resultado de (L,L) como de (C,_).
Así pues, aunque puede dar alguna ayuda, no es un camino directo como sugieres.
Verás
Agustín6 Mayo 2009 - 1:54pm
Matemáticamente lo verás mejor:
Si el cifrado es convencionarl, el valor de la letra de la clave se suma o se resta al de la letra original para dar el valor de la letra cifrada. Es como una aplicación, o una función matemáatica
cifrado(alfabeto, CL, Lo) = L
Si con un mismo alfabeto, una misma clave (CL) da una misma letra cifrada (L), es que se parte de la misma letra en claro (Lo)
Por tanto, si en un mismo cifrado (el primero) la letra 5º y la octava son iguales, y les corresponde la misma clave, ambas proceden de una misma letra en claro. Abreviando, 5 = 8
Con cada cifrado puedes establecer algunas relaciones de este tipo. Si en otro cifrado estableces que la 8ª letra es igual a la 11ª, ya puedes afirmar que 5 = 8 = 11
(por cierto, creo que hay algún error en las equivalencias de mi post http://www.kriptopolis.org/el-enigma-de-agustin#comment-52878
claro que ahora ya da igual. Pero el concepto es importante
Si teengo las ristras de letras iguales
1 = 52
2 = 5 = 8 = 12 = 16 = 24 = 27 = 43 = 45 = 50 = 57 = 60
3 = 23 = 25 = 29 = 36 = 47 = 55
4 = 48
6 = 28
19 = 51
20 = 34 = 37 = 41 = 62
31 = 33 = 39
32 = 42
35 = 54
38 = 42
Y el mensaje es
Si damos por buenas las primeras letras, tendremos
1 = 52 = L
LA C_______________________________________________L__________
2 = 5 = 8 = 12 = 16 = 24 = 27 = 43 = 45 = 50 = 57 = 60 = A (nada menos)
LA CA__A___A___A_______A__A_______________A_A____A_L____A__A__
¿Aún te parece irrelevante?
Seguimos
3 = 23 = 25 = 29 = 36 = 47 = 55 = " " (nada más)
LA CA__A___A___A______ A _A_ ______ ______A_A_ __A_L__ _A__A__
Desde luego, como tú dices, es una ayuda; pero nada desdeñable, y merecía haber sido considerada.
Aha, pero...
LlamameX7 Mayo 2009 - 12:56am
Veo lo que dices y es cierto. A igual pareja (clave,texto claro) le corresponde siempre la misma codificación, pero eso lo sabes si sabes que algoritmo se usa... que es justamente de lo que se trataba. Si se ha llegado al punto de determinar eso es que ya se ha llegado a la solución.
Por otra parte te diría que lo de "LA_CA", a pesar de ser acertado, no estaba claro que fuera correcto. Podía haber sido casual. Precisamente estoy mirando por que se decodifican sólo esos grupos de letras para mirar de sacar el reto de criptoanalizar sin la clave.
Saludos
Enhorabuena a todos
SkAsI5 Mayo 2009 - 5:23pm
Ahora entiendo tu impaciencia por la solución. La verdad es que era sencillo, pero las cosas son más fáciles para el que lo oculta que para el que intenta descubrirlo.
De todas formas, tengo que dar mi enhorabuena a JoseLo porque él ha sido el auténtico "vencedor" del reto (aunque sólo por horas :P). Estoy deseoso de tomarme la revancha con JoseLo en ese segundo reto de Agustín.
Saludos y reitero la enhorabuena de Agustín al trabajo de equipo.
Sí pero...
Agustín5 Mayo 2009 - 7:36pm
"las cosas son más fáciles para el que lo oculta que para el que intenta descubrirlo"
Es verdad, pero a veces uno se lleva sorpresas. Casi me atraganto con el bocata de butifarra que tenía entre manos cuando leí en tu post http://www.kriptopolis.org/el-enigma-de-agustin#comment-52787 lo siguiente:
LA CAWÑETNTYSRCIUN GÑINÑMJIT MENTUWSX WKQEWQOPGPZOEPLVKFABBAGU
Donde había 15 signos clavados, y además agrupados, que es más importante:
LA CA_______________________ MENT_______________________ABBAG_
Pensé: "Si suman a éstas, las otras letras que ya coincidían en el cifrado, se acabó" Y era el día 27 de abril.
Quiero decir que a veces las cosas resultan más fáciles de lo que imagina el que lo oculta, sobre todo con fieras como vosotros.
P.S.
Cuando me he enterado que he hecho un Vigenère y/o un Trithemius, me he sentido muy orgulloso, como aquel personaje de Molière, "que hablaba en prosa sin saberlo".
Solución
SkAsI4 Mayo 2009 - 2:22pm
Hola a todos,
Después de descubrir los mensajes en claro, al fin he conseguido desentrañar el misterio del algoritmo. A pesar de que teníamos la sensación de estar ante un cifrado de Trithemius, no era así, sino que era el archiconocido cifrado de Vigenère.
Dicho mecanismo de cifrado consta de 3 partes. Dos de ellas las hemos tenido frente a nuestras narices desde el principio de los tiempos:
1. El mensaje cifrado.
2. La clave.
Y sin embargo, había que perfeccionar el tercer elemento: el alfabeto que hemos descubierto en los últimos días. Dicho alfabeto se obtiene de una forma estándar como bien decía AgustínB: se toma la clave sin repeticiones y se añaden al final las letras sin usar en orden. Para este trabajo también hay que tener en cuenta que el alfabeto básico que debemos considerar es "A..Z ", es decir, el alfabeto de 27 letras(ñ incluida) más el espacio, como también nos dijo Agustín en el planteamiento.
Una vez tenemos estos tres elementos, y aplicando el fácil descifrado de Vigenère (restar la clave del mensaje cifrado usando el alfabeto sacado de la clave), obtenemos lo siguiente:
L CMVSWVNOBMFVPAJZRLNM FLDGS NTFCETDLFCELFNDVM JOBRHS HBAFGCÑE
ESTA ES LA CLAVE DEL MENSAJE
ESTA LCVDMNJBFGHIKÑOPQRUWXYZ
LA CASUALIDAD FAVORECE A LAS MENTES ENTRENADAS CHARLES BABBAGE
LMSMAVUDAINMVDOTTYRSAV GBMIN D BTSSSSNBULGJBDJ DKFRTTNFKAFGVGS
EL CESE SE LLAMA DES VENTAJA
EL CSAMDVNTJBFGHIKÑOPQRUWXYZ
LA CASUALIDAD FAVORECE A LAS MENTES ENTRENADAS CHARLES BABBAGE
LIRIIPDEXDGDTBHG CGMRF IRTIPIXHSWKHBBEOIÑEIJAQRIJUQWHFRMFTFGTB
NO CORRAIS QUE ES PEOR
NO CRAISQUEPBDFGHJKLMÑTVWXYZ
LA CASUALIDAD FAVORECE A LAS MENTES ENTRENADAS CHARLES BABBAGE
LROELIGCCYV VQYSREQHHKUBYBCBILÑUFVNSFDTHQHDRLFEYRROLINHMEÑHSAT
PARA LOS CEREBROS INQUIETOS CIFRADO COPYLEFT BOINA PRODUCTIONS
PAR LOSCEBINQUTFDYGHJKMÑVWXZ
LA CASUALIDAD FAVORECE A LAS MENTES ENTRENADAS CHARLES BABBAGE
ACQCGAPABKBBPOBBVSFHIESCTQQISEDQRHKMRGUTJ
NO CORRAIS QUE ES PEOR
NO CRAISQUEPBDFGHJKLMÑTVWXYZ
A INFOSNIPER LE HACIAIS MAS CASO QUE A MI
ALÑFKOTGQU EMDV OJCQVXSGNCB C ARDQW MCDHQ
ESTA ES LA CLAVE DEL MENSAJE
ESTA LCVDMNJBFGHIKÑOPQRUWXYZ
A INFOSNIPER LE HACIAIS MAS CASO QUE A MI
ASQNQMNHSA FGSGOWRXQKNKKXOPORÑSWWSR XDZ K
EL ESPAÑOL NO GASTA MUCHO LA LETRAS KWXYZ
EL SPAÑONGTMUCHRKWXYZBDFIJQV
A INFOSNIPER LE HACIAIS MAS CASO QUE A MI
Cada cuarteto de "frases" está constituído por el mensaje cifrado, la clave, el alfabeto usado y el resultado de aplicar la descifra de Vigenère a dichos elementos.
Ahora que el reto ha sido solucionado (al menos eso evidencia lo anterior) me gustaría agradecer enormemente a Agustín por el tiempo empleado en la elaboración y contestación de mensajes en el foro. Al menos a mí me ha hecho pasar muy buenos ratos (y alguno frustrante) ante el reto.
Me intriga una cosa
JoseLo5 Mayo 2009 - 3:58pm
Parece que en tu caso has encontrado el texto plano de los mensajes _antes_ de descubrir los detalles del método de cifrado. De hecho los publicas en este comentario unas 14 horas antes de publicar el comentario donde explicas el método. Tengo la sensación de que me he perdido algo.
Por mi parte descubrí la solución mientras probaba de forma sistemática una idea de igor21 aplicada simultáneamente a los cifrados de Trithemius y de Vigenère y a todos los mensajes suministrados tan amable como innecesariamente por Agustín.
Lo dicho ¿Cómo llegaste a la conclusión de que los mensajes en claro eran estos?
¿Innecesarios?
SkAsI5 Mayo 2009 - 8:48pm
Efectivamente, llegué primero a los mensajes en claro. Estaba probando diferentes alternativas de Trithemius, cuando de repente ví aparecer conjuntos de letras descifradas, en diferentes posiciones en cada mensaje.
La prueba que hice consistía en un Trithemius con dos índices, que iban avanzando dependiendo de sí la letra de la clave era repetida dentro de la clave o no.
Así comenzaban a aparecer los caracteres en claro (aunque por ese entonces no sabía bien por qué). Y juntando los pedazos de cada mensaje y con algo de intuición... mensajes en claro.
Esa noche dándole vueltas terminé viendo de dónde venían las discrepancias y llegué a la solución final.
De todas formas, por apresurado, en mi comentario primero puse mal el autor de la cita, porque esa última parte no la conocía por los mensajes y el primer autor de esa cita que encontré en google era Louis Pasteur.
Así que para mi, la existencia de múltiples mensajes fue clave para llegar a la solución.
Pasteur
Agustín6 Mayo 2009 - 8:50pm
A mí me pasó al revés, que la primera cita que encontré era atribuída a Babbage, pero luego he visto que es más frecuntemente atribuída a Pasteur, incluso a Asimov. En realidad, cualquier científico sensato piensa lo mismo.
Me apunto
Agustín5 Mayo 2009 - 7:47pm
a la misma pregunta
No se si lo considería "clásico"
LlamameX5 Mayo 2009 - 2:36pm
Ya que de hecho la clave se aplica dos veces, una para generar el alfabeto y otra para realizar la codificación. Creo que esto en lugar de reforzar el algoritmo lo debilita ya que no codifica el primer carácter y creo que también fuerza algún otro (por las combinaciones que he ido encontrando).
Saludos
Pregunta
Agustín3 Mayo 2009 - 8:42pm
dirigida a los sres:
AgustínB
dtimon
pablo-o-matic
¿Para qué me pedisteis cifrados alternativos? ¿Qúe uso habéis hecho de los resultados obtenidos?
A mi entender, como ya le sugerí a mi tocayo:
ya hay sobre la mesa información para colocar en su sitio una buena veintena de signos, lo que nos acercaría bastante a la solución. Ya sé que la página hiberna durante el finde -y que nos dure mucho como está- y a lo mejor están a punto de aparecer los posts que espero. Pero como no espabiléis os vais a enterar -(;-)
Enigma resuelto.
JoseLo3 Mayo 2009 - 7:48pm
Método: Vigenère con el alfabeto español de 27 letras con el espacio al final y modificado con la clave tal y como describe Igor21 en este comentario
Mensaje número 1:
LA CASUALIDAD FAVORECE A LAS MENTES ENTRENADAS CHARLES BABBAGE
con los alfabetos:
ESTA_LCVDMNJBFGHIKÑOPQRUWXYZ
NO_CRAISQUEPBDFGHJKLMÑTVWXYZ
EL_CSAMDVNTJBFGHIKÑOPQRUWXYZ
PAR_LOSCEBINQUTFDYGHJKMÑVWXZ
Mensaje número 2:
A INFOSNIPER LE HACIAIS MAS CASO QUE A MI
con los alfabetos:
ESTA_LCVDMNJBFGHIKÑOPQRUWXYZ
NO_CRAISQUEPBDFGHJKLMÑTVWXYZ
EL_SPAÑONGTMUCHRKWXYZBDFIJQV
El código:
Llamando a la función vg con el parámetro d=-1.
Diablos, os adelantásteis
LlamameX5 Mayo 2009 - 2:30pm
Ya lo tenía muy adelantado. De hecho un error de programación en un puntero me privó de publicar la solución.
Enhorabuena!
PD. Muy elegante tu solución, por cierto.
Ya no lo digo
Agustín2 Mayo 2009 - 12:36am
Ya no os digo que leáis el planteamiento del problema, porque veo que por fin lo habéis hecho. Se ha avanzado, y mucho, hacia la solución. Ya os dije que las Menciones no eran palmaditas en la espalda, sino el reconocimiento de las aportaciones realizadas. Bueno, tal vez sí deberíais leer una vez más el planteamiento del problema, para no iros por los Cerros de Úbeda. Pero esta semana ha sido muy importante para el reto. Espero que la próxima sea definitiva.
te haremos caso
SkAsI4 Mayo 2009 - 12:45am
La verdad es que desde que te hacemos caso y leemos el enunciado, se han conseguido esas fabulosas primeras letras que dan ánimos (al menos a mi). Para que luego digas que a infosniper le haciais mas caso que a mi. De todas formas, a pesar de la técnica también hay que tener algo de suerte, como decía Pasteur la casualidad favorece a las mentes entrenadas.
Hay queda la lección de filosofía de hoy ;). Mientras tanto seguiré intentando descubrir el secreto de este entretenido reto.
relacionado con Enigma
SkAsI1 Mayo 2009 - 4:01am
Como parece que con lo que tenemos hasta ahora sólo desciframos los 3 primeros caracteres del mensaje, me he encontado con algo que quizás no sea nada, pero me ha hecho gracia por el símil (http://es.wikipedia.org/wiki/Enigma_(m%C3%A1quina)#El_m.C3.A9todo_de_cifrado):
La pregunta es ¿Cómo aplicar dicho giro de rotores a nuestro alfabeto?
Por ahi se puede complicar hasta el infinito
LlamameX1 Mayo 2009 - 12:35pm
Si pensamos en polialfabéticos con alfabetos diferentes no lo vamos a sacar. Aparte del hecho de que se tiene que poder decodificar con lápiz y papel se espera que sea sencillo (aunque infosniper decía lo mismo). Apunto más a una variación de un clásico como un Vignere o un Trithemius como estamos haciendo.
Es cierto
AgustínB1 Mayo 2009 - 9:41pm
Se puede complicar y mucho.
He adaptado el excel del danés al castellano, pero realmente se complica todo muchísimo y no le he visto claro.
Lo cual no quiere decir que con tesón, siendo metódico y obviamente teniendo las tablas de transformación no se pueda descifrar un código Enigma con lápiz y papel; o sea que no te fíes de lo de lápiz y papel que como dices mira la "botifarra".
Pero entonces, ¿dónde está lo que no vemos?. Yo interpreté lo de Enigma porque me pareció que no lo estábamos teniendo en cuenta y no paraba de decir lo de:
¿Crees que es tan sencillo como usar lo que presuponíamos clave como alfabeto y que no se necesita nada más que conocer la disposición del alfabeto y aplicar la "tabula recta"?.
Una vez ya te contestó:
Igual aquí estamos de nuevo con que una posición que suma y otra que resta.
Bueno, seguiremos probando y analizando el planteamiento por si se "hace la luz".
Menciones de la 3ª Semana
Agustín30 Abril 2009 - 9:27pm
Hay que aplaudir los notables avances realizados por
AgustínB, Igor21 y SkAsI, que pueden recoger aquí sus D.A.I.
http://sites.google.com/site/mambrilla/Home/el-enigma-de-agustin/3%C2%AA...
http://sites.google.com/site/mambrilla/Home/el-enigma-de-agustin/3%C2%AA...
http://sites.google.com/site/mambrilla/Home/el-enigma-de-agustin/3%C2%AA...
Gracias, AgustínB
Alenog30 Abril 2009 - 10:06am
Gracias, AgustínB
No sólo había entendido mal la clave sino también el algoritmo. La wikipedia en
español es muy pobre. Esta vez lo miré en http://fr.wikipedia.org/wiki/Chiffre_de_Vigen%C3%A8re donde queda más claro.
Y entre lo que dice allí, y tu explicación, logré seguirlo.
el algoritmo y por fin lo entendí. Aunque también me despistaste un poco al decir
"Si buscas en espacio en la segunda columna ves que está en la cuarta
fila y yendo a la primera columna de la segunda fila obtienes la A." en realidad
se busca en la segunda *fila*. Cuando miraba la columna no encontraba sentido a
las operaciones.
Yendo a los resultados, parece que el Trithemius tiene buena pinta. Salen con
sentido las primeras 5 letras, que coinciden con 'ESTA ' en la clave. La siguiente
letra del alfabeto-clave, es una 'L', por la modificación de letras repetidas.
Por lo que algo funciona distinto en ese paso (pero dependen no obstante de
partes posteriores de la clave), así que habría cómo convertir la clave en un
alfabeto que devuelva algo.
Me parece muy sugestivo que con la clave de 'EL CESE ' el resultado empiece por
'LA CL' ya que es muy probable que el texto plano inicial sea 'la clave' y
podamos por tanto usarlo de gancho para descubrir cómo hay que poner el resto
del alfabeto y de ahí el patrón con la contraseña.
Perdón (2)
AgustínB28 Abril 2009 - 6:13pm
Se que sabrás borrar este comentario o moverlo a donde corresponde.
Veo que no se puede escribir en la solución al enigma de Agustín.
¿Es porque lo han resuelto?
Yo creo que ya he unido todas las pistas.
Tengo la intuición que mi querido tocayo a implementado el algoritmo de la máquina Enigma en una hoja excel pero añadiendo la Ñ y el espacio.
La clave de los rotores me parece que vendría dada por la suma de las letras de delante de la arroba (356 o 358).
Para probarlo necesito tiempo y hasta este fin de semana no creo que pueda.
Saludos
Un emulador de la máquina Enigma
JoseLo29 Abril 2009 - 7:31pm
Lo posteé hace tiempo aquí en Kriptopolis, pero para los que se hayan olvidado aquí va otra vez: http://www.ae6gn.com/enigma/kenigma.php es una pequña aplicación en Ruby para KDE.
Eso si: requiere linux :)
¿Y este otro?
Agustín30 Abril 2009 - 7:37pm
http://enigmaco.de/enigma/enigma.swf
Os juro que no lo he utilizado para el reto.
Gracias
AgustínB30 Abril 2009 - 12:57pm
Buscando un poco he encontrado esto que me facilitará mucho más la vida.
http://www.matematiksider.dk/enigma_eng.html
Ya tiene una hoja de cálculo, sólo que habrá que ver si se le puede añadir la Ñ y el espacio.
El resto de enlaces también interesantes.
También hay explicaciones, como todos sabréis, aquí mismo
http://www.kriptopolis.org/enigma
De todas maneras lo dicho, que igual estoy equivocado y los tiros van por encontrar el orden del alfabeto usado para aplicarle el cifrado de Trithemius.
Saludos
Pero entonces
LlamameX30 Abril 2009 - 11:38am
no podría resolverse con lápiz y papel
Tranquilo, Tocayo
Agustín28 Abril 2009 - 8:42pm
Aún te quedará una semanita más para mostrar tus habilidades, pero no te confíes, que los "nuevos" vienen a toda leche
cifrado de Trithemius: Sí, pero...
SkAsI27 Abril 2009 - 10:32pm
Usando un cifrado de Trithemius usando como alfabeto la clave sin repeticiones y detrás el resto del alfabeto que no está en la clave se obtiene:
Es decir, que sí que parece que se use algo así, ya que las 3 primeras letras de cada conjunto de mensajes provenientes del mismo texto claro dan las mismas letras descifradas.
Esta es mi "pequeña" aportación, apoyada en el conocimiento que he recibido del foro, quiero devolverlo para resolver esto entre todos ;)
Un saludo.
Ese "LA C" es demasiado tentador
LlamameX30 Abril 2009 - 11:37am
Con un pequeño visual basic me he dedicado a explotar el Trithemius a ver si sacaba algo en claro he probado los siguientes alfabetos base jugando con el orden, la posición del espacio y de la Ñ.
Luego he construido decodificaciones por Trithemius en base a las siguientes combinaciones:
1 - El alfabeto se construye con las letras de la clave por orden aparición (una sola vez) y se complementa por orden con las letras del alfabeto base que faltan.
Resultados (reto inicial):
2 - El alfabeto se construye con las letras del alfabeto base que no aparecen en la clave por orden y se complementan con las letras de la clave por orden de aparición.
Resultados
3 - El alfabeto se construye como en 1 pero la clave se lee en sentido inverso
Resultados
(y mas resultados ilegibles parecidos)
4 - El alfabeto se construye como en 3 pero el alfabeto base se lee en sentido inverso
Resultados
(y mas resultados ilegibles)
Como conclusiones, los métodos 1 y 2 parecen más prometedores, más que nada que por proximidad de las letras siempre aparece el inicio "LA C" (más bien "LA CA"). Las variaciones pueden venir, no por posición (que al ser cíclico no tiene demasiado efecto) sinó por el modo de aplicación de la clave.
Es decir, la L inicial no cambia, el espacio, tanto por delante como por detrás, queda al lado de la A, la C queda a 3 posiciones del espacio... Así, es fácil conseguir esas traducciones que son muy tentadoras pero podrían ser una pista falsa
Seguimos en ello
Por ir abriendo boca
LlamameX4 Mayo 2009 - 3:54pm
Resultados de aplicar Vignere con los mismos alfabetos del caso anterior
Algunas consideraciones.
JoseLo2 Mayo 2009 - 8:15pm
La primera es que con el método de Trithemius no nos hace falta tener una lista de alfabetos: sólo tenemos que buscar la letra correspondiente y a continuación desplazarnos cíclicamente por el alfabeto. Hacia la derecha cuando ciframos y hacia la izquierda cuando desciframos.
Segundo: invertir el orden del alfabeto sólo intercambia las operaciones de cifrar y descifrar.
Tercero: cambiar un grupo de letras del principio al final es lo mismo que hacer una permutación cíclica y por lo descrito en el primer punto no tiene efecto ninguno. Eso quiere decir que los resultados que obtienes en el caso 2 son _idénticos_ a los del caso 1.
Por último, si tomamos los resultados del caso 1 de tu comentario, comparamos las letras en cada columna y a continuación asignamos un 1 al caso en el que todas las letras sean iguales y un cero si hay alguna distinta se obtiene lo siguiente:
LA CAWÑETNTYSRCIUN GÑINÑMJIT MENTUWSX WKQEWQOPGPZOEPLVKFABBAGU
LA CAHMETJRFXKLUIIBXQUNAMJBT MEITIHSGRHRÑYHÑPOXOECISLVFEAGIARI
LA CAWÑETNTYSRCIUN GÑINÑMJIT MENTUWSX WKQEWQOPGPZOEPLVKFABBAGU
LA CAHMETJRFXKLUIIBXQUNAMJBT MEITIHSGRHRÑYHÑPOXOECISLVFEAGIARI
LA CAXKETMTZSULIWMAGOINOMJIT MENTWXSY XKREXRPQGQZPÑQLVKFABBAWW
LA CAHNETÑUFYKCWIHEYRWNAMJBT MEITIHSGUHUOZHOQPYPSCHSLVFEAGIADI
LA CAXKETMTZSULIWMAGOINOMJIT MENTWXSY XKREXRPQGQZPÑQLVKFABBAWW
LA CAHNETÑUFYKCWIHEYRWNAMJBT MEITIHSGUHUOZHOQPYPSCHSLVFEAGIADI
LA CAXKETMTZSULIWMAGOINOMJIT MENTWXSY XKREXRPQGQZPÑQLVKFABBAWW
LA CAHNETÑUFYKCWIHEYRWNAMJBT MEITIHSGUHUOZHOQPYPSCHSLVFEAGIADI
LA CAWKETNAYTRCHUN FKHNOMJIT MEJTUWSXLWIQSWQOPFPZPEQLVKFABBADU
LA CAGMETJUBYILUHHÑXQUNTMJBT MEITHGSFUGRKZGKPOXOELHELVFÑAGIAHH
11111001100000000000001011011110100100000000000000001100100100
O lo que es lo mismo, si sustituyo las letras diferentes por un '*' y uso el subrayado para hacer visible el espacio obtengo:
LA_CA**ET*************N*MJ*T_ME*T**S****************LV**A**A**
Es como mínimo curioso.
Cierto en parte
LlamameX4 Mayo 2009 - 2:13pm
La lista de alfabetos no es para realizar la codificación con ellos sinó una base para obtener el alfabeto con el que codificar. Al realizar la compresión va a depender de si los carácteres están o no en la clave para que la alteración del orden produzca o no cambios. Obviamente, una vez obtenido el alfabeto las decodificaciones se hacen con los desplazamientos que indicas.
Otra cosa (en la que estoy trabajando) es en alternar movimientos y un híbrido vignere-trithemius.
Saludos
Me temo
Agustín3 Mayo 2009 - 8:26pm
que tendré que otorgarte un D.A.I para la 4ª semana. Pero hay que dar un paso más.
Yo también estuve ayer
Alenog1 Mayo 2009 - 7:35pm
Yo también estuve ayer probando combinaciones similares (http://www.kriptopolis.org/el-enigma-de-agustin?page=11#comment-52830 rompi sin querer el hilo).
Comprimir el alfabeto no es necesario, también conseguimos resultados similares sin ello.
Hice pruebas comprimiendo, manteniento el alfabeto completo y añadiendo al final las demás letras, en lugar de usar Trithenius manteniendo la frase, pero moviendo las letras usadas al final, etc...
Llegaba a cosas como LA ML, LA AL, LA JL, LA ZL... nada legible. El problema es que la organización de las demás letras puede haber sido de mil maneras distintas.
Una pena que O(28!) no sea computable.
Tú también
Agustín1 Mayo 2009 - 12:02am
te mereces un D.A.I., pero como ya he dado los de la 3ª semana, te lo pondré para la 4ª.
Ánimo
¿Puedes indicar cómo es
Alenog29 Abril 2009 - 11:30am
¿Puedes indicar cómo es el algoritmo que usas?
'LA ' te sale tomando un desplazamiento 0 para el primer caracter y 1 para la segunda. No sé cómo obtienes el espacio de la C.
Conseguir la secuencia 'LA' al principio no creo que sea suficiente para decir que es el texto plano.
Probando con el texto inicial, avanzando tantos caracteres como posición de la clave-alfabeto (cíclica), lo que obtengo es:
si le sumo la posición actual,
o si sumo 0 para la primera letra,
.
Con la clave-alfabeto "ESTA ES LA CLAVE DEL MENSAJEBFGHIJKÑOPQRUWXYZ" (creo que te refieres a esa)
obtengo
, si además avanzo una posición en el nuevo alffabeto como
posición en la que estamos,
empezando en ' y
en 1.
Si en vez de la clave usamos el alfabeto estándar:
,
Sumando la posición desde 0
, y desde 1
Ídem pero sin poner el espacio entre ambos:
LEASESXEDRFENDTACER EÐ EA S XAVCFIXPAULBEA T VEQE CYSFFAGIVRE LSEEESTAL OOYC ERELHS JNFQCAHAOAO VDSMDSANWSR MEJEZAUZDEAHKDVE A AN AJMEPPZDDLSFAITLESGRDBIJPJPCEEANETVÐXTSENLK JV EF ILEWSEs decir, ni legibles, ni parecidos a tu resultado.
Sí hombre, creo que lo explica bien
AgustínB29 Abril 2009 - 9:04pm
Para empezar no le has entendido lo del alfabeto.
El que usa es el siguiente:
ESTA LCVDMNJ eliminando toda repetición de letras en lo que se supone la "clave" seguido de BFGHIKÑOPQRUWXYZ que son el resto de letras de lo que se ha dicho que es el único alfabeto utilizado con esto obtienes la siguiente tabla.
Y ahora siguiendo a la inversa el algoritmo de cifrado
http://es.wikipedia.org/wiki/Cifrado_de_Trithemius
Primera letra no cambia luego es una L
Segunda letra cifrada, un espacio. Si buscas en espacio en la segunda columna ves que está en la cuarta fila y yendo a la primera columna de la segunda fila obtienes la A.
Tercera letra cifrada, una C. Mirando en la tercera columna la C está en la quinta columna cuya fila es la del alfabeto que comienza con el espacio.
Cuarta letra cifrada, una M que encuentras en la cuarta columna en la fila séptima de la C.
Quinta letra cifrada, una V que encuentras en la quinta columna en la fila cuarta de la A.
Sexta letra cifrada, una S que encuentras en la quinta columna en la fila 25 correspondiendo con una W
Los otros alfabetos serían
NO CRAISQUEPBDFGHJKLMÑTVWXYZ
PAR LOSCEBINQUTFDYGHJKMÑVWXZ
EL SPAÑONGTMUCHRKWXYZBDFIJQV
La verdad es que las tenía casi en la recámara pero sigo pensando que aunque se acerque igual el hecho de que el reto se titule El Enigma de Agustín y lo de poner que es un cifrado "clásico" igual para despistar aunque realmente es uno de los clásicos entre los más modernos podría ser la pista que no vemos.
No descarto sin embargo esta interesante aportación que yo había probado pero sólo con el alfabeto parcial NO CRAISQUEP, aunque ya me había puesto a añadir las letras restantes.
Saludos
Repetimos D.A.I. para la 3ª semana
Agustín30 Abril 2009 - 2:35pm
Los Centros de Inteligencia (?) que nos estén escuchando van a fichar a algunos de vosotros que no hacéis más que acumular Distintivos Azules Individuales. En fin, ya veremos de dónde saco el tiempo para confeccionarlos. ¿Os servirían algunos del KGB que tengo por docenas? je je
Bravo
Agustín28 Abril 2009 - 8:26pm
Con tu "pequeña aportación" ya tienes bien ganado el D.A.I. de la 3ª semana. Ánimo