UltrafastSecp256k1/.ci-baseline
shrec 2f3051282c
fix: tech debt batch — zero-safe batch inverse, 4-stream WNAF sign, OpenMP, MuSig2 validation
1. fe_batch_inverse: handle zero inputs gracefully by substituting ones
   during forward accumulation and restoring zeros in output. Prevents
   undefined behavior when callers pass zero-valued field elements.
   Added test_batch_inverse_zero_safe covering mixed, all-zero, and
   single-zero cases. (CT paths in ct_point.cpp unchanged — documented
   preconditions only.)

2. 4-stream WNAF (ESP32/STM32): fixed phi(G) sign — use k2_neg directly
   instead of k1_neg XOR k2_neg. G tables are precomputed without any
   sign baked in, unlike P tables where k1_neg is absorbed into P_base.
   Re-enabled the previously disabled code path.

3. OpenMP: added conditional OpenMP support for fe_h_based_inversion_batched.
   find_package(OpenMP QUIET) in CMakeLists.txt with ESP32/WASM exclusion.
   Static libgomp.a resolution for ARM64 cross-compilation.

4. MuSig2 key aggregation: validate ALL pubkeys upfront before computing
   anything. Previously, invalid pubkeys were silently skipped via continue,
   enabling potential rogue key attacks. Now returns empty ctx (Q=infinity)
   if any pubkey is invalid.

Tested on x86_64 (25/25), ARM64 RK3588 (25/25), RISC-V VisionFive2 (25/25).
No benchmark regressions detected.
2026-03-21 16:51:14 +00:00
..
baseline_arm64_pre_techdebt_20260321.txt fix: tech debt batch — zero-safe batch inverse, 4-stream WNAF sign, OpenMP, MuSig2 validation 2026-03-21 16:51:14 +00:00
baseline_pre_techdebt_20260321.txt fix: tech debt batch — zero-safe batch inverse, 4-stream WNAF sign, OpenMP, MuSig2 validation 2026-03-21 16:51:14 +00:00
bench_quick_baseline_pre_techdebt_20260321.json fix: tech debt batch — zero-safe batch inverse, 4-stream WNAF sign, OpenMP, MuSig2 validation 2026-03-21 16:51:14 +00:00
bench_quick_baseline.json fix: delta audit findings + GPU audit runners + docs (#126) 2026-03-09 10:59:58 +04:00