Determina l'algoritmo di hashing solo con input e output conosciuti

4

Dato l'input:

test

Un sistema genera il seguente hash di output:

0x001F41B6A0534D3B851D69EFE6237F550100000010D5F4FC65E64BCFDBF2590212E4411C44942C6C734C00ACFE13B958DCAB3614

Non conosco l'algoritmo o quale sale (se presente) viene utilizzato. Tuttavia, posso alimentare il sistema ogni input che scelgo e ricevere in cambio un hash.

Considerato quanto sopra, c'è un modo per determinare quale algoritmo di hashing è in uso? Potrei anche scoprire se viene usato un sale e, in tal caso, di cosa si tratta?

    
posta Nontenda 05.02.2013 - 17:14
fonte

3 risposte

10

Per sapere se viene usato un salt, prova a usare l'hash con lo stesso valore di nuovo (come se fosse una "nuova password"). Se ottieni un output distinto, allora c'è un non determinismo (alias "a salt"); altrimenti, non c'è sale.

Se il meccanismo di hashing è significato per essere segreto, ed è stato fatto correttamente, allora è un MAC e non sarai in grado di ricostruirlo dall'analisi degli input e delle uscite da solo. Se non è stato fatto correttamente, allora ... tutto va bene.

    
risposta data 05.02.2013 - 17:46
fonte
0

Non penso che tu possa L'hashing distrugge le informazioni. Inoltre, non sarai in grado di determinare dettagli come il numero di round e il feedback ...

    
risposta data 12.11.2015 - 02:26
fonte
0

L'unico dato su cui dobbiamo lavorare è:

  • dati di input e lunghezza
  • dati di output e lunghezza

Concettualmente i dati di output non dovrebbero fornire alcuna informazione dato che gli algoritmi hash crittografici non sono pensati per trasmettere informazioni nel loro output.

L'unico bit di informazioni che è utile qui è la lunghezza dei dati di output che è 105 cifre esadecimali che indicano che l'uscita è 840 bit.

Se riesci a determinare l'algoritmo utilizzato, potresti avere un piccolo cambiamento nel determinare se i dati sono stati salati, altrimenti non ci sono possibilità.

Ecco un elenco di algoritmi di hashing crittografici e le dimensioni di output corrispondenti, nessuno è lungo 840 bit.

Riesco a echo alcuni dei commenti, questo non sembra l'output di un algoritmo di hashing crittografico, piuttosto dati codificati. I dati dopo la sequenza 10000001 sono 64 byte, caratteristica di molti algoritmi di hashing, ovvero SHA-512.

    
risposta data 20.01.2016 - 15:17
fonte

Leggi altre domande sui tag