Noise Protocol Framework

Protocolo P2P

Cryptographic meta-framework for constructing secure two-party handshake and channel protocols based on Diffie-Hellman key exchange. Provides a pattern language for composing authenticated key establishment (AKE) protocols supporting mutual/optional authentication, identity hiding, forward secrecy, and zero round-trip encryption. Not a full protocol itself — a framework other protocols implement at the session/crypto layer. Widely adopted: WhatsApp, WireGuard, Lightning Network, I2P.

Comunidade

Detalhes

Licença Public domain specification; open source implementations in C, C#, Go, Haskell, Java, JavaScript, Python, Rust
Status de Dev 🏁 Final
Detalhe do Status de Dev Stable / Mature — specification at revision 34 (2018); post-quantum extensions in development
Proprietário Trevor Perrin (independent cryptographer)
Órgão de Governança None (single independent author, Trevor Perrin; specification stable since revision 34, 2018)
País USA
Ano de Início 2014
Stack Language-agnostic specification; implementations in C, Rust, Go, JavaScript, Python, Haskell, Java
Financiamento None (independent research)
Última Investigação 15 de jan. de 2026

Capacidades

Divulgação contextual

Protocolo P2P Atributos

Origens Reaction to complexity and error-proneness of hand-crafted AKE protocols; inspired by Signal Protocol and NaCl Cryptobox philosophy of simple, composable cryptographic primitives
Banco de Dados N/A
Linguagem de Consulta N/A
Formatos de Dados Binary (handshake message sequences); no defined application data format
Edição Colaborativa em Tempo Real No
Edição de Texto Rico No
Suporte Móvel Yes (via adopters: WireGuard mobile, WhatsApp mobile)
Suporte Web Yes (via adopters: WhatsApp web, Lightning web)
Aplicativos Nativos Yes (via adopters)
Termos Public domain
Fundos N/A
Baseado Em Signal Protocol (design philosophy); NaCl Cryptobox; Diffie-Hellman key exchange
Arquitetura P2P Two-party session establishment — provides authenticated key establishment for any P2P or client-server architecture; does not define a network topology
Rede de Sobreposição N/A — session/handshake layer only
Endereçamento por Conteúdo No
Local-First N/A — session-layer primitive
Criptografia de Ponta a Ponta (E2EE) Yes — mutual authentication, identity hiding, forward secrecy, zero-RTT encryption
Biblioteca de CRDTs N/A
Tolerância a Falhas Bizantinas N/A — no network-layer BFT; session security only
Assinatura Yes — ECDH-based static and ephemeral key exchange; ed25519 / X25519
Permissões Key-based (static public key as capability; PSK extension available for pre-shared key layer)
Compatibilidade com a Web Semântica No
Contrato Inteligente No
Posição na Pilha de Protocolo Session/crypto layer — operates below application protocols and above transport; provides authenticated key establishment for any P2P session
Incorporação de Ativo / Valor None — cryptographic session framework only; no value or asset transmission
Maturidade / Padronização do Protocolo Mature / De Facto Standard — specification stable since revision 34 (2018); adopted by WhatsApp, WireGuard, Lightning Network, I2P; academic security proofs published; not submitted to formal standards body