Metadata-Version: 2.5
Name: python_pqc_lib
Version: 0.2.0
Summary: A python implementation of various PQC algorithms as specified in NIST PQC project
Project-URL: Homepage, https://github.com/Xantus10/python-pqc-lib
Project-URL: Documentation, https://xantus10.github.io/python-pqc-lib/index.html
Author-email: Xantus10 <115876592+Xantus10@users.noreply.github.com>
License-Expression: MIT
License-File: LICENSE
Keywords: crypto,cryptography,ml dsa,ml kem,mldsa,mlkem,post quantum,pqc,slh dsa,slhdsa
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security :: Cryptography
Requires-Python: >=3.13
Requires-Dist: numpy>=2.4.6
Description-Content-Type: text/markdown

# Python PQC library

This is a package containing my python implementations of Post Quantum Cryptography algorithms. The algorithms are tested for NIST compatibility using [NIST ACVP](https://github.com/usnistgov/ACVP-Server/tree/master/gen-val/json-files).

## Algorithms

Currently supports the following algorithms:

- Key encapsulation
    - `ML KEM` - [NIST FIPS 203](https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.203.pdf)
- Digital signature
    - `ML DSA` - [NIST FIPS 204](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf)
    - `SLH DSA` - [NIST FIPS 205](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.205.pdf)

## Dependencies

- numpy

## Security notice

While the solution is always tested to be functional and best effort was made to adhere to the NIST standards and specifications, I do not guarantee that the algorithm is secure.

Also, since this is an implementation written purely in python, while it can be used in smaller projects, production code should make use of something like the [PQC Code package](https://github.com/pq-code-package).

## TODO

- Clean up test JSON (remove redundant data)
- PEM key imports
- Create Unit tests
