Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ratify-protocol-native-v2

Native key generation, hybrid signing and hybrid verification for the Protocol v2 module (ratify_protocol.v2) of ratify-protocol. Install the SDK with its protocol-v2 extra and this extension comes with it:

pip install "ratify-protocol[protocol-v2]==2.0.0b1"

Applications never import this package directly.

Every private-key operation in the v2 Python SDK runs here: key generation from seeds, public-key derivation from a private key, and Ed25519 + ML-DSA-65 signing. ML-DSA-65 comes from the constant-time fips204 crate and Ed25519 from ed25519-dalek, the same implementations the Ratify Rust core uses. There is no pure-Python signing path.

The SDK computes the 77-byte v2 signing message and the ML-DSA context and passes both to the internal HybridSigningKey._sign method. The extension checks that they name the same registered object type, then signs exactly those bytes. _sign is not public API and the SDK never re-exports it: applications sign only through the SDK's typed signing functions. A compiled module cannot hide a method from code in the same interpreter, so code that already holds a HybridSigningKey, and therefore the private key, can still call it; that is outside the SDK's API guarantee. ML-DSA-65 signing is hedged with fresh OS randomness. The keyword-only deterministic_for_test_vectors=True flag selects the FIPS 204 deterministic variant, which is how the shared test vectors are generated; it is for conformance tests only.

Signing is not wire verification. The SDK verifies every signature returned here with its ordinary verifier before using it.

Verification: the internal _verify_hybrid function checks one hybrid signature over an SDK-computed 77-byte transcript and its ML-DSA context with the Rust core's strict v2 verifier (ratify_protocol::v2::verify_v2_message): canonical, non-identity, prime-order Ed25519 A and R, canonical S < L, the cofactorless Ed25519 equation, and FIPS 204 ML-DSA-65 verification under the per-type context. It handles only public data and releases the GIL while it runs. The SDK uses it for every signature check by default and keeps its pure-Python verifier as an explicit fallback (RATIFY_V2_PURE_VERIFY=1, or a verify-only environment without this extension); the SDK's test suite runs the whole shared signature corpus through both and requires identical results.

Key material: HybridSigningKey keeps the parsed keys in native memory and zeroizes them on drop. The SDK's HybridPrivateKey is bytes-backed, so private key bytes cross from Python into the extension on each signing call, and back out from key generation (hybrid_keypair_from_seeds_py, HybridSigningKey.private_key_bytes). Python bytes cannot be wiped.

It is versioned in lockstep with ratify-protocol, whose protocol-v2 extra pins it exactly. Importing ratify_protocol.v2 fails if this extension's version() does not match.

It is a separate distribution and module from the v1 extension (ratify-protocol-native / ratify_protocol_native), so both can be installed in one environment.

Metadata

Release files for ratify-protocol-native-v2 2.0.0b1

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

Source distribution (sdist)

Source distribution for ratify-protocol-native-v2 2.0.0b1
File Size Uploaded Provenance Actions
ratify_protocol_native_v2-2.0.0b1.tar.gz 514.9 kB With provenance Details for ratify_protocol_native_v2-2.0.0b1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ratify-protocol-native-v2 2.0.0b1
File Actions
ratify_protocol_native_v2-2.0.0b1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for ratify_protocol_native_v2-2.0.0b1-cp310-abi3-win_amd64.whl
ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_11_0_arm64.whl
ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details for ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_10_12_x86_64.whl

Total release size: 2.7 MB

Release files / ratify_protocol_native_v2-2.0.0b1.tar.gz

Download URL ratify_protocol_native_v2-2.0.0b1.tar.gz
Size 514.9 kB
Tags Source
SHA-256 checksum
How to use checksums
51e97de0296695f6c19cc50674dcd9aecec6e0c7fafae0309f75ba74dc734453
BLAKE2b-256 checksum
How to use checksums
b28bc30582b81004b42e266bcf34f300c7446286bf675155bb3cccbaf474d2ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / ratify_protocol_native_v2-2.0.0b1-cp310-abi3-win_amd64.whl

Download URL ratify_protocol_native_v2-2.0.0b1-cp310-abi3-win_amd64.whl
Size 310.0 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
d19ab78d593c3517972866ab45b90557933b918e4487cd5f06938e11661d4b5f
BLAKE2b-256 checksum
How to use checksums
88b9f617ec8e514c7fb2ebae68ecd4a82aaa5a1aab2ed492a3ac9117c55817f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 527.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
41a782b72f17d131c5f513971fe98862e48a7593a682f7b1fcdd59047524be4c
BLAKE2b-256 checksum
How to use checksums
a66cff11b72e39c7ec92d27bc1cdc35657fa1453343000934e85ba599d0fb4fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL ratify_protocol_native_v2-2.0.0b1-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 479.0 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
75c04ceaf0ada93229f6bdbed1201a271957329e6e107d193cfa35c560accbfb
BLAKE2b-256 checksum
How to use checksums
165b194abc3383df622129a4adce11fce33fa07ca53f90271d62bb4ced95f329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_11_0_arm64.whl

Download URL ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_11_0_arm64.whl
Size 428.3 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9e6d5a6d5a23a8d2b1782b8265ee94ceff82ae62fec1b961d3e211561c78ab1e
BLAKE2b-256 checksum
How to use checksums
bfb444d79a0bb1e7dfb0b7e62ceae3b8a656fee27d2c272e0056f4e18c401e33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL ratify_protocol_native_v2-2.0.0b1-cp310-abi3-macosx_10_12_x86_64.whl
Size 419.4 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d692efdebca6548c50d8baf91bf912f959194a1173aaf4cd092963c27d7f456a
BLAKE2b-256 checksum
How to use checksums
86b3c93a13f57ad9c09303d6c8cbdfd38418a4a458b591ba82b187127f662c94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for ratify-protocol-native-v2 2.0.0b1

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for ratify_protocol_native_v2-2.0.0b1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release
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