@@ -1198,8 +1198,11 @@ rapidly.
1198
1198
In line with OpenSSL's recommendation to use pbkdf2 instead of
1199
1199
[ ` EVP_BytesToKey ` ] [ ] it is recommended that developers derive a key and IV on
1200
1200
their own using [ ` crypto.pbkdf2() ` ] [ ] and to use [ ` crypto.createCipheriv() ` ] [ ]
1201
- to create the ` Cipher ` object. A warning is emitted when counter mode (e.g. CTR,
1202
- GCM or CCM) is used in ` crypto.createCipher() ` in order to avoid IV reuse.
1201
+ to create the ` Cipher ` object. Users should not use ciphers with counter mode
1202
+ (e.g. CTR, GCM or CCM) in ` crypto.createCipher() ` . A warning is emitted when
1203
+ they are used in order to avoid the risk of IV reuse that causes
1204
+ vulnerabilities. For the case when IV is reused in GCM, see [ Nonce-Disrespecting
1205
+ Adversaries] [ ] for details.
1203
1206
1204
1207
### crypto.createCipheriv(algorithm, key, iv)
1205
1208
- ` algorithm ` {string}
@@ -2241,6 +2244,7 @@ the `crypto`, `tls`, and `https` modules and are generally specific to OpenSSL.
2241
2244
[ HTML5's `keygen` element ] : http://www.w3.org/TR/html5/forms.html#the-keygen-element
2242
2245
[ NIST SP 800-131A ] : http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar1.pdf
2243
2246
[ NIST SP 800-132 ] : http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf
2247
+ [ Nonce-Disrespecting Adversaries ] : https://github.com/nonce-disrespect/nonce-disrespect
2244
2248
[ OpenSSL's SPKAC implementation ] : https://www.openssl.org/docs/man1.0.2/apps/spkac.html
2245
2249
[ RFC 2412 ] : https://www.rfc-editor.org/rfc/rfc2412.txt
2246
2250
[ RFC 3526 ] : https://www.rfc-editor.org/rfc/rfc3526.txt
0 commit comments