Foros:
Por tokamak
Os propongo todo un reto a la altura de Kriptópolis.
Aquí tenéis publicado un proyecto fin de carrera de la Universidad Carlos III de Madrid. La autora, Sara Gómez Hernández, analizó en ese proyecto (pdf) diversos documentos históricos españoles, cifrados con el método de sustitución monoalfabética, utilizando para ello la herramienta Cryptool.
Lo más interesante del proyecto es El Documento Sirtori (p 84-93), un texto cifrado del siglo XVI, del que no se dispone del correspondiente texto en claro, ni de información contextual precisa.
La autora se decanta por considerarlo un cifrado de sustitución simple (p. 65), aunque no llega a descifrarlo, entre otras cosas por la considerable dificultad de interpretación que presentan los caracteres.
Creo que debería poderse descifrar, ya que se dispone de bastante texto, y sería un magnífico e histórico logro para Kriptópolis conseguir desvelar el contenido de un documento de hace cuatro siglos.
A ver qué os parece. Yo discrepo con la autora y, en principio, el texto me parece una cifra homofónica, quizá con un silabario, con cierto parecido con algunas contemporáneas.

¿Alguien tiene estadísticas
¿Alguien tiene estadísticas de vecindad entre consonantes?
Me explico: sólo algunas consonantes son vecinas (por ejemplo la st, tr, pr,...)
Por los digramas los conoceréis
Existe una estadística de digramas del Mamotreto -puede hacerse para cualquier otro texto- En esa relación estarán tambien los digramas consonánticos, si entiendo lo que quieres decir,
Aquí te pongo unas cuantas parejas con su frecuencia relativa, tal como viene en el enlace del mamotreto
Aprovecho para comunicaros que no se me ocurre nada. A ver si esto de las consonantes vale para algo.
Transcripción "literal"
Buenas, he estado currando en una cosilla que creo que puede ser util: una transcripción literal del texto. Me refiero que en vez de buscar los simbolos o subsimbolos que hay he intentando hacer una transcripción fiel al original. He asignado un codigo a cada simbolo, y si hay un simbolo que difiere un poco de otro, pues le he dado un codigo propio.
Y esto para que? Os pongo un ejemplo, fijaros en la primera palabra, la cual he transcrito como "[3][.][1v][,]". Cada par de corchetes [] es un simbolo. Al tenerla por codigos podemos tratar el texto mediante programación y hacer las virguerias que se nos ocurran. Podemos decidir que los puntos anulan el simbolo anterior, con un programilla bastante trivial podriamos convertir "[3][.][1v][,]" en "[1v][,]" y de ahi convertir los codigos en numeros: "01,02". O podriamos decidir que el simbolo [1v] en realidad son dos [1][v], o incluso tres [1][\][/]. Si decidimos convertirlo en tres caracteres pues "[3][.][1v][,]" se convertiria en "[3][.][1][\][/][,]" => "01,02,03,04,05,06". Basicamente podriamos crear diferentes reglas y llegar asi a diferentes transcripciones, y una vez ahi analizarlo.
Aqui podeis ver la trasncripcción de la primera pagina en codigos:
https://github.com/doup/Sirtori/blob/master/input/01.txt
El listado de codigos que he utilizado:
https://dl.dropbox.com/u/3297331/codes_list.html
Y este es el montaje que sale si a la transcripcion por codigos (01.txt) le aplicamos las imagenes del listado de codigos (codes_list.html). Si dejais el raton encima de un simbolo deberia de saliros que codigo tiene asignado.
https://dl.dropbox.com/u/3297331/codes_inline.html
La idea es, intentar transcribirlo de la forma más fiel posible. Por ejemplo, he separado los simbolos [S] y [S2], que parecia que habia duda sobre estos simbolos. Teniendolos por separado, podemos generar una transcripción que S y S2 sean lo mismo, o otra que sean diferente. Vendria a ser lo mismo que coger un editor de textos y decirle reemplazar "S2" por "S".
Para poder currar con los codigos he hecho un programa "command line" en PHP, el codigo lo podeis encontrar aqui: https://github.com/doup/Sirtori
Basicamente, en la carpeta "input" se meten las trascripciones en codigos (01.txt, 02.txt, ...). Se ejecuta "./sirtori.php render" y esto genera en la carpeta "output" los diferentes archivos (codes_list.html, codes_inline.html, codes.html).
Los siguientes pasos serian pues:
1) Terminar la transcripción de todo el texto de la forma más fiel posible (y con el minimo de codigos).
2) Currarse un sistema automatizado para generar variantes, [1v] => [1][v], [S] => [S2], etc.
¿Os parece que puede ser util?
Claro, que es útil, pues
Claro, que es útil, pues viene a ayudarnos a lidiar con el mayor de los problemas que genera esta cifra: la condenada interpretación de los signos, menos mal que aún queda materia gris fresca por aquí en Kriptópolis, porque este engendro nos la está secando a todos.
Ahora por lo menos ya tenemos en que entretenernos: podemos hacer un parser que interprete esos signos, agrupándolos, desagrupándolos, con sílabas, poniendo nulos, y tratar los resultados subsiguientes estadisticamente hasta encontrar la clave. Por fin, un plan, muchas gracias!
he hecho algo parecido.
he hecho algo parecido.
Nombro cada símbolo por un numero de dos cifras (nn) , los símbolos encima los nombro por +n (siendo n un numero), los signos de puntuación los nombro con dos letras cc, pp,...
La codificación la separo por puntos. Este sistema permite manipular mejor los códigos, pero no he llegado a nada.
Ahora creo que los simbolos encima de los codigos indican que el código sobre el que está se repite después del siguiente código.
Cuanto más lo miro, más me
Cuanto más lo miro, más me gusta tu programa, Asier, un trabajo fantástico!
El trabajo de Asier
Coincido en que es magnífico. Tan solo haría una observación: Habría que distinguir entre los signos que están en la línea principal, puntos y comas incluidos, de todo lo que "sobrevuele". Estos churros voladores deberían transcribirse como supraíndices. Para ello tenemos suficientes items en el teclado castellano, como los acentos grave ` y agudo ´ el circunflejo ^, las diéresis ¨, el apóstrofo ', las comillas " y los º ª, entre otros. Por ejemplo, el sígno que Tokamak llama B (y Asier 1v, con más precisión), cuando lleva el churro grande volador se puede transcribir como B^ (o 1v^) Yo he hecho un pobre intento que queda obsoleto tras el de Asier, donde los grupos de Vs se nombraban V, V' o V'V'V'', según los casos. También hay unas Vs imperfectas a las que parece faltarles el rabito por la derecha o por la izquierda, a las que nombro, respectivamente v_ _v
En general he tratado de circunscribirme a la trascripción de Tokamak, con la famosa J, que con algunas Vs forma JV'V' etc.
Creo que es importante distinguir los caracteres que están en la línea principal, puntos y comas incluidos, que pueden ser modificadores y/o caracteres en sí mismos, de los aéreos, aunque luego descubramos que comparten funciones. Por eso, a un carácter como la B (1v) con un churro pequeño encima, yo le llamaría B' o 1v'
También podríamos llegar a la conclusión de que algunos caracteres que parecen compuestos (grupos de Vs) debamos considerarlos como un solo carácter, porque de otro modo podrían aparecerán repeticiones sin sentido
Mi transcripción para todo el documento es:
Pero no me ha servido de nada.
Repetición de modificadores
Qué bárbaro, lo has transcrito todo. Muy bien, Agustín, de hecho me aclaro mejor conj tu sistema. Al hilo de lo que dices, la transcripción de Asier estaría mejor cambiando los acentos, que transcribe como comas, por eso, por acentos, para evitar la repetición del mismo identificador. Y los puntos aéreos, por otro caracter, yo he puesto "¡", quedaría así:
¿Qué te parece, Asier? Veo algo de confusión con las "vs"
Buenas, que alegria que veais
Buenas, que alegria que veais que sirva! :)
He metido varios cambios de los propuestos (churros voladores, jvv, ...) y he subido lo que tengo:
https://github.com/doup/Sirtori/blob/master/input/01.txt
https://dl.dropbox.com/u/3297331/codes_list.html
Estaria bien elegir una forma de codificar el texto y seguir con ella. Por mi parte, los nombres que he elegido se pueden cambiar a lo que sea, para mi no es importante siempre y cuando lleguemos a una interpretación lo más fiel posible (al fin y al cabo, luego trataremos con algún programa todo esto).
Cosas sobre las que nos tendriamos que poner de acuerdo:
A) Fidelidad? Como ejemplo, Agustin el tercer parrafo utiliza BJ^ para referirse a lo que yo he llamado [1vr|]. Sin embargo en el segundo parrafo en la primera palabra tenemos una combinación muy parecida (B'J^) y si os fijais esta dibujado diferente... que hacemos en estos casos? Utilizar los codigos que tenemos y "encajarlo" aunque no sea fiel del todo o crear un nuevo codigo aunque solo se utilice una vez?
B) Registrar los espacios?
D) Cantidad de churros voladores? Yo he diferenciado: churro largo [|], churro corto [^], apostrofo ['] y punto volador [º]. Necesitamos más detalle?
C) Registrar las cagadas de mosca? Para los puntos, comas, etc. que sean dudosos, podriamos utilizar la #. Por ejemplo: [#.]. Esto tiene que ver con el tema de la fidelidad. Utilizando esta convención, luego podriamos ignorar las # si quisieramos. Esto quizas es demasiado... jeje.
Como explicación, he utilizado [], que aunque es un poco engorroso para la transcripción (que de todas forma espero que se hagas una vez) es util para separar los simbolos claramente y creo que ayudara a la hora de programar. Otra cuestión, he optado por tener en cuenta variaciones que quizas son una tonteria (por ejemplo: [S2], [1vr|], [_v], [v_], ...) por que creo que teniendo el maximo de información no cerramos ninguna puerta. Teniendo estas variantes siempre podemos simplificarlo si queremos, en el sentido contrario no.
That's it! A ver si hago la herramienta para generar variantes, y otra para convertir la fiesta de corchetes en una lista de numeros como se proponia unos posts atras para que los cracks podais hacer los analisis pertinentes. =)
Saludos
Hola, te respondo:
Hola, te respondo:
A) Los asimilé a lo más parecido, si no hay más ejemplos, pero quizá sea mejor crear uno nuevo.
B) Yo creo que no. Las firmas son iguales, pero tienen diferente espaciado, así que no creo que valgan para nada
C) Diferencié una especie de acento, el código 7, el churro extracorto , pero a lo mejor es lo mismo que el corto.
D) Es buena idea, hay algunos dudosos
Pero a ver que dice el resto de la gente.
Aunque vayamos despacio, y parezca que no avanzamos, en realidad creo que es así como debe ser. Primero, antes de pasar al ataque, hay que individualizar los caracteres, para saber que es lo que hay que hacer. Es el trabajo duro, el resto nos lo dará la estadística y un puñado de perspicacia. Recordemos la máxima de Westmoreland en Vietnam sobre el enemigo: localizar, fijar, destruir Eso hemos de hacer con estos puñeteros Charlies emboscados entre la selva de caligráficas florituras renacentistas; eso sí, con mejor propósito y fortuna (espero).
Parón habemus
Parón habemus.
A la vista de esta serie de ISB (Insipid and Stupid Brackets), en jocoso recuerdo a como algunos llamaban al LISP (Lenguage of Imsipid and Stupid Parenthesis), no sé por dónde tirar. Por una parte veo elementos de la transcripción de Asier, como el "1v" famoso; pero luego veo cosas como BRK, S2, y otras novedades. ¿Cómo están transcritas ahora las v's múltiples? ¿Dónde acaba un carácter? ¿Cuáles son los modificadores? ¿De qué deberíamo obtener estadísticas? Por ejemplo, creo que necesitaríamos conocer lana lista de los símbolos considerados "básicos", tales como "1", "v", etc. para poder ir moviendo la rueca.
Yo estoy esperando a que
Yo estoy esperando a que Asier termine su programa para generar variantes, de acuerdo a las agrupaciones que decidamos con lo que entonces ya se podrían obtener estadísticas. Por ejemplo, si tres comas son un caracter o tres, si 1v es un carácter o dos, y cosas así. Es que sino, no sé por donde tirar. Estuve probando con diferentes nombres italianos para la firma, como Cosimo, para ver si se podía obtener algo por ahí, pero con el resultado de costumbre.
¡Qué alegría!
Qué alegría me da ver gente con ideas y fuerza. Estoy aquí con la cahiporra informática preparada para calcular sobre lo que me echéis, que para otra cosa no valgo.
Una cosa: Lo de convertir todo el galimatías a números me da un poco de miedo, porque vamos a perder la familiaridad quue ya teníamos con los garabatos, o la semejanza entre la codificación de Asier y los susodichos. Pero si creéis que hay que hacerlo, adelante.
El idioma
Me se ocurre que una fuente de dificultad sigue siendo el no estar seguros del idioma en que está(n) escrito(s) el/los diocumento(s). "A buenas horas vienes con eso", dirán algunos, y posiblemente tengan razón, pero había motivos, y la autoridad de Tokamak no es el menor, para pensar que si el milanés se dirigia al rey más poderoso de la tierra, lo haría en la lengua de éste. Sin embargo, los reyes no están ceñidos estrictamente a los nacionalismos, máxime cuando se rige un imperio, y tan idioma del rey era el castellano, como el italiano o el latín, entre otros muchos.
Quizá no fuera lo más cortés dirigirse en italiano a Felipe II, pero desde luego, una autoridad en las ciencias -en este caso en la astronomía, además de la criptografía- podría usar el Latín como vehículo cultural, aunque ya desde el renacimiento (Petrarca, Dante. y luego Ferrnando de Rojas) se había empezado a dignificar el uso de la lengua llamada vulgar en las ciencias y en la literatura.
Para decidir el idioma de un texto cifrado se puede aplicar el metodo de los mínimos cuadrados, para ello sólo necesitamos una estadística de las letras en cada idioma, y compararlas con las del cifrado, mediante la fórmula
D = Σ (Fi - fi)^2
donde Fi y fi son las frecuencias realativas de las letras más frecuentes, tanto en el cifrado como en el idioma analizado. Luego se toman las segundas más frecuentes, etc. El idioma para el que D tenga el menor valor es el mejora candidato, a falta de otra información sobre la temática del texto cirado.
Se ha demostrado a lo largo de esta aventura, que no seoy el mejor buscador de textos, así que ruego me facilitéis algún enlace a textos en latin y en italiano, de la época. No estaría de más algún otro en castellano, pues sigo desconfiando de la ortografía de De Sande.
Distancia euclídea?
Lo que hace la formula es buscar la distancia entre las frecuencias de letras del texto cifrado y los diferentes idiomas? La primera letra con mas frecuencia del texto cifrado - primera letra con más frecuencia de X idioma)^2 + (segunda letra más frecuencia cifrado - segunda X idioma) ^ 2 + ...
Haces esta operación para los diferentes idiomas y el que menor valor saque (más cerca este) es el idioma de la cifra.
Lo unico, una duda, si es una cifra homofónica donde se supone que todas las letras tienden a una frecuencia media, tiene validez este metodo? No seria más para una cifra de sustitución simple?
Tienes razón. Los mínimos
Tienes razón. Los mínimos cuadrados solo servirían si el texto cifrado fuese lo suficientemente grande como para que con un cifrado homofónico discreto no se pudiesen disimular las frecuencias del idioma. De cualquier forma es bastante probable que sea italiano, le concedo un 50% con respecto al castellano. No creo que sea latín, no me parece que fuese de curso en las cancillerías.
Textos latinos e italianos
Yo creo que con las
Yo creo que con las frecuencias del mamotreto tenemos de sobra para referenciar el castellano antiguo, pero ya se han colgado muchos más ejemplos de epístolas del XVI.
De textos latinos, aquí hay de todo. Te paso las frecuencias del Bello Gallico de César si quieres.
Textos italianos del XVI, este por ejemplo:
Agnolo Firenzuola
Sería mejor
Sería mejor que fueran latinos de la época. No es igual el latrín de César o de Cicerón que el que usó Newton en sus Principia.
Gana el italiano, por goleada
El método de los mínimos cuadrados apunta al italiano, por 24 frente a 77, pero puede ser por causa de la transcripción realizada..
Tambioén ocurre que en la estadística del italiano he tomado todos los signos, incluyendo los de puntuación, espacio, etc., que seguramente no figuran en el texto cifrado. Quizá se debería normalizar la estadística. Mañana me pondré a ello
Candidatos Mamotreto (Castellano) Sirtori IIII A Texto italiano Castell. Ita. Nº ord Símbolo Rel % Rel % 1 E 13,73 ^ 8,59 87 E 11,61 48955 26,42 9,12 2 A 13,00 . 8,19 83 A 10,43 43966 23,18 5,02 3 O 9,30 0 7,8 79 I 9,34 39371 2,26 2,37 4 S 7,87 L 7,5 76 O 8,90 37514 0,13 1,96 5 I 7,61 E 6,61 67 N 6,13 25842 1,00 0,23 6 N 7,22 ' 5,33 54 L 5,96 25148 3,56 0,40 7 R 6,37 H 4,74 48 R 5,54 23357 2,67 0,64 8 U 5,76 Q 4,54 46 T 5,32 22421 1,48 0,61 9 L 5,55 M 4,34 44 S 4,75 20034 1,46 0,17 10 D 4,81 A 3,65 37 c 4,38 18468 1,35 0,53 11 T 3,87 B 3,65 37 D 3,48 14674 0,05 0,03 12 C 3,40 ´ 3,65 37 U 3,21 13526 0,06 0,19 13 M 2,47 D 3,46 35 M 2,75 11587 0,97 0,50 14 P 2,35 G 2,86 29 p 2,42 10212 0,26 0,19 15 Q 1,92 J 2,86 29 _ 2,37 9999 0,88 0,24 16 G 1,07 F 2,76 28 0 2,31 9753 2,84 0,20 17 B 1,00 I 2,57 26 V 1,91 8039 2,47 0,44 18 H 0,98 V 2,27 23 g 1,85 7822 1,67 0,18 19 F 0,59 N 1,97 20 h 1,18 4977 1,92 0,62 20 Z 0,57 Z 1,38 14 f 1,02 4306 0,66 0,13 21 X 0,32 C 1,28 13 -0 0,78 3306 0,93 0,25 22 Ñ 0,24 V_ 1,28 13 B 0,76 3219 1,09 0,27 23 2 0,99 10 q 0,72 3043 77,31 24,30 24 U 0,79 8 Z 0,63 2639 25 P 0,69 7 . 0,43 1800 26 T 0,69 7 ' 0,42 1780 27 ª 0,59 6 9 0,23 970 28 S 0,59 6 : 0,17 738 29 Ñ 0,59 6 ; 0,13 563 30 % 0,49 5 * 0,12 504 31 K 0,39 4 J 0,07 278 32 ¬ 0,3 3 ? 0,07 276 33 X 0,3 3 1 0,06 259 34 1 0,2 2 2 0,05 211 35 O 0,2 2 • 0,05 203 36 º 0,2 2 ( 0,04 166 37 ` 0,2 2 ) 0,04 150 38 B¨ 0,2 2 3 0,03 147 39 ! 0,1 1 „ 0,03 137 40 _V 0,1 1 4 0,02 103 41 5 0,1 1 8 0,02 99 42 R 0,1 1 6 0,02 93 43 # 0,1 1 7 0,02 91 44 4 0,1 1 5 0,02 85 45 ¨ 0,1 1 » 0,02 84 46 3 0,1 1 « 0,02 75 47 & 0,1 1 ^ 0,02 70 48 @ 0,1 1 £ 0,02 69 49 ¡ 0,1 1 ! 0,01 57 50 Ç 0,1 1 / 0,01 56 51 W 0,1 1 0 0,01 55 52 1013 y 0,01 55 53 > 0,01 48 54 " 0,01 43 55 X 0,01 38 56 \ 0,01 38 57 W 0,01 31 58 < 0,01 30 59 $ 0,00 19 60 % 0,00 19 61 & 0,00 14 62 K 0,00 13 63 # 0,00 12 64 ¦ 0,00 12 65 ° 0,00 10 66 } 0,00 7 67 ~ 0,00 7 68 { 0,00 7 69 © 0,00 5 70 ] 0,00 4 71 | 0,00 4 72 [ 0,00 3 73 § 0,00 2 74 ™ 0,00 2 75 € 0,00 1 76 ± 0,00 1 77 ® 0,00 1 78 0 0,00 1 79 421724Sigue pareciendo italiano
Normalizando las estadísticas del italiano, eliminando espacios y signos de puntuación, su factor se eleva a un 46, lejos aún del 77 del castellano. Bien es verdad que en la estadística del cifrado tomo los churros voladores como caracteres, y a lo mejor no es correcto; pero yo diría que el Sertorius no escribió en castellano. Faltaría ver la estadística del latrín.
Más Ialiano que Latín
El Latín (Sidereus Nuncius, de Galileo) da un valor ligeramente mayor para los mínimos cuadrados, concretamente 48 frente a 46, lo que podría no ser significativo.
Coincido en que nada de esto es concluyente, si el cifrado es homofónico.
A vueltas con el idioma, y ya no os molesto más
Considerando la objeción de que el cifrado seguramente usa dos homófonos (aunque eso no es seguro al 100%), he recalculado la distancia ecuclídea (la de los mínimos cuadrados) pero tomando esta vez la mitad de la frecuencia relativa de cada idioma candidato, es decir:
D = Σ ( Fi - fi/2 )^2
donde Fi y fi son, respectivamente, las frecuencias relativas de las letras, en el cifrado y en el idioma analizado,
Pero, naturalmente, todo esto no es más que una especulación, para no permanecer ocioso. Porque, como decia antes, hay un par de símbolos demasiado abundantes en el cifrado, quizá porque no tienen homófonos o porque tienen funciones especiales, como caracteres-nulos, separadores, etc. Y eso podría distorsionar el cálculo, dado que las diferencias son pequeñas. Este estrecho margen es lógico al tratarse de lenguas fraternas.
Gana el Italiano, seguido por el Latín. El castellano queda a cierta distancia. Cachis.
P.S.
He utilizado las frecuencias del Mamotreto, pero tal como salen al contar las letras, sin fusionar la U con la V ni la J con la X.
Nueva vía
Esto está muy parado, se me ocurre que podemos buscar pasajes del texto sin lo que llamamos modificadores, que despistan mucho, y tratar de identificar algún símbolo que se repita. Por ejemplo, hay cuatro que podrían ser adecuados para ello, "L", "E", "M", "Q", que se muestran en la imagen de abajo (la "A", de momento no):
Ahora habría que buscar que cuatro letras cumplirían con la plantilla de trigramas y bigramas que muestro abajo, y que existiesen en italiano, supuestos caracteres diferentes todos los símbolos:
Trigramas
LEM
LEQ
LMQ
Bigramas
QE
QL
MQ
LQ
ME
Imágenes:
Me parece bien
Pero antes hay que estar de acuerdo sobre la lista de símbolos básicos: ¿Los de tu última translieteración? ¿Los de Asier? ¿Cómo tratamos los grupos de Vs?
Por cierto, ¿qué es "BRK" en tu última ecléctica transcripción? ¿Salto de línea?
Estos símbolos son fundamentales
Los símbolos son los de mi última transliteración. Lo que hice para Asier es una pregunta más que otra cosa, y sí BRK es salto de línea.
Estos símbolos son fundamentales, pues en la imagen adjunta se ve que no llevan puntos, churros ni acentos, y se repiten bastante, tenemos que poder identificarlos, o somos muy torpes.
En italiano la mayoría de las palabras acaban en vocal, menos frecuentemente R, L, S y Como estos símbolos se pueden encontrar al final de alguna línea, sin puntos churros ni apóstrofos, salvo "Q" que parece que finaliza con un punto a media altura en la última página, esto podría servir para facilitar el descriptado de estos cuatro símbolos al pertenecer a finales de palabras.
BRK
Sí, son saltos de linea. Lo que no se si se entendio muy bien lo que pretendia con el sistema que proponia. He registrado los saltos de linea, espacios, etc. Quizas por deformación profesional, para cubrir hipoteticos casos en los que les puedieramos dar un significado... por otra parte la intencion era sacar una reinterpretación: https://dl.dropbox.com/u/3297331/codes_inline.html que fuera facil de comparar con los originales para ver si la transcripción es correcta o si hay que afinarlo más.
De alguna manera lo que transcribo no son los simbolos que creo que utilizaba Sirtori, sino lo que ven nuestros ojos. Cuando a una parte llamo [1v] no digo que eso sea un simbolo, simplemente lo registro a un formato que se pueda tratar mediante programación. De alguna manera me interesa más la forma. Osea, que lo prioritario ahora para mi no es hacer una interpretación de cada buratacho ([1v] es un simbolo?, dos?), eso vendra despues. No se si me explico.
De hecho, en mi idea, la transcripción "literal" la hacemos una vez. Despues tranformamos esa transcripción a derivados, y ahi es cuestion de programar unas reglas de conversión... y al final, la estadistica. Esa es mi propuesta.
Quizas lo estoy complicando demasiado, pero es lo que se me ocurrio para poder tratar con comodidad al monstruito que tenemos entre manos.
Vosotros direis :)
Transcripción actualizada
Le he dado un empujon a mi transcripción, aqui lo teneis:
https://dl.dropbox.com/u/3297331/codes_inline.html
https://dl.dropbox.com/u/3297331/codes_list.html
75 codigos diferentes teniendo en cuenta las vvvvvvves. Ahora a darle un repaso final. Para los churros voladores, creeis que solamente hay churro corto y churro largo? O hay más? Lo de [jv'v'v^] es un churro corto [^] o otra cosa?
Saludos
Parser
Hola, yo creo que lo de [jv'v'v^] es un churro corto. Esta transcripción es un trabajo sobresaliente, pero su verdadero valor lo dará el parser que la interprete. Ese programa debería disponer de una batería de opciones o, simplemente, de un fichero de configuración donde se le indicasen los criterios de agrupación; por ejemplo si se especificase jv'v', significaría que debe interpretar esa cadena como un único carácter.
Pienso que la salida sería mejor que fuesen números, de acuerdo a la tradición de estas cifras homofónicas, para evitar confusiones con las equivalencias que les vayamos asignando. O parejas de caracteres alfabéticos, también valdría.
Después Agustín podrá entrar a matar con su maestría con la estadística, en una faena como la del cifrado MTSK, donde cortó las dos orejas y el serpenteante rabo de la bestia.
¡Eh, cuidado!
¡Que el rabo aún lo tengo y me funciona!
En efecto
No me atribuyáis capacidades que no tengo, que luego la decepción es mayor. Mi modelo es Pep Guardiola, que en la cima de la gloria se da el piro, vampiro. Bien sabe él que gran parte del éxito tiene que ver con una serie de circunstancias fuera de su control, a lo que se pouede llamar Azar. Y el hombre, un genio, ya digo, piensa: "En cuanto falle, que ya he fallado con la Liga, estos me queman en la hoguera"
Pues ya os digo que el Sertori me está dando mucho miedo.
Gracias a todos
Gracias a todos por los comentarios. ;)
El tema de sacarlo en numeros ya lo hecho, ahora viene lo divertido... el parser. ¿Alguna sugerencia? Que tipo de operaciones creeis que deberia de contemplar a parte de simple sustituciones? [a] => [b], [a][b] =>
Es muy sencillo
Hola Asier, no, nada especial, solo alguna opción genérica, que permita convertir a números cada símbolo distinto: [1v] => 56, y con la opción de agrupar en uno solo dos diferentes: [1v] [:]=>78. Y con la opción contraria, que un sólo símbolo genere dos números: [1v'] => 56, 25 ya que los modificadores pudieran ser vocales con las que construir sílabas.
Pues yo sigo
Pues yo sigo tratando de encajar las letras, los digramas y los trigramas. Pero creo que hay que tomar como caracteres distintos a los garabatos con diferentes churros. Ahora veré la nueva transcripción de Asier
Ya he visto el trabajo de Asier
Fabuloso. Se recogen hasta los más mínimos detalles. Creo que tomas una parte de la versión de Tolamak, cuando usas las J's, que en realidad serían R's, según tus trabajos aneriores. La verdad ese que esos caracteres compuestos son un verdadero rompecabezas.
Creo que con eso podremos trabajar mucho mejor. Bueno, aquellos a los que les quede alguna neurona sana.
Que alguien empuje
No avanzo, pero creo que estamos a un paso de resolverlo.
El problema sigue siendo, creo, saber si hay que considerar cada símbolo con su churro como una letra o como dos.
Ssigo creyendo que la firma SI(?)RI es esencial para resolver el enigma. Pero esa B con churro ha de ser bien analizada.
Con esta trasnscripción, algo anticuada con respecto a la de Asier:
Tengo esta estadística, comparada con el italiano (cosa de la que tampoco deberíamos fiarnos)
Y esta estadística de digramas y trigramas
Con todo eso, sólo me he atrevido a formular estas pocas hipótesis:
Y obtengo esta birria:
Circunstancias personales van a apartarme por un tiempo de esta brega. ¡¡¡Ayuda!!!
Empuje
La firma es esencial, y también los caracteres de que advertía más arriba, que en el resultado de Agustín acaban componiendo "osilcil", aunque yo creo que hay alguna vocal más. Lo miro con ansia, porque tampoco me resulta posible dedicarle tiempo ahora. ¿Y nuestros crackers, Llamamex, Sqrmatrix, Infosniper..?. Ánimo que con la firma y esos caracteres coincido con Agustín en que sólo nos falta un empujón y, sobre todo, más puntos de vista.
Os sigo de cerca, pero
si quiero tener un mínimo atisbo de vacaciones este año no puedo dedicarle demasiado tiempo a cosas no remuneradas y parte de ese escaso tiempo se lo sigue llevando el maldito TFTR2.
Tratandose de una carta
Tratandose de una carta en la que se ofrecía/proponia un metodo de cifrado, en el texto de la carta debería aparecer más de una vez la palabra cifrar, bien en español, italiano o latin.
Cifrare
Tengo la herramienta para insertar palabras cualequiera en el texto. Si se respetan las hipótesis anteriores, la palabra "cifrare" sólo puede intoducirse a partir de la posición 68. Ello produce nuevas hipótesis que repercuten en el texto "plano", que queda como muestro a continuación. Yo sigo sin ver gran cosa, y ello puede ser debido a varios factores, solos o conjuntamente:
Puedo tratar de insertar la palabra "cifrare" u otras cualesquiera, en otras posiciones, a ver qué resulta.
Si alguien tiene la iluminación de ver alguna posible palabra (o esbozo de ella) en el texto (italiano o no) que lo comunique, o que aplique por su cuenta las hipótesis correspondientes, a ver si sale algo.
P..S.
Hay que hacer constar que la transcripción de la que parto es bastatante chapucera. Si alguien se apunta a transcirbir todo el texto, por ejemplo a partir de la última de Asier, podríamos inentar nuevas estadísticas y formular nuevas hipótesis. La faena es algo engorrosa, porque consiste en ir cambiando cada garabao del texto cifrado, por el elemento asignado por Asier, estando todo disponible en http://www.kriptopolis.com/comment/1602#comment-1602
Debo añadir que no acabo de ver conveniente la conversión de todo a números; pero si vuestra idea del parser así lo requiere, no seré yo quien se oponga.
Transcripción y parser
Agustín, si te fijas la transcripción creo ya la hizo Asier y esta disponible en https://dl.dropbox.com/u/3297331/codes_inline.html . Aunque al abrir este archivo lo que se ve no se puede procesar directamente, se pueden obtener fácilmente los símbolos a partir del código fuente utilizando como delimitador
div title="y leyendo hasta el siguiente". Si aplicas lo anterior y además se cambiaºporºlo que se obtiene es:Además, he empezado a hacer un parser que se podrá configurar con un archivo con el siguiente formato:
donde:
Se pueden insertar comentarios en el fichero poniendo como primer caracter de la línea //
Cada sección cierra la sección anterior y el final de fichero cierra la ultima
Si se omite alguna de las secciones posteriores se utilizarán los valores por defecto. En las definiciones quiere decir que se utilizará el conjunto vacío.
Y los símbolos se dividen en:
SFF (Símbolos finales fijos): no se ven alterados por nada. Se pueden convertir directamente a simbolos finales sin que sea necesario procesar los simbolos de alrededor. Ninguno de estos simbolos puede estar contenido dentro de otros simbolos.
SI (símbolos iniciales): agrupan uno o más caracteres que pueden verse modificados por otros símbolos.
M (modificadores): afectan al simbolo de su izquierda, pero si antes no hay ningún simbolo entonces adoptan significado propio.
SM (superModificadores): siempre afectan al simbolo de su izquierda y no tienen valor por si mismos
y un ejemplo de archivo de configuración podría ser:
Lo más interesante del ejemplo anterior, es el autómata finito determinista ( http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito_determinista ) que permitirá decidir como se relacionan los diferentes símbolos.
Una cuestión que aún tengo que mirar como solucionar es lo que decia tokamak
¿Esta opción de que un símbolo o una parte genere más de un número, quiere decir que cuando se encuentre un modificador y queramos generar más de un número, el número influenciado por el modificador debe ser siempre el mismo?. Por ejemplo [1v'] => 56, 25 y [u)'] => 40, 25. Lo digo porque creo que hay más modificador y super modificadores que vocales.
¿Qué os parece?
Parser y otros programas
Acabo de subir a https://github.com/clascrip/RetoSertori el Parser, podéis compilar vosotros mismos el código con la herramienta Apache Ant (y teniendo el java development kit instalado) o bien descargarlo ya compilado de la carpeta Parser/dist.
Aunque seguramente aún tiene algunos errores y hay que acabar de retocar varias cosas, he probado un ejemplo sencillo y parece que funciona, además quería tener lista una primera versión con la que hacer pruebas para, en caso de que se pueda, adaptarla a nuestras necesidades, o si vemos que necesitamos algo más potente que un autómata finito determinista, no perder tiempo y probar con una gramática libre de contexto.
Para hacer las pruebas que comentaba antes y poder adaptar el parser, habría que definir los diferentes conjuntos de símbolos y crear el autómata finito determista. ¿Tenéis alguna idea de cómo hacerlo?.
Aparte del Parser, he estado pensando en crear otros programas con ideas que ya se han ido mencionando, de esta forma seria más fácil que todos podamos hacer pruebas y además que obtengamos los mismos resultados. Los programas en los que he pensado son:
Histograma n-gramas
Comparación histograma n-gramas
Distancia entre textos
Probador de palabras en la transcripción
¿Os resultarían útiles estos programas?.
Aupa Agustin,
Aupa Agustin,
Los textos estan practicamente transcritos: https://github.com/doup/Sirtori/tree/master/input 01.txt, 02.txt y 03.txt, que corresponden a las imagenes que hay aqui: https://github.com/doup/Sirtori/tree/master/input/images (01.png, 02.png y 03.png)
Lo "unico" que hay que hacer, si alguien se anima (que seguramente terminare haciendolo yo en algun momento), es darle un repaso a https://dl.dropbox.com/u/3297331/codes_inline.html comparandolo con las imagenes y ver si hay partes que hay que afinar.
Luego, se convierte a lo que sea, si quires incluso lo podemos convertir a tus codigos. Lo que te vaya mejor, pues eres el unico que le esta dando a la estadistica.
Bona nit!
Estoy contento
Porque veo que hay gente empujando.
Un saludo
Esto parece Juego de Tronos
¡Cachis! Ya se que no aporto nada (mi mente está sobrepasada por éste, y cualquier reto), pero me siento como cuando terminó la temporada de Juego de Tronos, que entro todos los días para ver si se avanza en el reto pero que hay un parón en las noticias y parece que toca esperar...;-)
¡Animo campeones que intuyo que estáis cerca de la solución!
A mí me pasa lo mismo...
Llevo varios días que como me falta algo... Este reto es uno de los más interesantes que he leído en Kriptópolis. Y mi cerebro tampoco da para mucho en este caso...
Suerte!
Desde el principio
Llevo un tiempo preparando una transcripción ecléctica, inspirada en el modelo Tokamak, con algunas ideas del modeo Asier. La tengo bastante parada, en parte por el marasmo estival y otras ocupaciones, y en parte porque me da una pereza y un miedo tremendos. Hoy he retomado el suplicio, y me surge de nuevo la eterna pregunta: ¿Qué es un simbolo?. ¿Son las famosas V's múltiples símbolos independientes, o forman parte de un mismo símbolo? Cada vez estoy más inclinado a la segunda opción. Por una parte, la frecuencia de ls V's va a salir extremadamente alta -creo- si las tomamos como símbolos independientes. Pero, además, me he encontrado con un símbolo formado por dos v's con sus correspondientes churritos, que lleva asociado, globalmente, un gran churro volador, en medio de ambas (2 texto, tercer párrafo, primera linea, 6º grupo), como muestro más abajo. Y, a menos que los símbolos con V's estén formados por más elementos, como los tramos horizontales entre ellas, ese grafismo apoyaría la idea de que los grupos de v's son símbolos únicos y, por extrapolación, todo trazo continuo forma un símbolo. Se me olvidaba decir que en el caso de optar por esta hipótesis, los churritos que acompañan "sdiempre" a las Vs serían parte del propio símbolo, bien sea éste una letra o un n-grama, que ésa es otra.
Joder, con el Sertori.
Imágenes:
Símbolos independientes
Hola a todos: no he tenido mucho tiempo para atacar este reto, apenas para leer someramente los comentarios. Tampoco me he podido aclarar con la herramienta que clascrip tan amablemente nos ha traído.
El saber qué conforma cada símbolo lo es todo, claro y por la gran dificultad que presenta ese trabajo, me centré en observar una serie de caracteres muy simples y sus combinaciones cuando aparecen solos, cuando no tenemos duda de que son símbolos independientes.
Observemos los tres primeros símbolos de la imagen: vuelven a repetirse en otra frase, en otro orden. Son, además, signos que se repiten mucho ¿podrían ser homófonos representando respectivamente a la "e", la "i", y la "s"?
"ise" es un trigrama que en el castellano de la época, igualando la "i" y la "y", tiene una frecuencia de 0,1098, mientras que en italiano tiene 0,1375.
¿Qué os parece? ¿servirá para tirar del ovillo?
Como ejemplo podemos ver una frase con el trigrama "ise" en la carta de Felipe II que habíamos propuesto como base estadística:
perolossoldadosdellapelearonisedefendierondelosesquifes
Otra frase con el trigrama "eis"
porqueelvulgodelagenteisoldadosnopuedensufrir
La última línea, con "esise", tiene su ejemplo en esta frase de la carta:
soltaronlosfrailesiseanrreduzidopocoapoco
Imágenes:
Empiezo a ver
Empiezo a ver que sabes por dónde tirar. En estos momentos no puedo más que animarte, porque estoy emborricado con mi transcripción, aunque a punto estoy de abandonarla y trabajar con la tuya, ya que la de Asier me resulta algo compleja. ¿Tienes alguna nueva versión mejorada? O, sencillamente, ¿en qué enlace está la última que hiciste?
Ya me gustaría saber por
Ya me gustaría saber por donde tirar, Agustín, son dardos tirados de espaldas, como los monjes japoneses. ¿Habré hecho blanco? lo pongo con la esperanza de que sirva de inspiración a alguien.
Mi última transcripción, corregida y aumentada por tí, está en tu comentario 1422, que yo pasé a dígitos en el 1423 y que tienen su origen en el comentario 1293.
http://www.kriptopolis.com/comment/1422#comment-1422
http://www.kriptopolis.com/comment/1423#comment-1423
http://www.kriptopolis.com/comment/1293#comment-1293
No he intentado ninguna nueva transcripción por las conocidas dificultades que presenta el problema de la individualización de los símbolos, por eso tampoco he llevado ninguna hasta el final del documento.
Páginas
opinar