Ciò che accelererebbe le cose sarebbe che i campi sensibili fossero cifrati usando Advanced Encryption Standard (AES) su un sistema con una CPU AES-Instruction-Set- (IS) -capable, preferibilmente con chiavi a 256-bit, preferibilmente in Modalità Cocket-Block Chaining (CBC) o, almeno, Electronic Codebook Mode (ECB) con un salt - questo può essere fatto semplicemente anteponendo almeno 1 carattere / byte ai dati da crittografare.
Ciò che sarebbe ancora più sicuro sarebbe criptare tutto tranne / boot con AES in Extended Schedule con la modalità Ciphertext Stealing (XTS) in aggiunta così sensibili nel database. Puoi utilizzare TrueCrypt per crittografare un intero disco, partizione o semplicemente un contenitore TrueCrypt in questo modo, tuttavia, ti consiglio di crittografare il sistema in modo che nessuno può vedere il codice PHP (?) contenente la chiave di crittografia se i tuoi dischi vengono sottratti.
Un attacco di forza bruta con testo in chiaro noto su una chiave AES per dati crittografati in modalità ECB su un Cray XE6 con 1 milione di chip della serie 6200 Opteron richiederebbe al massimo 1.34188978904574248034587874518e + 71 anni solo per le istruzioni AES-NI. Farlo su un Cray XK6 lo collocherebbe da qualche parte tra 1.34e + 69 anni al massimo. Questo è, tuttavia, solo un attacco a forza bruta, senza rompere AES. La rottura parziale di AES lo velocizzerebbe in modo esponenziale.
La cosa più importante è usare una passphrase complessa. Ciò significa che deve essere una lunga stringa di un piccolo insieme di caratteri (ad esempio le lettere dell'alfabeto inglese) o una breve stringa di, in pratica, bit casuali il cui valore byte non è zero (null-terminator). Utilizzando una frase passata di 8 caratteri composta da lettere dell'alfabeto inglese, inserisce un attacco a forza bruta sui dati crittografati con AES a sotto i 10 secondi su un Cray XE6 con 1 milione di chip Opteron serie 6200 e sotto 100 millisecondi su un Cray XK6. Vedi Attacco brute force non in chiaro noto al dizionario su AES-256 .
Ancora più sicuro sarebbe utilizzare qualcosa di diverso da AES con un acceleratore hardware, perché l'accelerazione AES è ampiamente disponibile. Ancora più sicuro sarebbe utilizzare entrambi.