Skip to main content

Crate clasp_crypto

Crate clasp_crypto 

Source
Expand description

§clasp-crypto

E2E encryption add-on for the CLASP protocol.

§Layers

  • Primitives (primitives): Pure crypto operations — AES-256-GCM, ECDH P-256, HKDF-SHA256, ECDSA P-256. No CLASP dependency.
  • Protocol (protocol): E2ESession state machine for key exchange over CLASP paths.
  • Storage (storage): KeyStore trait with MemoryKeyStore.
  • Client (client, behind client feature): CryptoClient wrapper for transparent encrypt/decrypt over a clasp_client::Clasp instance.

Re-exports§

pub use error::CryptoError;
pub use error::Result;
pub use primitives::constant_time_eq;
pub use primitives::decrypt;
pub use primitives::derive_shared_key;
pub use primitives::encrypt;
pub use primitives::export_group_key;
pub use primitives::export_public_key;
pub use primitives::fingerprint;
pub use primitives::fingerprint_jwk;
pub use primitives::generate_ecdh_key_pair;
pub use primitives::generate_group_key;
pub use primitives::generate_signing_key_pair;
pub use primitives::group_key_to_jwk;
pub use primitives::import_group_key;
pub use primitives::import_public_key;
pub use primitives::jwk_to_group_key;
pub use primitives::jwk_to_public_key;
pub use primitives::public_key_to_jwk;
pub use primitives::sign;
pub use primitives::verify;
pub use protocol::E2ESession;
pub use protocol::E2ESessionConfig;
pub use storage::KeyStore;
pub use storage::MemoryKeyStore;
pub use types::E2EEnvelope;
pub use types::ECDHKeyPair;
pub use types::KeyData;
pub use types::KeyExchangeMessage;
pub use types::SigningKeyPair;
pub use types::TofuRecord;

Modules§

error
primitives
E2E encryption primitives.
protocol
E2E encryption session — manages key exchange for one group/room/channel.
storage
Key storage traits and implementations.
types