{"categories":[{"label":"Cryptography","url":"https://skillfed.io/packages/category/security-cryptography"}],"enrichment":{"capability":"Implements Secure Remote Password (SRP) protocol for password-authenticated key agreement, providing both programmatic API and command-line tools for client-server authentication without transmitting passwords.","skillfed_tags":["authentication","cryptography","pake"],"use_cases":["Implement password-based authentication in web applications or APIs where you want to avoid transmitting passwords over the network.","Build peer-to-peer or distributed systems requiring mutual authentication without relying on a central certificate authority.","Add SRP-based authentication to IoT or embedded systems where password security and key exchange are critical.","Test or prototype SRP protocol implementations using the command-line utility for debugging authentication flows.","Replace basic password authentication in legacy systems with a cryptographically stronger PAKE mechanism."],"what_it_does":"srptools provides a complete implementation of the Secure Remote Password (SRP) protocol, a password-authenticated key agreement (PAKE) mechanism that allows two parties to authenticate each other and establish a shared session key without ever transmitting the password over the network. The package supports both Python 2 and 3 and offers two interfaces: a programmatic API via SRPContext, SRPServerSession, and SRPClientSession classes, and a command-line utility for testing and integration.\n\nThe library handles the cryptographic details of SRP authentication, including user data triplet generation (username, password verifier, and salt), session key derivation, and optional proof verification for mutual authentication. It supports both hex and base64 encoding of values, allows session restoration via private key storage, and can raise SRPException to signal authentication failures that should halt the process. The package has no external runtime dependencies for API use, making it lightweight for embedding in applications.","worth_installing":"Yes, if you need SRP authentication. The package is stable, has no runtime dependencies, and is actively maintained. However, note that the latest release was in 2020 and Python 2 support is included; verify that the supported Python versions and any cryptographic assumptions align with your security requirements before production use."},"id":"srptools","links":{"html":"https://skillfed.io/packages/srptools","md":"https://skillfed.io/packages/srptools.md","pypi":"https://pypi.org/project/srptools/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2020-09-12","license_spdx":null,"license_treatment":"permissive","name":"srptools","python_support":"unspecified","summary":"Tools to implement Secure Remote Password (SRP) authentication"},"popularity":{"monthly_downloads":473669,"position":6460,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.0.1"}
