Skip to main content

Python bindings for c-fn-dsa

Project description

py-fn-dsa

Python bindings for Thomas Pornin's c-fn-dsa using CFFI out-of-line API mode.

Features

  • Thin wrapper around upstream c-fn-dsa
  • Windows and Linux support
  • Pythonic API
  • Upstream validation, KAT, and interoperability tests

Installation

uv sync

Quick Start

from py_fn_dsa import keygen, sign, verify
vk, sk = keygen()
sig = sign(sk, b"hello")
assert verify(vk, sig, b"hello")

API Reference

  • keygen()
  • sign()
  • verify()

Security Notes

Uses the upstream implementation without modifying cryptographic algorithms.

Development

uv sync
uv run pytest

Acknowledgements

  • Thomas Pornin and the c-fn-dsa project.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_fn_dsa-0.1.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

py_fn_dsa-0.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

py_fn_dsa-0.1.0-cp314-cp314-win_amd64.whl (682.1 kB view details)

Uploaded CPython 3.14Windows x86-64

py_fn_dsa-0.1.0-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

py_fn_dsa-0.1.0-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

py_fn_dsa-0.1.0-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

py_fn_dsa-0.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

py_fn_dsa-0.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (766.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file py_fn_dsa-0.1.0.tar.gz.

File metadata

  • Download URL: py_fn_dsa-0.1.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0.tar.gz
Algorithm Hash digest
SHA256 045fa26a0b743e646995653b0e21c0c641f072d0b8739f42392e082f32661776
MD5 d96551c14ef82e5d4d992ac60ddf3873
BLAKE2b-256 1d323276fb5a2bd5c321467ee6db7662bef643ad7d24294f6cc992998f90e3a3

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.26+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13144afbfd4ea62e0421cf96d98a411c1c4cf1f2b842d990d629a8e07ed05113
MD5 8a776921a3ad3654522a7325489e06bc
BLAKE2b-256 de1cf11f8f97f1608d18c1f8be3563a3aa925d33c7bc2972fe55bc9d18fcdad4

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 682.1 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d01d60bda5b2278cb1aba4b209e7e6231977e5ed091550825c12245c1cf68981
MD5 305dd35d2b0a7d4182330b6154858bc2
BLAKE2b-256 fc06a79d569e7b1376dd69c9c0adf39a165e6082392e7b6e2aff140856549498

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.14, manylinux: glibc 2.26+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b70e3e12a5e0947f2c27b02601667874be55ce16d0932c7c318c25d66447f920
MD5 683d925fcc327a3a543c0ef8e5d9ad0b
BLAKE2b-256 1dd76b175f8d7aa04d1bd95787abee98968dd73a1768318296d34a5a42c00113

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.13, manylinux: glibc 2.26+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66249c64c1d8603023492b2ec6f993fe24a4d7f52c541956fc539b488c8db4ee
MD5 02ddb9c7f8d2f60395a7af2e9797412e
BLAKE2b-256 0025bc705289e38cffaa53f707a4a3910313a5221e51a7f433f51ae8881eab3f

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, manylinux: glibc 2.26+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 91ee2fda34d782739d0d3cf01befa7d08babb87dffae80e3764a7d31f375233c
MD5 1452bbba65f5c4dbc3a47fd72f1fcff1
BLAKE2b-256 99d800ce79c09e2c915bd8ebb4797452f2142dd1b75bfa302e39ff3b9aa326ef

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, manylinux: glibc 2.26+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 887e6cf839b460082615a9160fe1cb52a4ba480f47be2d46276a67f5440a73f5
MD5 f4075949ab66938de8fc2b923bda38b0
BLAKE2b-256 9d67a2de3ae544d4712b48b1fa6d135d026b23691891eef2411083fc785938dc

See more details on using hashes here.

File details

Details for the file py_fn_dsa-0.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: py_fn_dsa-0.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 766.6 kB
  • Tags: CPython 3.10, manylinux: glibc 2.26+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for py_fn_dsa-0.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3fb3da43745afb0e3ab7da0a97d24fcb14acc4f85cc9521f2bb5b3780b0d29d8
MD5 0b3530a189147b31c5d372dfa25eb798
BLAKE2b-256 f0f762bd1d79578add65b92b39e015e892ecf8ef88b521c43e030df32a037357

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page