Skip to main content

UserPublic

Trait UserPublic 

Source
pub trait UserPublic {
    // Required methods
    fn fetch_pk(&self) -> &DHPublicKey;
    fn message_auth_pk(&self) -> &MessagePublicKey;
    fn message_metadata_pk(&self) -> &MetadataPublicKey;
    fn message_enc_pk(&self) -> &MessagePublicKey;
}
Expand description

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.

Required Methods§

Source

fn fetch_pk(&self) -> &DHPublicKey

Source

fn message_auth_pk(&self) -> &MessagePublicKey

The long-term SD-APKE public key pk^APKE.

Source

fn message_metadata_pk(&self) -> &MetadataPublicKey

Source

fn message_enc_pk(&self) -> &MessagePublicKey

The ephemeral SD-APKE public key pk^{APKE_E} from a key bundle.

Implementors§