Ho sentito affermare che è un comune malinteso che la crittografia fornisca l'integrità dei dati.
Una domanda molto votata su questo argomento - La crittografia garantisce l'integrità? - ha alcuni molto risposte penetranti. Ad esempio, la risposta più votata dichiara:
No. This is easy to see if you consider the one-time pad, a simple (theoretically) perfectly secure system. If you change any bit of the output, a bit of the clear text will change, and the recipient has no way to detect this.
Questo è perfettamente logico, quindi penso che sia chiaro che la risposta a garantire l'integrità della crittografia è chiaramente no, ma è corretto affermare che la crittografia abilita altri mezzi di verifica dell'integrità, perché un utente malintenzionato potrebbe aver bisogno di violare la riservatezza determinare quale modifica di un messaggio può essere applicata e non essere rilevata se viene applicato un controllo di integrità di livello superiore sui dati?
Per esempio se un messaggio ha già una struttura definita che un ricevitore si aspetta (cioè - solo un sottoinsieme di possibili modifiche ai bit sarebbe valido), e l'atto di nascondere il contenuto di quel messaggio rende molto difficile per un utente malintenzionato per selezionare correttamente una di quelle possibili modifiche (o in effetti se non hanno informazioni, il meglio che possono fare è cambiare casualmente i bit), allora in quel caso, la crittografia abilita almeno l'integrità, corretto? O visto in un altro modo, perché la crittografia potrebbe costringere un utente malintenzionato a modificare al meglio i bit del testo cifrato, quindi questo potrebbe consentire ad alcune informazioni preesistenti di servire da controllo di integrità (forse non efficace)? cioè - i bit modificati potrebbero causare errori di ortografia in un documento, o potrebbero causare la mancata compilazione corretta di un file di codice crittografato, nonostante un ricevitore in qualche modo sapesse che il mittente non avrebbe sbagliato a digitare quelle parole specifiche o avrebbe inviato il codice di compilazione.