Necesito cifrar de forma segura los datos que estamos almacenando, pero para cada cliente necesito el mismo texto simple para cifrar en el mismo texto cifrado. La razón de esto es que los datos aún son necesarios para un algoritmo de coincidencia de patrones que le aplicamos, por lo que no funcionaría si el texto encriptado siempre fuera diferente para el mismo texto simple.
Dado este requisito, estoy usando el cifrado AES con una clave de 256 bits, creando un hash MD5 aleatorio como contraseña y un salt & IV para cada cliente. No me importa si las personas pueden detectar patrones en los datos debido a que coinciden los textos cifrados, pero me importa que no puedan recuperar la clave para descifrar todos los datos de la clave de ese cliente.
Si fue una parte de los datos que tenían tanto el texto en claro como el correspondiente texto cifrado, ¿qué tan fácil es descifrar la clave? ¿Sigue siendo 2 ^ (n-1) para la clave de n bits o por ahí, o es ahora un riesgo de seguridad tener un sal fijo y IV?
Leí que cada texto cypher coincidente conocido y texto sin formato puede reducir el costo de atacar la clave N veces, ya que pueden adjuntarse más simultáneamente ... ¿es esto cierto / cuántos pares conocidos necesitaría ser significativo?