Pequeño reto de crypto

Iniciado por ViKT0RY, 21 Septiembre 2004, 12:47 PM

0 Miembros y 2 Visitantes están viendo este tema.

ViKT0RY

Crypto "made at home", no debería ser dificil conseguir leer el txt que va adjunto en el zip. Aunque tiene su curro. ;)

http://www.vikt0ry.com/crypto.php

Suerte.

mikel

Hola, ViKT0RY:
Vaya, parece que vuelvo a ver al gato que me volvió loco hace unos cuantos meses ( no recuerdo si era el exe o el gif la prueba tuya)
Bueno, sólo decirte que he bajado tu reto de criptografía y estoy tratando de desencriptarlo, aunque voy muy lento.
Traté de cifrar textos cortos con password cortas a ver si veía una recurrencia sencilla, pero aunque encontraba alguna relación, no se podía concluir nada, así que estoy traceando con el olly para ver el algoritmo.
Hasta ahora sólo lo estoy haciendo con un texto: "abc" y con un pass "123", y aunque ya sé algunas de las cosas que hace el algoritmo, aún hay algunos bytes que me quedan por ajustar. Y como dices, me va a llevar su "curro", pues el código da más vueltas que un tiovivo. Aún he de estudiar un call que me saca unos bytes necesarios, pero creo que podré hacerlo.
Luego claro, quedará comprobar si se sigue el mismo algoritmo para textos más largos, y sobre todo, una vez sacada la fórmula de la cifrado habrá que ver si saco la de la desencriptación, si bien he visto muchos xor por ahí.

Bueno, pues eso, que tu reto no queda en el aire, y veré si este fin de semana ya lo consigo. La verdad es que es divertido.

Un saludo.

Mikel

mikel

Hola:
Ya tengo más o menos claro el algoritmo de cifrado, aunque he cifrado textos cortos. Ahora me queda estudiarlo un poco más detenidamente y recorrer el camino inverso, a ver si con el texto cifrado puedo sacar el pass y el texto original. Luego ya me meteré con tu texto.

Un saludo

Mikel

ViKT0RY

Todos los algoritmos menos un bucle, son públicos y conocidos en muchos sitios. Para descifrar el archivo se debe usar bruteforce de la pass. No debería ser muy dificil crackearlo, aunque exige entender bien el código del encriptador y posteriormente pensar sus posibles defectos.

mikel

Hola:
¿ Algoritmos públicos y conocidos? Yo pensaba que te le habías inventado tú, y que en eso consistía. No me gustaría que al final sea una solución de tipo : " Pero si esto está cifrado con tal programa, y sólo se necesita este otro para descifrar"
He estudiado el código línea a línea ( bueno los bucles y las call) y he podido seguir los pasos de una cifrado, así como ver la forma de desencriptarlo. Pero aún no he programado nada. Sólo he usado el ollydbg para tracear y acceder a la memoria y una calculadora, con lo que he tenido que ir muy lento, pues tengo que cifrar/descifrar carácter a carácter, así que abordar un texto largo no puedo hacerlo a mano, y sería necesario programar. Pero me encuentro con un problema que no sé resolver de una forma fácil ( si tirándome una mañana copiando datos a una tabla)
Te mando lo que he conseguido, cifrado y desencriptación de un texto de 5 caracteres.

mikel

Hola:
Creo que ya sé cómo hacerlo y tocando pocas cosas. Voy a alterar un poco el programa encriptador para poder descifrar, tocando unas pocas lineas del código. Creo que puede dar resultado, al menos para conseguir resultados parciales.

mikel

Bueno, ya lo conseguí, te mando por privado el mensaje descifrado y por mail la forma en que lo hice, pues hay algunas cosas que no me quedaron claras.
Aunque con tu pregunta ya me das alguna respuesta, lo cierto es que no usé ningún algoritmo que conociera, sino el método que te expuse hace unos días y del que sólo me faltaba crackear la key .
Lo que más me costó fue hacer el programa de fuerza bruta, pues según mis cálculos me iba a tardar más de 15 horas en encontralo ( al final fue problema mío, pues una vez optimizado el programa sólo tardó 7 minutos).
Y la verdad es que se me quedó un poco cara de gilipollas cuando la saqué, pues viendo de qué pie cojeas tenía que habérseme ocurrido antes.

Bueno, ha sido divertido.

Un saludo

Mikel

ViKT0RY

Me refería a que el algoritmo en sí es mio, pero usa algun algoritmo x ahi que sí es publico, aunque no se trata de un algoritmo de cifrado.

Felicidades, ahora sólo te falta decir cual es su punto débil, pq se puede sacar la contraseña en un momento.

mikel

Hola:
No te entiendo muy bien lo que quieres decirme. Por lo que analicé se utiliza un hash para resumir la key, y en el programa que hice de fuerza bruta que hice la conseguí sacar, pero claro si en lugar de los caracteres que tiene, tuviera 10 más sería inviable, al menos en poco tiempo.
Porque teniendo la key es obvio sacar el hash, pero con el hash ¿ hay algun medio rápido de sacar la key?. Entonces no sería algo bien hecho.
Bueno, lo cierto es que al ir sacando los caracteres del texto descifrado vi algunas coincidencias curiosas.
Pero en fin, la cosa estaba en descifrar el texto y eso ya lo hice, aunque tratare de estudiar un poco ese algoritmo, al menos por curiosirad.

Un saludo

Mikel