RadioGatún è una funzione hash crittografica creata da Guido Bertoni, Joan Daemen , Michaël Peeters e Gilles Van Assche. È stato presentato per la prima volta al secondo workshop NIST sull'argomento NIST Second Cryptographic Hash Workshop , a Santa Barbara, in California , aagosto 2006, per la " competizione della funzione hash del NIST ".
RadioGatún è costruito dalla funzionalità Panama , una funzionalità di crittografia del flusso e impronta digitale crittografica risalente alla fine degli anni '90 la cui funzione di impronta digitale è stata interrotta, correggendo le vulnerabilità.
RadioGatún è precisamente una famiglia di 64 funzioni, che si distinguono per un unico parametro: la dimensione delle parole - in bit ( w ), da 1 a 64. L'algoritmo richiede 58 parole di memoria per memorizzare il suo stato interno, ciascuna di dimensione w . La versione a 32 bit richiede quindi 232 byte e la versione a 64 bit richiede 464 byte.
Può essere utilizzato come funzione hash o crittografia del flusso; può generare una sequenza arbitrariamente lunga di numeri pseudo-casuali .
È l'antenato del primitivo crittografico Keccak , vincitore del concorso SHA-3.
Secondo i progettisti, i primi 19 × w bit (con w la dimensione della parola impostata) dell'output di RadioGatún è un'impronta digitale di livello crittografico. In altre parole, i primi 608 e 1216 bit rispettivamente per le versioni a 32 e 64 bit possono essere utilizzati come impronte digitali crittografiche.
Considerando l'attacco noto come attacco del compleanno (in riferimento al paradosso del compleanno ), ciò significa che per una parola di dimensione w , RadioGatún è progettato per non avere attacchi inferiori a una complessità di 2 9,5 w . Numericamente questo dà 2.304 e 2.608 rispettivamente per le versioni a 32 e 64 bit.
Dmitry Khovratovich e Alex Biryukov hanno trovato due attacchi che non hanno compromesso le affermazioni dei creatori sulla sicurezza della funzione, uno con una complessità di 2 18 w , l'altro con una complessità di 2 23,1 w . Khovratovich avrebbe anche trovato un attacco in 2 18 w .
C'è anche un attacco che funziona solo sulla versione a 1 bit, in 2 operazioni 24.5 . È meno efficiente dei precedenti e non può essere esteso ad altre dimensioni di parola.
L'attacco più noto (2015) è un attacco di complessità 2 11 w . La complessità è nei limiti dichiarati dagli autori della funzione.
Tuttavia, hanno affermato che i loro esperimenti non hanno dato loro grande fiducia nella solidità della funzione.
I vettori di test dello sviluppatore (valori dell'impronta digitale per un particolare input) che codificano le funzioni sono disponibili per le varianti a 32 e 64 bit.
Sono costituiti dai primi 256 bit dell'output della funzione (che è arbitrariamente lungo): In 32 bit:
RadioGatun[32]("") = F30028B54AFAB6B3E55355D277711109A19BEDA7091067E9A492FB5ED9F20117 RadioGatun[32]("The quick brown fox jumps over the lazy dog") = 191589005FEC1F2A248F96A16E9553BF38D0AEE1648FFA036655CE29C2E229AE RadioGatun[32]("The quick brown fox jumps over the lazy cog") = EBDC1C8DCD54DEB47EEEFC33CA0809AD23CD9FFC0B5254BE0FDABB713477F2BDIn 64 bit:
RadioGatun[64]("") = 64A9A7FA139905B57BDAB35D33AA216370D5EAE13E77BFCDD85513408311A584 RadioGatun[64]("The quick brown fox jumps over the lazy dog") = 6219FB8DAD92EBE5B2F7D18318F8DA13CECBF13289D79F5ABF4D253C6904C807 RadioGatun[64]("The quick brown fox jumps over the lazy cog") = C06265CAC961EA74912695EBF20F1C256A338BC0E980853A3EEF188D4B06FCE5