19 mayo 2008

Como identificar el algoritmo que se esconde tras un hash

Desde hace tiempo me rondaba por la cabeza desarrollar algún tipo de herramienta que permitiera identificar el algoritmo criptográfico que se esconde tras un texto cifrado / hasheado, buscando sobre el tema encontré hashmaster. Únicamente es capaz de identificar algoritmos de tipo hash y requiere conocer el valor descifrado. No es exactamente lo que andaba buscando, pero el concepto es bastante original y puede venir bien en caso de realizar integraciones entre diversos mecanismos de autenticación o migraciones de aplicaciones.

2 comments :

Ero Carrera dijo...

Aunque la criptografía y el criptoanálisis no son mis campos fuertes no es la primera vez que oigo la idea de intentar identificar un algoritmo de cifrado o hash analizando el texto cifrado. Personalmente, a mi me parece que "tendría" que ser imposible si el algoritmo de cifrado es bueno, ya que no debería existir ningún patrón (de ningún tipo) en el texto cifrado resultante. Me atrevería a decir que si un algoritmo se pudiese identificar solamente mirando el texto cifrado que produce, no sería un buen algoritmo. (hablo sólo de los datos cifrados en si, obviamente si podemos mirar alguna cabecera o formato de archivo específico ya es otro tema...)

Yago Jesus dijo...

Mi primera aproximación al tema del fingerprint de algoritmos iba encaminada a discernir, al menos, si el algoritmo de cifrado estaba basado en bloques o en flujos como primera criba, obviamente depende de la cantidad de datos que seas capaz de capturar / tengas a tu disposición y de la propia implementación que haga la aplicación, me apunto en el TO-DO darle una pensada mas a fondo