$npx skillfedfor your agent

noiseprotocol

Implementation of Noise Protocol Framework

SkipPyPI CryptographyReleased Mar 2020562.8K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — noiseprotocol-0.3.1-py3-none-any.whl
v0.3.1 · released 2020-03-03 · Python ~=3.5 · 1 runtime deps: cryptography

No. The package is abandoned (last release 2020-03-03, last commit 2023-05-09) with no active maintenance or security updates. The README explicitly notes that peer review of the code is incomplete. Use only if you are maintaining a fork or working with legacy systems that already depend on it. For new projects requiring Noise Protocol, seek an actively maintained alternative or a reference implementation with ongoing security support.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.5 or later.
  • Author supports Linux only; Windows and macOS compatibility is untested.
  • Low friction install with a single runtime dependency on cryptography.

License · maintenance · safety

MIT (permissive) — MIT license is permissive and poses no restrictions on use, modification, or distribution in proprietary or open-source projects.

last release 2020-03-03 (2355 days) · last repo commit 2023-05-09 · 222 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 562,812 downloads/mo, #5,985 on PyPI

Verify before relying

pip install noiseprotocol

from noiseprotocol import NoiseConnection

proto = NoiseConnection.from_name(b'Noise_NN_25519_ChaChaPoly_SHA256')
proto.set_as_initiator()
proto.start_handshake()
message = proto.write_message()
encrypted = proto.encrypt(b'payload')
  • Whether the package has been audited or reviewed for cryptographic correctness (the README lists 'get peer review of the code' as an incomplete todo item).
  • Current compatibility with modern versions of the cryptography dependency and whether breaking changes have affected this package since 2020-03-03.
Same gist for agents: .md · .json

What it is and what it does

noiseprotocol is a Python 3 implementation of the Noise Protocol Framework, a standardized approach to building secure communication channels. It provides classes like NoiseConnection, HandshakeState, CipherState, and SymmetricState to handle the cryptographic handshake and subsequent message encryption and decryption. The package supports various Noise patterns combined with different elliptic curves, ciphers, and hash functions, allowing you to instantiate a protocol variant by name and use it to establish an authenticated encrypted channel between two endpoints.

The package is designed for scenarios where you need to exchange messages securely over an untrusted network—such as VPN tunnels or peer-to-peer applications. You create a NoiseConnection, perform a handshake by exchanging write_message() and read_message() calls, and once the handshake is complete, use encrypt() and decrypt() for all subsequent communication. It depends only on cryptography for its cryptographic primitives.

Use it for

  • Implement a VPN or tunneling protocol that requires authenticated key exchange and encrypted message transport.
  • Build a peer-to-peer application where two parties need to establish a secure channel without a pre-shared secret.
  • Integrate Noise Protocol into a custom protocol stack where you control both the handshake and the cipher suite selection.
  • Prototype or test Noise Protocol variants and patterns in a Python environment before deploying to production systems.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No.

The package is abandoned (last release 2020-03-03, last commit 2023-05-09) with no active maintenance or security updates. The README explicitly notes that peer review of the code is incomplete. Use only if you are maintaining a fork or working with legacy systems that already depend on it. For new projects requiring Noise Protocol, seek an actively maintained alternative or a reference implementation with ongoing security support.

Install

noiseprotocol on PyPI

Before you install

Low friction install with a single runtime dependency on cryptography. However, the package is abandoned—last release was 2020-03-03 and last commit 2023-05-09—meaning no active maintenance or security updates. Use only if you are committed to maintaining a fork or are working with legacy systems.

Requires Python 3.5 or later. Author supports Linux only; Windows and macOS compatibility is untested.

License in practice

MIT license is permissive and poses no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install noiseprotocol

from noiseprotocol import NoiseConnection

proto = NoiseConnection.from_name(b'Noise_NN_25519_ChaChaPoly_SHA256')
proto.set_as_initiator()
proto.start_handshake()
message = proto.write_message()
encrypted = proto.encrypt(b'payload')

Verify before relying

  • Whether the package has been audited or reviewed for cryptographic correctness (the README lists 'get peer review of the code' as an incomplete todo item).
  • Current compatibility with modern versions of the cryptography dependency and whether breaking changes have affected this package since 2020-03-03.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release ~=3.5
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
cryptography
MaintenanceAbandoned 2,355 days since the last release
Last repo commit
First released
Downloads562,812 / month, #5,985 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Security :: Cryptography

Evidence: noiseprotocol-0.3.1-py3-none-any.whl

Tags

Capabilities
noise protocol implementationauthenticated encryption handshakecryptographic protocol frameworksecure channel establishmentnoise protocol pythoncurve25519 chacha20 encryptionprotocol handshake library
Topics
cryptographyprotocol-implementationabandoned
PyPI keywords
cryptographynoiseprotocolnoisesecurity

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “noise protocol implementation”

  • noiseprotocolImplements the Noise Protocol Framework for Python 3, enabling…
  • noisereduceReduces noise in audio and time-domain signals using spectral gating,…
  • pystoiComputes Short Term Objective Intelligibility (STOI) measures for…

Give your agent the search over MCP, or paste the wish link into any chat.

More Cryptography packages

certifi Worth it
PyPI · Cryptography · released Jul 2026

Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.

MPL-2.0pure Python · 3.7+
1.9Bdownloads / mo
cryptography Worth it
PyPI · Cryptography · released Jul 2026

cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.

Apache-2.0 OR BSD-3-Clausecompiled wheel
1.5Bdownloads / mo
rsa Skip
PyPI · Cryptography · released Apr 2025

Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.

Apache-2.0pure Pythonabandoned
299.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
azure-identity Worth it
PyPI · Cryptography · released Mar 2026

Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.

license unclearpure Python · 3.9+
247.2Mdownloads / mo
PyNaCl Worth it
PyPI · Cryptography · released Jan 2026

PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.

Apache-2.0compiled wheel · 3.8+
246.6Mdownloads / mo

See also ff3 · django-cryptography · cryptg · pycryptodomex · django-cryptography-django5 · python3-dtls · pyaes · PGPy13 · django-cryptography-5 · PGPy