{"categories":[{"label":"Cryptography","url":"https://skillfed.io/packages/category/security-cryptography"}],"enrichment":{"capability":"Implements the Noise Protocol Framework for Python 3, enabling authenticated and encrypted communication between two parties through a standardized handshake and message encryption protocol.","skillfed_tags":["cryptography","protocol-implementation","abandoned"],"use_cases":["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."],"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.\n\nThe package is designed for scenarios where you need to exchange messages securely over an untrusted network\u2014such 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.","worth_installing":"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."},"id":"noiseprotocol","links":{"html":"https://skillfed.io/packages/noiseprotocol","md":"https://skillfed.io/packages/noiseprotocol.md","pypi":"https://pypi.org/project/noiseprotocol/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2020-03-03","license_spdx":null,"license_treatment":"permissive","name":"noiseprotocol","python_support":"supports_current","summary":"Implementation of Noise Protocol Framework"},"popularity":{"monthly_downloads":562812,"position":5985,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.3.1"}
