1
votes

The default params used for AES encryption with CryptoJS are:

  • Cypher: AES-256
  • Mode: cbc
  • Key Derivation: evpkdf (OpenSSL custom, MD5, 1 iteration)

Are these safe to use?

Related: What are the AES parameters used and steps performed internally by crypto-js while encrypting a message with a password?

1
EVPKDF is a deprecated passphrase-based key derivation class, it is no longer considered secure enough. - zaph
If your password is short, then this is pretty bad. If not (at least 20 characters), then it's ok. You should probably define the level of security that is appropriate for you. - Artjom B.
What does it use for a MAC? Does it even use a MAC? - Scott Arciszewski

1 Answers

1
votes

Answering my own question; NO! ABSOLUTELY NOT!

CryptoJS by default does only a single iteration of MD5 hashing over the password, which is extremely weak unless the password is extremely strong!

Correct key derivation of arbitrary passwords should do key derivation with something along the 30k iterations!