Commit graph

67 commits

Author SHA1 Message Date
b4e2293d96 Aeneas-compat: monomorphic SHA2-128s verify path (additive)
The generic verify path threads the six hash primitives through
crate::hashers::Hashers, a struct of fn() POINTERS, which the Aeneas
Rust->Lean transpiler cannot translate (the sole gate-0 obstruction).

This adds src/verify_mono.rs: the verify cone (chain, wots_pk_from_sig,
xmss_pk_from_sig, ht_verify, fors_pk_from_sig, slh_verify_internal)
reproduced with the hash suite reached through NAMED free functions in a
verify_mono::oracle module (the deliberate SHA-2 opaque boundary of the
proof) instead of fn-pointer dereferences, plus a monomorphic entry
slh_verify_128s fixing the SLH-DSA-SHA2-128s constants. Function bodies
are copied verbatim from wots/xmss/hypertree/fors/slh so the extracted
Lean model stays faithful to the deployed algorithm.

Additive and inert: gated behind feature slh_dsa_sha2_128s; the only
change to existing code is two lines declaring the module. All twelve
parameter sets build unchanged (cargo build default features: clean).

Fidelity is pinned by an in-crate differential unit test that pits
slh_verify_128s against the deployed Verifier::verify on freshly
generated signatures — valid (both accept), corrupted (both reject),
and wrong-message (both reject), across three keypairs. Passes.

Same pattern as the curve25519-dalek-source verify_sha512 shim. This is
a frozen snapshot for the formal-verification campaign; no affiliation
with, and no changes proposed to, the upstream project.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:12:04 +02:00
5dca0db7e9 snapshot hygiene: strip upstream CI workflows
This is a frozen snapshot for the SLH-DSA verification campaign, pinned
at upstream 30bac08. Upstream's CI does not belong in this namespace
(and must not run here); removing .github is the only deviation from
verbatim. Upstream history is fully preserved beneath this commit.
No affiliation with, and no changes proposed to, the upstream project.
2026-07-22 20:58:59 +02:00
integritychain
30bac08580
Update package.json 2025-09-01 18:34:31 -05:00
eschorn1
a9b02e92cd 0.4.1 RC1 2024-12-22 20:46:43 -06:00
eschorn1
6f0f48eaee fuzz up 2024-12-22 18:32:27 -06:00
eschorn1
e77284a10d v0.4.0 RC1 2024-10-04 11:02:10 -05:00
eschorn1
5f8a96c02b docs, bench stats 2024-10-03 14:48:53 -05:00
eschorn1
49bebd533e audit/coverage/ffi 2024-10-03 12:39:25 -05:00
eschorn1
59314dc043 dudect, workflows 2024-10-03 12:24:28 -05:00
eschorn1
e68fb16221 much tighter clippy 2024-10-02 16:02:02 -05:00
eschorn1
834e75b603 align comments with released spec 2024-10-02 14:50:54 -05:00
eschorn1
f0576386fc hashing 2024-10-01 17:17:27 -05:00
eschorn1
899179a1e1 clippy/benches: shaky, shaky 2024-10-01 14:56:50 -05:00
eschorn1
ab0f62369a shaky, shaky 2024-10-01 14:29:06 -05:00
eschorn1
8c03d1f9c3 prep update 2024-10-01 09:30:20 -05:00
integritychain
fca844d470
Merge pull request #3 from jonmon6691/add-acvp-tests
Add test module for ACVP known answer tests
2024-09-29 19:01:56 -05:00
eschorn1
628656a3a0 clippy: starting update 2024-09-29 18:26:45 -05:00
eschorn1
7542bb2d80 starting update 2024-09-29 18:05:16 -05:00
Jon Wallace
2c027b3f6d Add test module for ACVP known answer tests 2024-09-15 19:55:08 -07:00
eschorn1
bf62d98c42 python binding 2024-03-15 11:36:47 -05:00
eschorn1
4a8c3d215f python binding 2024-03-15 10:17:14 -05:00
eschorn1
8e4ebfec1a rust ffi 2024-03-14 13:35:26 -05:00
eschorn1
20a8263d42 wasm 2024-03-14 08:46:53 -05:00
eschorn1
98fc10359f benchmarks 2024-03-10 18:07:57 -05:00
eschorn1
bdd49221e4 minor clippy 2024-03-10 08:15:56 -05:00
eschorn1
f4bd328bf1 unwound generic-array 2024-03-09 15:58:29 -06:00
eschorn1
aaf3b57066 clippy 2024-03-08 18:25:57 -06:00
eschorn1
db92cdfabd msrv 1.70 2024-03-08 17:22:43 -06:00
eschorn1
b8b3a192dd gitignore nit 2024-02-10 14:44:09 -06:00
eschorn1
6bab551ffb dudect 2024-02-10 14:26:37 -06:00
eschorn1
6cec1182c7 cargo deny2 2024-02-10 09:26:34 -06:00
eschorn1
19d280b50e cargo deny 2024-02-10 09:03:01 -06:00
eschorn1
f1991a2282 ga2 2024-02-09 18:32:05 -06:00
eschorn1
d8bdfbb883 ga 2024-02-09 18:22:35 -06:00
eschorn1
6b94ff1aa0 msrv 1.73 2024-02-09 17:50:05 -06:00
eschorn1
b0213416c8 fips205 prep 2024-02-09 17:43:59 -06:00
eschorn1
ddfabeb6ac source split 2024-02-09 16:31:05 -06:00
eschorn1
6c449f3e36 working traits 2024-02-09 15:28:59 -06:00
eschorn1
69f94c55fe clippy and test clean 2024-02-08 06:42:28 -06:00
eschorn1
569374a055 polish 2024-02-07 17:22:26 -06:00
eschorn1
4f8f03546c diet1 2024-02-07 16:30:42 -06:00
eschorn1
a6ff2130de not 2024-02-07 15:31:17 -06:00
eschorn1
7bb838973b vectors passing 2024-02-07 12:17:59 -06:00
integritychain
44ab28ef08 inst sha2 2024-02-06 18:25:57 -06:00
integritychain
846ac8b92d sha2 is progress 2024-02-03 18:18:18 -06:00
integritychain
30d0241f2e prep for sha2 2024-02-03 10:17:59 -06:00
integritychain
8c4c11ae0b shake kat tests 2024-01-31 17:40:32 -06:00
integritychain
9b5d6162e5 shaking! 2024-01-30 18:57:53 -06:00
eschorn1
946df93b0b hhh 2024-01-27 18:58:56 -06:00
eschorn1
429337a4aa parameterized hashes 2024-01-27 14:43:14 -06:00