Skip to content

Releases: GiacomoPope/dilithium-py

Extend ML-DSA API for External Mu

27 Mar 21:43
22f0d83
Compare
Choose a tag to compare

To aid with the development of new standards, new functions were exposed for ML-DSA

  • key_derive(seed) -> (pk, sk) is a method which creates a key pair given a seed, which is used in cases where a seed rather than expanded key is stored for the private key. Contributed by @ounsworth in #10
  • prehash_external_mu(self, pk_bytes, m, ctx=b"") -> mu which given a public key and message, creates a 64 byte value by hashing H(H(pk) | M') which is used internally in signing. This allows for an alternative way to rehash a message for ML-DSA without needing a specialised verification function #9. Contributed by @GiacomoPope
  • sign_external_mu(self, sk_bytes, external_mu, deterministic=False) performs signing as in regular ML-DSA but instead of expecting a message and optional context, instead expects the prehashed value mu #9. Contributed by @GiacomoPope

Additionally, the CI has been changed so that all linting and checks are performed by ruff instead of black #11. Contributed by @GiacomoPope

New Contributors

Full Changelog: 1.0.2...1.1.0

Update missing dependency in setup

19 Mar 17:41
Compare
Choose a tag to compare

Support Yocto install

06 Mar 15:10
Compare
Choose a tag to compare

This update includes a setup.py to allow the pip package to be installed for Yocto

ML-DSA (FIPS 204)

04 Mar 11:13
Compare
Choose a tag to compare

Implementation of ML-DSA following the NIST specification FIPS 204. The project is now available on PyPI: https://pypi.org/project/dilithium-py/