Mellon acaba de cargarse este reto (aquí explica cómo). ¡ENHORABUENA!
Una coproducción infierno-celestial
Por infosniper (a las maracas y cubilete) y Agustín (a los teclados)
Tenía preparado un nuevo sistema de esos de cifrado por oscuridad cuando leí aquel comentario de Agustín:
"Un reto imposible es una mala propuesta. Los retos deben ser resolubles, aunque sean muy difíciles y requieran mucho ingenio. Por otra parte, hacer un criptograma indescifrable es fácil: Prácticamente es suficiente con que sea corto."
Y tenía razón...
Tantas vueltas les di a aquellas palabras que me provocaron un conflicto filosófico trascendental. ¿Sería capaz yo solito de crear un sistema de cifrado de esos rarillos míos, de lápiz y papel, para ser empleado por espías de la generación Ni-NI y que no fuera del tipo "one time pad"?. ¿Sería capaz de, aún dejando que el público conociera sus entrañas, conseguir que los mensajes cifrados que originara pudieran resistir medianamente un criptoanálisis?. La respuesta fue: NO. Pero se me ocurrió una idea. Si los chinos podían firmar un tratado de cooperación con sus archienemigos, los norteamericanos, entonces ¿por qué no podía firmar yo un tratado bilateral de libre comercio y fumar el calumet de la paz con Agustín?.
¡Leidis an chentelmen!. ¡Niños y niñas!. Para todos ustedes, fruto de esta tregua antinatura, tengo el honor de presentar... ¡TRRRRRR! (redoble de tambor)... ¡TXIXXT! (los platillos)... ¡EL CIFRADO DE ARENA!
¿Cuál es la ciudad del juego? Las Vegas, Nevada, USA. ¿Un juego típico de allí? Los dados. ¿Por qué los dados y no la ruleta o el Black Jack? Pues porque el dado tiene seis caras y ya se sabe que el 6 forma parte del número de la Bestia. Las Vegas está en pleno desierto. ¿Qué hay en el desierto? Arena. ¿Qué cualidad tiene la arena? Pues que irrita los ojos. Todo este refrito es la base del sistema de cifrado que se describirá a continuación, así que limpiad bien con la gamuza la pantalla del ordenador, limpiad bien vuestras gafas, porque ni Agustín ni yo nos haremos responsables de cualquier problema ocular...
Tenemos un dado desplegable compuesto por seis caras (observen los beatos su similitud con un crucifijo):

Cada una de estas caras tiene asignado un número del 1 al 6 (naturalmente):

Disponemos de un Alfabeto Maestro de 48 caracteres fácil de recordar:
<strong>A0B1C2D3E4F5G6H7I8J9K.L,MENAÑOOLPSQNRES-T-UVWXYZ</strong>
Es fácil de recordar porque está formado por todo el alfabeto castellano al que se la ha intercalado entre cada una de sus letras los números del 0 al 9, el punto (.) y la coma (,), las seis letras que más se repiten en castellano según Wikipedia (E, A, O, L, S, N), otra vez la letra más repetida de las 6 (la E), y dos caracteres comodín para representar los espacios en blanco/ruido del texto plano (-).
Este sistema de cifrado funcionará con una clave o contraseña que será la que produzca un completo desorden en ese Alfabeto Maestro.
Para que sea más fácil de entender su funcionamiento supongamos que la clave es ahora exactamente este mismísimo Alfabeto Maestro. El siguiente paso consistirá en situar esa clave dentro de las caras del dado: se repartirá carácter a carácter en cada cara manteniendo el orden de numeración de las mismas de forma que el primero irá a la cara con valor 1, el segundo a la cara con valor 2, el tercero a la 3, hasta completar las 6, momento en el que se volverá a comenzar por la cara con valor 1. La clave ya colocada quedaría así:

Como se puede observar, la distribución de los caracteres de la clave en cada cara del dado formará dos filas horizontales, una Fila Superior y una Fila Inferior con cuatro caracteres cada una (8 por cara).
La forma de representar cada letra, número, espacio, coma o punto de un texto plano será mediante la siguiente fórmula:
<strong>CARA DEL DADO + FILA SUPERIOR O INFERIOR + POSICIÓN EN LA FILA CONTANDO POR LA IZQUIERDA</strong> ==> [6 caracteres en el mensaje cifrado]
[ATENCIÓN: El texto plano no deberá contener ni letras acentuadas ni otros signos distintos del punto o la coma. Además es conveniente insertar ruido entre palabras empleando espacios en blanco]
Para representar los tres datos anteriores en el mensaje cifrado se van a emplear solamente tres caracteres que son: el "." (punto), los ":" (dos puntos) y el espacio en blanco. Cada uno de los puntitos, independientemente de que estén arriba o abajo, valdrán como 1 en los cálculos para hallar la CARA DEL DADO y la POSICIÓN EN LA FILA, pero los correspondientes al apartado FILA SUPERIOR O INFERIOR tienen otra finalidad, que es la de indicar arriba/fila-superior (:) o abajo/fila-inferior (.).
De momento, y para resultar visualmente más perceptible, se sutituirá el espacio en blanco por el símbolo"*".
CARA DEL DADO => compuesta por la suma de los puntos de los tres primeros caracteres de la fórmula
FILA SUPERIOR O INFERIOR => compuesta por un sólo carácter, el ":" para la Superior y el "." para la Inferior
POSICIÓN EN LA FILA => compuesta por la suma de los puntos de los dos últimos caracteres de la fórmula
Resumiendo, cada carácter del texto plano se convierte en seis caracteres en el mensaje cifrado. ¿Mucha inflación?. No, menos de la que parece.
EJEMPLO DE CIFRADO DE LA LETRA A
CARA DEL DADO
Como se podrá ver la A está en la cara 1 y 4 del dado por lo que de entrada ya obtendremos varios resultados.
A => Posibles cifrados que dan el valor 1 =>
[.**] [*.*] [**.]
A => Posibles cifrados que dan el valor 4 =>
[::*] [:*:] [*::] [..:] [.:.] [:..]
FILA SUPERIOR O INFERIOR
La Fila Superior y la Inferior se representan respectivamente por el ":" y el ".", por lo tanto como la A de la cara 1 está en la Superior habrá que añadir el ":" y la A de la cara 4, como está en la Inferior, el ".". Vamos a ver de momento cómo quedaría la A cifrada:
A Cara 1
[.**] + [:] => [.**:] [*.*] + [:] => [*.*:] [**.] + [:] => [**.:]
A Cara 4
[::*] + [.] => [::*.] [:*:] + [.] => [:*:.] [*::] + [.] => [*::.] [..:] + [.] => [..:.] [.:.] + [.] => [.:..] [:..] + [.] => [:...]
POSICIÓN EN LA FILA CONTANDO POR LA IZQUIERDA
Ahora queda por añadir la posición, que como recordaremos estará formada por dos caracteres. La A de la cara 1 está en la posición 4 y la A de la cara 4 en la posición 3, contando siempre por la izquierda. Vamos a completar el cifrado, por lo tanto las variaciones que podrán añadirse al resultado anterior serán las siguientes:
A cara 1 =>
[::]
A cara 4 =>
[:.] [.:]
La letra A presentaría finalmente con el cifrado completo todas las siguientes combinaciones:
[.**:::] [*.*:::] [**.:::] [::*.:.] [::*..:] [:*:.:.] [:*:..:] [*::.:.] [*::..:] [..:.:.] [..:..:] [.:..:.] [.:...:] [:...:.] [:....:]
Por tanto, para representar la letra A tenemos 15 posibles opciones. Ahora vamos a ver el efecto óptico que daría cifrar un texto plano compuesto por quince A sustituyendo el símbolo "*" por el que realmente debiera, el espacio en blanco:
. ::: . ::: .::::: .:.:: ..:: :.:.: :..: ::.:. ::..:..:.:...:..:.:..:..:...::...:.:....:
Como podría parecer algo engorrosa su puesta en práctica, Agustín ha creado un estupendo programa en Logo que automatiza todo este proceso permitiendo tanto cifrar como descifrar cualquier texto. Lo único que habrá que tener en cuenta es cómo hacer que la clave que se vaya a emplear sea efectiva.
LA CLAVE
La clave no es más que el Alfabeto Maestro desordenado que se insertará en las caras del dado. La forma de desordenarlo es:
- crear una frase fácil de recordar (estamos hablando de cifrado de papel y lápiz para espías de la generación Ni-Ni)
- la frase debería emplear algún número, coma, punto, y los caracteres menos frecuentes del alfabeto castellano (K, W, X, Z)
- es fácil introducir dichas letras ya que la K puede sustiruir en un texto plano a la palabra "que", la X a la palabra "por" y al símbolo de multiplicar, la Z al número 2, y la W a la M (es cuestión de jugar con la imaginación).
Un ejemplo de frase a recordar:
"2011, el año de la liebre porque lo dice el horóscopo chino."
Se convierte según queramos en:
2011,-EL-AÑO-DE-LA-LIEBRE-XK-LO-DICE-EL-HOROSCOPO-CHINO.
El Alfabeto Maestro nos dice que de caracteres repetidos hay:
2_A 3_E 2_O 2_L 2_S 2_N 2_-
Por lo tanto, de la frase que hemos dicho tendremos que eliminar todos aquellos caracteres que excedan del Alfabeto Maestro. La frase limpia que formará la primera parte de la clave quedará así:
201,-EL-AÑODELAIEBRXKOCHSPN.
De momento tenemos 28 caracteres que hay que completar hasta los 48.
Ahora deberemos eliminar del Alfabeto Maestro que conocemos y es público:
A0B1C2D3E4F5G6H7I8J9K.L,MENAÑOOLPSQNRES-T-UVWXYZ
todos aquellos caracteres que ya tenemos. Esta operación será mejor hacerla sobre papel para evitar errores. La clave finalmente quedará así:
201,-EL-AÑODELAIEBRXKOCHSPN.34F5G678J9MQNSTUVWYZ
EL PROGRAMA DE AGUSTÍN
Para que funcione Arena-DLC-3.9.lgo primero hay que tener instalado en el equipo el intérprete del lenguaje Logo, por lo tanto descargamos FMSLogo 6.26.0 para Windows desde http://sourceforge.net/projects/fmslogo/ Una vez instalado, y eligiendo el idioma inglés, reconocerá de forma automática los archivos *.LGO. Ejecutamos Arena-DLC-3.9.lgo, saldrá esta ventana e introduciremos la clave => OK:

Seleccionamos según nos interese Cifrar o Descifrar. En este caso Cifrar => OK:

La siguiente ventana nos muestra cómo queda el mensaje cifrado, con lo que sólo nos queda guardarlo con la extensión *.TXT:
File => Save and Exit => ¿Quiere volver a cifrar o descifrar? => No

No puedo terminar este artículo sin primero agradecer públicamente a Agustín tanto sus brillantes ideas y consejos como las horas invertidas en la creación de este magnífico programa en Logo, y segundo solicitar a admin que dada la impagable participación de Agustín en este cifrado pues me gustaría que del total de puntos que recibiré por las lecturas al menos el 50% vaya a parar a su cuenta, simplemente porque se lo merece.
Y tampoco puedo terminar el artículo sin plantear el correspondiente reto... ¿o es que pensábais que os íbais a librar?. Aquí tenéis el archivo texto-sand.txt y ahora a ver si podéis con él.
infosniper
http://sites.google.com/site/infosniper/
Consulta - Investigación
Rodrigo77730 Agosto 2011 - 6:29pm
Hola Infosniper y Agustin!
Me parece muy interesante su algoritmo "Cifrado de Arena", me llamo mucho la atencion pero queria consultarles si han sacado alguna idea de algun libro especifico o de alguna publicación para este algoritmo. Si fuera así me podes dar la referencia?? En todo caso, si es completamente suyo con sello y todo. Seria posible que me pudieran mandar su informacion? para citarlos en una referencia de una investigacion que estoy realizando sobre la union de compresion de datos y encriptacion (estoy utilizando justamente su algoritmo)
La idea no salió ni se copió de ningún lado
infosniper30 Agosto 2011 - 10:42pm
No fue más que una coproducción entre Agustín y yo. Y si te ha servido para algo, por mi parte encantado (y por la de Agustín también, seguro).
Además quisiera comentarte dos cosas más: que Agustín le dio una vuelta de tuerca en http://www.kriptopolis.org/cifrado-de-arena-recauchutado y que, si un día me decido de una vez, le daré otra vuelta de tuerca con un alfabeto resistente a los ataques estadísticos (o por lo menos ésa sería la intención).
Un saludo.
infosniper
http://sites.google.com/site/infosniper/
Infosniper
Agustín30 Agosto 2011 - 8:29pm
Infosniper es el culpable absoluto y, conociéndole, estoy seguro de que se lo inventó todo de cabo a rabo. Esperemos a que él te conteste. Lo que no entiendo es lo de la compresión de datos, porque este algoritmo es más bien inflacionario.
Mi Análisis.
mellon5 Febrero 2011 - 9:57pm
Primero de todo me gustaría empezar diciendo que todo y que es la primera vez que comento en Kriptopolis llevo leyendo esta página unos 2 años pero hasta ahora no había tenido ni tiempo ni ganas de enfrascarme en un reto.
Dicho esto empecemos con el reto:
EL CIFRADO DE ARENA
Lo primero, como bien se ha comentado, es "limpiar" la arena y convertirla en un código que no nos destroce los ojos:
Carácteres totales: 711
Donde [1S2] representa el caracter situado en: la 1 CARA, FILA Superior, POSICIÓN 2 en la fila.
De esta forma reducimos todas las combinaciones de puntos que representan una sola posición del dado a una sola representación.
Frecuencias
Como también se ha puesto en diferentes comentarios la tabla de frecuencias de este texto queda distribuida así:
Carácteres distintos: 39 (sobre un total de 48 que tiene la clave)
Donde el primer numero que acompaña a cada posición es el numero de veces que aparece en el texto y el porcentaje sobre el total de 711 caracteres.
La letra E
La letra E desempeña un papel fundamental en este análisis. Sabemos que en nuestro texto cifrado la letra E esta representada por 3 de los 39 caracteres. Y es aquí donde se encuentra el punto débil del cifrado: Al usarse los 3 de forma secuencial, unos detrás de otro, los encontraremos distribuidos uniformemente en el texto. Es decir:
1º. Sus frecuencias de aparición serán iguales o distarán como mucho en una unidad. Ya que si [XXX], [YYY], [ZZZ] son las representaciones de la letra E no puede ser que [XXX] aparezca 10 veces y las otras 2 sólo 8 ya que entre 2 apariciones de [XXX] habrá una de [YYY] y otra de [ZZZ].
NOTA: Supongamos que el dado establece un orden de la siguiente forma siguiente: [1S1] < [1S2] < [1I1] < [2S1] < [6I4]. Es decir que [1S2] aparece "antes" que [1I1] en el dado. (Supongamos tambien para los ejemplos que [XXX] < [YYY] < [ZZZ].). [Por mis investigaciones de como funciona el programa de Agustín sobre otros textos, y el éxito del análisis, creo que es el orden secuencial que se sigue para recorrer el dado]
2º. En el caso de que una de las 3 representaciones de la letra E aparezcan más que la otra la que aparece más veces ha de encontrarse "antes" en el dado. Como se usan de forma secuencial, la primera aparición de la letra E se sustituira, en nuestro ejemplo, por [XXX], la segunda por [YYY], la tercera por [ZZZ], la cuarta otra vez por [XXX], etc...
Por lo tanto, no podrá ser que [YYY] i/o que [ZZZ] aparezcan una vez más que [XXX]. Pero si podrá ser que [XXX] i/o [YYY] aparezca una vez más que [ZZZ].
3º. Si [XXX] aparece 6 veces, [YYY] aparece 5 y [ZZZ] aparece 5. Su orden en el texto (el texto sin ningún otro carácter que estos 3) ha de ser:
[XXX][YYY][ZZZ][XXX][YYY][ZZZ][XXX][YYY][ZZZ][XXX][YYY][ZZZ][XXX][YYY][ZZZ][XXX]
Volviendo al texto del reto. Si aplicamos lo anteriormente dicho:
PASO 1: Con un poco de combinatoria sobre la lista de frecuencias podemos sacar las siguientes ternas que cumplen el paso 1 (creo que coincidiréis conmigo en que podemos ignorar las de frecuencia 1).
NOTA: Las ternas que van seguidas de un asterisco no hace falta que se comprueben en el paso 2 ya que tiene las la misma frecuencia.
PASO 2: Si eliminamos las que no cumplen la condición del paso 2, nos quedamos con:
PASO 3: Y si finalmente vemos cuales cumplen el paso 3...
[2S2][2S3][6S3] <-- E
Obtenemos un claro ganador. Espero no haberme equivocado al hacer la combinaciones ni al copiar del ordenador al papel y de vuelta del papel al ordenador, ni en mi análisis inicial ni al volver escribirlo aquí. De todas formas creo que seria muy raro encontrar otra terna que, sin representar la E, tuviese el mismo patrón ABCABCABCABC en un texto con esta longitud (no se que pasaría en textos más cortos...).
Con esto vemos que la letra E tiene una frecuencia en el texto de un 9,42 %. Cabe decir que se contabilizan todos los caracteres (guiones, puntos, comas, numeros), y no solo las letras. Y por eso tenemos un frecuencia que parece baja para la letra E.
Los espacios y el ruido
Una vez encontrada la E, si volvemos a la tabla de frecuencias, llama la atención son las 2 primeras posiciones que más aparecen, la [1S2] y la [2S1].
Cifrando distintos textos (de mas o menos la misma longitud que el del reto) con distintas claves con la aplicación de Agustín siempre encontramos 2 caracteres que sobresalen de la misma forma en todos los textos. En todos los casos que he probado se trata del guión, ya que el programa de Agustín introduce bastante ruido que, al codificarse igual que el espacio, hace que la suma del ruido y los espacios sobresalga tanto.
Otro hecho destacable es que tienen una frecuencia bastante superior a la de la letra E, por lo tanto no cabe esperar que sean letras.
Finalmente podemos ver que ambas posiciones, la [1S2] y la [2S1], aparecen alternadas en todo el texto, es decir, formando el patrón. ABABABABABAB.... (un patrón demasiado "bonito" para que sea una coincidencia en un texto tan largo).
Con lo que tenemos un carácter no-alfabetico que esta presente dos veces en la clave. Por lo tanto, blanco y en botella, un guión.
[1S2][2S1] <--- GUIÓN
Hasta el momento el criptograma queda de la siguiente forma:
Ahora podemos eliminar el guión y la E, de la tabla de frecuencias y mirar el porcentaje sobre una cantidad de texto mas limpia de caracteres no alfabéticos:
Caracteres totales: 550 (sin contar espacios ni ruido).
Ahora la E tiene un frecuencia de 12,18 %, mucho mas cercana a los diferentes valores que se pueden encontrar por Internet (véase: Wikipedia).
A O L S N
Este grupo de letras son los caracteres, junto con el guión y la E, los caracteres repetidos, es decir, aquellos que se representan por posiciones en el dado.
Sobre la tabla de frecuencias que tenemos justo arriba aplicamos los mismos 3 pasos que vimos para encontrar ternas que pudiesen representar la E, pero este caso sólo con duplas.
PASO 1:
PASO 2:
PASO 3: Y finalmente
Buscábamos 5 duplas y tenemos 5 candidatos, muy bonito si no fuese por que no sabemos cual es cual. Pero todo llegará.
EL, DE, EN, SE....
Una vez hemos acabado con los patrones de ciertos caracteres individuales, vamos a ver que podemos encontrar en los patrones de grupos de dos letras. Como sabemos con seguridad las posiciones de la letra E, vamos centrarnos en las parejas de caracteres con una E que aparecen en el texto. Hay que decir que debido al ruido no todas las parejas serán: el, de, en, se, te, es (que son los grupos de 2 letras con E que pueden aparecer mayoritariamente en castellano), ya que habrán palabras cortadas entre medio.
Si buscamos en el texto encontramos:
Bien aunque a primera vista esto no puede decirnos gran cosa. Si no fijamos bien en el primer grupo de posicions veremos que todas forman parte de las duplas que encontramos al buscar duplas candidatas para las letras A,O,L,S,N. Podemos tambien descartar las 2 ultimas ya que no podemos extraer mucha información de ellas. Quedándonos con:
Vayamos por partes, tenemos de las 5 duplas candidatas 3 que se combinan con la letra E (mas de 1 veces, por lo que es mucho mas probable que no se trate de un palabra cortada por el ruido). Pero con unas apariciones tan bajamos no creo que podamos decir cual corresponde a la L, cual a las N y cual a la S. Pero esto nos deja dos duplas que no aparecen acompañando a la E en grupos de dos letra (que serian EO, OE, EA, AE)
[4S1][6S1] --- 12,73 %
[3S4][5S2] --- 9,09 %
Creo que esta diferencia en la frecuencia es suficientemente significativa como para poder afirmar que:
[4S1][6S1] <--- A
[3S4][5S2] <--- O
Finalmente si miramos la última pareja de letras con E, [5S1]E, creo que no es mucho afirmar que se trate de un DE. Con que:
[5S1] <--- D
Posiciones sueltas
Continuamos ahora con las posiciones sueltas (tranquilos ya falta poco para juntarlo todo). Si miramos en el texto posiciones sueltas encontramos (Borramos las que forman parte de las 3 duplas (L, S, N) ya que serán partes de palabras cortadas por el ruido y las que en realidad son A y O)
Creo que con esto podemos afirmar sin mucha equivocacion que:
[5I4] <--- Y
Agrupando todo lo que tenemos hasta el momento:
Finalizando...
- A partir de aquí ya es facil ver donde va la L, la S, y la N (viendo las parejas E[XXX], [XXX]E, A[XXX], [XXX]A, O[XXX], [XXX]O).
- Podemos observar la presencia de: -AY[3S2]DA-, alguna idea?
- Llega un momento en que los puntos y las comas son evidentes.
- Una vez sustituido casi todo, que a partir de un punto sale solo, nos encontramos delante de las 3 frases pequeñas:
[1I2], [2I2], [3I2]
Y otro al final: [4I3]
Que asignándoles 1, 2, 3 (como es normal según el contexto), y contando 9 frases en total da el texto cifrado.
Mejoras
Este análisis como podéis ver seria inútil si los caracteres se sustituyeran de manera aleatoria. Y si se eliminara la E como letra triple. Se que me arrepentiré de esto pero.... Espero ver un Cifrado de Arena 2.0.
Salu2
Felicitaciones
SkAsI7 Febrero 2011 - 10:35am
Aunque un poco tarde (no había tenido de leerlo con calma), me sumo a las felicitaciones sobre el análisis, que aplica ingenio y buenas ideas en buena dosis.
Kriptosaludos.
Dos buenas ideas
Agustín6 Febrero 2011 - 5:41pm
En tu análisis, aparte de aplicar con rigor el análisis estadístico, ha habido dos ideas muy buenas. La primera es recalcular las frecuencias relativas eliminando el carácter ruido. Fíjate que estuve tentado de algo parecido, pero no lo hice porque no quería perder las marcas de los guiones, tonto de mí, porque se podía hacer lo uno y conservar lo otro, qué tendrá que ver. A veces cuando te concentras mucho en un problema te empecinas en ideas que son erróneas.
La otra buena idea es rastrear la E por la secuencia de sus coordenadas ABCABC... A mí sólo se me ocurrió buscar tripletes de frecuencias identicas (o casi), y la asigné erróneamente.
Realmente es un buen trabajo.
En teoría, todo cifrado por sustitución se puede romper por análisis estadístico, si se tiene texto cifrado suficiente. También dice la teoría que aunque el alfabeto sera homofónico, es posible descifrarlo por las agrupaciones de letras características del idioma, pero una cosa es la teoría... Me he quedado con las ganas de ver qué pasaría si las repeticiones de las letras más probables fueran las necesarias, de forma que se obtuviera un espectro de frecuencias prácticamente uniforme, donde ni el ruido fuera detectable.
Un saludo
¡Bravo!... otra vez.
infosniper6 Febrero 2011 - 1:51am
Ha sido un excelente trabajo, tanto en el criptoanálisis como en la explicación. Y ahora voy a intentar explicaros a todos el por qué de algunas cosas.
Si os acordáis, en el artículo de presentación dejaba caer:
"Resumiendo, cada carácter del texto plano se convierte en seis caracteres en el mensaje cifrado. ¿Mucha inflación?. No, menos de la que parece."
Efectivamente, el cifrado de arena no es más que una ilusión tal como lo define la RAE:
"Concepto, imagen o representación sin verdadera realidad, sugeridos por la imaginación o causados por engaño de los sentidos."
Los seis caracteres cifrados que definen las coordenadas y que componen cada carácter del texto plano son realmente tres, siempre son tres, y ése era precisamente el punto de partida del ataque.
Respecto a no emplear la casuística aleatoria, lo que dice Agustín más arriba es completamente cierto:
"Esto es así porque el Maligno prefirió, en contra de mis consejos, el barrido sistemático de todas las configuraciones, en vez de una casuística aleatoria."
Y tiene una explicación. Lo que yo pretendía era que el cifrado tuviera una cierta "plasticidad", que fuera bonito por mostrar todas las combinaciones posibles para cada carácter del alfabeto (la aleatoriedad podría dejar alguna combinación sin salir y repetir otras demasiado), al tiempo que también iba a ser un motivo de engaño induciendo a los atacantes a pensar que les iba a resultar más duro de roer de lo que en realidad era. Ahora ya sabemos que todo era mentira, pura ilusión. La A, de la que decía en la presentación del cifrado que tenía 15 combinaciones posibles, tenía realmente 2. Ya podríamos adornar como quisiéramos el cifrado que siempre tendría 2 y sólo 2. Por tanto esa casuística aleatoria en las combinaciones no la tomé en consideración, de la misma forma que tampoco quise introducir unos caracteres de despiste por el principio y por el final del texto una vez cifrado (entre 1 y 5) para que el atacante no supiera donde comenzaba exactamente cada grupo de seis caracteres cifrados (ni tampoco cómo eliminar la posible debilidad de este truco cuando coincidieran dos combinaciones "demasiado escandalosas").
Igualmente he de decir que el texto plano fue elegido adrede para que el ataque fuera factible: muchas letras, muchos espacios y poquísimos números, muy distinto de lo que sería un mensaje cifrado en el que se detallaran las coordenadas de todas las bases de misiles nucleares de la antigua Unión Soviética.
Además, emplear 48 caracteres para el alfabeto maestro era una clarísima limitación, pero si se emplearan bastantes más (66, o mejor 72-74) la cosa probablemente iba a cambiar. De la misma forma que si no existiera la limitación de 6 caracteres cifrados por carácter plano y pudieran emplearse dentro de un mismo cifrado 7 u 8.
Y ahora la clave que todos estáis esperando. Elegí una frase que estaba seguro que a admin le iba a gustar:
"Por cada euro que te gastas en tabaco, 84 céntimos son impuestos."
La convertí en:
x cada euro k te gastas en tabaco, 84 céntimos son impuestos.
Y la clave quedaba como:
x-cada-euroktegssenbo,84nimp.0123F56h7j9lñlqvwyz
infosniper
http://sites.google.com/site/infosniper/
Estrella
Agustín5 Febrero 2011 - 10:26pm
Como dice admin, ha nacido una estrella en el firmamento de Kriptópolis. Estupendo análisis. Mi más cordial enhorabuena.
En mi opinión, las ocurrencias múltiples de algunas letras no eran suficientes para darle al alfabeto un carácter homofónico, lo que ha creado ciertas debilidades que has sabido explotar sabiamente. A ver si el Maligno, cuano se le pase el subidón sulfuroso, prepara una versión menos light.
Mi enhorabuena
AgustínB5 Febrero 2011 - 9:32pm
Cuando tengas tiempo amigo, lo explicas para todos los "mellyn" de Kriptópolis.
Igual ya lo has hecho pero todavía no se ha publicado pero bueno, estamos ansiosos por leer la explicación.
Me imagino que es un ataque estadístico y que no has descubierto la clave, o sea que nos la tendrán que revelar.
A ver si ahora os animáis para tumbar ACYNOS.
Eso
Agustín5 Febrero 2011 - 10:28pm
A ver si con este nuevo fichaje acabáis con ACYNOS de una vez.
La solución.
mellon5 Febrero 2011 - 1:48pm
Aquí dejo la solución al reto.
El texto descifrado caracter a caracter (con ruido):
El texto limpio.
Aunque publico cosas y no aparecen (supongo que será por el misterioso retardo) durante el día de hoy intentaré explicar mi análisis del reto.
Salu2
¡BRAVO!
infosniper5 Febrero 2011 - 6:17pm
La forma exacta en que estaba escrito el texto plano es la siguiente:
- ¿Y si hemos elegido la religión equivocada?. ¡Solo estaríamos enfadando a Dios más y más cada semana!
- Normalmente no rezo pero si estás ahí, por favor, sálvame Supermán.
- El alcohol: la causa y la solución de todos nuestros problemas.
- Yo nunca pido disculpas. Lo siento, soy así.
- En la vida hay tres clases de personas: los que saben contar y los que no.
- Para mentir hace falta uno que mienta y otro que escuche.
- Tres pequeñas frases que te ayudarán a lo largo de tu vida: 1. ¡Cúbreme!, 2. ¡Buena idea Jefe!, 3. ¡Estaba así cuando llegué!.
- Si algo es dificil y duro de hacer, estonces no merece la pena hacerlo.
- Intentarlo es el primer paso hacia el fracaso.
Las 9 las dijo Homer Simpson.
Mis más efusivas felicitaciones.
Esperaré a la explicación de mellon para decir cual fue la frase y contraseña que había empleado para el cifrado.
infosniper
http://sites.google.com/site/infosniper/
Vaya!
admin5 Febrero 2011 - 4:08pm
Ha nacido otra estrella!
Enhorabuena!
Pues sí
Agustín5 Febrero 2011 - 3:35pm
Esperamos que nos lo expliques. Enhorabuena.
Análisis
Agustín4 Febrero 2011 - 10:41pm
El alfabeto base utilizado dista mucho de ser homofónico, pero aun así, la múltiple ocurrencia de las letras más probables -,E,A,O,N,S,L, hace mucha pupa al analista, porque las frecuencias relativas de los símbolos (representados por sus coordenadas) son:
Según mis cuentas hay un total de 711 coordenadas asociadas a 39 símbolos del alfabeto. O sea que el maligno ha utilizado números, aunque no sabemos si ha hecho lo mismo con la K y la W.
Según Wikipedia (si alguien tiene una fuente mejor que lo diga), las frecuencias relativas de las letras más probables en castellano son:
La tercera columna muestra la frecuencia relativa esperable para cada signo de los que representan a determinada letra, ya que la abundancia de la E habría que dividirla por 3, y se nos quedaría en 4,56, etc.
Como los espacios (en este caso guiones) son más frecuentes que la E, y además representan un ruido más o menos abundante (1 de cada 8 caracteres, aleatoriamente distribuidos), y además es probable que el Maligno haya introducido por su cuenta ruido en el texto original, es posible que los dos mayores picos de frecuencia correspondan a las coordenadas de los dos "-" del alfabeto.
De manera que
El texto cifrado, donde las coordenadas se representan por %999 es:
Si sustituimos los candidatos a ruido o espacio, tendremos:
A simple vista creo que esta distribución de los guiones coincide con la de SkAsI quien, por cierto, no ha dado explicación alguna, que a mí me conste al menos, sobre cierta espantada criptográfica, que nos dejó a algunos con la Recursión en la mano. Pero ésa es otra historia.
Lo que viene después es más complicado, porque las frecuencias siguientes a estos dos picos son más uniformes. Pero el algoritmo tiene una debilidad, y es que las diferentes coordendas de una misma letra tienen la misma probabilidad de aparecer, ya que se van eligiendo sistemáticamente. Fijaos que tenemos tres frecuecias idénticas:
que apestan a "E", y ya tenemos un paso más en nuestra hipótesis, que puede ser incorrecta, ¡ojo!
De manera análoga podríamos suponer que las coordenadas "gemelas"
corresponden a la "A", y obtenemos
No acaba de gustarme mucho, porque parecen varios grupos "EE", infrecuentes en castellano. Pero no es imposible que el Maligno haya suprimido espacios entre palabras del mismo modo que habrá incluido espacios intrapalabra, pero también es posible que me haya equivocado de hipótesis. Lo dejo aquí, a ver si a alguien se le ocurre cómo localizar las coordenadas de la O, N, S, L, R, etc. No hay más que cambiar las coordenadas de formato %999, por las letras correspondientes.
Análisis erróneo
SkAsI4 Febrero 2011 - 11:51pm
A partir de leer tu comentario acerca del uso "sistemático" de todas las posibles representaciones de cada letra mi mente comenzó a engañarme con un análisis idéntico al que tú has hecho. A simple vista parece tener lógica, pero cuando empiezas a jugar a descifrar, las cosas comienzan a desmadrarse y te das cuenta de que el cifrado no es tan inocente como sus autores quieren que pensemos.
Una vez superada mi perplejidad, y repasando mis pensamientos, he llegado al siguiente análisis (vamos a tomar la letra A como en el enunciado del reto):
1. La letra A tiene 15 representaciones.
2. 3 de dichas representaciones se corresponden con una coordenada (sea C1) y las otras 12 con otra coordenada diferente (sea C2).
3. El algoritmo de Agustín barre sistemáticamente todas las 15 representaciones (nótese de nuevo el punto 2).
4. Según Wikipedia, la frecuencia de aparición de la letra A en un texto en castellano es de 12,53%.
5. Aplicando el algoritmo tenemos que C1 aparecerá un 2,51% (3/15 de 12,53) y C2 aparecerá un 10,02% (12/15 de 12,53) debido a la distribución desequilibrada de posibles representaciones entre C1 y C2.
Una vez asimilado lo anterior, tenemos un problema con las letras repetidas, ya que no conocemos cuán desequilibradas están las proporciones de aparición de una letra. Si conociéramos esto, ya sería coser y cantar, pero aquí viene la explosión combinatoria:
* Cara: 1 - 3 representación, 2 - 6 representaciones, 3 - 7 representaciones, 4 - 6 representaciones, 5 - 3 representaciones, 6 - 1 representación. Sólo tomaremos en cuenta las que son diferentes, es decir, 4 posibles opciones.
* Fila: No se tiene en cuenta ya que no hay múltiples representaciones.
* Posición: 1 - 2 representaciones, 2 - 3 representaciones, 3 - 2 representaciones, 4 - 1 representación. De nuevo, sólo tomamos en cuenta las diferentes, 3 posibles opciones.
Con esto tenemos que (para el caso de la A, 2 repeticiones), cada una de ellas puede estar localizada en 12 posibles pares (Cara, Posición), y dado que cada una de ellas es independiente, tenemos que C1 y C2 pueden estar en 12 * 12 diferentes combinaciones, es decir, 144 opciones de balanceo entre la frecuencia de aparición entre C1 y C2. Y en el caso de E, que tiene C1, C2 y C3, tenemos un total de 1728 opciones.
También se podrían hacer cábalas sobre el alfabeto si supiéramos que la clave empleada es una frase en castellano, pero como no me fio ni un pelo de quien ha escogido la clave (hablando de retos, no te me ofusques infosniper), no voy a especular sobre ese supuesto.
Espero que haya sido instructiva la charla
Kriptosaludos.
PD: Llevas razón en la espantada criptógrafica, no obstante aún espero alguien que remate la faena, porque el código, aunque simple, no fue descifrado.
Confusión
Agustín5 Febrero 2011 - 12:08am
Creo que confundes las coordenadas con sus representaciones. Si no recuerdo mal la implementación del algoritmo, si una letra tiene dos coordenadas [x1,y1,z1] y [x2,y2,z2], se utilizan alternativamente una y otra. No importa que una tenga dos representaciones posibles y la otra cuatro, eso sólo afecta al baile de puntos y espacios, pero no a las coordenadas en sí. Por tanto, en el caso de que la "A", por ejemplo, apareciera un número par de veces, sus dos coordenadas aparecerán exactamente el mismo número de veces. Esto es así porque el Maligno prefirió, en contra de mis consejos, el barrido sistemático de todas las configuraciones, en vez de una casuística aleatoria. Es verdad que en un texto muy largo ambos diseños darían prácticamente el mismo resultado, pero cualquier oscilación, habiendo tantas letras con frecuencias próximas, serviría para dificultar el cálculo estadístico. También es verdad que infosniper ha concebido este algoritmo como una versión light del Cifrado de Arena.
Por lo que respecta a tu espantada, a algunos nos dejaste con la palabra en la boca. Yo personalmente me desentendí del reto, a pesar de que le había dedicado mucha atención, y tenía un algoritmo que prometía. En mi opinión, no se puede admninistrar así un reto. Fíjate que llegué a pensar que te había pasado algo.
Ambigüedad
SkAsI5 Febrero 2011 - 12:22am
Tu comentario acerca del barrido sistemático de las posibles representaciones en respuesta al comentario de opor era cuanto menos ambigüo, ya que opor preguntaba cómo escoger una representación en texto cifrado de una letra en texto plano. Y digo ambigüo porque el enunciado del reto hace una lista de todas las posibles representaciones de la letra A que me llevó a pensar en esta forma enrevesada de algoritmo (ahora le he dado una pista a los creadores de como fortalecer el engendro). Dicho lo cual, con tu comentario anterior has disipado todas mis dudas.
Kriptosaludos.
Desambiguación
Agustín5 Febrero 2011 - 1:36am
A opor traté de contestarle con exactitud, pero quizá debí haberme extendido más, de modo que lo hago ahora.
Si hay que representar una letra que esté en la cara 3, se puede elegir entre las siguientes representaciones
[... *.: *:. :.* :*. .*: .:*]
(pongo "*" en vez de espacios, para mayor claridad)
Cada vez que sale la cara 3, independientemente de las otras coordenadas, el programa toma consecutivamente una de las 7 congiguraciones posibles, no lo hace aleatoriamente.
De igual modo, para representar una letra que está en la columna 3 de cualquier cara o fila, se puede elegir entre
[.: :.]
Cada vez que sale la columna 3, se toma, alternativamente, cada una de las dos configuraciones posibles.
Por lo que respecta a las coordenadas, si una letra tiene varias de ellas, como es el caso de -,E,A,O,S,L,N (tres para el caso de la "E"), se van utilizando todas ellas de manera consecutiva, no aleatoria.
No se os escapará que lo de las configuraciones está pensado para un camuflaje quasi-esteganográfico, en el caso de seguridad mediante oscuridad (donde yo creo que resultaría muy eficaz) y para el impacto visual de la caótica arena. Pero una vez conocido el algorimo, presenta pocas dificultades al análisis. Lo de las coordenadas múltiples ya es harina de otro costal, aunque espero que podamos superarlo.
Estoy contigo en lo de los espacios.
AgustínB4 Febrero 2011 - 11:43pm
Ya lo iba a comentar que parecía muy sospechosos esos dos valores pero te has adelantado.
No recuerdo en donde la tengo, pero creo que ya hace tiempo había puesto una tabla de frecuencias cogiendo texto bastante grande del Quijote. Si la memoria no me falla, el espacio ganaba por goleada en la frecuencia de aparición y para hacerlo simplemente, también si mal no recuerdo, cogí el fichero y lo pasé por Cryptool para sacar las frecuencias.
Si puedo y llego a tiempo antes de que alguien lo descifre, vuelvo a poner la tabla de frecuencias.
PD. Edito, porque he encontrado la tabla de frecuencias
Gracias
Agustín5 Febrero 2011 - 12:11am
Gracias por la tabla de frecuencias. Creo que nos será útil.
¡Un momento con las frecuencias!
AgustínB5 Febrero 2011 - 12:39am
Que estamos olvidando que ha incluído el punto, la coma y los números.
Entonces las frecuencias variarán.
Ya no tengo tan claro cuál es el caracter más frecuente. En principio, creo que seguirá siendo el espacio; pero la coma y el punto también tienen que tener mucha frecuencia. El tema de los nº ya dependerá del tipo de documento para poder hacer estadísticas.
Voy a intentar crear otras tablas de frecuencias de aparición, en cuanto pueda las publico.
Cómo crear una clave correctamente para el Cifrado de Arena
infosniper4 Febrero 2011 - 3:13pm
Es muy importante tener en cuenta un factor para la creación correcta de la clave y que no se ha explicado suficientemente.
1.- Sabemos que hay que partir de una frase de la que se obtendrá la clave. En el ejemplo del artículo es "2011, el año de la liebre porque lo dice el horóscopo chino."
2.- La frase se convierte en:
2011,-EL-AÑO-DE-LA-LIEBRE-XK-LO-DICE-EL-HOROSCOPO-CHINO.
3.- Sabemos también que el alfabeto maestro tiene repetidos los siguientes caracteres:
(2 A, 3 E, 2 O, 2 L, 2 S y 2 -)
4.- De la frase tendremos que eliminar todos aquellos caracteres que excedan del Alfabeto Maestro. Entonces la frase limpia que formará la primera parte de la clave quedará así:
201,-EL-AÑODELAIEBRXKOCHSPN.
5.- Y ahora viene una cuestión importantísima: la segunda parte de la clave. Resulta que si hemos elegido una frase que contenga todos los caracteres repetidos del alfabeto maestro (2 A, 3 E, 2 O, 2 L, 2 S y 2 -) no hay ningún problema. Sin embargo sí pudiera haberlo y llevar a confusión si cualquiera de dichos caracteres quedara libre, que es justamente lo que ha ocurrido en la frase que puse de ejemplo. Si nos fijamos bien, en la primera parte de la clave que hemos obtenido sólo aparecen 1 S y 1 N del total de dos.
6.- ¿Cual es ese problema?. Pues tan simple como decidir por qué lado del alfabeto maestro (inicio o final / por la izquierda o por la derecha) hay que contabilizar esas S y N de la primera parte de la clave para que las otras S y N queden bien posicionadas dentro de la segunda parte de la clave. En el ejemplo del artículo yo las contabilizaba por la izquierda (el inicio) del alfabeto maestro y acababa obteniendo:
201,-EL-AÑODELAIEBRXKOCHSPN.34F5G678J9MQNSTUVWYZ
Pero si se contabilizaran por la derecha (el final) del alfabeto maestro se obtendría otra clave muy parecida pero distinta:
201,-EL-AÑODELAIEBRXKOCHSPN.34F5G678J9MNSQTUVWYZ
Como se puede ver a partir de la M varía el orden de las tres letras siguientes pasando de QNS a NSQ.
7.- Como el programa de Agustín trabaja POR LA DERECHA (POR EL FINAL) DEL ALFABETO MAESTRO la clave que empleará es la segunda:
201,-EL-AÑODELAIEBRXKOCHSPN.34F5G678J9MNSQTUVWYZ
Por lo tanto la clave completa que yo ponía como ejemplo es errónea al existir esa pequeña variación.
Os ruego a todos que cuando vayáis a calcular la clave hagáis las anotaciones en papel para evitar líos y sigáis escrupulosamente estas instrucciones que espero hayan resultado suficientemente claras. El programa de Agustín funcionará a la perfección.
Ah, y el texto cifrado del reto sigue siendo correcto.
infosniper
http://sites.google.com/site/infosniper/
Frecuencias de coordenadas
Agustín4 Febrero 2011 - 11:48am
Representando cada carácter cifrado por sus coordenadas (cara, fila, columna), se obtienen las siguienes frecuencias absolutas
Pero la asignación a las letras en función de su probabilidad relativa no es tan fácil, ya que hay 3 E, 2 A, et..., por lo que disminuirán los picos de frecuencia de estas letras. A ver a quién se le ocurre algo,
Ese es el problema
ManoloGrx4 Febrero 2011 - 2:49pm
No solo hay varios caracteres iguales en distintas posiciones, si no que la eleccion de esos caracteres se hace de la unica forma realmente aleatoria: Una decision humana.
Al turrón
SkAsI4 Febrero 2011 - 11:25am
Lo primero que he hecho ha sido transformar la amalgama de arena en números contantes y sonantes. Más aún, números correspondientes a las posiciones del alfabeto producto de la clave.
Con la ristra de índices en la mano, las frecuencias de aparición de los diferentes índices queda de la siguiente forma (en order de frecuencias):
06: 11.39%
01: 11.25%
03: 04.92%
05: 04.92%
09: 04.22%
25: 04.08%
15: 03.66%
10: 03.52%
16: 03.52%
20: 03.52%
07: 03.23%
08: 03.09%
13: 03.09%
17: 03.09%
02: 02.95%
04: 02.95%
12: 02.67%
26: 02.39%
42: 02.39%
40: 02.25%
18: 02.11%
24: 02.11%
28: 01.97%
27: 01.83%
36: 01.41%
46: 01.41%
33: 00.98%
43: 00.98%
21: 00.84%
14: 00.70%
19: 00.70%
44: 00.70%
38: 00.28%
30: 00.14%
31: 00.14%
32: 00.14%
39: 00.14%
41: 00.14%
47: 00.14%
00: 00.00%
11: 00.00%
22: 00.00%
23: 00.00%
29: 00.00%
34: 00.00%
35: 00.00%
37: 00.00%
45: 00.00%
Este es mi granito de arena (que viene al pelo del reto) por el momento. Seguiré informando.
Kriptosaludos.
PD: Agustín ha hecho mella en infosniper, no se entiende sino que haya probado un reto de caja blanca :P.
Primera aproximación
SkAsI4 Febrero 2011 - 12:12pm
Tras el comentario de Agustín de la asignación sistemática de posibles codificaciones, he tenido una pequeña idea que he probado con el siguiente texto plano como resultado:
Kriptosaludos.
Hola, hola
DEDDS4 Febrero 2011 - 10:51am
Mi más efusiva enhorabuena por este reto tan imaginativo que habeis parido entre los dos.
No os aseguro que pueda liarme con él, pero al menos lo voy a seguir con mucho interés porque me parece de lo más original.
Un saludo.
Proceso de cifrado
opor4 Febrero 2011 - 5:16am
Si un carácter se puede representar de varias formas en el texto cifrado, ¿cómo se escoge el usado en el cifrado? ¿Se hace al azar o se sigue algún procedimiento?
Dos modos
Agustín4 Febrero 2011 - 11:41am
Se puede hacer al azar, pero el programa lo hace barriendo sistemáticamene todas las posibilidades.
¡Ostras!
Agustín3 Febrero 2011 - 11:25pm
¡Se me olvidó poner una puerta trasera! Imperdonable.
Tiene un cierto parecido al Braille
EC6TR3 Febrero 2011 - 9:25pm
Si alguien que no sepa de que va la vaina ve esto, igual se lo da a un invidente para que se lo lea. Tiene que ser interesante hacer una obra derivada con el Braille como base.
Por cierto, las caras opuestas sumadas dan 6, 7 y 8. Y es mas facil manejarlas de la manera en la que están dispuestas por lo de la forma de interrogante.
La verdad es que es muy
ronin0073 Febrero 2011 - 4:35pm
La verdad es que es muy ingenioso..
Solamente una apreciación: Las caras opuestas de un dado siempre tienen que sumar 7 por lo que la posición del 4, en realidad sería el 2 y la del 2 el cuatro.
Un saludo, y seguid así.
(...) Las caras opuestas de
Agustín3 Febrero 2011 - 5:56pm
Miért nem olvassa el az összes?
No sé si es el caso
krous3 Febrero 2011 - 7:41pm
No sé si es el caso pero a veces se produce cierto retardo en los comentarios debido a la moderación.
Es verdad
Agustín3 Febrero 2011 - 11:20pm
Es posible. Mis disculpas
Pequeño error en la explicación
Agustín3 Febrero 2011 - 1:56pm
Hacia el final de la explicación, antes de hablar del programa, hay un párrafo que dice:
cuando en realidad debería decir;
Viene a ser lo mismo
infosniper3 Febrero 2011 - 2:04pm
porque más arriba ya digo que:
"La clave no es más que el Alfabeto Maestro desordenado que se insertará en las caras del dado."
Por lo tanto viene a ser lo mismo. De todas formas si puede dar lugar a algún error de interpretación por parte de los lectores, por mi parte admin puede cambiar una palabra por la otra.
infosniper
http://sites.google.com/site/infosniper/
Vale
Agustín3 Febrero 2011 - 2:06pm
No he dicho ná
No lo podeis evitar
ManoloGrx3 Febrero 2011 - 2:57pm
Hasta trabajando juntos discutis, genios y figuras...
Una duda existencial
lllou winxirfurfista3 Febrero 2011 - 1:07pm
Las caras opuestas de un dado siempre han de sumar 7. Por ejemplo: 6+1, 4+3 y 5+2. ¿Porque no se ha respetado esto en el reto? ¿Supondria mucho problema el subsanar dicho error?
De error nada, está hecho aposta
infosniper3 Febrero 2011 - 1:44pm
porque la distribución del valor de las caras resulta de esta manera mucho más cómoda. ¿Quieres otra curiosidad echándole imaginación?. Pues trazando una línea curva que siga el orden de esas caras se dibujará un interrogante.
infosniper
http://sites.google.com/site/infosniper/
Maldicion
ManoloGrx3 Febrero 2011 - 12:55pm
Agustin atrapado por el lado oscuro (y fetido segun parece), estamos listos, habra que afilar el colmillo para hincarselo al reto, por probar que no quede
No seas tan modesto y no te quites mérito
infosniper3 Febrero 2011 - 12:40pm
De paso podrías explicar también qué otras cualidades tiene tu programa (aquello de no sé qué aleatorio y tal).
Ah, y respecto a oler a azufre por toquetear "un algoritmo que han parido mis fétidas entrañas", o sea que -dicho finamente- he cagado, lo que pienso es que tienes un pequeño problema olfativo y lo que estás oliendo en realidad no es SO2, es otra cosa.
infosniper
http://sites.google.com/site/infosniper/
Que imaginación
mon3 Febrero 2011 - 12:32pm
Hola
Me parece muy curioso e ingenioso el sistema de cifrado. Me da una envidia sana de como sois capaces de inventarlo y sobre todo como se ve el resultado final que desconcierta al verlo.
Lo que si veo claro es que sin ordenador al canto el sistema se hace pesado. Ya me gustaria ver algun sistema rápido sin grandes equipamientos de cifrado y descifrado (tipo tarjetas perforadas por ejemplo).
Mis felicitaciones por dar esta vidilla al sitio.
No es mala idea
Agustín4 Febrero 2011 - 12:09am
Puede parecer faenero, pero puede ser útil para mensajes cortos. Una vez que tienes el alfabeto distribuido por el dado, se podría perforar una tira de cartón o de plástico en la que previamente se hubieran escrito (o troquelado) dos filas completas de puntitos. Algo como:
Entonces va uno mirando las letras del dado y va pinchando con un alfiler, saltando los puntos que no se deban perforar. El resultado es una especie de braille, pero hundido. Se puede usar la propia cinta como soporte, o el papel de abajo, sin más que pasar un rotulador por encima de los agujeros, para que la tinta pase al papel por ellos.
Se puede uno imaginar la utilidad de un sistema así en una situación de guerra, ocupación o revolución, cuando no se tiene acceso a ordenadores, ni internet, ni móviles, que es cuando realmente hace falta mandar mensajes cifrados.
Gracias en nombre de los dos
infosniper3 Febrero 2011 - 2:06pm
Es que Agustín está como mareadillo a causa de no sé qué ha olido y no se puede poner.
Y una cosa: el descifrado está pensado para lápiz y papel por lo que es muy rápido (no tanto el cifrado). Basta con que en el mensaje recibido se dibuje la clave repartida por un dado y se separen los caracteres del cifrado de 6 en 6. Eso sí, una vez descifrado el papel habrá que trocearlo minuciosamente y aliñarlo en la ensalada de la cena.
infosniper
http://sites.google.com/site/infosniper/
¡Buena idea!
Calario3 Febrero 2011 - 5:38pm
Muy útil para hacerlo desaparecer tras su descifrado.
Dados
pbuentam3 Febrero 2011 - 12:21pm
No se si tiene algo que ver pero he visto una cosa que me ha llamado la atencion, ya que hablas de los dados y del juego. El dado que usas esta mal hecho. Las caras opuestas de los dados siempre suman 7, luego el 3 y el 2 estan cambiados de sitio.
Non nobis
Agustín3 Febrero 2011 - 12:42pm
No merezco la mitad ni ninguno de los puntos, porque para un programeta, implementar el algoritmo no presenta gran dificultad. Lo realmente meritorio es construir un buen algoritmo. Además, no pude evitar hacerlo, porque el Maligno se me apareció en sueños: "AGUSTÍIIIN, MIRA EL ALGORITMO QUE HAN PARIDO MIS FÉTIDAS ENTRAAAAAÑAS, HAZME EL PUTO FAVOR DE ESCRIBIR UN PROGRAMEJO DE ESOS TUYOS PARA QUE MIS CANSADOS OJOS NO TENGAN QUE ESFORZARSEEEEEE". Y yo me levanté en estado de trance y lo hice de un tirón. La posesión diabólica -sólo diabólica, no penséis mal- es lo que tiene.
Una aclaración:
Al escribir la clave no hace falta poner el signo "-" en los espacios, ya que el programa lo hace. También se pueden poner libremente minúsculas y letras acentuadas, que el programa reconvierte.
Igualmente se pueden introducir otros símbolos que, no siendo del alfabeto, puedan tener valor mnemotécnico, o porque al usuario le apetezca. Estos símbolos espurios se omitirán en las operaciones.
Del mismo modo, se puede cifrar cualquier texto, ya que los signos exóticos se filtran.
También os comunico que ignoro la clave del j***** cifrado este, así que me considero un atacante más. Voy a ver si puedo vengarme de la posesión diabólica, que aún huelo a azufre.
P.S.
Si queréis usar el programa, copiad el código a un fichero con la extensión .lgo
Al hacer doble click arrancará, si tenéis instalado el FMSLogo. También rueda sobre Wine