Vettore di inizializzazione con blocco di cifratura

6

Il vettore di inizializzazione utilizzato per crittografare un blocco di dati è sempre statico o dinamico? Se è dinamico, dovrei inviare la IV insieme alla chiave del destinatario giusto? Questo normalmente non accade.

    
posta user1184 25.01.2011 - 10:41
fonte

4 risposte

6

Negli algoritmi di cifratura a blocchi l'IV non è segreto. Solo la chiave è segreta. La maggior parte delle volte una IV è solo un blocco di dati casuali e viene inviata insieme al messaggio cifrato al destinatario. In realtà l'IV può essere considerato come un parametro dell'algoritmo.

    
risposta data 25.01.2011 - 12:00
fonte
3

L'IV non è effettivamente utilizzato per crittografare i dati. È usato come blocco -1 nelle modalità di concatenamento.

In alcune modalità di cifrari a blocchi, ad es. CBC , la cifra alimenta l'output del blocco precedentemente crittografato, nel blocco successivo, di solito da XORing con il testo in chiaro prima di crittografare il blocco successivo. Ciò consente una diffusione aggiuntiva e impedisce il riconoscimento di blocchi identici di testo normale.

Ma cosa fare a proposito di quel primo blocco, in cui non esiste l'uscita "blocco precedente" che è possibile XOR con il primo blocco?
È qui che entra in gioco la IV: sono dati casuali, unici, non segreti , che puoi inserire nel primo blocco.
Di nuovo, questo fornisce diffusione, sia sul primo blocco, sia tra insiemi di testo semplice - ad es. se si cripta lo stesso testo in chiaro due volte, non si desidera che sia ovvio dal testo cifrato che sono identici.
Da qui la necessità per la IV di essere unica (almeno diversa) e casuale.

E sì, la IV stessa non è segreta, e sicuramente ha bisogno di trasmetterla insieme al testo cifrato. Non dimenticare, dovrebbe essere casuale per uso.

    
risposta data 25.01.2011 - 23:37
fonte
1

L'IV è dinamico. Dovrebbe essere diverso per ogni messaggio che crittografate. (Per alcune modalità, l'IV potrebbe essere casuale, per altri potrebbe essere prevedibile ma diverso per ogni messaggio.)

Il destinatario deve conoscere la IV da decifrare. A seconda della libreria di crittografia che si utilizza, è possibile o non è necessario inviare l'IV esplicitamente al destinatario. Quando si crittografa un messaggio, molte librerie crittografiche includono l'IV come parte del testo cifrato. In questo caso, se si chiama la libreria crittografica per crittografare il messaggio e trasmettere il testo cifrato risultante al destinatario, il destinatario otterrà già la IV. Quindi, potresti inviare l'IV al destinatario senza rendertene conto, perché la libreria crittografica lo ha inserito in modo utile nel testo cifrato per te, per semplificarti la vita.

    
risposta data 26.01.2011 - 06:57
fonte
0

In modalità CBC, questo rende il testo cifrato risultante molto più prevedibile e suscettibile a un attacco di dizionario. Se fosse usato per crittografare più flussi di dati, sono possibili attacchi di dizionario, dato che i flussi hanno una sequenza iniziale comune.

    
risposta data 11.09.2013 - 02:54
fonte

Leggi altre domande sui tag