Determine el algoritmo de hashing solo con entrada y salida conocidas

4

Dada la entrada:

  

test

Un sistema genera el siguiente hash de salida:

  

0x001F41B6A0534D3B851D69EFE6237F550100000010D5F4FC65E64BCFDBF2590212E4411C44942C6C734C00ACFE13B958DCAB3614

No conozco el algoritmo o qué sal (si existe) se está utilizando. Sin embargo, puedo alimentar el sistema con cualquier entrada que elija y recibir un hash a cambio.

Dado lo anterior, ¿hay alguna manera de determinar qué algoritmo de hash está en uso? ¿Podría también averiguar si se está utilizando una sal y, de ser así, qué es?

    
pregunta Nontenda 05.02.2013 - 17:14
fuente

3 respuestas

10

Para averiguar si se usa una sal, intente usar el hash con el mismo valor otra vez (como si fuera una "nueva contraseña"). Si obtiene una salida distinta, entonces hay algo de no determinismo (también conocido como "una sal"); De lo contrario, no hay sal.

Si el mecanismo de hashing significa que es secreto y se realizó correctamente, entonces es un MAC y no podrá reconstruirlo solo a partir del análisis de entradas y salidas. Si no se hizo correctamente, entonces ... todo vale.

    
respondido por el Thomas Pornin 05.02.2013 - 17:46
fuente
0

No creo que puedas. Hashing destruye la información. Tampoco podrá determinar detalles como el número de rondas y comentarios ...

    
respondido por el Stone True 12.11.2015 - 02:26
fuente
0

Los únicos datos con los que tenemos que trabajar son:

  • datos de entrada y longitud
  • datos de salida y longitud

Conceptualmente, los datos de salida en sí mismos no deberían proporcionar información, ya que los algoritmos de hash criptográficos no pretenden transmitir información en su salida.

El único bit de información que es útil aquí es la longitud de los datos de salida, que es de 105 dígitos hexadecimales, lo que indica que la salida es de 840 bits.

Si puede determinar el algoritmo utilizado, es posible que tenga un pequeño cambio en la determinación de si los datos fueron procesados, de lo contrario, no hay posibilidad.

Aquí hay una lista de algoritmos de hashing criptográficos y su tamaño de salida correspondiente, ninguno tiene 840 bits de longitud.

Me haré eco de algunos de los comentarios, esto no parece el resultado de un algoritmo de hash criptográfico, sino datos codificados. Los datos después de la secuencia 10000001 son 64 bytes, que es característico de muchos algoritmos de hash, a saber, SHA-512.

    
respondido por el Whome 20.01.2016 - 15:17
fuente

Lea otras preguntas en las etiquetas