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.

Comunidad

Detalles

Licencia Public domain specification; open source implementations in C, C#, Go, Haskell, Java, JavaScript, Python, Rust
Estado de Desarrollo 🏁 Final
Detalle del Estado de Desarrollo Stable / Mature — specification at revision 34 (2018); post-quantum extensions in development
Propietario Trevor Perrin (independent cryptographer)
Órgano de Gobierno None (single independent author, Trevor Perrin; specification stable since revision 34, 2018)
País USA
Año de Inicio 2014
Stack Language-agnostic specification; implementations in C, Rust, Go, JavaScript, Python, Haskell, Java
Financiamiento None (independent research)
Última Investigación 15 ene 2026

Capacidades

Divulgación contextual

Protocolo P2P Atributos

Orígenes Reaction to complexity and error-proneness of hand-crafted AKE protocols; inspired by Signal Protocol and NaCl Cryptobox philosophy of simple, composable cryptographic primitives
Base de Datos N/A
Lenguaje de Consulta N/A
Formatos de Datos Binary (handshake message sequences); no defined application data format
Edición Colaborativa en Vivo No
Edición de Texto Enriquecido No
Soporte Móvil Yes (via adopters: WireGuard mobile, WhatsApp mobile)
Soporte Web Yes (via adopters: WhatsApp web, Lightning web)
Aplicaciones Nativas Yes (via adopters)
Términos Public domain
Fondos N/A
Basado En Signal Protocol (design philosophy); NaCl Cryptobox; Diffie-Hellman key exchange
Arquitectura P2P Two-party session establishment — provides authenticated key establishment for any P2P or client-server architecture; does not define a network topology
Red de Superposición N/A — session/handshake layer only
Direccionamiento por Contenido No
Local-First N/A — session-layer primitive
Cifrado de Extremo a Extremo (E2EE) Yes — mutual authentication, identity hiding, forward secrecy, zero-RTT encryption
Biblioteca de CRDTs N/A
Tolerancia a Fallos Bizantinos N/A — no network-layer BFT; session security only
Firma Yes — ECDH-based static and ephemeral key exchange; ed25519 / X25519
Permisos Key-based (static public key as capability; PSK extension available for pre-shared key layer)
Compatibilidad con la Web Semántica No
Contrato Inteligente No
Posición en la Pila del Protocolo Session/crypto layer — operates below application protocols and above transport; provides authenticated key establishment for any P2P session
Incorporación de Activos/Valor None — cryptographic session framework only; no value or asset transmission
Madurez del Protocolo / Estandarización 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