elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: kub0x)
| | | |-+  cifrado César... elemental... ¿o no tanto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: cifrado César... elemental... ¿o no tanto?  (Leído 5,808 veces)
Glezo

Desconectado Desconectado

Mensajes: 82


Ver Perfil
cifrado César... elemental... ¿o no tanto?
« en: 13 Octubre 2010, 01:03 am »

Buenas a todos!

Es la primera vez que comento en este subforo.

La cosa es que me estaba picando unas clases en c++ sobre distintos tipos de cifrados, y, cómo no, comencé por el César, todo un juguete y una reliquia.

  Como era evidente, también he estado haciendo unos métodos para romper el cifrado por fuerza bruta. Para ello, pruebo todos los posibles desplazamientos a piñón (en cifrados césar "sale más barato" ir a fuerza bruta que pensar en heurísticas). Pues bien: tomando por ejemplo el relato de Poe, sea mi texto plano "unbuenvasoenlahosteriadelobispo". Nótese que no tiene espacios en blanco.

  Iré probando todos los desplazamientos, hasta que uno de ellos me devuelva el texto "unbuenvasoenlahosteriadelobispo".

 PROBLEMA: teniendo una clase Dictionary, que no es más que una lista enorme de palabras y una interfaz, que entre otros métodos, tiene
 bool wordBelongs(char* aWord);
 bool isPrefix(char* aWord);

 ¿a alguien se le ocurre un algoritmo eficiente, eficaz y que no arroje falsos positivos para decidir si éste es un texto perteneciente al lenguaje? (lo de los falsos positivos es porque en el diccionario aparecen "a","b","c"..."z" como palabras, lo cual no me parece descabellado. Y entiéndase lenguaje como el cierre de kleen del conjunto Dictionary)

Gracias a todos.


« Última modificación: 13 Octubre 2010, 01:33 am por Glezo » En línea

WestOn

Desconectado Desconectado

Mensajes: 272


El testamento Maya...


Ver Perfil
Re: cifrado César... elemental... ¿o no tanto?
« Respuesta #1 en: 13 Octubre 2010, 01:43 am »

Buenas, pues para evitar falsos positivos comprueba que todas las palabras existan en tu diccionario, si no existe alguna que no arroje el resultado y siga probando.

Porque puedes incluir en tu variable un espacio, ' ', y este será también sustituido por el carácter que le corresponda cuando cifres, si lo haces sin espacios buff ni idea, yo usaría espacios  :xD

En el caso como dices que no hay espacios, ¿porqué será? :P, pues te diria que comprobar una a una pero lo mismo se acaba el mundo antes xD, suerte.

Saludos


En línea

En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            
Glezo

Desconectado Desconectado

Mensajes: 82


Ver Perfil
Re: cifrado César... elemental... ¿o no tanto?
« Respuesta #2 en: 13 Octubre 2010, 14:11 pm »

Me temo que no te he entendido o no me he explicado o probablemente ambos

 El único algoritmo que se me ha ocurrido es, para una cadena de longitud n, añadir 1 espacio, permutar la cadena y ver si pertenece al lenguagje, añadir 2 espacios, permutar la cadena y ver si pertence al lenguaje,.... y añadir n-1 espacios permutar y ver si pertenece, pero es una gansada de cómputo.
Además, de ahí venía el problema de los falsos positivos: si tiendo a separar todas las letras por espacios me dirá que es un texto que de seguro pertenece al lenguaje.

 La gracia del cifrado césar es que no hay que cifrar los espacios (se omiten), porque si cifras también los espacios te lo crackean en menos de 5 minutos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con una modificacion del cifrado cesar en c++( Ubuntu ).
Criptografía
mat.marchantt 7 8,623 Último mensaje 12 Julio 2011, 22:38 pm
por Died
Qué preferis: Cifrado cesar o Ensalada cesar?
Foro Libre
Castg! 6 4,939 Último mensaje 1 Agosto 2011, 22:45 pm
por scr21
[+] mCesar - Cifrado Cesar
Programación Visual Basic
|SMT| 1 2,309 Último mensaje 8 Septiembre 2013, 16:09 pm
por noele1995
cifrado cesar en c
Programación C/C++
kikian94 6 10,993 Último mensaje 29 Octubre 2013, 15:01 pm
por kikian94
[Perl] Ejemplo de Cifrado Cesar
Scripting
BigBear 0 2,124 Último mensaje 28 Noviembre 2014, 17:48 pm
por BigBear
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines