Patched source for Aeneas/Charon formal verification transpilation
Find a file
mrwulf d275613c37 Aeneas-compat: verified-verification entry points + serial-pin cfg
Pure refactors for the Charon/Aeneas extraction pipeline; production
behavior unchanged (both default and pinned configs cargo-check clean,
pre-existing warnings only).

- ed_sigs::sha512_hash3: single-call SHA-512 oracle, semantically
  Sha512(r || a || m); a monomorphic signature with no foreign types lets
  the extractor treat the hash as one opaque oracle (sha2-0.11 stack).
- VerificationKey::verify_sha512 (+ recompute_r_sha512, a_bytes_nonzero,
  check_scalar_canonical, is_legacy_excluded_r): semantically identical
  to verify_dalek with each step spelled extractor-friendly - derived
  array PartialEq/contains as explicit index loops, and
  Scalar::from_canonical_bytes (subtle internals defeat the extractor)
  as an explicit s < l byte compare + from_bytes_mod_order (the identity
  on canonical bytes). Signature accessors each called exactly once.
- SIMD gates: cfg(target_arch = "x86_64") becomes
  cfg(all(target_arch = "x86_64", not(curve25519_serial_only))). Default
  builds are identical (the new cfg is never set); extraction builds pass
  RUSTFLAGS=--cfg curve25519_serial_only so the AVX2 dispatch arm
  compiles out and backend selection is the real constant Serial - the
  same serial-pin mechanism upstream curve25519-dalek provides natively.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 23:00:06 +02:00
.github chore: remove upstream CI workflows (not our CI infrastructure) 2026-06-30 17:44:29 +02:00
curve25519 Aeneas-compat: verified-verification entry points + serial-pin cfg 2026-07-04 23:00:06 +02:00
experimental/ed25519-pokos Add workspace.package information and do minor clean-up (#14) 2026-04-26 10:11:05 +09:00
scripts [chore] ci for crate release (#7) 2026-04-15 08:44:33 -04:00
secp256r1 impl secp256r1 (#45) 2026-06-17 09:45:41 -04:00
syscall [solana-bn254-syscall] Add solana-bn254-syscall crate (#13) 2026-05-19 08:56:06 +09:00
.gitattributes Skeleton for cryptography repo (#1) 2026-03-07 15:52:28 -05:00
.gitignore Skeleton for cryptography repo (#1) 2026-03-07 15:52:28 -05:00
Cargo.lock impl secp256r1 (#45) 2026-06-17 09:45:41 -04:00
Cargo.toml impl secp256r1 (#45) 2026-06-17 09:45:41 -04:00