Skip to content

SOUNDNESS/README: Use proper markdown citation syntax for Round3_Spec - #1293

Merged
hanno-becker merged 1 commit into
mainfrom
round3_spec_citation
Jul 20, 2026
Merged

hanno-becker merged 1 commit into
mainfrom
round3_spec_citation

Conversation

@hanno-becker

Copy link
Copy Markdown
Contributor
SOUNDNESS/README: Use proper markdown citation syntax for Round3_Spec

Replace @[Round3_Spec] (C-comment citation syntax) with the markdown
footnote form [^Round3_Spec] in SOUNDNESS.md and proofs/hol_light/README.md,
and regenerate the bibliography footer via autogen.

@oqs-bot

oqs-bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-44, REDUCE-RAM)

Full Results (210 proofs)
Proof Status Current Previous Change
**TOTAL** ✅ 1440s 1364s +5.6%
polyvec_matrix_pointwise_montgomery_yvec ✅ 156s 149s +5%
poly_pointwise_montgomery_c ✅ 129s 112s +15%
mld_invntt_layer ✅ 115s 105s +10%
polyveck_chknorm ✅ 69s 67s +3%
mld_ntt_layer ✅ 42s 41s +2%
fqmul ✅ 40s 39s +3%
sign_verify_internal ✅ 29s 49s -41%
keccakf1600x4_permute_native ✅ 23s 22s +5%
mld_ntt_butterfly_block ✅ 21s 23s -9%
poly_ntt_c ✅ 21s 21s +0%
mld_attempt_signature_generation ✅ 20s 19s +5%
polyvecl_chknorm ✅ 17s 11s +55%
rej_uniform_c ✅ 17s 16s +6%
mld_check_pct ✅ 15s 15s +0%
poly_uniform_eta_4x ✅ 15s 12s +25%
polyeta_unpack ✅ 14s 14s +0%
poly_invntt_tomont_c ✅ 13s 11s +18%
compute_pack_t0_t1 ✅ 12s 12s +0%
keccak_absorb_once_x4 ✅ 12s 8s +50%
polyt0_unpack ✅ 12s 12s +0%
poly_chknorm_c ✅ 11s 11s +0%
rej_uniform ✅ 10s 8s +25%
rej_uniform_native_x86_64 ✅ 10s - new
polyveck_decompose ✅ 8s 7s +14%
pointwise_acc_native_aarch64 ✅ 7s 6s +17%
poly_reduce ✅ 7s 4s +75%
polyvecl_ntt ✅ 7s 3s +133%
polyz_unpack_c ✅ 7s 8s -12%
sign_signature_internal ✅ 7s 4s +75%
mld_keccakf1600_permute_c ✅ 6s 7s -14%
poly_chknorm_native_aarch64 ✅ 6s 2s +200%
poly_power2round ✅ 6s 4s +50%
polyt0_pack ✅ 6s 4s +50%
polyvec_matrix_pointwise_montgomery_row ✅ 6s 6s +0%
polyveck_reduce ✅ 6s 4s +50%
rej_uniform_eta_native_aarch64 ✅ 6s 3s +100%
keccak_squeezeblocks_x4 ✅ 5s 3s +67%
mld_compute_pack_z ✅ 5s 6s -17%
pointwise_acc_native_x86_64 ✅ 5s 4s +25%
poly_add ✅ 5s 7s -29%
poly_caddq ✅ 5s 4s +25%
poly_caddq_native ✅ 5s 3s +67%
poly_challenge ✅ 5s 6s -17%
poly_decompose_c ✅ 5s 5s +0%
poly_invntt_tomont ✅ 5s 2s +150%
poly_ntt_native ✅ 5s 3s +67%
polyveck_invntt_tomont ✅ 5s 5s +0%
polyveck_pack_eta ✅ 5s 4s +25%
polyvecl_pack_eta ✅ 5s 2s +150%
polyvecl_unpack_z ✅ 5s 3s +67%
rej_eta_native ✅ 5s 3s +67%
sig_unpack_hints ✅ 5s 2s +150%
sign_pk_from_sk ✅ 5s 5s +0%
sign_signature ✅ 5s 6s -17%
sign_signature_extmu ✅ 5s 4s +25%
sign_signature_pre_hash_shake256 ✅ 5s 4s +25%
sign_verify ✅ 5s 4s +25%
sk_t0hat_get_poly ✅ 5s 1s +400%
unpack_sk_s2hat ✅ 5s 4s +25%
use_hint ✅ 5s 2s +150%
caddq ✅ 4s 6s -33%
intt_native_aarch64 ✅ 4s 3s +33%
keccak_absorb ✅ 4s 3s +33%
keccak_f1600_x1_native_aarch64_v84a ✅ 4s 2s +100%
keccakf1600x4_permute ✅ 4s 4s +0%
keccakf1600x4_xor_bytes ✅ 4s 3s +33%
mld_sample_s1_s2_serial ✅ 4s 4s +0%
mld_sign_attempt ✅ 4s - new
ntt_native_x86_64 ✅ 4s 3s +33%
pack_sig_z ✅ 4s 2s +100%
pointwise_native_x86_64 ✅ 4s 4s +0%
poly_caddq_native_x86_64 ✅ 4s 4s +0%
poly_permute_bitrev_to_custom_optional_native ✅ 4s 3s +33%
poly_uniform_4x ✅ 4s 3s +33%
poly_use_hint ✅ 4s 2s +100%
polyeta_pack ✅ 4s 3s +33%
polyveck_caddq ✅ 4s 3s +33%
polyvecl_pointwise_acc_montgomery_c ✅ 4s 4s +0%
polyvecl_pointwise_acc_montgomery_native ✅ 4s 3s +33%
polyw1_pack_88 ✅ 4s 2s +100%
polyz_unpack ✅ 4s 3s +33%
polyz_unpack_19_native_aarch64 ✅ 4s 4s +0%
polyz_unpack_native ✅ 4s 3s +33%
reduce32 ✅ 4s 3s +33%
rej_eta ✅ 4s 5s -20%
rej_eta_c ✅ 4s 4s +0%
rej_uniform_eta_native_x86_64 ✅ 4s - new
rej_uniform_native ✅ 4s 5s -20%
shake256_release ✅ 4s 1s +300%
sign_keypair_internal ✅ 4s 4s +0%
sign_verify_extmu ✅ 4s 5s -20%
sign_verify_pre_hash_shake256 ✅ 4s 5s -20%
sk_s1hat_get_poly ✅ 4s 2s +100%
unpack_sk_s1hat ✅ 4s 3s +33%
yvec_get_poly ✅ 4s 3s +33%
decompose ✅ 3s 3s +0%
fqscale ✅ 3s 2s +50%
intt_native_x86_64 ✅ 3s 2s +50%
keccak_f1600_x1_native_aarch64 ✅ 3s 3s +0%
keccak_f1600_x4_native_aarch64_v84a ✅ 3s 3s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid ✅ 3s 2s +50%
keccak_f1600_x4_native_avx2 ✅ 3s 2s +50%
keccak_init ✅ 3s 3s +0%
keccakf1600_extract_bytes (big endian) ✅ 3s 4s -25%
keccakf1600_permute ✅ 3s 2s +50%
keccakf1600_xor_bytes (big endian) ✅ 3s 6s -50%
keccakf1600x4_extract_bytes ✅ 3s 2s +50%
keccakf1600x4_extract_bytes_native ✅ 3s 4s -25%
keccakf1600x4_xor_bytes_native ✅ 3s 5s -40%
mld_ct_abs_i32 ✅ 3s 3s +0%
mld_ct_cmask_nonzero_u8 ✅ 3s 2s +50%
mld_ct_memcmp ✅ 3s 1s +200%
mld_h ✅ 3s 4s -25%
mld_keccakf1600x4_xor_bytes_c ✅ 3s 4s -25%
mld_polymat_expand_entry ✅ 3s 2s +50%
mld_sample_s1_s2 ✅ 3s 1s +200%
nttunpack_native_x86_64 ✅ 3s 4s -25%
pack_sig_h ✅ 3s 4s -25%
pack_sk_s1 ✅ 3s 3s +0%
pointwise_native_aarch64 ✅ 3s 2s +50%
poly_caddq_c ✅ 3s 3s +0%
poly_caddq_native_aarch64 ✅ 3s 3s +0%
poly_chknorm ✅ 3s 3s +0%
poly_chknorm_native_x86_64 ✅ 3s 2s +50%
poly_decompose_32_native_aarch64 ✅ 3s 4s -25%
poly_decompose_88_native_aarch64 ✅ 3s 3s +0%
poly_decompose_native ✅ 3s 2s +50%
poly_invntt_tomont_native ✅ 3s 3s +0%
poly_permute_bitrev_to_custom_optional ✅ 3s 5s -40%
poly_shiftl ✅ 3s 4s -25%
poly_uniform_gamma1_4x ✅ 3s 5s -40%
poly_use_hint_native ✅ 3s 3s +0%
polyt1_unpack ✅ 3s 2s +50%
polyvec_matrix_expand_serial ✅ 3s 4s -25%
polyveck_ntt ✅ 3s 2s +50%
polyvecl_pointwise_acc_montgomery ✅ 3s 3s +0%
polyvecl_uniform_gamma1_serial ✅ 3s 2s +50%
polyw1_pack ✅ 3s 4s -25%
polyw1_pack_32 ✅ 3s 3s +0%
polyz_pack ✅ 3s 2s +50%
power2round ✅ 3s 2s +50%
rej_uniform_native_aarch64 ✅ 3s 3s +0%
shake128x4_absorb_once ✅ 3s 2s +50%
shake256x4_squeezeblocks ✅ 3s 2s +50%
sign_keypair ✅ 3s 5s -40%
sign_signature_pre_hash_internal ✅ 3s 4s -25%
sign_verify_pre_hash_internal ✅ 3s 5s -40%
sk_s2hat_get_poly ✅ 3s 5s -40%
yvec_init ✅ 3s 1s +200%
keccak_finalize ✅ 2s 2s +0%
keccakf1600_permute_native ✅ 2s 3s -33%
keccakf1600_xor_bytes ✅ 2s 3s -33%
make_hint ✅ 2s 3s -33%
mld_ct_cmask_neg_i32 ✅ 2s 2s +0%
mld_ct_cmask_nonzero_u32 ✅ 2s 3s -33%
mld_ct_get_optblocker_i64 ✅ 2s 4s -50%
mld_ct_get_optblocker_u32 ✅ 2s 2s +0%
mld_ct_get_optblocker_u8 ✅ 2s 2s +0%
mld_keccakf1600_extract_bytes ✅ 2s 2s +0%
mld_prepare_domain_separation_prefix ✅ 2s 3s -33%
mld_sign_finish ✅ 2s - new
mld_sign_resume ✅ 2s - new
mld_value_barrier_i64 ✅ 2s 3s -33%
montgomery_reduce ✅ 2s 2s +0%
ntt_native_aarch64 ✅ 2s 4s -50%
pack_sig_c ✅ 2s 5s -60%
pack_sk_rho_key_tr_s2 ✅ 2s 5s -60%
poly_chknorm_native ✅ 2s 4s -50%
poly_decompose ✅ 2s 2s +0%
poly_decompose_native_x86_64 ✅ 2s 2s +0%
poly_ntt ✅ 2s 3s -33%
poly_pointwise_montgomery ✅ 2s 3s -33%
poly_pointwise_montgomery_native ✅ 2s 2s +0%
poly_sub ✅ 2s 3s -33%
poly_uniform ✅ 2s 3s -33%
poly_uniform_eta ✅ 2s 2s +0%
poly_uniform_gamma1 ✅ 2s 3s -33%
poly_use_hint_c ✅ 2s 5s -60%
poly_use_hint_native_aarch64 ✅ 2s 3s -33%
poly_use_hint_native_x86_64 ✅ 2s - new
polyt1_pack ✅ 2s 3s -33%
polyvec_matrix_expand ✅ 2s 3s -33%
polyveck_pack_w1 ✅ 2s 3s -33%
polyveck_unpack_eta ✅ 2s 2s +0%
polyvecl_unpack_eta ✅ 2s 4s -50%
polyz_unpack_17_native_aarch64 ✅ 2s 2s +0%
shake128_absorb ✅ 2s 3s -33%
shake128_finalize ✅ 2s 3s -33%
shake128_init ✅ 2s 2s +0%
shake128_release ✅ 2s 2s +0%
shake128_squeeze ✅ 2s 2s +0%
shake128x4_squeezeblocks ✅ 2s 2s +0%
shake256 ✅ 2s 1s +100%
shake256_finalize ✅ 2s 2s +0%
shake256x4_absorb_once ✅ 2s 1s +100%
unpack_pk_t1 ✅ 2s 3s -33%
unpack_sk ✅ 2s 3s -33%
unpack_sk_t0hat ✅ 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid ✅ 1s 3s -67%
keccak_squeeze ✅ 1s 2s -50%
mld_ct_sel_int32 ✅ 1s 3s -67%
mld_keccakf1600x4_extract_bytes_c ✅ 1s 4s -75%
mld_value_barrier_u32 ✅ 1s 1s +0%
mld_value_barrier_u8 ✅ 1s 4s -75%
polyvecl_uniform_gamma1 ✅ 1s 2s -50%
polyz_unpack_native_x86_64 ✅ 1s 3s -67%
shake256_absorb ✅ 1s 2s -50%
shake256_init ✅ 1s 4s -75%
shake256_squeeze ✅ 1s 2s -50%
sys_check_capability ✅ 1s 2s -50%

@oqs-bot

oqs-bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-44)

Full Results (210 proofs)
Proof Status Current Previous Change
**TOTAL** ✅ 1532s 1514s +1.2%
polyvecl_pointwise_acc_montgomery_c ✅ 140s 131s +7%
poly_pointwise_montgomery_c ✅ 132s 114s +16%
mld_invntt_layer ✅ 107s 107s +0%
mld_attempt_signature_generation ✅ 60s 58s +3%
compute_pack_t0_t1 ✅ 52s 50s +4%
mld_ntt_layer ✅ 42s 42s +0%
fqmul ✅ 41s 39s +5%
sign_verify_internal ✅ 39s 114s -66%
sign_signature_internal ✅ 32s 26s +23%
polyvec_matrix_expand ✅ 28s 28s +0%
keccakf1600x4_permute_native ✅ 25s 22s +14%
mld_ntt_butterfly_block ✅ 24s 23s +4%
poly_ntt_c ✅ 21s 19s +11%
poly_chknorm_c ✅ 18s 17s +6%
polyeta_unpack ✅ 17s 14s +21%
polyvec_matrix_pointwise_montgomery_yvec ✅ 16s 15s +7%
polyt0_unpack ✅ 15s 15s +0%
rej_uniform_c ✅ 15s 15s +0%
poly_uniform_4x ✅ 14s 14s +0%
rej_uniform ✅ 14s 18s -22%
mld_check_pct ✅ 13s 14s -7%
poly_invntt_tomont_c ✅ 13s 11s +18%
poly_uniform_eta_4x ✅ 11s 11s +0%
polyz_unpack_c ✅ 11s 11s +0%
keccak_absorb_once_x4 ✅ 9s 9s +0%
pointwise_acc_native_x86_64 ✅ 9s 7s +29%
polyvecl_chknorm ✅ 9s 10s -10%
rej_uniform_native_x86_64 ✅ 9s - new
mld_keccakf1600_permute_c ✅ 8s 8s +0%
mld_compute_pack_z ✅ 7s 7s +0%
pack_sk_rho_key_tr_s2 ✅ 7s 3s +133%
poly_add ✅ 7s 7s +0%
polyveck_decompose ✅ 7s 4s +75%
sign_verify_extmu ✅ 7s 3s +133%
mld_ct_cmask_nonzero_u32 ✅ 6s 2s +200%
mld_sign_finish ✅ 6s - new
poly_challenge ✅ 6s 3s +100%
poly_decompose_32_native_aarch64 ✅ 6s 2s +200%
polyvec_matrix_expand_serial ✅ 6s 8s -25%
polyveck_ntt ✅ 6s 5s +20%
polyvecl_uniform_gamma1 ✅ 6s 3s +100%
polyw1_pack ✅ 6s 3s +100%
rej_uniform_eta_native_aarch64 ✅ 6s 2s +200%
pointwise_acc_native_aarch64 ✅ 5s 4s +25%
poly_decompose_native_x86_64 ✅ 5s 3s +67%
poly_uniform ✅ 5s 6s -17%
poly_uniform_eta ✅ 5s 5s +0%
poly_use_hint_native_x86_64 ✅ 5s - new
polyt0_pack ✅ 5s 2s +150%
polyw1_pack_88 ✅ 5s 1s +400%
shake128x4_squeezeblocks ✅ 5s 1s +400%
sign_keypair ✅ 5s 4s +25%
sign_pk_from_sk ✅ 5s 5s +0%
sys_check_capability ✅ 5s 4s +25%
fqscale ✅ 4s 3s +33%
keccak_absorb ✅ 4s 5s -20%
keccak_f1600_x1_native_aarch64_v84a ✅ 4s 3s +33%
keccak_squeeze ✅ 4s 1s +300%
keccakf1600_permute_native ✅ 4s 3s +33%
keccakf1600x4_extract_bytes_native ✅ 4s 3s +33%
mld_h ✅ 4s 4s +0%
mld_sample_s1_s2 ✅ 4s 4s +0%
poly_chknorm_native_x86_64 ✅ 4s 2s +100%
poly_decompose_88_native_aarch64 ✅ 4s 4s +0%
poly_decompose_c ✅ 4s 4s +0%
poly_ntt ✅ 4s 3s +33%
poly_permute_bitrev_to_custom_optional ✅ 4s 2s +100%
poly_pointwise_montgomery ✅ 4s 3s +33%
poly_power2round ✅ 4s 4s +0%
poly_use_hint ✅ 4s 4s +0%
polyt1_unpack ✅ 4s 5s -20%
polyveck_chknorm ✅ 4s 5s -20%
polyveck_pack_eta ✅ 4s 2s +100%
polyveck_reduce ✅ 4s 5s -20%
polyveck_unpack_eta ✅ 4s 2s +100%
polyvecl_pointwise_acc_montgomery_native ✅ 4s 2s +100%
polyvecl_unpack_z ✅ 4s 2s +100%
polyw1_pack_32 ✅ 4s 2s +100%
polyz_unpack_19_native_aarch64 ✅ 4s 5s -20%
power2round ✅ 4s 3s +33%
rej_eta_c ✅ 4s 4s +0%
rej_uniform_native ✅ 4s 4s +0%
shake128_absorb ✅ 4s 2s +100%
shake256 ✅ 4s 1s +300%
sign_keypair_internal ✅ 4s 4s +0%
sign_signature ✅ 4s 3s +33%
sign_signature_extmu ✅ 4s 4s +0%
sign_verify ✅ 4s 4s +0%
sign_verify_pre_hash_shake256 ✅ 4s 5s -20%
sk_s1hat_get_poly ✅ 4s 3s +33%
unpack_pk_t1 ✅ 4s 5s -20%
unpack_sk_s2hat ✅ 4s 4s +0%
unpack_sk_t0hat ✅ 4s 3s +33%
use_hint ✅ 4s 2s +100%
caddq ✅ 3s 2s +50%
decompose ✅ 3s 2s +50%
intt_native_aarch64 ✅ 3s 9s -67%
keccak_f1600_x1_native_aarch64 ✅ 3s 2s +50%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid ✅ 3s 1s +200%
keccak_finalize ✅ 3s 3s +0%
keccakf1600x4_extract_bytes ✅ 3s 2s +50%
keccakf1600x4_permute ✅ 3s 4s -25%
keccakf1600x4_xor_bytes_native ✅ 3s 3s +0%
make_hint ✅ 3s 3s +0%
mld_ct_abs_i32 ✅ 3s 2s +50%
mld_ct_cmask_nonzero_u8 ✅ 3s 2s +50%
mld_polymat_expand_entry ✅ 3s 3s +0%
mld_sample_s1_s2_serial ✅ 3s 3s +0%
mld_sign_resume ✅ 3s - new
ntt_native_x86_64 ✅ 3s 3s +0%
nttunpack_native_x86_64 ✅ 3s 1s +200%
pack_sig_c ✅ 3s 2s +50%
pack_sig_h ✅ 3s 3s +0%
pack_sig_z ✅ 3s 4s -25%
pack_sk_s1 ✅ 3s 2s +50%
pointwise_native_aarch64 ✅ 3s 5s -40%
pointwise_native_x86_64 ✅ 3s 4s -25%
poly_caddq ✅ 3s 2s +50%
poly_caddq_c ✅ 3s 2s +50%
poly_caddq_native ✅ 3s 5s -40%
poly_caddq_native_x86_64 ✅ 3s 4s -25%
poly_chknorm ✅ 3s 4s -25%
poly_chknorm_native ✅ 3s 4s -25%
poly_chknorm_native_aarch64 ✅ 3s 4s -25%
poly_decompose ✅ 3s 3s +0%
poly_decompose_native ✅ 3s 3s +0%
poly_sub ✅ 3s 3s +0%
poly_uniform_gamma1_4x ✅ 3s 5s -40%
poly_use_hint_c ✅ 3s 3s +0%
poly_use_hint_native_aarch64 ✅ 3s 2s +50%
polyveck_caddq ✅ 3s 3s +0%
polyveck_invntt_tomont ✅ 3s 5s -40%
polyveck_pack_w1 ✅ 3s 1s +200%
polyvecl_ntt ✅ 3s 2s +50%
polyvecl_uniform_gamma1_serial ✅ 3s 2s +50%
polyvecl_unpack_eta ✅ 3s 2s +50%
polyz_pack ✅ 3s 2s +50%
polyz_unpack ✅ 3s 3s +0%
polyz_unpack_native ✅ 3s 2s +50%
rej_eta_native ✅ 3s 6s -50%
rej_uniform_native_aarch64 ✅ 3s 5s -40%
shake128_finalize ✅ 3s 2s +50%
shake128_release ✅ 3s 1s +200%
shake128x4_absorb_once ✅ 3s 3s +0%
shake256_absorb ✅ 3s 3s +0%
shake256_finalize ✅ 3s 2s +50%
shake256_release ✅ 3s 2s +50%
shake256x4_absorb_once ✅ 3s 3s +0%
sig_unpack_hints ✅ 3s 2s +50%
sign_signature_pre_hash_internal ✅ 3s 6s -50%
sign_signature_pre_hash_shake256 ✅ 3s 3s +0%
yvec_get_poly ✅ 3s 3s +0%
yvec_init ✅ 3s 3s +0%
intt_native_x86_64 ✅ 2s 4s -50%
keccak_f1600_x4_native_aarch64_v84a ✅ 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid ✅ 2s 3s -33%
keccak_f1600_x4_native_avx2 ✅ 2s 3s -33%
keccak_squeezeblocks_x4 ✅ 2s 4s -50%
keccakf1600_extract_bytes (big endian) ✅ 2s 2s +0%
keccakf1600_permute ✅ 2s 2s +0%
keccakf1600_xor_bytes (big endian) ✅ 2s 4s -50%
keccakf1600x4_xor_bytes ✅ 2s 2s +0%
mld_ct_cmask_neg_i32 ✅ 2s 3s -33%
mld_ct_get_optblocker_i64 ✅ 2s 4s -50%
mld_ct_get_optblocker_u32 ✅ 2s 1s +100%
mld_ct_sel_int32 ✅ 2s 2s +0%
mld_keccakf1600_extract_bytes ✅ 2s 2s +0%
mld_keccakf1600x4_extract_bytes_c ✅ 2s 2s +0%
mld_prepare_domain_separation_prefix ✅ 2s 4s -50%
mld_sign_attempt ✅ 2s - new
mld_value_barrier_i64 ✅ 2s 2s +0%
mld_value_barrier_u8 ✅ 2s 3s -33%
montgomery_reduce ✅ 2s 3s -33%
ntt_native_aarch64 ✅ 2s 3s -33%
poly_caddq_native_aarch64 ✅ 2s 4s -50%
poly_invntt_tomont_native ✅ 2s 4s -50%
poly_ntt_native ✅ 2s 5s -60%
poly_permute_bitrev_to_custom_optional_native ✅ 2s 4s -50%
poly_pointwise_montgomery_native ✅ 2s 2s +0%
poly_reduce ✅ 2s 3s -33%
poly_shiftl ✅ 2s 3s -33%
poly_uniform_gamma1 ✅ 2s 4s -50%
poly_use_hint_native ✅ 2s 4s -50%
polyeta_pack ✅ 2s 3s -33%
polyt1_pack ✅ 2s 4s -50%
polyvec_matrix_pointwise_montgomery_row ✅ 2s 2s +0%
polyvecl_pack_eta ✅ 2s 3s -33%
polyvecl_pointwise_acc_montgomery ✅ 2s 4s -50%
polyz_unpack_17_native_aarch64 ✅ 2s 5s -60%
polyz_unpack_native_x86_64 ✅ 2s 3s -33%
reduce32 ✅ 2s 2s +0%
rej_eta ✅ 2s 3s -33%
rej_uniform_eta_native_x86_64 ✅ 2s - new
shake128_init ✅ 2s 3s -33%
shake128_squeeze ✅ 2s 1s +100%
shake256_init ✅ 2s 3s -33%
shake256_squeeze ✅ 2s 2s +0%
shake256x4_squeezeblocks ✅ 2s 4s -50%
sign_verify_pre_hash_internal ✅ 2s 3s -33%
sk_s2hat_get_poly ✅ 2s 2s +0%
sk_t0hat_get_poly ✅ 2s 2s +0%
unpack_sk ✅ 2s 3s -33%
unpack_sk_s1hat ✅ 2s 1s +100%
keccak_init ✅ 1s 3s -67%
keccakf1600_xor_bytes ✅ 1s 1s +0%
mld_ct_get_optblocker_u8 ✅ 1s 1s +0%
mld_ct_memcmp ✅ 1s 3s -67%
mld_keccakf1600x4_xor_bytes_c ✅ 1s 2s -50%
mld_value_barrier_u32 ✅ 1s 2s -50%
poly_invntt_tomont ✅ 1s 4s -75%

@oqs-bot

oqs-bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-87, REDUCE-RAM)

Full Results (210 proofs)
Proof Status Current Previous Change
**TOTAL** ✅ 1427s 1436s -0.6%
polyvec_matrix_pointwise_montgomery_yvec ✅ 188s 196s -4%
poly_pointwise_montgomery_c ✅ 120s 125s -4%
mld_invntt_layer ✅ 104s 111s -6%
mld_ntt_layer ✅ 43s 44s -2%
fqmul ✅ 39s 39s +0%
polyvecl_chknorm ✅ 36s 38s -5%
mld_attempt_signature_generation ✅ 33s 34s -3%
keccakf1600x4_permute_native ✅ 24s 25s -4%
sign_verify_internal ✅ 21s 47s -55%
mld_ntt_butterfly_block ✅ 20s 23s -13%
poly_ntt_c ✅ 17s 19s -11%
rej_uniform_c ✅ 16s 18s -11%
polyeta_unpack ✅ 14s 13s +8%
poly_chknorm_c ✅ 13s 13s +0%
poly_uniform_eta_4x ✅ 13s 12s +8%
compute_pack_t0_t1 ✅ 12s 12s +0%
poly_invntt_tomont_c ✅ 12s 9s +33%
polyveck_decompose ✅ 12s 12s +0%
mld_check_pct ✅ 11s 15s -27%
polyvec_matrix_pointwise_montgomery_row ✅ 11s 13s -15%
polyt0_unpack ✅ 10s 14s -29%
polyz_unpack_c ✅ 10s 7s +43%
keccak_absorb_once_x4 ✅ 9s 8s +12%
polyveck_chknorm ✅ 9s 9s +0%
polyvecl_ntt ✅ 9s 8s +12%
rej_uniform_native_x86_64 ✅ 9s - new
mld_keccakf1600_permute_c ✅ 8s 8s +0%
pointwise_acc_native_x86_64 ✅ 8s 8s +0%
poly_decompose_c ✅ 8s 6s +33%
polyveck_reduce ✅ 8s 6s +33%
pointwise_acc_native_aarch64 ✅ 7s 5s +40%
polyveck_caddq ✅ 7s 8s -12%
rej_uniform ✅ 7s 7s +0%
sign_signature_internal ✅ 7s 3s +133%
mld_compute_pack_z ✅ 6s 6s +0%
mld_sample_s1_s2_serial ✅ 6s 6s +0%
poly_add ✅ 6s 8s -25%
poly_reduce ✅ 6s 4s +50%
polyt1_pack ✅ 6s 5s +20%
sign_keypair_internal ✅ 6s 6s +0%
sign_verify_pre_hash_shake256 ✅ 6s 7s -14%
mld_sample_s1_s2 ✅ 5s 8s -38%
nttunpack_native_x86_64 ✅ 5s 3s +67%
poly_caddq_c ✅ 5s 3s +67%
poly_challenge ✅ 5s 4s +25%
poly_use_hint_native_aarch64 ✅ 5s 3s +67%
polyvecl_pack_eta ✅ 5s 2s +150%
polyw1_pack ✅ 5s 2s +150%
polyz_unpack_19_native_aarch64 ✅ 5s 5s +0%
polyz_unpack_native_x86_64 ✅ 5s 3s +67%
rej_eta_native ✅ 5s 4s +25%
shake128_release ✅ 5s 3s +67%
sign_pk_from_sk ✅ 5s 6s -17%
sign_signature ✅ 5s 4s +25%
unpack_pk_t1 ✅ 5s 2s +150%
fqscale ✅ 4s 1s +300%
intt_native_aarch64 ✅ 4s 4s +0%
intt_native_x86_64 ✅ 4s 4s +0%
keccak_squeezeblocks_x4 ✅ 4s 4s +0%
keccakf1600x4_xor_bytes_native ✅ 4s 2s +100%
mld_keccakf1600_extract_bytes ✅ 4s 1s +300%
mld_sign_attempt ✅ 4s - new
mld_sign_resume ✅ 4s - new
mld_value_barrier_i64 ✅ 4s 2s +100%
pack_sig_c ✅ 4s 2s +100%
pack_sig_z ✅ 4s 3s +33%
pointwise_native_aarch64 ✅ 4s 4s +0%
poly_caddq_native_aarch64 ✅ 4s 3s +33%
poly_chknorm ✅ 4s 4s +0%
poly_invntt_tomont ✅ 4s 4s +0%
poly_invntt_tomont_native ✅ 4s 2s +100%
poly_ntt_native ✅ 4s 4s +0%
poly_pointwise_montgomery ✅ 4s 3s +33%
poly_pointwise_montgomery_native ✅ 4s 3s +33%
poly_power2round ✅ 4s 7s -43%
poly_uniform ✅ 4s 4s +0%
poly_uniform_gamma1_4x ✅ 4s 3s +33%
poly_use_hint ✅ 4s 4s +0%
polyt1_unpack ✅ 4s 3s +33%
polyvec_matrix_expand ✅ 4s 3s +33%
polyveck_invntt_tomont ✅ 4s 4s +0%
polyveck_pack_eta ✅ 4s 5s -20%
polyw1_pack_32 ✅ 4s 3s +33%
polyz_unpack_native ✅ 4s 1s +300%
rej_eta_c ✅ 4s 4s +0%
rej_uniform_native ✅ 4s 5s -20%
rej_uniform_native_aarch64 ✅ 4s 3s +33%
shake128x4_absorb_once ✅ 4s 4s +0%
shake256 ✅ 4s 3s +33%
shake256_release ✅ 4s 5s -20%
sign_signature_extmu ✅ 4s 4s +0%
sign_signature_pre_hash_internal ✅ 4s 2s +100%
sign_signature_pre_hash_shake256 ✅ 4s 3s +33%
sign_verify ✅ 4s 2s +100%
unpack_sk_s2hat ✅ 4s 3s +33%
unpack_sk_t0hat ✅ 4s 4s +0%
caddq ✅ 3s 3s +0%
decompose ✅ 3s 2s +50%
keccak_absorb ✅ 3s 4s -25%
keccak_f1600_x1_native_aarch64 ✅ 3s 2s +50%
keccak_f1600_x4_native_avx2 ✅ 3s 3s +0%
keccak_finalize ✅ 3s 1s +200%
keccakf1600_extract_bytes (big endian) ✅ 3s 3s +0%
keccakf1600x4_extract_bytes ✅ 3s 1s +200%
keccakf1600x4_extract_bytes_native ✅ 3s 4s -25%
mld_ct_cmask_neg_i32 ✅ 3s 2s +50%
mld_ct_cmask_nonzero_u32 ✅ 3s 5s -40%
mld_ct_cmask_nonzero_u8 ✅ 3s 2s +50%
mld_ct_get_optblocker_i64 ✅ 3s 2s +50%
mld_h ✅ 3s 2s +50%
mld_keccakf1600x4_extract_bytes_c ✅ 3s 3s +0%
mld_keccakf1600x4_xor_bytes_c ✅ 3s 1s +200%
mld_value_barrier_u8 ✅ 3s 2s +50%
ntt_native_x86_64 ✅ 3s 2s +50%
pack_sig_h ✅ 3s 3s +0%
poly_caddq_native ✅ 3s 3s +0%
poly_caddq_native_x86_64 ✅ 3s 3s +0%
poly_chknorm_native ✅ 3s 1s +200%
poly_chknorm_native_aarch64 ✅ 3s 5s -40%
poly_decompose ✅ 3s 2s +50%
poly_decompose_88_native_aarch64 ✅ 3s 2s +50%
poly_decompose_native ✅ 3s 2s +50%
poly_decompose_native_x86_64 ✅ 3s 3s +0%
poly_shiftl ✅ 3s 4s -25%
poly_uniform_eta ✅ 3s 5s -40%
poly_use_hint_c ✅ 3s 4s -25%
poly_use_hint_native ✅ 3s 1s +200%
polyt0_pack ✅ 3s 3s +0%
polyvec_matrix_expand_serial ✅ 3s 3s +0%
polyveck_pack_w1 ✅ 3s 3s +0%
polyveck_unpack_eta ✅ 3s 3s +0%
polyvecl_pointwise_acc_montgomery ✅ 3s 2s +50%
polyvecl_pointwise_acc_montgomery_native ✅ 3s 2s +50%
polyvecl_unpack_eta ✅ 3s 3s +0%
polyvecl_unpack_z ✅ 3s 3s +0%
polyz_pack ✅ 3s 4s -25%
polyz_unpack ✅ 3s 3s +0%
polyz_unpack_17_native_aarch64 ✅ 3s 4s -25%
reduce32 ✅ 3s 3s +0%
rej_uniform_eta_native_aarch64 ✅ 3s 3s +0%
rej_uniform_eta_native_x86_64 ✅ 3s - new
shake128_absorb ✅ 3s 2s +50%
shake128_finalize ✅ 3s 2s +50%
shake256_finalize ✅ 3s 3s +0%
sig_unpack_hints ✅ 3s 4s -25%
sign_verify_extmu ✅ 3s 4s -25%
sk_s1hat_get_poly ✅ 3s 3s +0%
sk_s2hat_get_poly ✅ 3s 2s +50%
sk_t0hat_get_poly ✅ 3s 3s +0%
sys_check_capability ✅ 3s 2s +50%
use_hint ✅ 3s 3s +0%
yvec_get_poly ✅ 3s 2s +50%
keccak_f1600_x4_native_aarch64_v84a ✅ 2s 1s +100%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid ✅ 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid ✅ 2s 2s +0%
keccak_squeeze ✅ 2s 5s -60%
keccakf1600_permute ✅ 2s 2s +0%
keccakf1600_permute_native ✅ 2s 3s -33%
keccakf1600_xor_bytes ✅ 2s 1s +100%
keccakf1600_xor_bytes (big endian) ✅ 2s 2s +0%
keccakf1600x4_permute ✅ 2s 2s +0%
keccakf1600x4_xor_bytes ✅ 2s 1s +100%
make_hint ✅ 2s 2s +0%
mld_ct_abs_i32 ✅ 2s 1s +100%
mld_ct_get_optblocker_u32 ✅ 2s 2s +0%
mld_ct_get_optblocker_u8 ✅ 2s 3s -33%
mld_ct_memcmp ✅ 2s 1s +100%
mld_polymat_expand_entry ✅ 2s 4s -50%
mld_prepare_domain_separation_prefix ✅ 2s 3s -33%
mld_sign_finish ✅ 2s - new
mld_value_barrier_u32 ✅ 2s 3s -33%
montgomery_reduce ✅ 2s 2s +0%
ntt_native_aarch64 ✅ 2s 4s -50%
pack_sk_rho_key_tr_s2 ✅ 2s 2s +0%
pointwise_native_x86_64 ✅ 2s 5s -60%
poly_caddq ✅ 2s 5s -60%
poly_chknorm_native_x86_64 ✅ 2s 2s +0%
poly_decompose_32_native_aarch64 ✅ 2s 3s -33%
poly_ntt ✅ 2s 2s +0%
poly_permute_bitrev_to_custom_optional ✅ 2s 2s +0%
poly_permute_bitrev_to_custom_optional_native ✅ 2s 3s -33%
poly_sub ✅ 2s 5s -60%
poly_uniform_4x ✅ 2s 3s -33%
poly_uniform_gamma1 ✅ 2s 3s -33%
poly_use_hint_native_x86_64 ✅ 2s - new
polyeta_pack ✅ 2s 3s -33%
polyveck_ntt ✅ 2s 3s -33%
polyvecl_pointwise_acc_montgomery_c ✅ 2s 2s +0%
polyvecl_uniform_gamma1 ✅ 2s 3s -33%
polyvecl_uniform_gamma1_serial ✅ 2s 2s +0%
polyw1_pack_88 ✅ 2s 2s +0%
power2round ✅ 2s 3s -33%
rej_eta ✅ 2s 2s +0%
shake256_absorb ✅ 2s 3s -33%
shake256_init ✅ 2s 3s -33%
shake256_squeeze ✅ 2s 2s +0%
shake256x4_squeezeblocks ✅ 2s 4s -50%
sign_keypair ✅ 2s 4s -50%
sign_verify_pre_hash_internal ✅ 2s 3s -33%
unpack_sk ✅ 2s 4s -50%
unpack_sk_s1hat ✅ 2s 3s -33%
yvec_init ✅ 2s 4s -50%
keccak_f1600_x1_native_aarch64_v84a ✅ 1s 2s -50%
keccak_init ✅ 1s 1s +0%
mld_ct_sel_int32 ✅ 1s 2s -50%
pack_sk_s1 ✅ 1s 2s -50%
shake128_init ✅ 1s 2s -50%
shake128_squeeze ✅ 1s 1s +0%
shake128x4_squeezeblocks ✅ 1s 1s +0%
shake256x4_absorb_once ✅ 1s 5s -80%

@oqs-bot

oqs-bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-65, REDUCE-RAM)

Full Results (210 proofs)
Proof Status Current Previous Change
**TOTAL** ✅ 1560s 1482s +5.3%
polyvec_matrix_pointwise_montgomery_yvec ✅ 212s 201s +5%
poly_pointwise_montgomery_c ✅ 136s 116s +17%
mld_invntt_layer ✅ 122s 108s +13%
polyvecl_chknorm ✅ 49s 43s +14%
mld_ntt_layer ✅ 45s 43s +5%
fqmul ✅ 44s 40s +10%
polyveck_chknorm ✅ 37s 36s +3%
sign_verify_internal ✅ 35s 71s -51%
mld_attempt_signature_generation ✅ 32s 31s +3%
keccakf1600x4_permute_native ✅ 24s 22s +9%
mld_ntt_butterfly_block ✅ 24s 25s -4%
poly_ntt_c ✅ 23s 22s +5%
rej_uniform_c ✅ 18s 16s +12%
mld_check_pct ✅ 15s 12s +25%
poly_invntt_tomont_c ✅ 15s 10s +50%
poly_chknorm_c ✅ 14s 13s +8%
poly_uniform_eta_4x ✅ 11s 13s -15%
polyt0_unpack ✅ 11s 13s -15%
polyveck_decompose ✅ 11s 14s -21%
rej_uniform_native_x86_64 ✅ 11s - new
rej_uniform ✅ 10s 7s +43%
keccak_absorb_once_x4 ✅ 9s 10s -10%
polyz_unpack_c ✅ 9s 9s +0%
mld_compute_pack_z ✅ 8s 5s +60%
poly_add ✅ 8s 7s +14%
polyvec_matrix_pointwise_montgomery_row ✅ 8s 8s +0%
polyveck_reduce ✅ 8s 6s +33%
compute_pack_t0_t1 ✅ 7s 7s +0%
mld_keccakf1600_permute_c ✅ 7s 7s +0%
pointwise_acc_native_x86_64 ✅ 7s 5s +40%
poly_decompose_c ✅ 7s 8s -12%
poly_reduce ✅ 7s 4s +75%
polyvecl_ntt ✅ 7s 7s +0%
sign_pk_from_sk ✅ 7s 5s +40%
intt_native_x86_64 ✅ 6s 4s +50%
mld_sample_s1_s2 ✅ 6s 6s +0%
poly_uniform_eta ✅ 6s 5s +20%
polyveck_caddq ✅ 6s 7s -14%
polyveck_invntt_tomont ✅ 6s 7s -14%
rej_uniform_eta_native_aarch64 ✅ 6s 5s +20%
rej_uniform_native ✅ 6s 4s +50%
sign_signature_internal ✅ 6s 6s +0%
intt_native_aarch64 ✅ 5s 2s +150%
keccak_absorb ✅ 5s 3s +67%
keccakf1600x4_xor_bytes ✅ 5s 2s +150%
mld_ct_cmask_nonzero_u32 ✅ 5s 3s +67%
mld_h ✅ 5s 3s +67%
pack_sk_rho_key_tr_s2 ✅ 5s 2s +150%
pointwise_acc_native_aarch64 ✅ 5s 6s -17%
poly_challenge ✅ 5s 5s +0%
poly_power2round ✅ 5s 7s -29%
poly_uniform ✅ 5s 2s +150%
poly_uniform_gamma1_4x ✅ 5s 3s +67%
polyeta_pack ✅ 5s 1s +400%
polyvecl_pointwise_acc_montgomery_native ✅ 5s 3s +67%
polyz_unpack ✅ 5s 3s +67%
polyz_unpack_19_native_aarch64 ✅ 5s 5s +0%
polyz_unpack_native ✅ 5s 3s +67%
sign_keypair_internal ✅ 5s 3s +67%
sign_signature_extmu ✅ 5s 4s +25%
sign_signature_pre_hash_internal ✅ 5s 3s +67%
sign_verify_pre_hash_internal ✅ 5s 5s +0%
caddq ✅ 4s 2s +100%
fqscale ✅ 4s 3s +33%
keccak_squeezeblocks_x4 ✅ 4s 4s +0%
keccakf1600_permute ✅ 4s 4s +0%
make_hint ✅ 4s 3s +33%
mld_ct_cmask_nonzero_u8 ✅ 4s 2s +100%
mld_ct_get_optblocker_u8 ✅ 4s 4s +0%
ntt_native_x86_64 ✅ 4s 5s -20%
pack_sig_z ✅ 4s 1s +300%
pointwise_native_x86_64 ✅ 4s 2s +100%
poly_caddq_c ✅ 4s 5s -20%
poly_caddq_native_aarch64 ✅ 4s 2s +100%
poly_decompose_88_native_aarch64 ✅ 4s 2s +100%
poly_decompose_native ✅ 4s 5s -20%
poly_pointwise_montgomery_native ✅ 4s 4s +0%
poly_use_hint_native ✅ 4s 7s -43%
poly_use_hint_native_aarch64 ✅ 4s 4s +0%
polyt0_pack ✅ 4s 5s -20%
polyvec_matrix_expand ✅ 4s 6s -33%
polyveck_ntt ✅ 4s 4s +0%
polyvecl_pack_eta ✅ 4s 2s +100%
polyvecl_unpack_z ✅ 4s 1s +300%
polyw1_pack ✅ 4s 3s +33%
polyw1_pack_88 ✅ 4s 3s +33%
rej_eta_native ✅ 4s 3s +33%
shake128_finalize ✅ 4s 2s +100%
shake128_init ✅ 4s 6s -33%
shake256_finalize ✅ 4s 1s +300%
sign_keypair ✅ 4s 4s +0%
sign_signature ✅ 4s 5s -20%
sign_verify_extmu ✅ 4s 2s +100%
sign_verify_pre_hash_shake256 ✅ 4s 6s -33%
unpack_sk ✅ 4s 3s +33%
decompose ✅ 3s 4s -25%
keccak_f1600_x1_native_aarch64 ✅ 3s 2s +50%
keccak_f1600_x1_native_aarch64_v84a ✅ 3s 2s +50%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid ✅ 3s 3s +0%
keccak_finalize ✅ 3s 2s +50%
keccak_init ✅ 3s 4s -25%
keccak_squeeze ✅ 3s 2s +50%
keccakf1600_xor_bytes (big endian) ✅ 3s 2s +50%
keccakf1600x4_extract_bytes ✅ 3s 4s -25%
keccakf1600x4_permute ✅ 3s 1s +200%
keccakf1600x4_xor_bytes_native ✅ 3s 2s +50%
mld_ct_abs_i32 ✅ 3s 6s -50%
mld_ct_get_optblocker_u32 ✅ 3s 3s +0%
mld_ct_sel_int32 ✅ 3s 2s +50%
mld_polymat_expand_entry ✅ 3s 3s +0%
mld_prepare_domain_separation_prefix ✅ 3s 4s -25%
mld_sample_s1_s2_serial ✅ 3s 3s +0%
mld_sign_resume ✅ 3s - new
mld_value_barrier_u32 ✅ 3s 4s -25%
mld_value_barrier_u8 ✅ 3s 1s +200%
nttunpack_native_x86_64 ✅ 3s 3s +0%
pack_sig_h ✅ 3s 2s +50%
pack_sk_s1 ✅ 3s 3s +0%
pointwise_native_aarch64 ✅ 3s 3s +0%
poly_caddq_native ✅ 3s 4s -25%
poly_chknorm ✅ 3s 3s +0%
poly_chknorm_native_x86_64 ✅ 3s 4s -25%
poly_decompose ✅ 3s 2s +50%
poly_decompose_native_x86_64 ✅ 3s 2s +50%
poly_invntt_tomont_native ✅ 3s 5s -40%
poly_ntt ✅ 3s 2s +50%
poly_ntt_native ✅ 3s 2s +50%
poly_pointwise_montgomery ✅ 3s 2s +50%
poly_shiftl ✅ 3s 3s +0%
poly_use_hint ✅ 3s 3s +0%
poly_use_hint_c ✅ 3s 2s +50%
poly_use_hint_native_x86_64 ✅ 3s - new
polyveck_pack_eta ✅ 3s 3s +0%
polyvecl_pointwise_acc_montgomery ✅ 3s 3s +0%
polyvecl_pointwise_acc_montgomery_c ✅ 3s 3s +0%
polyvecl_uniform_gamma1 ✅ 3s 4s -25%
polyvecl_uniform_gamma1_serial ✅ 3s 1s +200%
polyw1_pack_32 ✅ 3s 2s +50%
polyz_pack ✅ 3s 3s +0%
reduce32 ✅ 3s 2s +50%
rej_eta ✅ 3s 5s -40%
rej_eta_c ✅ 3s 4s -25%
rej_uniform_eta_native_x86_64 ✅ 3s - new
rej_uniform_native_aarch64 ✅ 3s 5s -40%
shake128_absorb ✅ 3s 2s +50%
shake256_release ✅ 3s 3s +0%
shake256_squeeze ✅ 3s 4s -25%
sig_unpack_hints ✅ 3s 1s +200%
sign_signature_pre_hash_shake256 ✅ 3s 7s -57%
sign_verify ✅ 3s 6s -50%
sk_s2hat_get_poly ✅ 3s 1s +200%
unpack_sk_s1hat ✅ 3s 1s +200%
unpack_sk_s2hat ✅ 3s 3s +0%
unpack_sk_t0hat ✅ 3s 4s -25%
use_hint ✅ 3s 2s +50%
keccak_f1600_x4_native_aarch64_v84a ✅ 2s 2s +0%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid ✅ 2s 3s -33%
keccak_f1600_x4_native_avx2 ✅ 2s 2s +0%
keccakf1600_extract_bytes (big endian) ✅ 2s 3s -33%
keccakf1600_xor_bytes ✅ 2s 4s -50%
keccakf1600x4_extract_bytes_native ✅ 2s 1s +100%
mld_ct_cmask_neg_i32 ✅ 2s 3s -33%
mld_ct_memcmp ✅ 2s 4s -50%
mld_keccakf1600_extract_bytes ✅ 2s 2s +0%
mld_keccakf1600x4_extract_bytes_c ✅ 2s 2s +0%
mld_sign_attempt ✅ 2s - new
mld_sign_finish ✅ 2s - new
mld_value_barrier_i64 ✅ 2s 2s +0%
montgomery_reduce ✅ 2s 1s +100%
ntt_native_aarch64 ✅ 2s 3s -33%
pack_sig_c ✅ 2s 3s -33%
poly_caddq ✅ 2s 3s -33%
poly_caddq_native_x86_64 ✅ 2s 1s +100%
poly_chknorm_native ✅ 2s 4s -50%
poly_chknorm_native_aarch64 ✅ 2s 2s +0%
poly_decompose_32_native_aarch64 ✅ 2s 4s -50%
poly_permute_bitrev_to_custom_optional ✅ 2s 3s -33%
poly_permute_bitrev_to_custom_optional_native ✅ 2s 3s -33%
poly_uniform_4x ✅ 2s 4s -50%
poly_uniform_gamma1 ✅ 2s 3s -33%
polyeta_unpack ✅ 2s 4s -50%
polyt1_unpack ✅ 2s 3s -33%
polyvec_matrix_expand_serial ✅ 2s 3s -33%
polyveck_pack_w1 ✅ 2s 4s -50%
polyveck_unpack_eta ✅ 2s 3s -33%
polyvecl_unpack_eta ✅ 2s 2s +0%
polyz_unpack_17_native_aarch64 ✅ 2s 2s +0%
polyz_unpack_native_x86_64 ✅ 2s 3s -33%
power2round ✅ 2s 2s +0%
shake128_release ✅ 2s 2s +0%
shake128_squeeze ✅ 2s 3s -33%
shake128x4_absorb_once ✅ 2s 2s +0%
shake256 ✅ 2s 2s +0%
shake256_absorb ✅ 2s 4s -50%
shake256_init ✅ 2s 4s -50%
shake256x4_absorb_once ✅ 2s 2s +0%
sk_s1hat_get_poly ✅ 2s 3s -33%
sk_t0hat_get_poly ✅ 2s 1s +100%
sys_check_capability ✅ 2s 1s +100%
unpack_pk_t1 ✅ 2s 2s +0%
yvec_get_poly ✅ 2s 3s -33%
yvec_init ✅ 2s 5s -60%
keccakf1600_permute_native ✅ 1s 2s -50%
mld_ct_get_optblocker_i64 ✅ 1s 1s +0%
mld_keccakf1600x4_xor_bytes_c ✅ 1s 2s -50%
poly_invntt_tomont ✅ 1s 5s -80%
poly_sub ✅ 1s 4s -75%
polyt1_pack ✅ 1s 3s -67%
shake128x4_squeezeblocks ✅ 1s 2s -50%
shake256x4_squeezeblocks ✅ 1s 2s -50%

@oqs-bot

oqs-bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-65)

Full Results (210 proofs)
Proof Status Current Previous Change
**TOTAL** ✅ 1752s 1784s -1.8%
polyvecl_pointwise_acc_montgomery_c ✅ 229s 210s +9%
poly_pointwise_montgomery_c ✅ 126s 125s +1%
mld_invntt_layer ✅ 112s 109s +3%
polyvec_matrix_expand ✅ 109s 110s -1%
sign_verify_internal ✅ 70s 177s -60%
mld_attempt_signature_generation ✅ 65s 63s +3%
sign_signature_internal ✅ 45s 55s -18%
mld_ntt_layer ✅ 44s 41s +7%
fqmul ✅ 39s 40s -3%
polyvec_matrix_expand_serial ✅ 28s 27s +4%
mld_ntt_butterfly_block ✅ 26s 24s +8%
keccakf1600x4_permute_native ✅ 23s 23s +0%
poly_ntt_c ✅ 21s 19s +11%
polyvec_matrix_pointwise_montgomery_yvec ✅ 21s 18s +17%
mld_check_pct ✅ 18s 14s +29%
rej_uniform_c ✅ 17s 14s +21%
rej_uniform ✅ 16s 18s -11%
poly_chknorm_c ✅ 15s 15s +0%
poly_uniform_4x ✅ 14s 13s +8%
polyt0_unpack ✅ 14s 16s -12%
compute_pack_t0_t1 ✅ 13s 13s +0%
polyz_unpack_c ✅ 13s 13s +0%
polyveck_decompose ✅ 12s 12s +0%
poly_uniform_eta_4x ✅ 11s 14s -21%
polyveck_invntt_tomont ✅ 11s 8s +38%
poly_invntt_tomont_c ✅ 10s 11s -9%
rej_uniform_native_x86_64 ✅ 10s - new
keccak_absorb_once_x4 ✅ 8s 8s +0%
poly_add ✅ 8s 9s -11%
polyveck_caddq ✅ 8s 6s +33%
mld_compute_pack_z ✅ 7s 7s +0%
pointwise_acc_native_aarch64 ✅ 7s 6s +17%
pointwise_acc_native_x86_64 ✅ 7s 8s -12%
poly_decompose_c ✅ 7s 5s +40%
polyvecl_chknorm ✅ 7s 7s +0%
sign_keypair ✅ 7s 3s +133%
mld_keccakf1600_permute_c ✅ 6s 6s +0%
mld_sample_s1_s2_serial ✅ 6s 4s +50%
poly_decompose_native ✅ 6s 3s +100%
poly_ntt_native ✅ 6s 4s +50%
polyveck_chknorm ✅ 6s 6s +0%
polyveck_ntt ✅ 6s 7s -14%
polyw1_pack_32 ✅ 6s 4s +50%
sign_pk_from_sk ✅ 6s 6s +0%
unpack_pk_t1 ✅ 6s 5s +20%
keccak_squeezeblocks_x4 ✅ 5s 5s +0%
mld_h ✅ 5s 2s +150%
mld_keccakf1600_extract_bytes ✅ 5s 1s +400%
mld_polymat_expand_entry ✅ 5s 4s +25%
mld_sample_s1_s2 ✅ 5s 6s -17%
ntt_native_aarch64 ✅ 5s 2s +150%
poly_challenge ✅ 5s 6s -17%
poly_chknorm_native ✅ 5s 2s +150%
poly_uniform_eta ✅ 5s 4s +25%
poly_use_hint ✅ 5s 3s +67%
poly_use_hint_c ✅ 5s 5s +0%
poly_use_hint_native_x86_64 ✅ 5s - new
polyeta_pack ✅ 5s 3s +67%
polyeta_unpack ✅ 5s 8s -38%
polyt1_unpack ✅ 5s 5s +0%
polyvecl_ntt ✅ 5s 4s +25%
polyz_unpack_native ✅ 5s 4s +25%
sign_verify ✅ 5s 3s +67%
sign_verify_pre_hash_internal ✅ 5s 5s +0%
sk_s2hat_get_poly ✅ 5s 2s +150%
unpack_sk_t0hat ✅ 5s 5s +0%
caddq ✅ 4s 3s +33%
keccak_f1600_x1_native_aarch64_v84a ✅ 4s 3s +33%
keccakf1600_permute_native ✅ 4s 3s +33%
keccakf1600_xor_bytes ✅ 4s 2s +100%
keccakf1600x4_extract_bytes_native ✅ 4s 4s +0%
mld_ct_cmask_nonzero_u8 ✅ 4s 3s +33%
mld_ct_sel_int32 ✅ 4s 3s +33%
mld_keccakf1600x4_extract_bytes_c ✅ 4s 3s +33%
mld_prepare_domain_separation_prefix ✅ 4s 2s +100%
mld_sign_finish ✅ 4s - new
mld_sign_resume ✅ 4s - new
nttunpack_native_x86_64 ✅ 4s 3s +33%
pack_sig_h ✅ 4s 5s -20%
poly_decompose ✅ 4s 2s +100%
poly_invntt_tomont ✅ 4s 3s +33%
poly_permute_bitrev_to_custom_optional_native ✅ 4s 4s +0%
poly_sub ✅ 4s 3s +33%
poly_uniform ✅ 4s 4s +0%
poly_uniform_gamma1 ✅ 4s 3s +33%
polyt0_pack ✅ 4s 3s +33%
polyveck_pack_eta ✅ 4s 4s +0%
polyvecl_pointwise_acc_montgomery_native ✅ 4s 2s +100%
polyvecl_unpack_z ✅ 4s 3s +33%
rej_eta_c ✅ 4s 5s -20%
rej_uniform_native ✅ 4s 4s +0%
rej_uniform_native_aarch64 ✅ 4s 3s +33%
shake128_absorb ✅ 4s 2s +100%
shake128_init ✅ 4s 2s +100%
shake128_squeeze ✅ 4s 2s +100%
shake256_init ✅ 4s 2s +100%
shake256x4_squeezeblocks ✅ 4s 2s +100%
sign_signature ✅ 4s 6s -33%
sign_signature_extmu ✅ 4s 2s +100%
sign_signature_pre_hash_internal ✅ 4s 3s +33%
unpack_sk ✅ 4s 3s +33%
unpack_sk_s1hat ✅ 4s 2s +100%
use_hint ✅ 4s 2s +100%
intt_native_aarch64 ✅ 3s 3s +0%
intt_native_x86_64 ✅ 3s 3s +0%
keccak_absorb ✅ 3s 3s +0%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid ✅ 3s 2s +50%
keccak_squeeze ✅ 3s 4s -25%
keccakf1600x4_xor_bytes_native ✅ 3s 3s +0%
mld_ct_abs_i32 ✅ 3s 2s +50%
mld_ct_get_optblocker_u8 ✅ 3s 2s +50%
mld_value_barrier_u32 ✅ 3s 3s +0%
mld_value_barrier_u8 ✅ 3s 3s +0%
montgomery_reduce ✅ 3s 4s -25%
ntt_native_x86_64 ✅ 3s 2s +50%
pack_sk_rho_key_tr_s2 ✅ 3s 2s +50%
pack_sk_s1 ✅ 3s 5s -40%
pointwise_native_x86_64 ✅ 3s 3s +0%
poly_caddq ✅ 3s 2s +50%
poly_caddq_c ✅ 3s 2s +50%
poly_caddq_native ✅ 3s 2s +50%
poly_caddq_native_x86_64 ✅ 3s 3s +0%
poly_chknorm_native_aarch64 ✅ 3s 3s +0%
poly_invntt_tomont_native ✅ 3s 2s +50%
poly_ntt ✅ 3s 2s +50%
poly_permute_bitrev_to_custom_optional ✅ 3s 2s +50%
poly_pointwise_montgomery_native ✅ 3s 3s +0%
poly_power2round ✅ 3s 4s -25%
poly_shiftl ✅ 3s 3s +0%
poly_uniform_gamma1_4x ✅ 3s 4s -25%
polyt1_pack ✅ 3s 3s +0%
polyveck_unpack_eta ✅ 3s 6s -50%
polyvecl_pointwise_acc_montgomery ✅ 3s 3s +0%
polyvecl_uniform_gamma1 ✅ 3s 2s +50%
polyvecl_unpack_eta ✅ 3s 3s +0%
polyw1_pack ✅ 3s 4s -25%
polyz_unpack_17_native_aarch64 ✅ 3s 3s +0%
polyz_unpack_native_x86_64 ✅ 3s 3s +0%
rej_eta_native ✅ 3s 3s +0%
shake128x4_absorb_once ✅ 3s 3s +0%
shake128x4_squeezeblocks ✅ 3s 3s +0%
shake256_absorb ✅ 3s 2s +50%
shake256_squeeze ✅ 3s 3s +0%
sig_unpack_hints ✅ 3s 2s +50%
sign_keypair_internal ✅ 3s 5s -40%
unpack_sk_s2hat ✅ 3s 4s -25%
decompose ✅ 2s 1s +100%
fqscale ✅ 2s 3s -33%
keccak_f1600_x1_native_aarch64 ✅ 2s 2s +0%
keccak_f1600_x4_native_aarch64_v84a ✅ 2s 4s -50%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid ✅ 2s 2s +0%
keccak_f1600_x4_native_avx2 ✅ 2s 2s +0%
keccak_finalize ✅ 2s 2s +0%
keccak_init ✅ 2s 1s +100%
keccakf1600_extract_bytes (big endian) ✅ 2s 2s +0%
keccakf1600_xor_bytes (big endian) ✅ 2s 2s +0%
keccakf1600x4_extract_bytes ✅ 2s 4s -50%
keccakf1600x4_permute ✅ 2s 4s -50%
mld_ct_cmask_neg_i32 ✅ 2s 2s +0%
mld_ct_get_optblocker_i64 ✅ 2s 2s +0%
mld_ct_get_optblocker_u32 ✅ 2s 3s -33%
mld_keccakf1600x4_xor_bytes_c ✅ 2s 2s +0%
mld_sign_attempt ✅ 2s - new
mld_value_barrier_i64 ✅ 2s 2s +0%
pack_sig_c ✅ 2s 5s -60%
pointwise_native_aarch64 ✅ 2s 5s -60%
poly_caddq_native_aarch64 ✅ 2s 2s +0%
poly_chknorm ✅ 2s 4s -50%
poly_chknorm_native_x86_64 ✅ 2s 3s -33%
poly_decompose_32_native_aarch64 ✅ 2s 3s -33%
poly_decompose_88_native_aarch64 ✅ 2s 1s +100%
poly_decompose_native_x86_64 ✅ 2s 3s -33%
poly_pointwise_montgomery ✅ 2s 3s -33%
poly_reduce ✅ 2s 3s -33%
poly_use_hint_native_aarch64 ✅ 2s 3s -33%
polyvec_matrix_pointwise_montgomery_row ✅ 2s 1s +100%
polyveck_pack_w1 ✅ 2s 3s -33%
polyveck_reduce ✅ 2s 4s -50%
polyvecl_pack_eta ✅ 2s 3s -33%
polyvecl_uniform_gamma1_serial ✅ 2s 3s -33%
polyw1_pack_88 ✅ 2s 2s +0%
polyz_pack ✅ 2s 3s -33%
power2round ✅ 2s 1s +100%
reduce32 ✅ 2s 3s -33%
rej_eta ✅ 2s 2s +0%
rej_uniform_eta_native_aarch64 ✅ 2s 4s -50%
rej_uniform_eta_native_x86_64 ✅ 2s - new
shake128_finalize ✅ 2s 1s +100%
shake128_release ✅ 2s 3s -33%
shake256 ✅ 2s 2s +0%
shake256_finalize ✅ 2s 1s +100%
shake256_release ✅ 2s 2s +0%
shake256x4_absorb_once ✅ 2s 3s -33%
sign_signature_pre_hash_shake256 ✅ 2s 3s -33%
sign_verify_extmu ✅ 2s 3s -33%
sign_verify_pre_hash_shake256 ✅ 2s 5s -60%
sk_t0hat_get_poly ✅ 2s 2s +0%
sys_check_capability ✅ 2s 4s -50%
yvec_get_poly ✅ 2s 3s -33%
yvec_init ✅ 2s 3s -33%
keccakf1600_permute ✅ 1s 2s -50%
keccakf1600x4_xor_bytes ✅ 1s 1s +0%
make_hint ✅ 1s 2s -50%
mld_ct_cmask_nonzero_u32 ✅ 1s 4s -75%
mld_ct_memcmp ✅ 1s 2s -50%
pack_sig_z ✅ 1s 2s -50%
poly_use_hint_native ✅ 1s 2s -50%
polyz_unpack ✅ 1s 3s -67%
polyz_unpack_19_native_aarch64 ✅ 1s 3s -67%
sk_s1hat_get_poly ✅ 1s 6s -83%

@oqs-bot

oqs-bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

CBMC Results (ML-DSA-87)

⚠️ Attention Required

Proof Status Current Previous Change
sign_signature_internal ⚠️ 73s 42s +74%
Full Results (210 proofs)
Proof Status Current Previous Change
**TOTAL** ✅ 1995s 2151s -7.3%
polyvecl_pointwise_acc_montgomery_c ✅ 321s 353s -9%
polyvec_matrix_expand ✅ 287s 324s -11%
poly_pointwise_montgomery_c ✅ 121s 144s -16%
mld_invntt_layer ✅ 106s 115s -8%
sign_signature_internal ⚠️ 73s 42s +74%
sign_verify_internal ✅ 73s 97s -25%
mld_attempt_signature_generation ✅ 54s 55s -2%
mld_ntt_layer ✅ 42s 45s -7%
fqmul ✅ 38s 43s -12%
polyvec_matrix_expand_serial ✅ 36s 38s -5%
keccakf1600x4_permute_native ✅ 24s 23s +4%
mld_ntt_butterfly_block ✅ 22s 24s -8%
compute_pack_t0_t1 ✅ 20s 19s +5%
polyvec_matrix_pointwise_montgomery_yvec ✅ 18s 18s +0%
poly_ntt_c ✅ 16s 21s -24%
rej_uniform_c ✅ 15s 19s -21%
poly_chknorm_c ✅ 14s 15s -7%
polyeta_unpack ✅ 14s 17s -18%
mld_check_pct ✅ 13s 16s -19%
poly_invntt_tomont_c ✅ 13s 12s +8%
polyt0_unpack ✅ 13s 14s -7%
rej_uniform ✅ 13s 15s -13%
poly_uniform_4x ✅ 12s 13s -8%
poly_uniform_eta_4x ✅ 12s 11s +9%
keccak_absorb_once_x4 ✅ 11s 9s +22%
polyveck_decompose ✅ 11s 13s -15%
rej_uniform_native_x86_64 ✅ 9s - new
sign_pk_from_sk ✅ 9s 6s +50%
mld_keccakf1600_permute_c ✅ 8s 7s +14%
polyveck_ntt ✅ 8s 11s -27%
polyvecl_uniform_gamma1_serial ✅ 8s 4s +100%
unpack_sk_t0hat ✅ 8s 7s +14%
mld_compute_pack_z ✅ 7s 8s -12%
poly_add ✅ 7s 6s +17%
poly_challenge ✅ 7s 5s +40%
poly_decompose_c ✅ 7s 5s +40%
polyveck_caddq ✅ 7s 8s -12%
polyveck_invntt_tomont ✅ 7s 9s -22%
mld_sample_s1_s2 ✅ 6s 6s +0%
mld_sample_s1_s2_serial ✅ 6s 8s -25%
pointwise_acc_native_aarch64 ✅ 6s 6s +0%
pointwise_acc_native_x86_64 ✅ 6s 6s +0%
poly_uniform_gamma1 ✅ 6s 4s +50%
polyvecl_chknorm ✅ 6s 7s -14%
polyvecl_ntt ✅ 6s 7s -14%
sign_verify_pre_hash_shake256 ✅ 6s 3s +100%
mld_sign_finish ✅ 5s - new
poly_ntt ✅ 5s 3s +67%
poly_sub ✅ 5s 3s +67%
poly_uniform_gamma1_4x ✅ 5s 3s +67%
polyt1_unpack ✅ 5s 4s +25%
polyvecl_unpack_eta ✅ 5s 5s +0%
polyvecl_unpack_z ✅ 5s 4s +25%
sign_keypair ✅ 5s 4s +25%
sign_keypair_internal ✅ 5s 6s -17%
unpack_sk ✅ 5s 5s +0%
caddq ✅ 4s 4s +0%
intt_native_aarch64 ✅ 4s 3s +33%
keccak_absorb ✅ 4s 3s +33%
keccak_f1600_x4_native_aarch64_v8a_scalar_hybrid ✅ 4s 3s +33%
keccakf1600x4_extract_bytes ✅ 4s 2s +100%
mld_ct_cmask_neg_i32 ✅ 4s 4s +0%
mld_ct_cmask_nonzero_u32 ✅ 4s 2s +100%
mld_h ✅ 4s 3s +33%
mld_value_barrier_u8 ✅ 4s 3s +33%
ntt_native_aarch64 ✅ 4s 6s -33%
poly_caddq_native_x86_64 ✅ 4s 2s +100%
poly_chknorm ✅ 4s 3s +33%
poly_chknorm_native ✅ 4s 4s +0%
poly_chknorm_native_aarch64 ✅ 4s 4s +0%
poly_permute_bitrev_to_custom_optional_native ✅ 4s 5s -20%
poly_reduce ✅ 4s 2s +100%
polyvecl_pack_eta ✅ 4s 3s +33%
polyvecl_pointwise_acc_montgomery_native ✅ 4s 3s +33%
polyz_pack ✅ 4s 5s -20%
rej_eta_c ✅ 4s 5s -20%
rej_uniform_eta_native_aarch64 ✅ 4s 5s -20%
shake128_release ✅ 4s 4s +0%
shake128x4_absorb_once ✅ 4s 5s -20%
shake256_finalize ✅ 4s 2s +100%
shake256_release ✅ 4s 3s +33%
shake256_squeeze ✅ 4s 2s +100%
shake256x4_absorb_once ✅ 4s 2s +100%
sign_signature ✅ 4s 5s -20%
sign_signature_pre_hash_internal ✅ 4s 5s -20%
sign_signature_pre_hash_shake256 ✅ 4s 6s -33%
sign_verify ✅ 4s 5s -20%
sign_verify_pre_hash_internal ✅ 4s 3s +33%
sys_check_capability ✅ 4s 3s +33%
keccak_f1600_x1_native_aarch64 ✅ 3s 1s +200%
keccak_f1600_x4_native_aarch64_v84a ✅ 3s 4s -25%
keccak_f1600_x4_native_avx2 ✅ 3s 2s +50%
keccak_finalize ✅ 3s 1s +200%
keccak_squeeze ✅ 3s 2s +50%
keccak_squeezeblocks_x4 ✅ 3s 4s -25%
keccakf1600_extract_bytes (big endian) ✅ 3s 3s +0%
keccakf1600_xor_bytes ✅ 3s 3s +0%
mld_ct_get_optblocker_u32 ✅ 3s 2s +50%
mld_keccakf1600x4_extract_bytes_c ✅ 3s 2s +50%
mld_polymat_expand_entry ✅ 3s 3s +0%
mld_sign_attempt ✅ 3s - new
montgomery_reduce ✅ 3s 3s +0%
pack_sig_c ✅ 3s 4s -25%
pack_sig_h ✅ 3s 4s -25%
pointwise_native_x86_64 ✅ 3s 2s +50%
poly_caddq ✅ 3s 2s +50%
poly_caddq_native_aarch64 ✅ 3s 3s +0%
poly_chknorm_native_x86_64 ✅ 3s 2s +50%
poly_decompose_32_native_aarch64 ✅ 3s 5s -40%
poly_decompose_88_native_aarch64 ✅ 3s 2s +50%
poly_decompose_native ✅ 3s 2s +50%
poly_pointwise_montgomery_native ✅ 3s 5s -40%
poly_power2round ✅ 3s 3s +0%
poly_shiftl ✅ 3s 4s -25%
poly_uniform ✅ 3s 4s -25%
poly_uniform_eta ✅ 3s 4s -25%
poly_use_hint_c ✅ 3s 2s +50%
polyeta_pack ✅ 3s 4s -25%
polyt0_pack ✅ 3s 4s -25%
polyt1_pack ✅ 3s 3s +0%
polyveck_unpack_eta ✅ 3s 4s -25%
polyvecl_pointwise_acc_montgomery ✅ 3s 5s -40%
polyvecl_uniform_gamma1 ✅ 3s 2s +50%
polyw1_pack ✅ 3s 4s -25%
polyw1_pack_32 ✅ 3s 4s -25%
polyz_unpack ✅ 3s 2s +50%
polyz_unpack_19_native_aarch64 ✅ 3s 4s -25%
polyz_unpack_native ✅ 3s 4s -25%
power2round ✅ 3s 4s -25%
rej_eta_native ✅ 3s 6s -50%
rej_uniform_native ✅ 3s 8s -62%
rej_uniform_native_aarch64 ✅ 3s 2s +50%
shake128_init ✅ 3s 1s +200%
shake128_squeeze ✅ 3s 2s +50%
shake128x4_squeezeblocks ✅ 3s 3s +0%
shake256 ✅ 3s 2s +50%
sign_verify_extmu ✅ 3s 3s +0%
sk_s1hat_get_poly ✅ 3s 3s +0%
unpack_pk_t1 ✅ 3s 1s +200%
unpack_sk_s1hat ✅ 3s 2s +50%
use_hint ✅ 3s 3s +0%
decompose ✅ 2s 3s -33%
intt_native_x86_64 ✅ 2s 3s -33%
keccak_f1600_x1_native_aarch64_v84a ✅ 2s 1s +100%
keccak_f1600_x4_native_aarch64_v8a_v84a_scalar_hybrid ✅ 2s 4s -50%
keccak_init ✅ 2s 3s -33%
keccakf1600_permute ✅ 2s 3s -33%
keccakf1600x4_extract_bytes_native ✅ 2s 2s +0%
keccakf1600x4_xor_bytes ✅ 2s 3s -33%
keccakf1600x4_xor_bytes_native ✅ 2s 3s -33%
mld_ct_cmask_nonzero_u8 ✅ 2s 3s -33%
mld_ct_memcmp ✅ 2s 3s -33%
mld_ct_sel_int32 ✅ 2s 3s -33%
mld_keccakf1600_extract_bytes ✅ 2s 4s -50%
mld_keccakf1600x4_xor_bytes_c ✅ 2s 4s -50%
mld_prepare_domain_separation_prefix ✅ 2s 4s -50%
mld_sign_resume ✅ 2s - new
mld_value_barrier_i64 ✅ 2s 1s +100%
mld_value_barrier_u32 ✅ 2s 2s +0%
ntt_native_x86_64 ✅ 2s 2s +0%
nttunpack_native_x86_64 ✅ 2s 3s -33%
pack_sig_z ✅ 2s 5s -60%
pack_sk_s1 ✅ 2s 1s +100%
pointwise_native_aarch64 ✅ 2s 5s -60%
poly_caddq_c ✅ 2s 3s -33%
poly_decompose ✅ 2s 3s -33%
poly_invntt_tomont ✅ 2s 1s +100%
poly_invntt_tomont_native ✅ 2s 5s -60%
poly_ntt_native ✅ 2s 3s -33%
poly_permute_bitrev_to_custom_optional ✅ 2s 3s -33%
poly_pointwise_montgomery ✅ 2s 4s -50%
poly_use_hint ✅ 2s 1s +100%
poly_use_hint_native ✅ 2s 3s -33%
poly_use_hint_native_aarch64 ✅ 2s 2s +0%
poly_use_hint_native_x86_64 ✅ 2s - new
polyvec_matrix_pointwise_montgomery_row ✅ 2s 3s -33%
polyveck_chknorm ✅ 2s 3s -33%
polyveck_pack_eta ✅ 2s 6s -67%
polyveck_pack_w1 ✅ 2s 3s -33%
polyveck_reduce ✅ 2s 3s -33%
polyw1_pack_88 ✅ 2s 3s -33%
polyz_unpack_17_native_aarch64 ✅ 2s 3s -33%
polyz_unpack_c ✅ 2s 3s -33%
polyz_unpack_native_x86_64 ✅ 2s 3s -33%
reduce32 ✅ 2s 3s -33%
rej_eta ✅ 2s 4s -50%
rej_uniform_eta_native_x86_64 ✅ 2s - new
shake128_absorb ✅ 2s 4s -50%
shake128_finalize ✅ 2s 2s +0%
shake256_init ✅ 2s 2s +0%
shake256x4_squeezeblocks ✅ 2s 1s +100%
sig_unpack_hints ✅ 2s 3s -33%
sign_signature_extmu ✅ 2s 4s -50%
sk_s2hat_get_poly ✅ 2s 3s -33%
sk_t0hat_get_poly ✅ 2s 4s -50%
unpack_sk_s2hat ✅ 2s 3s -33%
yvec_init ✅ 2s 4s -50%
fqscale ✅ 1s 3s -67%
keccakf1600_permute_native ✅ 1s 4s -75%
keccakf1600_xor_bytes (big endian) ✅ 1s 2s -50%
keccakf1600x4_permute ✅ 1s 3s -67%
make_hint ✅ 1s 3s -67%
mld_ct_abs_i32 ✅ 1s 3s -67%
mld_ct_get_optblocker_i64 ✅ 1s 3s -67%
mld_ct_get_optblocker_u8 ✅ 1s 3s -67%
pack_sk_rho_key_tr_s2 ✅ 1s 3s -67%
poly_caddq_native ✅ 1s 4s -75%
poly_decompose_native_x86_64 ✅ 1s 2s -50%
shake256_absorb ✅ 1s 2s -50%
yvec_get_poly ✅ 1s 4s -75%

@mkannwischer mkannwischer added the documentation Improvements or additions to documentation label Jul 17, 2026
Replace @[Round3_Spec] (C-comment citation syntax) with the markdown
footnote form [^Round3_Spec] in SOUNDNESS.md and proofs/hol_light/README.md,
and regenerate the bibliography footer via autogen.

Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
@hanno-becker
hanno-becker force-pushed the round3_spec_citation branch from 4597523 to 7568fe9 Compare July 20, 2026 05:32
@hanno-becker
hanno-becker enabled auto-merge July 20, 2026 05:33
@hanno-becker
hanno-becker added this pull request to the merge queue Jul 20, 2026
Merged via the queue into main with commit afe25ae Jul 20, 2026
428 checks passed
@hanno-becker
hanno-becker deleted the round3_spec_citation branch July 20, 2026 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants