In CryptoJS's wiki, it states that:
CryptoJS supports AES-128, AES-192, and AES-256. It will pick the variant by the size of the key you pass in. If you use a passphrase, then it will generate a 256-bit key.
That last sentence says if I use a passphrase, "it" will generate a 256-bit key. So my question is: how does the AES function generate the key from the passphrase? Does it use a standard KDF
like PBKDF2
? Or does it use a custom KDF
that only exists in the AES function?