Re-exports§
pub use keys::DhFetchKeyPair;pub use keys::Enrollment;pub use keys::KeyBundlePublic;pub use keys::KeyPair;pub use keys::SessionStorage;pub use keys::SignedKeyBundlePublic;pub use keys::SignedLongtermPubKeyBytes;pub use keys::SigningKeyPair;pub use journalist::Journalist;pub use journalist::JournalistPublicView;pub use source::Source;pub use source::SourcePublicView;pub use sign::DomainTag;pub use sign::FpfOnNewsroom;pub use sign::JournalistEphemeralKey;pub use sign::JournalistLongTermKey;pub use sign::NewsroomOnJournalist;pub use sign::Signature;pub use sign::SigningKey;pub use sign::VerifyingKey;
Modules§
- api
- Client API traits for the SecureDrop protocol.
- encrypt_
decrypt - journalist
- keys
- message
- SD-APKE: SecureDrop authenticated public-key encryption.
- metadata
- SD-PKE: metadata encryption
- primitives
- server
- Server-side protocol implementation
- setup
- Setup module for FPF hardware operations
- sign
- source
- storage
- wire
- Wire protocol request/response types.
Structs§
- Envelope
- The full submission
(C_S, X, Z)sent from sender to server in step 6. - Fetch
Response - Plaintext
- Toy pt structure - TODO: provide params in correct order
Constants§
Traits§
- Enrollable
- Journalist
Public - User
Public - Users have the following (public traits) in common: They expose a fetch pubkey, a message auth pubkey (implicit authentication), and a collection of KeyBundles (tuples of keys - a keybundle contains all the key material required to send a message to a given user). A Source has a KeyBundle collection of size 1. A Journalist has KeyBundle collection of size > 1. Some users (Sources) use a key from their message bundle as their message auth key.
- User
Secret - Users have the following (secret traits) in common: They have a fetching keypair used to retrieve messages; They have a message authentication keypair used to implicitly authenticate their messages (via DH-AKEM); They can index a KeyBundle (tuple) and use it to attempt to decrypt a message.