Python bindings for the OPAQUE-KE asymmetric password-authenticated key exchange protocol
Project description
opaque-ke-py
Python bindings for the OPAQUE-KE asymmetric password-authenticated key exchange (aPAKE) protocol.
What is OPAQUE?
OPAQUE is a secure asymmetric password-authenticated key exchange protocol that provides strong security guarantees:
- Server never sees the password: The server doesn't store passwords in plaintext or even hashed form
- Resistant to pre-computation attacks: Even if the server is compromised, attackers cannot perform offline dictionary attacks
- Mutual authentication: Both client and server authenticate each other
- Establishes a shared session key: After successful authentication, both parties share a strong cryptographic session key
Installation
From source
You'll need Rust and Python 3.12+ installed.
# Install maturin (Rust/Python build tool)
pip install maturin
# Build and install
maturin build --release
pip install target/wheels/opaque_ke_py-*.whl
From PyPI (when published)
pip install opaque-ke-py
Quick Start
import opaque_ke_py
# Server setup (done once when server initializes)
server_setup = opaque_ke_py.server_setup()
# Registration flow
username = b"alice"
password = b"correct-horse-battery-staple"
# 1. Client starts registration
client_reg_start = opaque_ke_py.client_registration_start(password)
registration_request = client_reg_start.get_message()
client_reg_state = client_reg_start.get_state()
# 2. Server processes registration request
server_reg_start = opaque_ke_py.server_registration_start(
server_setup,
registration_request,
username
)
registration_response = server_reg_start.get_message()
# 3. Client finishes registration
client_reg_finish = opaque_ke_py.client_registration_finish(
password,
client_reg_state,
registration_response
)
registration_upload = client_reg_finish.get_message()
# 4. Server stores password file
server_reg_finish = opaque_ke_py.server_registration_finish(registration_upload)
password_file = server_reg_finish.get_password_file()
# Store password_file securely in database
# Login flow
# 1. Client starts login
client_login_start = opaque_ke_py.client_login_start(password)
credential_request = client_login_start.get_message()
client_login_state = client_login_start.get_state()
# 2. Server processes login request
server_login_start = opaque_ke_py.server_login_start(
server_setup,
password_file,
credential_request,
username
)
credential_response = server_login_start.get_message()
server_login_state = server_login_start.get_state()
# 3. Client finishes login
client_login_finish = opaque_ke_py.client_login_finish(
password,
client_login_state,
credential_response
)
credential_finalization = client_login_finish.get_message()
client_session_key = client_login_finish.get_session_key()
# 4. Server finishes login
server_login_finish = opaque_ke_py.server_login_finish(
server_login_state,
credential_finalization
)
server_session_key = server_login_finish.get_session_key()
# Both client and server now have matching session keys
assert client_session_key == server_session_key
Complete Example
See example.py for a complete working example demonstrating:
- Server setup
- User registration
- User login
- Session key establishment
- Failed login handling
Run it with:
python example.py
API Reference
Server Setup
server_setup() -> ServerSetupData
Generate server setup containing the server's keypair. This should be done once when the server starts and the result should be stored securely.
Registration Flow
1. Client Registration Start
client_registration_start(password: bytes) -> ClientRegistrationStartData
Client initiates registration with their password.
Returns:
get_message(): Message to send to serverget_state(): Client state to keep private
2. Server Registration Start
server_registration_start(
server_setup: ServerSetupData,
registration_request: bytes,
username: bytes
) -> ServerRegistrationStartData
Server processes the registration request.
Returns:
get_message(): Message to send back to client
3. Client Registration Finish
client_registration_finish(
password: bytes,
client_state: bytes,
registration_response: bytes
) -> ClientRegistrationFinishData
Client completes registration.
Returns:
get_message(): Final message to send to serverget_export_key(): Export key for additional key derivation
4. Server Registration Finish
server_registration_finish(
registration_upload: bytes
) -> ServerRegistrationFinishData
Server completes registration and generates password file.
Returns:
get_password_file(): Password file to store in database
Login Flow
1. Client Login Start
client_login_start(password: bytes) -> ClientLoginStartData
Client initiates login with their password.
Returns:
get_message(): Message to send to serverget_state(): Client state to keep private
2. Server Login Start
server_login_start(
server_setup: ServerSetupData,
password_file: bytes,
credential_request: bytes,
username: bytes
) -> ServerLoginStartData
Server processes the login request.
Returns:
get_message(): Message to send back to clientget_state(): Server state to keep private
3. Client Login Finish
client_login_finish(
password: bytes,
client_state: bytes,
credential_response: bytes
) -> ClientLoginFinishData
Client completes login. Raises ValueError if authentication fails.
Returns:
get_message(): Final message to send to serverget_session_key(): Shared session key for encrypted communicationget_export_key(): Export key for additional key derivation
4. Server Login Finish
server_login_finish(
server_state: bytes,
credential_finalization: bytes
) -> ServerLoginFinishData
Server completes login. Raises ValueError if authentication fails.
Returns:
get_session_key(): Shared session key for encrypted communication
Security Considerations
- Transport Security: OPAQUE should be used over a secure transport layer (e.g., TLS) to prevent MITM attacks
- Server Setup Storage: Store the server setup securely and never expose it
- Password File Storage: Store password files securely in your database
- State Management: Keep client/server states private during multi-step protocols
- Session Keys: Use the established session keys for encrypting subsequent communications
- Username Binding: Usernames are cryptographically bound to registrations to prevent confusion attacks
Cipher Suite
This wrapper uses the following cryptographic primitives:
- OPRF: Ristretto255
- Key Exchange: TripleDH over Ristretto255 with SHA-512
- Key Stretching Function: Argon2
These provide strong security guarantees and are recommended by the OPAQUE specification.
Development
Building
# Debug build
maturin develop
# Release build
maturin build --release
Testing
# Run the example
python example.py
# Check types
mypy example.py
License
MIT
Credits
This project wraps the opaque-ke Rust implementation by Meta Platforms, Inc.
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file opaque_ke_py-0.1.1-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 244.9 kB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02c0e944723bf027579c53541cffda63d230c8054655668b6b94af0440b374b7
|
|
| MD5 |
08da88fc698fa4f8e0b460f396de7722
|
|
| BLAKE2b-256 |
871a50c12706c2cb319c6537d135f87340a6084f437cf28c8b80eca5febfdd3f
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp314-cp314t-win_amd64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp314-cp314t-win_amd64.whl -
Subject digest:
02c0e944723bf027579c53541cffda63d230c8054655668b6b94af0440b374b7 - Sigstore transparency entry: 744929786
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 571.7 kB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bef3501bd8f2c09b7e80c2ff36a1e9d15af3a7a8906fdd125b572fa750adf3f
|
|
| MD5 |
2880026b37cd63de84ddcd0a8e43c56c
|
|
| BLAKE2b-256 |
bb4edec78ff557a4eec726fecf7d86d532afc864d3b215b6fbf7cf3d94d00926
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl -
Subject digest:
4bef3501bd8f2c09b7e80c2ff36a1e9d15af3a7a8906fdd125b572fa750adf3f - Sigstore transparency entry: 744929720
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 573.0 kB
- Tags: CPython 3.14t, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21ea7d932652e1bb6aa2857b9de43a0a8a1b80e873dc260f84b8bce843b3b201
|
|
| MD5 |
0ddefd3e18a32e11e0b6fa630ec10dd9
|
|
| BLAKE2b-256 |
d3bce9bfcdca325d0fd5210d06a09e228a0d84dd16df7ac3e7ef712bf2ba32fc
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl -
Subject digest:
21ea7d932652e1bb6aa2857b9de43a0a8a1b80e873dc260f84b8bce843b3b201 - Sigstore transparency entry: 744930044
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 390.0 kB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e74f6d97cc599b29c3751770f1de2eb22c0781423a6e266bf7124642b97752bb
|
|
| MD5 |
aff46615cc80257c759f1ecefa01b825
|
|
| BLAKE2b-256 |
8a64479643314b4cde8519f20c4fce6952f9ad9a4fe4de5df2de44a245fdf092
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_28_aarch64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_28_aarch64.whl -
Subject digest:
e74f6d97cc599b29c3751770f1de2eb22c0781423a6e266bf7124642b97752bb - Sigstore transparency entry: 744930086
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 401.4 kB
- Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6247dd5154f4b2e06a5e1a251e895bcf723e5c3370ea64bdfec3c9a167232af4
|
|
| MD5 |
5e4eb8069da6f5e5c61c182c360f2319
|
|
| BLAKE2b-256 |
09ba008e0b8da80f17a2b87b37fb93723b72e3cf8ab778ed62445ac092209690
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
6247dd5154f4b2e06a5e1a251e895bcf723e5c3370ea64bdfec3c9a167232af4 - Sigstore transparency entry: 744929759
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 708.4 kB
- Tags: CPython 3.14t, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4f26e7682b414ca534d55801b31d9f8ed9a9b5eaef36d3397107887c8fd78f6
|
|
| MD5 |
92e59f916e0f616706a31e67adef6de0
|
|
| BLAKE2b-256 |
a31a2ff31ddf8068916fe77c1fb7f4562b2778f47e007b3b5462093a877c790f
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl -
Subject digest:
f4f26e7682b414ca534d55801b31d9f8ed9a9b5eaef36d3397107887c8fd78f6 - Sigstore transparency entry: 744929900
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp313-cp313t-win_amd64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp313-cp313t-win_amd64.whl
- Upload date:
- Size: 244.2 kB
- Tags: CPython 3.13t, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
538938be05f76f1d03c4f63528ededa61d61016d90c83d97410c062f181783d7
|
|
| MD5 |
fbff85819c947674889dc27fe0df092f
|
|
| BLAKE2b-256 |
f2847968700ab98ddb9adf97dc27cb796d88e1e770694e8f805ce885991c2779
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp313-cp313t-win_amd64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp313-cp313t-win_amd64.whl -
Subject digest:
538938be05f76f1d03c4f63528ededa61d61016d90c83d97410c062f181783d7 - Sigstore transparency entry: 744929660
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 571.6 kB
- Tags: CPython 3.13t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3f9b752baa0c791dba724917df4f32bf8b23845f567afe28db924c3671e34dd
|
|
| MD5 |
4ee08a4ceff264eddec9f831e7cd174f
|
|
| BLAKE2b-256 |
4209899b64f979c403ec34f8de594e20cfc2d2e5b7d5f17e9c43a079b32692fd
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_x86_64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_x86_64.whl -
Subject digest:
d3f9b752baa0c791dba724917df4f32bf8b23845f567afe28db924c3671e34dd - Sigstore transparency entry: 744929825
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 573.3 kB
- Tags: CPython 3.13t, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2879b7221260ae61687d3cf91d5e5a27accda942531c883a94d8c64dd73b44ff
|
|
| MD5 |
132dd605098a84fb06651e8c73b70a40
|
|
| BLAKE2b-256 |
17a497c849c8f3942a8a8737ae785c1bf6e76a84b5861362611eba3e548abcd5
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl -
Subject digest:
2879b7221260ae61687d3cf91d5e5a27accda942531c883a94d8c64dd73b44ff - Sigstore transparency entry: 744929626
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 390.0 kB
- Tags: CPython 3.13t, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06ef03483fdcb331a1d241131123ff0899b425fced6796865581c71867af0e9a
|
|
| MD5 |
0ca698f870f20658f3f7bec0dfb45564
|
|
| BLAKE2b-256 |
9fce329664f15ee9f69756ff8037d68ebc8459a67b05eb14a9bb2d4ca0559a41
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_28_aarch64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_28_aarch64.whl -
Subject digest:
06ef03483fdcb331a1d241131123ff0899b425fced6796865581c71867af0e9a - Sigstore transparency entry: 744929974
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 401.3 kB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68cb5cbe09a714260316987b4ba4a9f757218fd03f1c4720745248cda3799a2d
|
|
| MD5 |
f583b291ad5b2b0947f306495280794c
|
|
| BLAKE2b-256 |
4bbd945c9d41d47c76345048c8d15783894b2c6d55c9187bfdef75c32e15f2a1
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
68cb5cbe09a714260316987b4ba4a9f757218fd03f1c4720745248cda3799a2d - Sigstore transparency entry: 744929690
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 708.6 kB
- Tags: CPython 3.13t, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
927a41e7afc7ce62babe6b4248209e81506b60df948f4a85b908a2c38add5ebd
|
|
| MD5 |
246a5a4af0f393b1fd6457592de136f0
|
|
| BLAKE2b-256 |
a55857da4b81123114c89abb61800aa08e3fce93d191d19c1dbf5f60da15e778
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl -
Subject digest:
927a41e7afc7ce62babe6b4248209e81506b60df948f4a85b908a2c38add5ebd - Sigstore transparency entry: 744930120
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 250.8 kB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
982caca78cd5ea0c761271dd8cd618e54aa4e5878ace92c659dd7174c4b9312e
|
|
| MD5 |
0d1ec2bc856d1f8b8baa606c830abd19
|
|
| BLAKE2b-256 |
41e25fae8ec48e8c4613e2a92f00831cb8a45cac4c1d63fd53100635af5f0074
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp38-abi3-win_amd64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp38-abi3-win_amd64.whl -
Subject digest:
982caca78cd5ea0c761271dd8cd618e54aa4e5878ace92c659dd7174c4b9312e - Sigstore transparency entry: 744929547
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 579.9 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a007370a0521cfda7e097887b000cd879097dd3d360038d2e7afd4753ddb4f85
|
|
| MD5 |
ebd523c45e2da5a369de05aec0356941
|
|
| BLAKE2b-256 |
5167f34aa2f9eaf09a6b00db94992c6e57640ff43eaceb92320aee6d78115b1e
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_x86_64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
a007370a0521cfda7e097887b000cd879097dd3d360038d2e7afd4753ddb4f85 - Sigstore transparency entry: 744929514
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 580.9 kB
- Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a83b98fa44b09dd1154a79de9b18bec40506a15283ae1425d5e8eea11fcc3c12
|
|
| MD5 |
a87166271e0811918b7ec17d44132dc6
|
|
| BLAKE2b-256 |
92535d0d18c358af30e18da56e4450c599f6b740c4ca62e11ce21335e0225ae8
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_aarch64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp38-abi3-musllinux_1_2_aarch64.whl -
Subject digest:
a83b98fa44b09dd1154a79de9b18bec40506a15283ae1425d5e8eea11fcc3c12 - Sigstore transparency entry: 744930006
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 397.6 kB
- Tags: CPython 3.8+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41555c9325d23e2cb25aa3fcf607f58effe47a7357517f2b3f569ebd484a2c7c
|
|
| MD5 |
f73ab17ca3026e885301ee7674d05167
|
|
| BLAKE2b-256 |
232753e8323ed6f4f58c808e0f28a73c969b1b36f960d01968f4f8686dfca17e
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_28_aarch64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
41555c9325d23e2cb25aa3fcf607f58effe47a7357517f2b3f569ebd484a2c7c - Sigstore transparency entry: 744929937
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 411.3 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f7df62778c7c80060175580d6f928db42aef6a0e814ec15d69159fbec77225e
|
|
| MD5 |
9519587a2d7e852d2f5d7bda87ed9c30
|
|
| BLAKE2b-256 |
32aefb2feb6b9b115e3508fe6dc3e1dd3f52e3b30041c213204c58c33d977bdd
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
7f7df62778c7c80060175580d6f928db42aef6a0e814ec15d69159fbec77225e - Sigstore transparency entry: 744929868
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaque_ke_py-0.1.1-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: opaque_ke_py-0.1.1-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 724.1 kB
- Tags: CPython 3.8+, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81f4029125e3aa245c340a338af77778f0231d7a7442c82ce2fc33a898a3357d
|
|
| MD5 |
004b22350d01279bcd15b7561b8804d1
|
|
| BLAKE2b-256 |
3f5e5a02ab19477dd7bc0dbb62a33d8552e2905825a049d2c88fe9531078afc2
|
Provenance
The following attestation bundles were made for opaque_ke_py-0.1.1-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:
Publisher:
py-release.yml on jontyms/opaque-ke-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaque_ke_py-0.1.1-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl -
Subject digest:
81f4029125e3aa245c340a338af77778f0231d7a7442c82ce2fc33a898a3357d - Sigstore transparency entry: 744929593
- Sigstore integration time:
-
Permalink:
jontyms/opaque-ke-py@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jontyms
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
py-release.yml@ba1d39fff6d6dd3f23215e5f5186fbf8a8be8a6c -
Trigger Event:
push
-
Statement type: