libsignal – go.mau.fi/libsignal Directories

libsignal/ directory

Directories

PathSynopsis
cipherCBC describes a block cipher mode.
eccPackage ecc provides a way to generate, sign, and use Elliptic-Curve X25519 Cryptography keys.
fingerprintPackage fingerprint provides a way to generate a visually verifiable fingerprint of keys.
groupsPackage groups is responsible for setting up group SenderKey encrypted sessions.
groups/ratchetPackage ratchet provides the methods necessary to establish a ratchet session for group messaging.
groups/state
groups/state/recordPackage record provides the state and record of a group session.
groups/state/storePackage store provides the storage interfaces for storing group sender key records.
kdfPackage kdf provides a key derivation function to calculate key output and negotiate shared secrets for curve X25519 keys.
keys
keys/chainPackage chain provides chain keys used in double ratchet sessions.
keys/identityPackage identity provides identity keys used for verifying the identity of a signal user.
keys/messagePackage message provides a structure for message keys, which are symmetric keys used for the encryption/decryption of Signal messages.
keys/prekeyPackage prekey provides prekey bundle structures for calculating a new Signal session with a user asyncronously.
keys/rootPackage root provides root keys which are used to derive new chain and root keys in a ratcheting session.
keys/sessionPackage session provides a simple structure for session keys, which is a pair of root and chain keys for a session.
loggerPackage logger provides optional debug logging of the Signal library.
protocolPackage protocol provides address, group, and message structures that the Signal protocol uses for sending encrypted messages.
provision
ratchetPackage ratchet provides the methods necessary to establish a new double ratchet session.
serializePackage serialize provides a serialization structure to serialize and deserialize Signal objects into storeable and transportable bytes.
sessionPackage session provides the methods necessary to build sessions
signalerror
state
state/recordPackage record provides the state and record of an ongoing double ratchet session.
state/storePackage store provides the storage interfaces for storing the state of ongoing double ratchet sessions and keys.
tests
util
util/bytehelper
util/errorhelper
util/keyhelperPackage keyhelper is based on: https://github.com/WhisperSystems/libsignal-protocol-java/blob/master/java/src/main/java/org/whispersystems/libsignal/util/KeyHelper.java
util/medium
util/optional
Version
v0.1.2 (latest)
Published
Feb 12, 2025
Platform
linux/amd64
Last checked
6 days ago

Tools for package owners.