Tag Info

New answers tagged

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 ...


3

The article you linked to explains everyting Salt concatenated with i encoded as a big-endian 32-bit integer So, || is concatenation, INT_32_BE is a function that encodes the 32 bit integer i as big endian. On a big endian system, INT_32_BE would do nothing. On a little endian architecture, it would do the encoding. i goes from 1 to dklen/hlen. ...



Top 50 recent answers are included