Si conozco la clave derivada DK1
DK1 = PBKDF2 (sha512, password, random_salt, iterations = 1000, longitud de salida = 20)
es posible calcular la clave derivada DK2
DK2 = PBKDF2 (sha512, contraseña || SOME_TEXT, random_salt, iterations = 1000, longitud de salida = 20)
si tengo acceso de administrador completo (tanto al algoritmo de hash en el código fuente como a las sales en la base de datos) pero no sé la contraseña. Sé que esto sería posible si solo usara SHA1 para cifrar la contraseña, pero ¿qué pasa con pbkdf2? Por qué pregunto: quiero usar DK1 para la autenticación de usuarios y DK2 en la base de datos para el anonimato de datos (solo el usuario que inició sesión puede realizar uniones entre tablas firmadas con user.id y tablas firmadas con DK2). Por esa razón, debo asegurarme de que nadie pueda derivar DK2 de DK1; de lo contrario, las tablas de la base de datos no se anonimizarán correctamente y el administrador de la base de datos podría realizar uniones.