Cualquier método moderno de encriptación es seguro contra ataques de texto plano conocido e incluso ataques de texto simple elegido. Lo único que está expuesto por un texto cifrado es su longitud (aproximada). La noción matemática detrás de esto es indistiguable bajo ataques de texto sin formato elegido (IND-CPA para abreviar); lo que esto significa en pocas palabras es que si un adversario elige dos colores de igual longitud y recibe el cifrado de uno de ellos, el adversario no puede saber cuál fue el cifrado. Los dos colores planos pueden tener un prefijo común, pueden diferir en tan solo un bit. Los algoritmos criptográficos de la era de la computadora generalmente están diseñados para ser robustos en términos de los datos que pueden procesar; las entradas pueden ser cualquier conjunto de cadenas de bytes (hasta un límite de longitud muy grande).
Esto supone que el cifrado se realiza correctamente, en particular con un modo válido (como CTR o CBC, nunca EBC) y la selección IV correcta (aleatoria cada vez que se encripta un mensaje siempre está bien).
Tenga en cuenta que IND-CPA no es la historia completa. Algunos ataques pueden ser posibles cuando el adversario envía los textos cifrados elegidos (que pueden ser o no válidos) a la parte con la clave secreta. Un adversario puede obtener información al enviar variaciones de un texto cifrado (incluso si no saben a qué se desencripta), descifrarlos y observar las consecuencias (incluso si no tienen acceso a la salida desencriptada, pueden ser capaces de observar cuánto tiempo lleva, si provoca ciertos errores, etc.). Muchos sistemas basados en la criptografía en realidad requieren indistinguibilidad bajo ataques de texto cifrado con elección adaptativa (IND-CCA2). La protección contra ataques de texto cifrado elegidos requiere autenticación.
La mejor manera de autenticar los datos, que protege contra los ataques de texto cifrado seleccionados, es utilizar el modo de cifrado autenticado . Consulte ¿Por qué debo usar Authenticated ¿Cifrado en lugar de solo cifrado? para una explicación más detallada. Los más populares incluyen GCM , CCM , OCB y EAX , CWC . Cualquiera de estos cinco es tan seguro como se obtiene; vea Elección del modo de cifrado autenticado para mensajes completos para Otras consideraciones como el rendimiento. Si tiene que usar una biblioteca que no proporciona modos AEAD, puede combinar un MAC con CBC o CTR, pero hacerlo bien es complicado ; en 2017, creo que si su biblioteca no proporciona modos AEAD, debería obtener una biblioteca más actualizada.