"Secreto" depende del contexto. ¿Secreto de qué, dónde, cuándo, contra quién?
Si tiene un cifrado de bloque ideal, entonces puede usarlo en el modo de operación , que lo convierte en un Sistema de encriptación para mensajes de datos de longitud arbitraria. Si el cifrado de bloque es ideal (no hay manera de distinguir el cifrado de bloque de una permutación seleccionada al azar que sea más fácil que probar todas las claves posibles), y los bloques son lo suficientemente grandes, entonces el cifrado garantizará la confidencialidad hasta el exhaustivo esfuerzo de búsqueda.
Tenga en cuenta los puntos sutiles, sin embargo:
- La mayoría de los modos de cifrado de bloque requieren un IV con algunos requisitos que dependen del modo. Por ejemplo, CBC requiere un imprevisible aleatoriamente uniforme IV. Algunos otros modos son menos estrictos y solo necesitan una IV no repetitiva (por ejemplo, un contador de mensajes es suficiente).
- El cifrado no incluye integridad . Sin embargo, algunos modos incluyen una verificación de integridad, lo cual es una buena idea (por ejemplo, GCM ).
- Según el modo, es posible que se filtre información al desencriptarla; CBC, en particular, fue atacado muchas veces (consulte rellenar oráculos ). De nuevo, los modos con controles de integridad como GCM tienden a funcionar mejor.
- El cifrado oculta los datos contenidos , no los datos longitud . La longitud puede filtrar información, en particular cuando se usa con compresión (porque la compresión hace que la longitud de los datos dependa del contenido de los datos).
- El cifrado no crea el secreto, simplemente lo mueve. Con el cifrado, puede reducir el problema de mantener confidenciales los gigabytes de datos, en el problema de mantener confidencial una sola clave de 128 bits. Supuestamente, el último es más fácil que el anterior, pero aún tienes que hacer algo (eso se llama "administración de claves").