Lo que aceleraría las cosas sería tener los campos confidenciales encriptados utilizando el Estándar de cifrado avanzado (AES) en un sistema con una CPU con capacidad AES-Instruction-Set- (IS), preferiblemente con claves de 256 bits, preferiblemente en Modo de encadenamiento de bloques Ciper (CBC) o, al menos, modo de libro de códigos electrónico (ECB) con una sal: esto se puede hacer simplemente añadiendo al menos 1 carácter / byte a los datos a cifrar.
Lo que sería aún más seguro sería cifrar todo, excepto / bootear con AES en el horario extendido con el modo de robo de texto cifrado (XTS) además campos tan confidenciales en la base de datos. Puede utilizar TrueCrypt para cifrar un disco completo, una partición o simplemente un contenedor TrueCrypt de esta manera. Sin embargo, recomendaría el cifrado del sistema para que nadie puede ver el código PHP (?) que contiene la clave de cifrado si su (s) disco (s) son robados (s).
Un ataque de fuerza bruta de texto simple conocido en una clave AES para datos encriptados en modo ECB en un Cray XE6 con 1 millón de chips Opteron 6200 de la serie tomaría un máximo de 1.3418897890454524248034787874518e + 71 años solo por las instrucciones AES-NI. Hacerlo en un Cray XK6 lo colocaría en algún lugar alrededor de 1.34e + 69 años como máximo. Esto es, sin embargo, simplemente un ataque de fuerza bruta, sin romper AES. Romper parcialmente AES lo aceleraría exponencialmente.
Lo más importante es utilizar una frase de contraseña compleja. Esto significa que debe ser una cadena larga de un pequeño conjunto de caracteres (por ejemplo, las letras del alfabeto inglés) o una cadena corta de, básicamente, bits aleatorios cuyo valor de byte no es cero (terminador nulo). El uso de una frase de paso de hasta 8 caracteres que consiste en las letras del alfabeto inglés coloca un ataque de fuerza bruta en datos cifrados con AES en menos de 10 segundos en un Cray XE6 con 1 millón de chips Opteron 6200-series y por debajo de 100 milisegundos en un Cray XK6. Consulte Ataque de fuerza bruta de texto sin formato conocido sin diccionario en AES-256 .
Incluso más seguro sería usar algo que no sea AES con un acelerador de hardware, porque la aceleración de AES está ampliamente disponible. Aún más seguro sería usar ambos.