-
Ahora pensando en todo esto….
Para encriptar en md5, tal i como lo hace la funcion en PHP, pues tu le entras una cadena i el hace otra con muchos caracteres i desordenados xD
bueno, pues el tema seria (para descifrar) un programita k vaya provando a descifrar todos los caracteres en serie, primero un caracter, luego dos etc, hasta k conincida, no?
Se podria construir una funcion recursiva k lo haga....el tema no es saber descifrar, si no, cifrar hasta encontrarla, no? no creo k cueste mucho...como nunca cambia....pues...o no?
Vamos a plantear el problema....(poca faena, eh!...xD)
Tenemos la clave encriptada en md5 por ejemplo: md5("b6") = 528953727ef3a4e1c441c6078534c39b (en total 32 caracteres siempre).
Entonces como no sabemos k lo que queremos es encontrar "b6" tendremos k ir provando a partir de un caracter todas las "letras" si no da resultado, pues con dos, asi hasta encontrarlo...poniendo un limite de 32 caracteres en la contraseña, por ejemplo.
Estaba haciendo la funcion pero tengo una duda, en PHP como va el tema de los caracteres, pq en C tu le defines una variable como caracter i solamente incrementandola te salen todos los caracteres, pero en PHP no lo hace...
alguna idea??
Pero la funcion es simple.
Salu2!
-
mmmm marcalj, eso ya esta inventado y se llama johnTheRipper (por ejemplo) y como dice krampak es demasiado el tiempo q te lleva y eso haciendolo en local, q mi viejo k6-2 a 300 procesaba 500.000 claves por segundo y le tube 3 dias a ver si me sacaba la mia, y no hubo manera.
Si kieres seguridad usa claves de mas de 8 digitos, con convinacion de numero y letras (no uses el dni q eso se peta mu fasil).
Se me olvidaba, no lo hagas en php q es una locura. Lo mejor es C. Ocupa poco y es capaz de correr en una maquina con msdos y totalmente limpia, asi ira muchisimo mas rapido. Si lo chutas en linux desde una mini o algo similar q este totalmente pelao ira rapidismo o como dice krampak con un cluster un poco majo y programacion distribuida ira tmb mu rapido, aunq necesitas una red potente.
SalU2
KrHonHoS
-
¬ ¬
Como puede tardar tanto…. no se... bueno pos lo hago en C a ver como me sale.
Salu2!
-
marcalj, para que veas que es cuestión de potencia y estamos trabajando con números de combinaciones jodidamente grandes (muy jodidamente grandes x))
Pongamos que trabajamos con 25 carácteres, ¿vale?
Una password de 1 cifra serán 25 combinaciones,
una password de 2 cifras serán 2525 combinaciones,
una password de 3 cifras serán 2525*25 combinaciones (ya estamos hablando de 15.625 posibles combinaciones para tan solo tres cifras) así que usando potencias podemos saber que una password de, pongamos, 8 cifras tiene 25^8 combinaciones diferentes (esto son 152.587.890.625 combinaciones ciento cincuenta y dos mil millones y medio más o menos. Si el PC de Khronos procesaba 500.000 claves por segundo hacemos un pequeño cálculo del que sacamos que necesitaría 84 horas para probar todas las combinaciones.Por cierto, ahora me doy cuenta de que he metido la pata porque md5 también usa números, con lo que los cálculos para 8 carácteres y 35 cifras nos daríán que khronos necesitaría 1251 horas para probar todas las combinaciones (52 días enteros).
Ah, si hilamos fino md5 no cifra, simplemente hace un digest (una especie de resumen), por eso se usa para calcular la integridad de lo que nos bajamos de internet (lo habréis visto todos aquellos que hayais bajado alguna distro linux).
Si os interesa el tema y os gusta leer os recomiendo una novela de Neal Stephenson llamada Criptonomicón. A parte de ser una historia genial (bueno, más de una) aprendes bastantes cosillas de criptografía
Una trozo del libro que citan en un artículo de Kriptopolis dice así:
_"Cuanto más larga es la clave que quieres generar, más largo es el proceso. Randy intenta generar una ridículamente larga. Le ha comentado a Avi, por medio de un mensaje cifrado, que si cada una de las partículas de materia del universo pudiese emplearse para construir un único superordenador cósmico, y ese ordenador trabajase en intentar romper la clave de cifrado de 4096 bits, le llevaría más tiempo que toda la vida estimada del universo.
Empleando la tecnología actual -le respondió Avi- eso es cierto. Pero ¿qué hay de los ordenadores cuánticos? ¿Y si se desarrollan nuevas tecnologías matemáticas que simplifiquen la factorización de grandes números?
-¿Cuánto tiempo quieres que sean secretos esos mensajes?- le preguntó Randy en el último mensaje antes de abandonar San Francisco-. ¿Cinco años? ¿Diez años? ¿Veinticinco años?.
Después de llegar al hotel esa tarde, Randy descifró y leyó la respuesta de Avi. Todavía la tiene colgada frente a los ojos, como la imagen remanente de un flash:
- "Quiero que sigan siendo secretos mientras los hombres sean capaces del mal."
(Neal Stephenson, "Criptonomicón")_
-
:susto: Vaya tela, bueno igualmente me curo un programita k hace tiempo k no programaba nada i me ha venido ganas… Lo hare para caracteres de la A a la Z, de la a a la z, i del 0 al 9.
Luego os cuento.
Salu2!
-
Vaya, se me olvidaba que distingue entre mayúsculas y minúsculas :risitas: :risitas:
Eso aumenta la cifra a 3888 días de cálculo para 8 carácteres :risitas: y para que nos hagamos una idea de lo que aumenta con poner un solo carácter más… para passwords de 9 carácteres serían (con el k6-2 de khronos, claro) 5598720 días o 15338 años.
Por cierto me equivoqué al decir que Linux lleva las claves en md5, según he leído (en una instalación de SuSe 8.2 :risitas:) hoy mismo el estándar en Linux ahora es DES. -
jajajaja solo para crackear mi puta contraseña del PHP-Nuke se estaria años xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD jajajajajaja
Lo siento pero eske me ha venido la risa jajajaja vaya tela.
Bueno una duda k me ha surgido, como llamo la funcion en C para que me cree la cadena en md5??
Salu2!
-
-
-
Si quieres algo MAS seguro utiliza blowfish xD xD xD
A ver quién rompe eso por fuerza bruta