summaryrefslogtreecommitdiff
path: root/net-im/libsignal-node/pkg-descr
blob: 52285f6a6502bdeec4124adc390101d5d811640a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
libsignal contains platform-agnostic APIs used by the official Signal clients
and servers, exposed as a Java, Swift, or TypeScript library.
The underlying implementations are written in Rust:

 - libsignal-protocol: Implements the Signal protocol, including the
   Double Ratchet algorithm. A replacement for libsignal-protocol-java and
   libsignal-metadata-java.
 - signal-crypto: Cryptographic primitives such as AES-GCM. We use RustCrypto's
   where we can but sometimes have differing needs.
 - device-transfer: Support logic for Signal's device-to-device transfer
   feature.
 - attest: Functionality for remote attestation of SGX enclaves and
   server-side HSMs.
 - zkgroup: Functionality for zero-knowledge groups and related features
   available in Signal.
 - poksho: Utilities for implementing zero-knowledge proofs (such as those used
   by zkgroup); stands for "proof-of-knowledge, stateful-hash-object".