Inspirado por esta pregunta sobre la dificultad de descifrar una base de datos KeePass , me pregunto si cambiar el número predeterminado de iteraciones en una aplicación de cifrado (por ejemplo, KeePass) aumenta la seguridad. Espero que la pregunta sea aplicable a una variedad de aplicaciones; Si no, supongo que hoy tengo curiosidad por KeePass.
Mi razonamiento es que un atacante no conoce la cantidad de iteraciones antes de tiempo y, por lo tanto, tiene dos opciones:
- Supongamos que el usuario de la aplicación de cifrado no se molestó en cambiar el número predeterminado de iteraciones, o
- Verifique la validez de la contraseña para un rango de miles de posibles opciones de iteración (el valor predeterminado es 6.000, por lo que tal vez sea entre 5.000 y 20.000 o más)
Debido a que el # 2 es mucho más trabajo, es una apuesta más segura para que el usuario cambie el valor predeterminado. Mi teoría sería que usar un número como 6,001 en realidad aumenta sustancialmente la seguridad, ya que el atacante centrará sus esfuerzos en el valor predeterminado de 6,000.
He leído algunas preguntas relacionadas, que tratan en general cuántas iteraciones elegir. Lo que no me queda claro es si usar una aplicación como KeePass, donde el atacante conoce el número predeterminado , es importante cambiar el valor predeterminado. Si mi corazonada es incorrecta, me dirá que usar 6,001 iteraciones en KeePass es tan seguro como 6,000.