Impossibile vedere i vantaggi delle tabelle arcobaleno rispetto alle tabelle hash [chiuso]

1

Ho letto delle tabelle arcobaleno (che ho confuso con i tavoli hash all'inizio). Comprendo che usa una funzione di riduzione R(x) e salvando il valore iniziale P (testo in chiaro) e il valore hash finale H Posso "salvare" lo spazio semplicemente salvando (R,P,H) . Ma non capisco perché non posso farlo con le tabelle hash: crea "GetNext (x)" function GN(x) e salva i valori in start e end in chiaro (P1, P2) e con quello 'salva 'spazio, mentre è chiaro che un attaccante sceglie di calcolare tutti gli hash prima o no.

Ad esempio una funzione di riduzione che restituisce i primi 5 caratteri di md5. Come posso gestire con testo in chiaro che contiene caratteri speciali? Oltre a questo avrò collisioni come:

12211ndjdkxjdns....
12211poiplioiippp...

Questi hash mi daranno il prossimo testo in chiaro dopo la funzione di riduzione, anche se aggiungerò qualcosa di casuale, sarò sempre limitato all'input dell'hash e alla sua lunghezza.

L'ultima cosa: se ho delle tabelle arcobaleno, come posso assicurarmi di non avere testi in chiaro duplicati (collisioni), perché vedo che non posso fare senza l'ordinamento e poi tutta l'idea dello spazio è sparita. Perché non generare solo valori iniziali e finali di testo in chiaro e archiviarli se si desidera risparmiare spazio? Non capisco la logica dietro il tentativo di creare testo in chiaro da hash.

    
posta Christian Strempfer 29.09.2014 - 00:50
fonte

0 risposte

Leggi altre domande sui tag