Skip to main content

PSSST: Packet Security for Stateless Server Transactions

This module implements the PSSST protocol and provides a very simple interface for client and server endpoints. PSSST is designed to provide a light weight way for clients to securely communicate with servers.

Using the pssst library is very simple. A client is represented by an instance of the PSSSTClient class which is instantiated with the server’s public key and optionally specifies the client’s private key and the cipher suite. A server is represented by an instance of the PSSSTServer class which is instantiated with the server’s private key and optionally specifies the cipher suite. Each of these classes offer only one method.

The PSSSTClient class provides the pack_request() method; this takes the request message as its sole argument and returns a tuple of the encrypted and packed packet and a function that can be used to unpack the reply to that packet.

The PSSSTServer class provides the unpack_request() method; this takes an encrypted request packet as its sole argument and returns a tuple containing the decrypted request message, the authenticated client public key (or None if client authentication is not used) and a function that can be used to pack the reply message into an encrypted packet. Thus a minimal example of a transaction is as follows:

client = pssst.PSSSTClient(server_public_key)
server = pssst.PSSSTServer(server_private_key)

request_message = b"The Magic Words are Squeamish Ossifrage"

# Pack the message with the client and unpack it with the server
request_packet, client_reply_handler = client.pack_request(request_message)
received_request, client_auth_key, server_reply_handler = server.unpack_request(request_packet)

# Echo the request back from the server to the client
reply_packet = server_reply_handler(received_request)
received_reply = client_reply_handler(reply_packet)

Metadata

Release files for pssst 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pssst 0.2.1
File Size Uploaded Provenance
pssst-0.2.1.tar.gz 5.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pssst 0.2.1
File Interpreter ABI Platform
pssst-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / pssst-0.2.1.tar.gz

Download URL pssst-0.2.1.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
826bf64cf19f72b0eb5c819929a07db26e7afa2253704a413b9f5ce0b1318e1e
BLAKE2b-256 checksum
How to use checksums
90664a936e79feb99859e5f760780e9c2c0fe1e235e62392a74c5123f9b8ba38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.5

Release files / pssst-0.2.1-py3-none-any.whl

Download URL pssst-0.2.1-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c099d08c5285e95290fde6654842bf7f313893aafe315505eb30cfe11a68ff11
BLAKE2b-256 checksum
How to use checksums
11b4b5444c832a0a9cbf9dc4a71aa832bfc99582dadb72b4aaad0ecbb130ecb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.5

Security for pssst 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page