Il "sale reale" è lo stesso di "vettori di inizializzazione"?

31

Nella domanda su sale vero e falso , le risposte descrivono quanto il sale reale "perturba l'algoritmo di crittografia". So approssimativamente come funzionano i vettori di inizializzazione; è lo stesso concetto o qualcosa di completamente diverso?

    
posta Bryan Agee 09.08.2011 - 20:39
fonte

2 risposte

39

Un salt e un vettore di inizializzazione sono per lo più la stessa cosa nel senso seguente: sono dati pubblici, che devono essere generati nuovamente per ogni istanza (ogni password hash , ogni messaggio crittografato). A salt è la possibilità di usare la stessa password più volte senza aprire punti deboli; oppure, se preferisci, impedire a un utente malintenzionato di condividere costi di attacco password nel caso in cui la stessa password possa essere stata utilizzata in più istanze - che è tutto ciò che precalcate (arcobaleno) tabelle sono circa. Il punto di un IV in, ad esempio, la crittografia simmetrica con CBC, è di tollerare l'uso della stessa chiave per crittografare diversi messaggi distinti.

Il nome "vettore di inizializzazione" indica un processo ripetitivo su un dato stato interno, mentre l'IV è lo stato in cui viene inizializzato lo stato. Ad esempio, la funzione hash MD5 è definita come un'azione ripetuta di una funzione di compressione che prende come immettere lo stato corrente (128 bit) e il successivo blocco di messaggi (512 bit) e emette il successivo valore di stato; all'inizio, lo stato è inizializzato su un valore convenzionale che viene chiamato "IV". In questo senso, la maggior parte dei "sali" utilizzati nell'elaborazione della password non sono "vettori di inizializzazione". Ma questo è un po 'una sovrainterpretazione dell'espressione.

Tuttavia, nominare le cose è principalmente una questione di Tradizione. Un "sale" è una specie di IV che:

  • è coinvolto nell'elaborazione di una password;
  • dovrebbe essere distinto per ogni istanza di elaborazione (non può essere un valore convenzionale fisso);
  • richiede solo unicità ("non è ripetuto"), non una selezione uniforme tra lo spazio dei possibili sali (anche se la selezione casuale uniforme è un modo buono ed economico per ottenere unicità con una probabilità schiacciante, assumendo che i sali sono abbastanza lunghi)

I particolari (come il sale / IV è esattamente inserito e in quale punto dell'algoritmo) sono una falsa pista.

    
risposta data 09.08.2011 - 21:24
fonte
3

La risposta sopra è corretta quando "salt" è discusso nel contesto delle password. Tuttavia, il termine "sale" viene anche utilizzato per altri usi di valori casuali ma non segreti.

Per un trattamento molto rigoroso del sale, relativo agli estrattori di casualità, leggi Estrazione crittografica e derivazione chiave: lo schema HKDF . C'è una certa teoria sul perché l'uso del sale sia obbligatorio per ottenere estrattori di casualità generici - sebbene questo non sia terribilmente rilevante nel caso delle password.

    
risposta data 09.08.2011 - 23:00
fonte

Leggi altre domande sui tag