# Tag Info

3

The documentation says it's OpenSSL, not PBKDF2: When you use a CipherParams object in a string context, it's automatically converted to a string according to a format strategy. The default is an OpenSSL-compatible format This can be verified in the source code. The implementation of the OpenSSL KDF is in evpkdf.js. The key derivation function is ...

1

I assume you are invoking it like this: CryptoJS.AES.encrypt("Message", "Secret Passphrase"); As of 3.1.2 the default key derivation function is OpenSSLKdf as configured here and implemented here and here.

1

Some points towards an answer: Why HMAC-SHA3? HMAC and its security proofs have been devised for Merkle-Damgård hashes, and SHA3 is not one. HMAC-SHA256 would be fine (Updated per comment: the Keccak submission does endorse its use with HMAC, using a block size parameters of 576 (resp. 832, 1088, 1152) bits for the hash with output of 512 (resp 384, 256, ...

1

The way the iterations work is that it roughly increases your security (in bits) by $\log_2(iterations)$. So you would still need $\frac{\log{2}}{\log{97}}\cdot (256 - \log_2(10000)) \approx 37$ characters in your password to have 256-bits of security. Think of it this way, if you have $2^{256}$ possible keys, that is an astronomically large number. Much ...

Top 50 recent answers are included