Skip to main content

Crate securedrop_protocol_minimal

Crate securedrop_protocol_minimal 

Source

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.
FetchResponse
Plaintext
Toy pt structure - TODO: provide params in correct order

Constants§

LEN_DH_ITEM
LEN_MLKEM_ENCAPS_KEY
LEN_XWING_ENCAPS_KEY

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.