Le funzioni di crittografia (codici a blocchi) non possono contenere un input lungo e arbitrario. Quindi, anche se si cripta l'intero file, la funzione di crittografia stessa lo romperà in blocchi e crittograferà i blocchi individualmente. Questo è simile alla crittografia di singoli record, tranne per il fatto che la modalità operativa determinerà se / come questi blocchi sono mescolati tra loro.
Crittando individualmente ogni record, si sta facendo qualcosa di simile alla modalità di funzionamento della BCE. La differenza è che hai partizionato i dati da solo. Ciò preserva le informazioni sulla struttura e qualsiasi attacco contro la BCE si applicherà anche all'approccio di crittografia dei record individualmente (senza riempimento casuale). Ad esempio, se due record sono uguali, sarai in grado di vederlo nel testo cifrato.
Inoltre, crittografando ogni record individualmente, non riempirai completamente i blocchi, il che sarà meno efficiente in termini di velocità e spazio di archiviazione.
Quindi la risposta breve è: è molto meglio crittografare l'intero file e usare una buona modalità di operazione per farlo (CBC o XTS per esempio).
L'unica ragione per cui non si considera la crittografia dell'intero file è se è necessario decrittografare in modo selettivo i record in modo efficiente o sostituire i record. Crittografare l'intero file significa recuperare un record, è necessario decrittografare l'intero file fino al record che ti interessa. E modificare qualsiasi parte di un singolo record significa ricodificare il resto dei dati. Se questo è un problema, esistono metodi standard per la crittografia settore per settore.