Differenza tra il sale e il riempimento casuale nella crittografia

3

Vorrei sapere qual è la differenza tra l'uso di sale e l'utilizzo di "padding casuale" nella crittografia. Conosco il termine sale quando lo usiamo con l'hashing. In che modo "il riempimento casuale" differisce da "salatura"? Potrebbe essere il caso che questi termini siano usati in contesti diversi, ma significano lo stesso o fanno?

Articolo di Wikipedia su riempimento casuale e salatura . Ho letto entrambi gli articoli di wikipedia ma li vedo come sono uguali ma sono usati in contesti leggermente diversi. Forse qualcuno che ha più familiarità con questi termini potrebbe spiegare cosa sta succedendo?

    
posta Tuki 16.11.2018 - 21:58
fonte

1 risposta

2

Quando utilizziamo un codice a blocchi, che ha una certa dimensione di blocco come DES ha 64 bit e AES ha dimensioni di blocco a 128 bit. Con le modalità operative, supportiamo dimensioni più grandi di testi in chiaro rispetto alle dimensioni dei blocchi.

Quando la dimensione del testo in chiaro non è divisibile esattamente dal blocco del codice, una parte deve essere riempita per l'ultimo blocco (riempimento) e dopo la decrittografia deve essere rimossa (non imbottita). Esistono vari tipi di imbottitura; come;

xxxxxxxxxxx1000000000 //bit padding
xxxxxxxxxxx0000000005 //ANSI X.923,
xxxxxxxxxxx0505050505 //PKCS#5 or PKCS#7 padding

Il primo può essere rimosso cercando il primo 1 da destra. Per il secondo, ci deve essere x (in numero) 0x (in byte) aggiunto al testo in chiaro. L'aggiunta di bit casuali non aiuta, dal momento che non possiamo risolvere durante l'annullamento del pad.

Nota: il padding è richiesto anche nella crittografia a chiave pubblica.

    
risposta data 16.11.2018 - 22:48
fonte

Leggi altre domande sui tag