Autor
|
Tema: [Source] The Golden Bug (Análisis de Frecuencia) (Leído 15,462 veces)
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Hola a todos. Estos días he estado desarrollando una aplicación de análisis de frecuencia. Me interesó tras estudiar un poco este tipo de análisis para descifrar algoritmos simples de sustitución de caracteres como por ejemplo la cifrado César. Para el que no lo sepa... En el criptoanálisis, el análisis de frecuencias es el estudio de la frecuencias de las letras o grupos de letras en un texto cifrado. Es un método de apoyo para la ruptura de cifrados clásicos. El análisis de frecuencias está basado en el hecho de que, dado un texto, ciertas letras o combinaciones de letras aparecen más a menudo que otras, existiendo distintas frecuencias para ellas. Es más, existe una distribución característica de las letras que es prácticamente la misma para la mayoría de ejemplos de ese lenguaje. Por ejemplo, en inglés la letra E es muy común, mientras que la X es muy rara. Igualmente, las combinaciones ST, NG, TH y QU son pares de letras comunes, mientras que NZ y QJ son raros. La frase mnemotécnica "ETAOIN SHRDLU" agrupa las doce letras más frecuentes en los textos ingleses. En español, las vocales son muy frecuentes, ocupando alrededor del 45% del texto, siendo la E y la A las que aparecen en más ocasiones, mientras que la frecuencia sumada de F, Z, J, X, W y K no alcanza el 2%.
En algunos cifradores, las propiedades naturales del texto plano se preservan en el texto cifrado. Dichos esquemas pueden ser potencialmente objeto de ataques de sólo texto cifrado. El caso es que estudié un poco todo esto y busqué alguna aplicación que me permitiese hacer este tipo de análisis pero no encontré ninguna, encontré una en inglés que me aconsejaron en el foro de criptografía, pero sólo funcionaba con sustitución de letras, y yo, basándome en el libro de "El Escarabajo de Oro" de Edgar Allan Poe quería hacer un análisis de frecuencia del mensaje cifrado del libro, y ese programa no me servía. Así que como no encontraba nada, ni en inglés ni en Español, me he dedicado a hacer yo uno mismo. Es muy sencillo, simplemente escribes un texto o bien lo importas desde un txt y el programa realiza un análisis de la frecuencia con la que aparecen los caracteres en el texto y muestra una gráfica con el resultado. Luego permite abrir unas gráficas con las letras más frecuentes en el inglés y en el español y con comparativas se puede deducir el significado de estos textos. Para quien no lo entienda muy bien, tiene un ejemplo que explicaron hace un tiempo en este mismo foro: http://foro.elhacker.net/criptografia/criptografia_el_escarabajo_de_oro_uso_de_analisis_de_frecuencia-t212428.0.htmlEsta aplicación nos ayudaría a hallar la tabla de caracteres que obtiene el autor de dicho relato por lógica. Bueno, siento haberme extendido tanto, pero quería explicar bien qué hace esta herramienta, y aquí la comparto con vosotros. Se aceptan críticas, sugerencias y modificaciones del código. The Golden Bug Source.zipCon el Source adjunto el libro de "El Escarabajo de Oro" en pdf para quien quiera leerlo, es un relato muy cortito. También lo pueden encontrar en wikisource ya que es de libre distribución. PD: Para todo aquel que crea que este tipo de cifrado está obsoleta que investigue como funciona la cifrado WEP (para redes wifi) y que investigue qué método usa aircrack para crackear las contraseñas Saludos!
|
|
« Última modificación: 11 Octubre 2008, 15:55 pm por Spider-Net »
|
En línea
|
|
|
|
ssccaann43 ©
Desconectado
Mensajes: 792
¬¬
|
Spider esta muy bueno el ejemplo... Excelente...
|
|
|
En línea
|
- Miguel Núñez Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio... "I like ^TiFa^"
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Todavia no tengo instalado el VB6, pero parece prometedor, como hiciste para graficarlos???
|
|
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Usé el control MSCHART. Si quieres probarlo aunque sin código fuente, puedes probarlo desde este enlace: http://auronweb.es/news/file.php?file=The_Golden_Bug.zipNOTA: Ahora estoy intentando implementarle una función para descifrar el código, es decir que con los resultados obtenidos de frecuencia de caracteres, haga una sustitución por la frecuencia de las letras más usadas en inglés o español. Con un poco de suerte puede salir un texto más o menos legible. Saludos!
|
|
« Última modificación: 11 Octubre 2008, 23:08 pm por Spider-Net »
|
En línea
|
|
|
|
cobein
|
Lindo ejemplo, la verdad hay muy poco de esto en la red, vi un ejemplo en PSC pero nada mas que eso. Aunque esta un poco crudo (falta funcionalidad) es un buen comienzo, la verdad es muy interesante, epero que continues agregandole cosas =).
|
|
|
En línea
|
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Lindo ejemplo, la verdad hay muy poco de esto en la red, vi un ejemplo en PSC pero nada mas que eso. Aunque esta un poco crudo (falta funcionalidad) es un buen comienzo, la verdad es muy interesante, epero que continues agregandole cosas =).
Claro que sí. Ahora mismo sé que es muy simple, sólo haya la frecuencia. Ahora estoy intentando implementar un algoritmo que use esa tabla de frecuencias obtenida para intentar descifrar el algoritmo, haciendo comparaciones con las tablas relativas de frecuencia del español o inglés, dependiendo del texto que señales. Intentaré hacer un algoritmo que consiga descifrar aunque sea algo el texto, a ver si consigo que pueda sacar algo legible. Espero que sí. Saludos!
|
|
|
En línea
|
|
|
|
✖ JuЯy ✖
Desconectado
Mensajes: 35
No lastimes, lo que no puedes matar
|
pz a mi me a interesado mucho este tema Análisis de Frecuencia .. voy a ponerme buscar mas,
sta muy buene la explicacion, Spideя-Net
|
|
|
En línea
|
MsgBox "SaluD.O.S.", vbInformation + vbMsgBoxRtlReading, " JuRy-BøY "
|
|
|
✖ JuЯy ✖
Desconectado
Mensajes: 35
No lastimes, lo que no puedes matar
|
el Proyecto1.vbp del ---> The Golden Bug Source esta super, lo estuv checando y cosas que no habia visto por montones.. esta full bueno, lo que me gustomas fue la graficadora.. Salu D.O.S.
|
|
|
En línea
|
MsgBox "SaluD.O.S.", vbInformation + vbMsgBoxRtlReading, " JuRy-BøY "
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
JuRy-BøY , me alegra que te gustase y que te interese el tema. En estos momentos ya tengo ideas que estoy desarrollando para potenciar la utilidad de este programa. En este momento el programita es un ejemplo simplemente de análisis de frecuencia, pero ahora estoy trabajando en un algoritmo que de alguna forma descifre el mensaje.
Para hacer esto estoy estudiando bien el análisis de frecuencia y hay que estudiar los pares y trios de letras más frecuentes en inglés y en español e intentaré hacer un algoritmo que llegue a conclusiones coherentes. Además le he implementado un diccionario que haciendo una especie de "grep" (como en linux) listará las posibles palabras descifradas. Todo esto aún lo tengo como idea, y bueno, estoy empezando a desarrollarlo, cuando tenga algo que sea medio-sólido lo publicaré por aquí por si os puede ser de ayuda o interés.
Saludos!
|
|
|
En línea
|
|
|
|
chance_gardiner
Desconectado
Mensajes: 1
|
Saludos spider, excelente tu investigación, felicitaciones, me preguntaba porque no has subido el ejecutable de tu aplicación..Por favor de poder subirla te lo agradeceriamos.
|
|
|
En línea
|
|
|
|
|
|