I have 2 devices, and I want to configure a secure communication channel between them. The only common secret is a passphrase (7 to 20 ASCII characters). If I use PBKDF2 (from RFC 2898) with a common salt, iterations and passphrase to generate the AES256-CBC and IV key on both sides, I think I can authenticate the user and provide an encrypted channel in one step. Is this true, or are there some reasons why I saw people use PBKDF2 to verify passwords?
My reasoning is that both parties must know the passphrase to generate the same key and IV. Therefore, if device B can decrypt data from device A, they both have demonstrated that they have the same passphrase.
source
share