Reference Guide
Chapter 6: Changes Between Releases 4.1.2 and 4.1.4 55
RSA BSAFE Crypto-C Micro Edition 3.x to 4.1.4 Migration Guide
Cryptographic Strength Enforcement
By default, Crypto-C ME 4.1.4 requires cryptographic keys for all asymmetric
operations to be of sufficient strength. If an operation is attempted with a key that is
not strong enough, the operation will fail with an error code of
R_ERROR_BAD_STRENGTH.
Cryptographic strength is an abstract measure of the security provided by particular
cryptographic keys and algorithms when used to protect data. FIPS 140-2 mandates
particular strength levels, but outside of FIPS requirements it is always good security
practice to ensure keys are strong enough to protect data.
For more information about security strength and key management, see SP 800-131A
revision 1 and SP 800-57 Part 1 revision 4. In particular, see “Table 2: Comparable
strengths” in SP 800-57 Part 1 revision 4, that relates specific asymmetric key sizes to
security strength values.
Crypto-C ME has two strength settings:
• Minimum protection strength:
This setting controls the strength check that is done automatically when
asymmetric keys are used to protect data by encryption, key wrapping, signing or
key agreement.
• Minimum processing strength:
This setting controls the strength check that is done automatically when
asymmetric keys are used to process existing data by decryption, key unwrapping
or verifying a signature.
The default values for these settings correspond to the following minimum key sizes:
For more information see the following settings:
• R_LIB_CTX_INFO_ID_MIN_PROCESS_STRENGTH
• R_LIB_CTX_INFO_ID_MIN_PROTECT_STRENGTH
Protection Processing
Default minimum strength 112 bits 80 bits
RSA keys 2048 bits 1024 bits
DSA keys
1
1
For DSA and Diffie-Hellman keys, the given size is the minimum public key size. For 112 bits of strength, the
corresponding private key must also be >= 224 bits
2048 bits 1024 bits
Diffie-Hellman keys
1
2048 bits 1024 bits
Elliptic Curve keys 224 bits 160 bits