OpenSSL -nopad con modalità ECB

0

Stavo solo cercando di verificare se OpenSSL utilizza PCSK5 come indica la documentazione quando ho riscontrato il seguente problema.

Prima ho crittografato un testo in chiaro e l'ho crittografato usando DES-ECB. Mi aspettavo di vedere i byte extra imbustati nel messaggio decrittografato, ma sembra che OpenSSL sia piuttosto intelligente e rimuoverli prima di stampare il risultato.

Così ho provato a usare l'opzione -nopad , che

disable standard block padding

dopo la documentazione ufficiale. In questo modo, i byte extra non sembrano essere stati rimossi e il risultato è incoerente con PCSK5. La mia domanda è: questo prova qualcosa? La disattivazione del pad pad block standard (PCSK5) non disabilita il padding, quindi cosa fa esattamente? Che tipo di padding usa?

Ecco i miei test:

Plaintext (What is the padding??????)

5B E0 A5 BD 8C CD F9 22 05 10 28 5C F8 6B 8D 22 6A 1F 06 A3 3E E7 C9 68 07 4E 92 AA >8D 07 EE AD

Decrypted (nopad)

57 68 61 74 20 69 73 20 74 68 65 20 70 61 64 64 69 6E 67 3F 3F 3F 3F 3F 3F 0A 06 06 >06 06 06 06

Decrypted (regular padding)

57 68 61 74 20 69 73 20 74 68 65 20 70 61 64 64 69 6E 67 3F 3F 3F 3F 3F 3F 0A

    
posta Marcos Valle 30.09.2014 - 02:04
fonte

1 risposta

3

Non puoi vedere il padding in ciphertext perché il testo cifrato è crittografato.

Per la riga di comando openssl enc , -nopad ha rispecchiato efficacemente i significati per crittografare e decrittografare.

-nopad su encrypt significa che non viene aggiunto padding (e il testo in chiaro deve essere un multiplo esatto del blocco). Ovviamente non hai specificato -nopad su encrypt, quindi il riempimento PKCS5 è stato aggiunto per impostazione predefinita (prima della crittografia).

Sulla decrittografia, per impostazione predefinita, il padding PKCS5 dovrebbe essere presente e rimosso; se il padding non è valido si verifica un errore. -nopad significa che non viene effettuato alcun tentativo di rimuovere il riempimento; se il padding è presente, come nel testo cifrato, viene lasciato nei dati come hai visto. Se la crittografia è stata eseguita (con successo) con -nopad hai bisogno di -nopad su decrypt in modo da non provare a rimuovere il riempimento che non è lì e fallisce.

PS- Sei consapevole che il DES singolo è stato rotto e obsoleto ormai da anni e la modalità ECB consente spesso interruzioni del sistema se non utilizzata con grande cura?

Lezioni apprese e idee sbagliate riguardanti crittografia e crittologia

Blocca le modalità di concatenamento per evitare

Come si sceglie attacchi di testo normale contro BCE implementati nel mondo reale?

link

link

    
risposta data 30.09.2014 - 10:08
fonte

Leggi altre domande sui tag