Signal Protocol / libsignal

Protocolo P2P

The cryptographic protocol suite behind the Signal messenger, published as the libsignal library. It contains the Signal protocol, including the Double Ratchet algorithm, with Rust implementations exposed as Java, Swift and TypeScript libraries, plus the cryptographic primitives and supporting components Signal uses: device-to-device transfer, remote attestation of server enclaves, zero-knowledge group credentials (zkgroup and zkcredential), usernames, and PIN-based secure value recovery keys. The repository is used by the official Signal clients and servers; the project says use outside Signal is unsupported and that APIs and implementations may change without notice. The messenger itself is a service run by the Signal Technology Foundation .

Fundação

Detalhes

Licença Copyleft (AGPL-3.0). https://github.com/signalapp/libsignal; the Android client is at https://github.com/signalapp/Signal-Android (AGPL-3.0)
Status de Dev 🟢 Ativo
Proprietário Signal Technology Foundation (a nonprofit under section 501(c)(3) of the US Internal Revenue Code), which runs Signal
Órgão de Governança Signal Technology Foundation, a US nonprofit
País United States (the Signal Technology Foundation is a US 501(c)(3) nonprofit)
Ano de Início 2013
Stack Rust implementations with Java (JNI), Swift and TypeScript (Node) wrappers; Double Ratchet; zero-knowledge credentials; SGX and HSM attestation
Financiamento Donations to the Signal Technology Foundation, per its donation page; no other funding is stated in the cited sources
Última Investigação 29 de out. de 2026

Capacidades

Criptografado de ponta a ponta Divulgação contextual

Protocolo P2P Atributos

Origens Private communication that works for everyone: end-to-end encryption designed for ordinary users, then spun out into a nonprofit foundation in 2018
Banco de Dados N/A
Linguagem de Consulta N/A
Formatos de Dados Defined by the libsignal code and Signal's published specifications
Edição Colaborativa em Tempo Real N/A
Edição de Texto Rico N/A
Suporte Móvel Yes: the libraries are used in the Android and iOS apps
Suporte Web TypeScript (Node) bindings are used by Signal Desktop; no web client
Aplicativos Nativos Yes: Signal Android, iOS and Desktop apps use the library
Termos Free to use; AGPL-3.0 code; nonprofit service funded by donations
Fundos Not stated by the project.
Baseado Em The Double Ratchet algorithm and zero-knowledge credential research (the Signal Private Group System by Chase, Perrin and Zaverucha)
Arquitetura P2P Not peer-to-peer: end-to-end encrypted clients talk through Signal's central servers; the protocol itself is transport-independent
Rede de Sobreposição None: it relies on Signal's servers rather than an overlay
Endereçamento por Conteúdo No.
Local-First No: messages are held on devices but delivery depends on Signal's servers
Criptografia de Ponta a Ponta (E2EE) Yes: end-to-end encryption with the Double Ratchet algorithm
Biblioteca de CRDTs No: not a CRDT library.
Tolerância a Falhas Bizantinas Not stated by the project.
Assinatura Yes: identity keys sign pre-keys and messages are authenticated within the protocol
Permissões Account-level and group-level controls in the Signal service; zero-knowledge group credentials protect group membership from the server
Compatibilidade com a Web Semântica N/A: no RDF, JSON-LD or SPARQL layer.
Contrato Inteligente N/A: no ledger or smart-contract component.
Posição na Pilha de Protocolo Application-layer cryptographic protocol, independent of transport
Incorporação de Ativo / Valor None: no token or value-transfer mechanism.
Maturidade / Padronização do Protocolo Widely deployed and externally analysed; not an IETF or W3C standard; the maintainers say outside use is unsupported