rspec/rules/S4426/description.adoc

19 lines
801 B
Plaintext
Raw Normal View History

2020-06-30 12:49:37 +02:00
Most of cryptographic systems require a sufficient key size to be robust against brute-force attacks.
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf[NIST recommendations] will be checked for these use-cases:
*Digital Signature Generation* and *Verification:*
* p ≥ 2048 AND q ≥ 224 for DSA (`+p+` is key length and `+q+` the modulus length)
* n ≥ 2048 for RSA (`+n+` is the key length)
2020-06-30 12:49:37 +02:00
*Key Agreement*:
2020-06-30 12:49:37 +02:00
* p ≥ 2048 AND q ≥ 224 for DH and MQV
* n ≥ 224 for ECDH and ECMQV (Examples: `+secp192r1+` is a non-compliant curve (`+n+` < 224) but `+secp224k1+` is compliant (`+n+` >= 224))
2020-06-30 12:49:37 +02:00
*Symmetric keys*:
* key length ≥ 128 bits
2020-06-30 12:49:37 +02:00
This rule will not raise issues for ciphers that are considered weak (no matter the key size) like `+DES+`, `+Blowfish+`.