mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-08-11 09:11:22 +02:00
Regenerated the single-precision C sources so that sp_<N>_from_mp() converts secret inputs (ECDH/ECDSA private keys and nonces) in constant time: a fixed-count loop bounded by the output size with masked reads at/after a->used, instead of looping a->used times (which leaked the value's magnitude through the executed-instruction count). Fixes the ct-callgrind constant-time failures for P-521 (ec_p521_kex, ec_p521_sign) and hardens the same pattern across all curves and key sizes (108 sp_*_from_mp functions in sp_c32/sp_c64, sp_arm32/sp_arm64/sp_armthumb/ sp_cortexm and sp_x86_64). Verified (--enable-sp, gcc 15.2): ec_p521_kex diff 156 -> 0, ec_p521_sign diff 367 -> 55 (tol 300); testwolfcrypt RSA/ECC KATs pass. Generated by https://github.com/wolfSSL/scripts/pull/626