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.
References
Configurations
No configuration.
History
28 Aug 2024, 12:57
Type | Values Removed | Values Added |
---|---|---|
Summary |
|
27 Aug 2024, 19:15
Type | Values Removed | Values Added |
---|---|---|
New CVE |
Information
Published : 2024-08-27 19:15
Updated : 2024-08-28 12:57
NVD link : CVE-2024-1544
Mitre link : CVE-2024-1544
CVE.ORG link : CVE-2024-1544
JSON object : View
Products Affected
No product.
CWE
CWE-203
Observable Discrepancy