Missing blinding for RSA algorithm
Context used in decryption or signature verification is not blinded against timing attacks
Description
This defect occurs when you do not enable blinding for an RSA context object before using the object for decryption or signature verification.
For instance, you do not turn on blinding in the context object rsa
before this decryption
step:
ret = RSA_public_decrypt(in_len, in, out, rsa, RSA_PKCS1_PADDING)
Risk
Without blinding, the time it takes for the cryptographic operation to be completed has a correlation with the key value. An attacker can gather information about the RSA key by measuring the time for completion. Blinding removes this correlation and protects the decryption or verification operation against timing attacks.
Fix
Before performing RSA decryption or signature verification, enable blinding.
ret = RSA_blinding_on(rsa, NULL);
Examples
Result Information
Group: Cryptography |
Language: C | C++ |
Default: Off |
Command-Line Syntax:
CRYPTO_RSA_NO_BLINDING |
Impact: Medium |
Version History
Introduced in R2018a
See Also
Incompatible
padding for RSA algorithm operation
| Missing padding
for RSA algorithm
| Weak padding for
RSA algorithm
| Nonsecure RSA
public exponent
| Find defects (-checkers)
Topics
- Interpret Bug Finder Results in Polyspace Desktop User Interface
- Interpret Bug Finder Results in Polyspace Access Web Interface (Polyspace Access)
- Address Results in Polyspace User Interface Through Bug Fixes or Justifications
- Address Results in Polyspace Access Through Bug Fixes or Justifications (Polyspace Access)