anza-cryptography-source/curve25519/solana-ed25519/src
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
..
backend Aeneas-compat: make vartime_double_base::mul extraction-clean 2026-07-04 11:10:33 +02:00
ed_sigs Aeneas-compat: verified-verification entry points + serial-pin cfg 2026-07-04 23:00:06 +02:00
edwards refactor and merge curve and ed crates (#6) 2026-03-26 08:09:10 -04:00
lizard ci: check each feature individually (#18) 2026-05-20 10:23:03 +08:00
ristretto refactor and merge curve and ed crates (#6) 2026-03-26 08:09:10 -04:00
scalar [ed25519] improve docs (#47) 2026-06-11 22:10:13 -04:00
backend.rs Aeneas-compat: verified-verification entry points + serial-pin cfg 2026-07-04 23:00:06 +02:00
constants.rs refactor and merge curve and ed crates (#6) 2026-03-26 08:09:10 -04:00
diagnostics.rs refactor and merge curve and ed crates (#6) 2026-03-26 08:09:10 -04:00
ed_sigs.rs Aeneas-compat: verified-verification entry points + serial-pin cfg 2026-07-04 23:00:06 +02:00
edwards.rs [ed25519] improve rng bounds for random function (#54) 2026-06-18 07:32:53 -04:00
field.rs patch: remove ConditionallyNegatable for Aeneas/Charon transpilation 2026-06-30 17:30:34 +02:00
lib.rs [ed25519] downgrade rand_core (#21) 2026-05-18 21:50:26 -04:00
lizard.rs refactor and merge curve and ed crates (#6) 2026-03-26 08:09:10 -04:00
macros.rs refactor and merge curve and ed crates (#6) 2026-03-26 08:09:10 -04:00
montgomery.rs ci: check each feature individually (#18) 2026-05-20 10:23:03 +08:00
ristretto.rs ci: check each feature individually (#18) 2026-05-20 10:23:03 +08:00
scalar.rs Aeneas-compat: verified-verification entry points + serial-pin cfg 2026-07-04 23:00:06 +02:00
short_weierstrass.rs [ed25519] implement add for SW form (#55) 2026-06-18 07:32:25 -04:00
traits.rs [ed25519] improve docs (#47) 2026-06-11 22:10:13 -04:00
window.rs simply lookup table constructor (#56) 2026-06-22 09:47:37 -04:00