Skip to main content Module protocol Copy item path Source error incremental_mac kem Keys and protocol functions for standard key encapsulation mechanisms (KEMs). pqxdh PQXDH key agreement protocol. DecryptionErrorMessage DeviceId The type used in memory to represent a device , i.e. a particular Signal client instance which
represents some user. DisplayableFingerprint E164 Fingerprint IdentityKey A public key that represents the identity of a user. IdentityKeyPair The private identity of a user. InMemIdentityKeyStore Reference implementation of traits::IdentityKeyStore . InMemKyberPreKeyStore Basic implementation of traits::KyberPreKeyStore . InMemPreKeyStore Reference implementation of traits::PreKeyStore . InMemSenderKeyStore Reference implementation of traits::SenderKeyStore . InMemSessionStore Reference implementation of traits::SessionStore . InMemSignalProtocolStore Reference implementation of traits::ProtocolStore . InMemSignedPreKeyStore Reference implementation of traits::SignedPreKeyStore . InvalidDeviceId Error for trying to construct a DeviceId with an invalid value. KeyPair KyberPayload KyberPreKeyId A unique identifier selecting among this client’s known signed pre-keys. KyberPreKeyRecord PlaintextContent PreKeyBundle PreKeyBundleContent PreKeyId A unique identifier selecting among this client’s known pre-keys. PreKeyRecord PreKeySignalMessage PrivateKey ProtocolAddress Represents a unique Signal client instance as (<user ID>, <device ID>) pair. PublicKey ScannableFingerprint SealedSenderDecryptionResult SealedSenderV2SentMessage A parsed representation of a Sealed Sender v2 SentMessage. SealedSenderV2SentMessageRecipient Represents a single recipient in an SSv2 SentMessage. SenderCertificate SenderKeyDistributionMessage SenderKeyMessage SenderKeyRecord ServerCertificate SessionRecord SessionUsabilityRequirements Specifies which criteria make a session “usable” beyond simply having a present sender
chain. SignalMessage SignedPreKeyId A unique identifier selecting among this client’s known signed pre-keys. SignedPreKeyRecord Timestamp Timestamp recorded as milliseconds since the Unix epoch. UnidentifiedSenderMessageContent Username CiphertextMessage CiphertextMessageType ContentHint Direction Each Signal message can be considered to have exactly two participants, a sender and receiver. FingerprintError IdentityChange The result of saving a new identity key for a protocol address. ServiceId A Signal service ID, which can be one of various types. ServiceIdKind Known types of ServiceId . SignalProtocolError UsernameError GenericSignedPreKey IdentityKeyStore Interface defining the identity store, which may be in-memory, on-disk, etc. KyberPreKeyStore Interface for storing signed Kyber pre-keys downloaded from a server. PreKeyStore Interface for storing pre-keys downloaded from a server. ProtocolStore Mixes in all the store interfaces defined in this module. SenderKeyStore Interface for storing sender key records, allowing multiple keys per user. SessionStore Interface for a Signal client instance to store a session associated with another particular
separate Signal client instance. SignedPreKeyStore Interface for storing signed pre-keys downloaded from a server. create_sender_key_distribution_message extract_decryption_error_message_from_serialized_content For testing group_decrypt group_encrypt initialize_alice_session_record initialize_bob_session_record message_decrypt Decrypt a CiphertextMessage from remote_address. message_decrypt_prekey Decrypt a PreKeySignalMessage from remote_address. message_decrypt_signal Decrypt a SignalMessage from remote_address. message_encrypt Encrypt ptext for remote_address, loading and storing session state. process_prekey process_prekey_bundle process_sender_key_distribution_message sealed_sender_decrypt Decrypt a Sealed Sender message ciphertext in either the v1 or v2 format, validate its sender
certificate, and then decrypt the inner message payload. sealed_sender_decrypt_to_usmc Decrypt the payload of a sealed-sender message in either the v1 or v2 format. sealed_sender_encrypt Encrypt the plaintext message ptext, generate an UnidentifiedSenderMessageContent , then
pass the result to sealed_sender_encrypt_from_usmc . sealed_sender_encrypt_from_usmc This method implements the single-key single-recipient KEM described in this Signal blog
post , a.k.a. Sealed Sender v1. sealed_sender_multi_recipient_encrypt This method implements a single-key multi-recipient KEM as defined in Manuel Barbosa’s
“Randomness Reuse: Extensions and Improvements” , a.k.a. Sealed Sender v2. should_use_nonpq_session A consistent way to determine, given a session that is not PQ
and a ratio of sessions which if not PQ should be archived,
which sessions to use (returning true) and which to archive
(returning false). The session key’s first 4 bytes are used as
a uniformly random big-endian integer as part of this calculation,
which works well for a session’s alice_base_key(). Aci A service ID representing an ACI (“ACcount Identifier”). Pni A service ID representing a PNI (“Phone Number Identifier”). ServiceIdFixedWidthBinaryBytes The fixed-width binary representation of a ServiceId.