aboutsummaryrefslogtreecommitdiffstats
path: root/test/crypto_memcmp_test.c
Commit message (Collapse)AuthorAgeFilesLines
* Add constant-time validation for CRYPTO_memcmpDavid Foster2026-06-111-0/+102
Add test/crypto_memcmp_test.c which provides functional coverage for CRYPTO_memcmp under regular builds and constant-time coverage under enable-ct-validation builds. The added constant-time coverage checks: - there are no data dependent branches or memory accesses, on x86_64 and aarch64 architectures The added constant-time coverage does NOT check: - there are no data-dependent variable-time instructions, such as instructions NOT on the x86 Data Operand Independent Timing list or NOT on the ARM Data-Independent Timing list - any architectures beyond x86_64 and aarch64 New CONSTTIME_SECRET annotations live only in the test rather than in the generic C version of CRYPTO_memcmp so that both the C and assembler versions of CRYPTO_memcmp are constant-time covered. CRYPTO_memcmp directly backs CPython's secrets.compare_digest() and hmac.compare_digest(), so a timing leak in it is high impact, yet it had essentially no direct test coverage. References #15076. Co-Authored-By: Claude Opus 4.8 <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Bob Beck <[email protected]> MergeDate: Thu Jun 11 16:11:58 2026 (Merged from https://github.com/openssl/openssl/pull/31398)