Sì.
Questo è un problema con qualsiasi sistema crittografico che non protegge l'integrità, come con una firma o hmac. Vedete, la crittografia e la decrittografia sono solo operazioni matematiche. È sempre possibile eseguire un'operazione matematica su un blob di dati binari e otterrà sempre un risultato. La crittografia di una decrittografia non comporta errori, perché i dati vengono modificati.
L'impatto specifico della modifica del testo cifrato dipende dalla modalità operativa e dai dati modificati. C'è un famoso attacco in cui girare un po 'nel vecchio protocollo ATM (Automated teller machine) protetto da DES cambierebbe il valore di una transazione - deposita un numero sconosciuto di dollari invece dell'importo che hai digitato. L'attaccante non avrebbe saputo quale sarebbe stato il risultato, ma l'attaccante avrebbe depositato una piccola somma di denaro e il sistema avrebbe avuto un grande valore massimo, quindi le probabilità erano che una modifica "casuale" alla somma avrebbe comportato un deposito più grande .
I blocchi di swap e gli altri attacchi a cui fai riferimento sono destinati a cambiamenti significativi noti. La causa principale è sempre la stessa: mancanza di protezione dell'integrità del messaggio.
Ora, ci sono alcune eccezioni a questo, nella forma di GCM, XST e un paio di altre modalità di crittografia più recenti. Queste modalità includono il controllo dell'integrità come parte dell'algoritmo, invece di richiedere l'implementazione di un controllo dell'integrità.
Il vettore di inizializzazione rende crittografati due valori con la stessa chiave crittografata su valori diversi. Senza IV, quando riutilizzi le chiavi e ti risenti per lo stesso messaggio riceverai lo stesso testo cifrato.