PBKDF2 dovrebbe essere sicuro come funzione di derivazione della chiave , che più o meno significa che conoscere parte dell'output byte non lascia informazioni utilizzabili per indovinare gli altri byte di output. Se produci 20 byte con PBKDF2 ma l'hacker ne conosce 12, non può ancora indovinare l'8 rimanente con una probabilità migliore di pura fortuna (cioè 2 -64 , poiché 8 byte è 64 bit).
Si noti, tuttavia, che la "P" in PBKDF2 significa "password", e la principale debolezza di qualsiasi cosa che coinvolga le password è che le password sono, in pratica, indovinate tramite attacchi di dizionario. Pur avendo un output parziale non produce informazioni immediate sugli altri byte di output, può servire come test rapido per un'enumerazione brutale di password possibili.
Un attacco di dizionario "normale" su PBKDF2 presuppone una situazione in cui la password è stata espansa in una chiave di crittografia simmetrica, utilizzata per crittografare un dato. L'utente malintenzionato "prova" le password, calcolando ogni volta la chiave corrispondente, quindi cercando di decrittografare i dati e vedere se il risultato "ha senso". Se l'autore dell'attacco conosce alcuni dei byte prodotti da PBKDF2, può saltare il passo "decrittografia con senso", il che lo aiuta un po '.