MTsaK: ¿Un cifrado por sustitución anti-ataques estadísticos?

Imagen de infosniper
Enviado por infosniper en

Foros: 

El Cifrado MTsaK

Mucho tiempo ha que la duda me consume.
Mucho tiempo ha que el congojo me acompaña.
Y hoy pongo al mundo por testigo que,
armado de valor,
decido ponerme en vuestras manos,
¡oh, grandes señores del oráculo!,
para que con vuestro don de la clarividencia
disipéis aquello que con gran infortunio corroe mis entrañas.
Como precio a vuestro esfuerzo
nada tengo con que pagaros.
Poca es mi gratitud para tanto que os merecéis,
pero más nada me queda
pues es lo que tiene la miseria.

 

Si alguien creía que el mensaje anterior tenía truco va equivocado; sólo pretendía llamar vuestra atención. Así que al lío, que se hace tarde y tengo el puchero en el fuego...

EL TABLERO DE JUEGO

Vamos a crear un tablero de 13 x 13 casillas (de las cuales quedarán libres 12 x 12) en el que más adelante ordenaremos nuestro alfabeto maestro. En él formamos el eje de abscisas (horizontal) por las letras minúsculas de la "a" a la "l" y el eje de ordenadas (vertical) por las minúsculas de la "m" a la "w" tal como se muestra:.

LAS FRECUENCIAS

Pueden encontrarse en internet distintos porcentajes para las frecuencias de las letras en castellano pero yo voy a basarme en los siguientes:

EL ALFABETO MAESTRO

Cogiendo estas frecuencias como válidas se creará un alfabeto que reduzca esos porcentajes hasta un mínimo más o menos manejable. Para ello se tomará ese porcentaje sin los decimales y se le sumará 2, quedando así:

18 E, 13 A, 10 O, 10 L, 9 S, 9 N, 8 D, 6 R, 6 U, 6 I, 5 T, 4 C, 4 P, 
4 M, 3 Y, 3 Q, 2 B, 2 H, 2 G, 2 F, 2 V, 2 J, 2 Ñ, 2 Z, 2 X, 2 K, 2 W

(Total 140 letras)

Y respecto a los espacios/separadores pondremos sólo cuatro - (guiones).

El alfabeto maestro quedará así compuesto por un total de 144 caracteres (12 x 12).

 

LA CONTRASEÑA

La contraseña la sacaremos de un libro de claves de fácil acceso desde internet quedando formada por una o más frases del mismo. ¿Y qué libro de claves podríamos usar para que, encima, no despierte sospechas?. Pues sencillo, el libro de género fantástico más conocido mundialmente, más incluso que El señor de los anillos: la Biblia. Pero como el recordar una frase (o más) como clave puede ser complicado bastará con que nos acordemos, por ejemplo, de "Génesis 6:5-6" de la versión Reina Valera de 1960 para que tras una rápida consulta en internet encontremos en http://www.biblia12.com/ o en http://www.amen-amen.net/RV1960/ la contraseña en cuestión:

"Y vio Jehová que la maldad de los hombres era mucha en la tierra, y que todo designio de los pensamientos del corazón de ellos era de continuo solamente el mal. Y se arrepintió Jehová de haber hecho hombre en la tierra, y le dolió en su corazón"

Pero para que la contraseña nos resulte útil deberá modificarse:

1.- Eliminamos espacios entre palabras:

YVIOJEHOVAQUELAMALDADDELOSHOMBRESERAMUCHAENLATIERRA,
YQUETODODESIGNIODELOSPENSAMIENTOSDELCORAZONDEELLOSER
ADECONTINUOSOLAMENTEELMAL.YSEARREPINTIOJEHOVADEHABERH
ECHOHOMBREENLATIERRA,YLEDOLIOENSUCORAZON

2.- Sustituimos los signos de puntuación por guiones (-):

YVIOJEHOVAQUELAMALDADDELOSHOMBRESERAMUCHAENLATIERRA-
YQUETODODESIGNIODELOSPENSAMIENTOSDELCORAZONDEELLOSER
ADECONTINUOSOLAMENTEELMAL-YSEARREPINTIOJEHOVADEHABERH
ECHOHOMBREENLATIERRA-YLEDOLIOENSUCORAZON

3.- Ahora vamos a acabar de perfilar esta clave según el número máximo de letras que el alfabeto maestro nos permite eliminando aquellas que excedan de la cantidad (contando de izquierda a derecha) y añadiendo al final de la clave las que faltan. O sea deberemos comenzar las cuentas por los 4 - [Atención, primero los 4 guiones], las 18 E, las 13 A, las 10 O, etc.). Nos quedará ésto:

YVIOJEHOVAQUELAMALDADDELOSHOMBRESERAMUCAENLATIERRA-
YQUETODODESIGNIODELOSPENSAMIENTOSDELCORAZNDEELLSER
AECNTINUSLAENTLA-YSPNJBCN-UZ-PPQGFFÑÑXXKKWW

144 caracteres en total. Ya tenemos la clave.

 

COLOCACIÓN DE LA CONTRASEÑA EN EL TABLERO

Se introducirá la clave carácter a carácter siguiendo el patrón en espiral que se propone de forma que el primero estará en la posición "fr", el segundo en la "fq", el tercero en la "gq", el cuarto en la "gr", el quinto en la "gs", el sexto en "fs", etc.

Así quedará distribuida la clave en el tablero:

YVIOJEHOVAQUELAMALDADDELOSHOMBRESERAMUCAENLATIERRA-
YQUETODODESIGNIODELOSPENSAMIENTOSDELCORAZNDEELLSERA
ECNTINUSLAENTLA-YSPNJBCN-UZ-PPQGFFÑÑXXKKWW

 

CÓMO CIFRAR UN TEXTO PLANO

Tenemos el texto plano siguiente (demasiado corto por lo que debe tomarse simplemente como ejemplo):

ESTE CIFRADO ES UNA CHUFA MACABEA

Lo reconvertimos a voluntad poniendo en el lugar de los espacios un guión, o sustituyéndolos por letras con frecuencia de muy poco uso y que no compliquen la comprensión del mensaje (W, K, X, o Z), o simplemente eliminamos los espacios:

ESTECIFRADOXESWUNAKCHUFA-MACABEA

Ahora vamos sustituyendo cada carácter del texto plano resultante por las coordenadas del tablero. Desde mi punto de vista no es necesario aplicar una aleatoriedad a la operación, simplemente bastará con mirar de repetir lo menos posible las coordenadas. Y éste es el texto cifrado resultante:

fn dn bn hñ dm bp lñ jn kn en cn lr bo añ lv gm 
am lt hn eo gñ lo cñ fm go ep gu aq cb hp br

 

EL RETO

im bn fo bñ kñ gñ eo dñ am go km jp bm kn fo iñ cn jq bo eñ
dr en gp fn ip ap dn cm fñ io kr eu jt kn cñ eq bt co lp dr
gr io ip hp cr hq iq du do jr an gp en cu kp ft fn js aq dq
ir gu er kr bu kt kq ar lq fu ho jn bv gñ hs dq et fo as añ
gt ao iw iu hp fs jt hr dn gq dm bs cr fv es eo fñ dñ dw em
in at hn hñ cñ ev br av kv ew ko ct bo dp am bt ep ds au an
eq hv jr ht cu gs jv it bm cw en jñ iq kñ jn js bn eu cm go
ku gv gn añ kn iv io fq co ao dm bv ip bñ cp do bu hq gñ hn
gu jp ht cq hr bp du gp fo ft dn dw ir ew fp kp aq bq fñ im
dp iw jq bo bt hs gq fr io et am cu km bv dr dv an dn br gt
fv ar as fm is fñ lm jt bu dñ iñ jm dt bs ln es gr ds ho im
hp kr gs iw hñ dp en cr at km ct aw gm fw bt au it kt bo hw
lñ ep ip cs cu jm in eu ks bv hq hv jw bm jv jr cñ dn iv ir
bp io kw cw fn cm hs bu js fu iw fñ iu dv iñ hu et kq dp bn
gu bñ gt cv gn cn jt jn eñ ev eo fo jt gñ kn añ ho hm kv bo
co gw kñ io go ao bt fq gq dq jp hp ko do cp gp bu cq fp jq
hr bp jo hñ is dm cu ap bv lp ep eq dr cr gr br ip iq ku jr 
kr js dt ds hq bq kp er ir dw ft kt jñ hs gu aq ew du ar av
dn fs fo et am em fw as fu fv bs gs iu lp ev it kñ gv kv an
cs es cñ gt iw fo kñ bo fñ go en jp io hn hw cq aw at jn dv
bo jt eu lm ct hp ht dp cr añ au hv iv kñ jw fs dñ go ao bt
io dñ iq hñ in bñ ks ep bu dn kw iw ip bm hq cv jv bo jp lq
cq eo ir gñ ko cw io jq ft fn bn bñ fn hs jr am fq an js gn
en dq kn cm et jn in gñ dr añ co gu fñ do cp bn eo gn ao gr
eq fo kn gq hr dp km gt dw ko co du hp do cp kr fp jt cr gp
ew bq bt am im jr kt lp fu cs dñ an ks kp en aq js lm cu cv
hñ gu ar jn fn fq hq cn bv bu ep añ

 

También puede descargarse desde aquí:

infosniper

Tranquilo

Lo único que podría pasar es que sea relativamente fácil identificar los guiones. Pero en realidad los programetas no hemos hecho más que seguir tus maléficas especificaciones. El único pecadillo ha sido no avisar. El que avisa no es traidor, dicen. ¿Pero se puede deducir de ello que es traidor el que no avisa?

Por otra parte, creo recordar cierto Cifrado de Arena, francamente nocivo para la vista, que también tuvo algunas pretensiones homofónicas, y mellon lo reventó de un zarpazo. Hubo aún otro intento, el Cifrado de Arena (recauchutado), y mellon lo volvió a reventar. Esta nueva versión es bastante más homofonica que aquellas, por lo que quizá resista mejor. Ya veremos.

Anda! que bién

Pues menos mal. Ya empezaba a imaginarme que tendría algún bug insólito y recalcitrante.

Estoy estudiando el reto, que es lo importante, pero yo no tengo el graraje lleno de gadgets estadísticos como LlamameX (y además soy bastante torpe) pero por intentarlo que no quede...

Una cosa por otra

Si se hubiera mantenido tu idea de elegir los pares por orden, ahora tendríamos grupitos de frecuencias gemelas que facilitarían mucho las cosas. Pero con la aleatoriedad es mucho más difícil. Ya os contaré.

Frecuencia de las letras

En el planteamiento veo mucha diferencia entre las frecuencias estándar de la E y de la A. Incluso en hay quien opina que en textos largos la A es más abundante. También hay divergencia sobre el orden de otras, como la L y la N ¿Podrías poner un enlace a la fuente de la que has obtenido la frecuencia de las letras?

Chas gracias.

P.S.
¿Podemos confiar en que las frecuencias del texto elegido sean razonablemente similares a las estándar?

Parón

Tengo esto parado, pero no por falta de ganas, sino por circunstancias personales que me limitan enormemente el tiempo de máquina.

No obstante ello, oye, tengo un par de ideas. Por ejemplo, creo haber identificado seis pares, a partir de sus frecuencias relativas, y los voy a poner aquí por si le pudieran servir a alguien, generosidad en estado puro, oiga.:

iñ, dv = "-"
lo, lñ = "Ñ"
lr, ls = "X"

Me da la impresión de que el malvado infosniper ha utilizado un texto con muchos caracteres no alfabéticos, tal vez números, y al realizar el cifrado aparecen muchas ristras de guiones, elevando sustancialmente la frecuencia de algunos pares, lo que permite su identificación. La detección de la Ñ y de la X se produce justamente por lo contrario.

A partir de aquí ya es posible formular ciertas hipótesis para algunas vocales que suelen acompañar a la "Ñ", como en "AÑO", "CUÑO", "lEÑA", etc. También se podrían localizar las vocales y/o consonantes que pueden acompañar a la "X", como en "EXAmen", "AXIal" "EXPlicar" "EXClamar" "XEnófobo", etc.

Ahora bien, la tarea de probar hipótesis sobre el fichero cifrado resulta tediosa, sobre todo cuando nos aparecen grupos de letras anómalos que indican que algo se ha hecho mal, y hay que dehacer parte de lo hecho. Para ello estoy terminando de desarrollar una herramienta que tiene (tendrá) las siguientes prestaciones:

1. Teniendo a la vista las frecuencias previsibles para las letras (a partir de las diferentes repeticiones de éstas) y las frecuencias reales de los pares, se pueden asignar hipotéticamente valores (letras o guiones) a determinados pares.

2. A partir de las hipótesis, se va recorriendo el fichero cifrado, generando un fichero-borrador en el que se reemplazan los pares a los que se les ha asignado valor, dejando inalterados los otros.

El usuario puede recorrer a mano el fichero borrador, buscando grupos de letras para tratar de localizar otras nuevas. Por ejemplo, si uno se encuentra el fragmento

fn Ñ kv

podria suponer que fn representa la "A", y que kv es la "O", si las frecuencias lo avalan, y entonces podría cambiarlos en el borrador, escribiendo la seccuencia

AÑO

2. Entonces se lanza un procedimiento que lee el borrador y detecta las nuevas hipótesis, y las aplica a todas las ocurrencias de esos pares, generando más secuencias de letras

De nuevo el usuario puede bucear por el borrador buscando secuencias de letras -ahora más extensas- tratando de averiguar más equivalencias, etc. Pero también puede encontrarse con grupos anómalos que indicarán que alguna hipótesis anterior era errónea. Por ejemplo, puede llegar a comprender que la "O" de "AÑO" era incierta. Entonces puede cambiarla en el borrador, escribiendo:

AÑ?

3. El procedimiento que lee el borrador, además de detectar las nuevas hipótesis, interpretará el interrogante como un paso atrás, asignado de nuevo a su posición el valor del par original,

AÑ kv

y volviendo a colocar el valor "kv" en todos los lugares donde había sido sustituído por la errónea "O".

Esta herramienta será útil -espero- para todos los cifrados por sustitución, que aunque teóricamente están muertos, en la práctica resultan un coñazo.

Buenas noches, Kriptópolis.

P.S.
Se me olvidaba: Sé de buena tinta que todo esto de la crisis no es más que un experimento para ver hasta dónde se puede llegar en el sometimiento de la clase trabajadora y de la clase media. Se avecina una Gran Guerra, y hay que tener una Gran Masa dispuesta a luchar y morir. La gente acomodada y feliz suele carecer de ardor combativo.

Buenas noches de nuevo.

Sigo

Sólo quería que supiérais que sigo en ello, y que ya tengo bastante avanzado. Ya he encontrado algunas palabras sueltas, como "PEQUEÑEZ" o "SUEÑO" y algún fragmento corto, como "A LA VEZ QUE"; pero la cosa va. Lo que pasa es que la sustitución homofónica es tediosa, sobre todo si algún gilipollas le ha implementado cierta aleatoriedad a la hora de asignar pares a las letras múltiples.

(REEDICIÓN)

TERRIBLE
INQUIETUD
EJERCITO
DERRENGADO

¿Qué has elegido como texto, hombre de dios?

Buen texto

BOLADESEBO-GUYDEMAUPASSANT, etc.

(REEDICIÓN)
La historia ha sido interesante: Resulta que el reparto aleatorio de los pares para las letras múltiples ha sido muy efectivo, y letras diferentes tenían frecuencias parecidas, de una forma mezclada y enrevesada, cagontó. Y al revés, pares de la misma letra tenían frecuencias algo diferentes, lo justo para confundirse con otras.

Por otra parte, me parecía que las frecuencias de La Regenta no cuadraban con las de los pares -habida cuenta de las repeticiones-, y además no tenía la frecuencia de todos los caracteres raros acumulados en el guión "-". Así que me busqué otro texto para obtener las frecuencias, ¿adivináis cuál? No fue exactamente Bola de Sebo, pero sí los Cuentos Completos que lo incluyen. Casualidades de la vida.

Pero no creáis que ese golpe de suerte tuvo utilidad alguna, porque las frecuencias de los pares no permitían tomar decisión alguna, salvo la pobre hipótesis que puse sobre un par de guiones, las Xs y la Ñs. Y no me servían de nada, porque lo que había en torno a estas letras podía ser cualquier cosa. Así que me tuve que ir a los di-gramas, buscando alguno que pudiera coincidir con "QU"
Para ello busqué el primer par que sólo estuviera unido a seis -o menos- pares diferentes, ya que la "U" tiene seis repeticiones. Ahí empezó la cosa a funcionar, porque al acertar una de las "Q", ya empecé a diferenciar la tercera letra, "E". o "I", y ello gracias a que el alfabeto no era bastante homofónico, siendo la frecuencia de los pares de la "E" bastante menor que los de la "I".

A partir de ahí el texto ha ido revelando poco a poco sus misterios.

Los cifrados homofónicos pueden romperse, ya lo sabíamos; pero sólo si se dispone de una enorme cantidad de texto, como ha sido el caso.

Gracias, infosniper, por la diversióon proporcionada..., que diga... ¡chúpate ésa!

Enhorabuena

Yo también me he divertido y ahora veo que algunos tanteos no iban del todo desencaminados, aunque tardaría un verano en resolverlo. Están muy bien estos retos que, con mucha paciencia e ingenio, pueden resolverse, pero ¿por qué no tiene puntos?

Puntos

Non habemus puntos porque el sitio es nuevo y no se ha implementado ese sistema, que conlleva cierto coste en términos de funcionamiento.

Además, al no heredar los puntos acumulados en el sitio anterior, me pareció un poco duro tener que hacer tabla rasa y poner un cero patatero a nuestros grandes monstruos.

A mí los puntos sin contraprestaciones me parecen una soberana pérdida de tiempo. A lo mejor había que pensar en otro tipo de incentivos (¿camisetas? ¿premio$ en metálico?...)

Me gustaría saber qué opináis.

Me desesperaba

Trabajando a mano, a partir de las estadísticas, llegué a deseesperarme, por eso creé una herramienta que me ha ayudado mucho, cuyas prestaciones describí en un post anterior.

Premios

Si es dinero, entonces la financiación del sitio correría peligro, con los monstruos que pululan por aquí, y la cantidad de retos que resuelven; además a Agustín en la clínica el dinero no le sirve de nada, está muy bien atendido. Como no sean camisetas...

Los premios

En mi opinión, el mejor premio es la diversión de enfrentarse a un reto bien planteado, y si se tiene la fortuna de resolverlo, es como el chiste de aquél a quien le gustaba jugar al póker y perder. "¿Y ganar?", le preguntó el contertulio. "¡Hombre, eso debe ser ya la rehostia!"

Quiero decir que un sistema sinbólico como el de los puntos no está mal, pero tampoco es necesario. A lo del premio en metálico me opongo firmemente, porque si se va a mantener el sitio con las aportaciones del personal, ya es esfuerzo suficiente, como para añadir más gastos. Además, el dinero, que es mierda, lo ensucia todo. Ya me estoy imaginando a un par de colegas pactando un reto para que uno de ellos lo acierte y repartirse luego los 10€ de premio. Es broma.

P.S.
Además, como dice Tokamak, aquí en la clínica lo que más se agradecería es un paquete de celtas cortos, porque los peninsulares creo que ya no los fabrican.

Otra opción

¿Por qué no un sistema de "medallas"? Cada reto resuelto te da una medalla, que pueden aparecer junto al avatar, por ejemplo. Con el tiempo, algunos tendrían más medallas que muchos generales (que no se me enfade Fernando Acero por el comentario).

Además, dado que buena parte de los sistemas de cifrado tienen origen militar, tampoco estarían tan fuera de lugar.

Congratulaciones!

Chapeau! Si señor, asi se hace, derrotando al maligno en su campo.

Empecé a mirarme el reto pero me desesperé rápidamente, especialmente temiendo que infosniper habría escogido tanto la clave, el texto como las ocurrencias de las parejas adrede para confundir a los ataques estadísticos.

No me considero

apto para hablar en este foro, pero quiero felicitar a "cerebro" Agustin, he leido el metodo y manda huevos la paciencia y moral que hay que ponerle al tema.

A parte de las felicitaciones, unas flores para disimular el tufo de los celtillas
tampoco estarian de mas, aunque sean del jardin de al lado, si alguien sabe donde esta la clinica que se las acerque oiga! el chico se las ha ganado.

Saludos
ElCojo

Páginas

opinar

Texto puro

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
By submitting this form, you accept the Mollom privacy policy.