Metadata-Version: 2.4
Name: py-fn-dsa
Version: 0.1.0
Summary: Python bindings for c-fn-dsa
Project-URL: Repository, https://github.com/kkitayam/py-fn-dsa
Author: Koji KITAYAMA
License-Expression: MIT
License-File: LICENSE
Keywords: cryptography,fndsa,post-quantum
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Requires-Dist: cffi>=1.17.0
Description-Content-Type: text/markdown

# py-fn-dsa

Python bindings for Thomas Pornin's [c-fn-dsa](https://github.com/pornin/c-fn-dsa) using **CFFI out-of-line API mode**.

## Features
- Thin wrapper around upstream [c-fn-dsa](https://github.com/pornin/c-fn-dsa)
- Windows and Linux support
- Pythonic API
- Upstream validation, KAT, and interoperability tests

## Installation
```sh
uv sync
```

## Quick Start
```python
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
```sh
uv sync
uv run pytest
```

## Acknowledgements
- Thomas Pornin and the [c-fn-dsa](https://github.com/pornin/c-fn-dsa) project.


## License

MIT
