Skip to main content

acdp_crypto/
lib.rs

1//! # acdp-crypto — cryptographic primitives for the Agent Context Distribution Protocol
2//!
3//! Content-hashing ([`hash`]), signing ([`sign`]), byte-level signature
4//! verification ([`verify`]), and key fingerprinting ([`fingerprint`])
5//! per RFC-ACDP-0001/0003/0008. JCS canonicalization is re-exported from
6//! [`acdp-jcs`](https://docs.rs/acdp-jcs) as [`jcs`].
7//!
8//! The high-level, resolver-backed verification pipeline (`Verifier`,
9//! `verify_body`, …) lives in the separate `acdp-verify` crate — it
10//! depends on structural validation, which sits above this layer.
11
12pub mod fingerprint;
13pub mod hash;
14pub mod sign;
15pub mod verify;
16
17// JCS canonicalization lives in its own crate; re-export under the
18// historical `crypto::jcs` path.
19pub use acdp_jcs as jcs;
20
21pub use fingerprint::{
22    fingerprint_did_key_material, fingerprint_ed25519, fingerprint_p256_sec1,
23    fingerprint_verification_method,
24};
25pub use hash::{
26    canonical_preimage, compute_content_hash, derive_lineage_id, explain_hash_mismatch,
27    verify_content_hash,
28};
29pub use jcs::{canonicalize, canonicalize_value, try_canonicalize_value};
30pub use sign::{AcdpSigningKey, P256SigningKey, SigningKey};
31pub use verify::{verify_ecdsa_p256, verify_ed25519};