Skip to main content

Crate securedrop_protocol_minimal

Crate securedrop_protocol_minimal 

Source

Re-exports§

pub use schemes::challenge;
pub use schemes::message;
pub use schemes::metadata;
pub use schemes::sign;
pub use client::plaintext::Plaintext;
pub use wire::core::Envelope;
pub use wire::core::FetchResponse;
pub use keys::DhFetchKeyPair;
pub use keys::KeyBundlePublic;
pub use keys::KeyPair;
pub use keys::SessionStorage;
pub use wire::bundle::SignedKeyBundlePublic;
pub use wire::bundle::SignedLongtermKeyBundle;
pub use wire::enrollment::Enrollment;
pub use journalist::EphemeralBundleBytes;
pub use journalist::Journalist;
pub use journalist::JournalistLongTermBytes;
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.
client
journalist
keys
schemes
server
source
wire
Wire protocol request/response types.

Structs§

DHPublicKey
A ristretto255 group element.

Traits§

Enrollable
JournalistPublic
UserPublic
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.
UserSecret
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.