Solucionarios: TT0 – Reverse Me

La fuerza bruta no es tu mejor amiga cuando puedes observar la forma en la que trabaja el algoritmo. Quisiera decir que esa es una frase de mi abuelita (seria una anécdota increíble), pero lo cierto es que mi abuelita no tiene ni idea de lo que significa la frase, aun así, la frase no deja de ser cierta. Los ataques de fuerza bruta, como su nombre lo indica, son ataques que utilizamos como ultimo recurso, cuando somos tan brutos que no sabes que hacer mas que intentar todas las claves que podamos a diestra y siniestra, sin embargo en algunas ocasiones la mala implementación nos permite observar un algoritmo y determinar la forma en la que se comporta, por lo que podemos deducir rápidamente la clave secreta. Asi iniciamos este reto:001_Firefox Developer Edition

 

No pondré mas capturas de pantalla porque solo ocuparía espacio en cosas que fácilmente puedo escribir.

Lo primero que se necesita entender es que el código generado es del mismo tamaño que el numero que se ingresa. Si un numero tiene 4 dígitos, la clave también tiene 4 dígitos, por lo que el numero buscado debe ser de 9 dígitos. Como diría un antiguo detective: elemental mi querido Watson.

Ahora analizaremos la forma en que se procesan los números. Haremos dos intentos sencillos, el numero “000000000” y el “111111111”.  La respuesta que obtenemos es la siguiente:

000000000 -> 018365472

111111111 -> 129476583

La primera parte es sencilla. SI observamos las partes comunes vemos que el primer dígito se conserva, al segundo se le suma 1, al tercero se le suma 8, al cuarto se le suma 3, y así de forma continua. Nosotros queremos llegar al numero 133701337 por lo que solo debemos restar la cantidad 018365472 en cada dígito correspondiente. Al final obtenemos los primeros 6 dígitos 125446. Los restantes son fácilmente deducibles y no los pondré aquí.

003_Firefox Developer Edition

Como podemos observar tenemos la pista correcta y lo único que debemos de hacer es terminar por resolver nuestro problema.

Que aprendimos el día de hoy? Aprendimos que el criptoanalisis es una parte importante en nuestra vida diaria. Usar métodos de fuerza bruta es la ultima opción cuando el sistema es robusto (un sistema publico que se sabe que si es robusto) o cuando no tenemos ni idea de que debemos hacer. En todos los otros casos tenemos que detenernos a analizar como funcionan las cosas. Eso no solo aplica a las claves como en este ejercicio, sino a todas las cosas que hagamos: a diferencia de la fuerza bruta, el análisis si es nuestro mejor aliado.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s