Se conosco la chiave derivata DK1
DK1 = PBKDF2 (sha512, password, random_salt, iterations = 1000, lunghezza dell'output = 20)
è possibile calcolare la chiave derivata DK2
DK2 = PBKDF2 (sha512, password || SOME_TEXT, random_salt, iterations = 1000, lunghezza dell'output = 20)
se ho accesso completo all'amministratore (sia all'algoritmo di hashing nel codice sorgente che ai sali nel DB) ma non conosco la password? So che sarebbe possibile se usassi SHA1 solo per cancellare la password ma per quanto riguarda pbkdf2? Perché chiedo: voglio utilizzare DK1 per l'autenticazione utente e DK2 nel DB per l'anonimizzazione dei dati (solo l'utente che ha effettuato l'accesso può eseguire join tra tabelle firmate con user.id e tabelle firmate con DK2). Per questo motivo devo assicurarmi che nessuno possa derivare DK2 da DK1 altrimenti le tabelle DB non sarebbero correttamente anonimizzate e l'amministratore DB potrebbe eseguire join.