Diciamo che ho un server che crittografa un file con una chiave simmetrica, ad es. AES-CBC e lo invia ai client che lo decodificano. Fornisce l'integrità dei dati quando decifrato? Oppure è possibile che qualcuno manomettere il file mentre è ancora crittografato, e in seguito quando il client lo decifra, produrre un file modificato?
Di solito vedo l'integrità e l'autenticità dei dati discussi in termini di utilizzo delle firme digitali o MAC, ma mai nel contesto della crittografia. Ho anche visto benchmark che mostrano che la crittografia è più costosa dell'hashing, ma non è la mia considerazione principale.
Aggiorna
Ho provato un esperimento, in cui ho usato lo strumento openssl in Linux per crittografare un file. Poi, ho provato a modificare il file in vari modi (cambiando un byte, cancellando un byte, aggiungendo un byte). In ogni caso, quando ho provato a decifrare, avrei ricevuto un messaggio di "decifrazione errata". I comandi che ho usato erano:
openssl enc -aes-128-cbc -in test -out test.enc
openssl enc -d -aes-128-cbc -in test.enc -out test.dec