chiarimento su come le tabelle arcobaleno utilizzano più funzioni di riduzione per evitare collisioni

2

Capisco come funzionano le tabelle di compromesso della memoria del tempo di Hellman creando catene di risultati di hash e di riduzione e memorizzando l'ultimo risultato dopo un certo numero di operazioni. poiché la funzione di riduzione mappa dallo spazio hash (crapton di caratteri) nello spazio della password (diciamo fino a 10 caratteri), è ovvio che avremo una tonnellata di collisioni.

Le tabelle arcobaleno cercano di risolvere questo problema utilizzando più funzioni di riduzione. Non capisco come o perché questo aiuti.

Questo articolo di wikipedia sembra provare a far luce, ma non riesco a capire cosa sta cercando di dire.

Rainbow tables effectively solve the problem of collisions with ordinary hash chains by replacing the single reduction function R with a sequence of related reduction functions R1 through Rk. In this way, for two chains to collide and merge they must hit the same value on the same iteration.

    
posta Joaquin Brandan 19.03.2018 - 18:44
fonte

1 risposta

1

OK, penso di aver capito.

Ho fatto un'illustrazione dal momento che sembra essere il modo migliore per spiegare cosa sta succedendo.

Le tabelle arcobaleno usano una funzione di riduzione diversa su ogni collegamento della catena (questa può essere vista come una funzione diversa su ogni colonna, dove le catene sono righe)

Nella seguente figura

  • H () è la funzione di hashing

  • R () è una funzione di riduzione comune utilizzata su ogni link (non una tabella arcobaleno)

  • R1 () a R3 () sono diverse funzioni di riduzione su ogni collegamento (tabella Arcobaleno)

  • A-Z sono caratteri in chiaro ottenuti da una funzione di riduzione

  • Hash1-5 sono hash ottenuti dalla funzione di hashing

Nell'illustrazione troverai:

  • Cosa succede durante una collisione in una tabella Hellmans (il predecessore della tabella Arcobaleno, utilizza una funzione di riduzione singola R ())
  • Che cosa accade durante una collisione in una tavola dell'arcobaleno (identica alla tabella di Hellmans, ma utilizza diverse funzioni di riduzione su ciascun collegamento a catena)
  • Che cosa accade durante una collisione che si verifica nello stesso punto su una tavola arcobaleno (è statisticamente improbabile, ma se questo accade, le catene finiscono per essere identiche, ma dal questo non succede spesso non è un problema)

    
risposta data 23.03.2018 - 06:05
fonte

Leggi altre domande sui tag