CVE-2024-1544

ECDSA nonce bias caused by truncation

State
Published
Severity
4.1 Medium
Published
Aug 27, 2024
Updated
Jan 27, 2026
Reserved
Feb 15, 2024

Read the record on cve.org

Description

Generating the ECDSA nonce k samples a random number r and then truncates this randomness with a modular reduction mod n where n is the order of the elliptic curve. Meaning k = r mod n. The division used during the reduction estimates a factor q_e by dividing the upper two digits (a digit having e.g. a size of 8 byte) of r by the upper digit of n and then decrements q_e in a loop until it has the correct size. Observing the number of times q_e is decremented through a control-flow revealing side-channel reveals a bias in the most significant bits of k. Depending on the curve this is either a negligible bias or a significant bias large enough to reconstruct k with lattice reduction methods. For SECP160R1, e.g., we find a bias of 15 bits.

Scores

CVSSScoreVectorSource
3.14.1 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:NwolfSSL

Weaknesses

Affected Products

ProductVersions
wolfSSLwolfSSL
  • 5.6.4 and earlierAffected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.