Sì. A causa di attacchi con testo in chiaro noto, un avversario che può trovare il testo in chiaro, potrebbe usarlo per scoprire l'hash per decifrare i testi cifrati a cui l'avversario non ha il testo in chiaro.
AES è stato appositamente creato per impedire a un utente malintenzionato di scoprire la chiave, anche se conosce sia il testo in chiaro che il testo cifrato.
Se vuoi ottenere prestazioni e utilizzare ancora XOR, sarebbe opportuno aggiungere caratteri casuali alla password e quindi includere questi caratteri con il messaggio.
Ad esempio, per crittografare M, si genera un nonce casuale N.
Quindi usi:
PBKDF2 (Password + N) xor M = C
Invia NC al destinatario
NC viene decodificato selezionando il nonce, quindi il destinatario fornisce la password pre-condivisa, quindi
PBKDF2 (Password + N) xor C = M.
Per scoprire la chiave per un messaggio crittografato con XOR + PBKDF2 (Password + A) e avere un testo in chiaro e un testo cifrato appartenente a PBKDF2 (Password + N), avrebbe comunque dovuto craccare il PBKDF2 usando la bruteforce semplice.