Crear tu propio algoritmo es nunca una buena idea. Incluso los criptógrafos entrenados, es decir, las personas que trabajaron durante años en los oscuros túneles de la academia y los campos de batalla del congreso científico, recurrirán a tal inventiva solo cuando todo lo demás haya fallado; e incluso entonces, prefieren sugerir esquemas para ser validados por sus feroces compañeros, y ciertamente no se implementan en la producción de inmediato. La mayor parte de la capacitación académica consiste en adquirir un conocimiento intuitivo de los peligros del campo de uno.
Diseñar tu algoritmo es como bailar en un campo minado.
Sin embargo, la imposibilidad de simplemente extender el número de iteraciones de un hash almacenado, comenzando con el valor de hash mismo, es un defecto conocido de los candidatos habituales (PBKDF2, bcrypt y scrypt). Si tiene que vivir con él, puede probar el esquema descrito allí , pero explícitamente niego que la seguridad se aumentaría de esa manera. Mi entrenamiento y mis años de experiencia en el campo me permiten afirmar con cierta confianza que las rondas de hash adicionales que sugiero no reducirían la seguridad .
En el futuro, las cosas mejorarán porque se ha desarrollado una nueva competencia abierta para algoritmos de hashing de contraseñas Lanzado, utilizando el modelo de las competiciones AES, eSTREAM y SHA-3 anteriores. Las presentaciones deben presentarse a fines de enero de 2014. Se obtendrá una cartera de "buenos algoritmos" a mediados de 2015, según el cronograma provisional. La convocatoria para envíos incluye explícitamente la siguiente funcionalidad deseada:
Capacidad para transformar un hash existente en una configuración de costo diferente sin el conocimiento de la contraseña.
Por lo tanto, podemos esperar una solución a su problema en poco más de dos años. Solo dos años, eso es muy rápido según los estándares de diseño criptográfico.
Mientras tanto, tendrá que recurrir a la disposición habitual de esperar a que los usuarios inicien sesión para que su contraseña pueda volver a aparecer con más iteraciones. La mayoría de los usuarios que no han iniciado sesión durante más de un año probablemente hayan olvidado su contraseña de todos modos.