{"categories":[{"label":"Cryptography","url":"https://skillfed.io/packages/category/security-cryptography/2"}],"enrichment":{"capability":"A pure-Python implementation of ML-DSA (FIPS 204) and CRYSTALS-Dilithium post-quantum digital signature algorithms for educational study and experimentation.","skillfed_tags":["post-quantum","educational","lattice-crypto"],"use_cases":["Learning how ML-DSA and Dilithium work by reading well-commented, specification-aligned code","Experimenting with post-quantum signature schemes in a controlled, educational environment","Comparing the differences between the original Dilithium v3.1 and the standardized ML-DSA","Testing interoperability with ML-DSA implementations by validating against official KAT vectors","Prototyping quantum-resistant signature workflows before deploying production systems"],"what_it_does":"This package provides a pure-Python implementation of ML-DSA (the NIST standardized version of Dilithium from FIPS 204) and the original CRYSTALS-Dilithium specification. It exposes three core functions: keygen() to generate keypairs, sign() to create signatures, and verify() to validate them. The implementation passes all known test vectors (KATs) for both ML-DSA and Dilithium v3.1.\n\nThe package is explicitly designed for educational purposes and learning about post-quantum lattice-based cryptography. The code is not constant-time and not optimized for performance; instead, it prioritizes readability and close correspondence with the published specifications. The disclaimer is unambiguous: do not use this for actual cryptographic applications. It includes optional support for the xoflib package for better performance with XOF operations, and uses pycryptodome for AES256 CTR DRBG if deterministic randomness is needed.","worth_installing":"Yes, if your goal is learning or experimentation with post-quantum cryptography. The implementation is actively maintained, has no runtime dependencies, and passes all official test vectors. However, do not install for production cryptographic use\u2014the package explicitly warns against this and is not designed to resist side-channel attacks. For production ML-DSA, use a hardened C or Rust implementation."},"id":"dilithium-py","links":{"html":"https://skillfed.io/packages/dilithium-py","md":"https://skillfed.io/packages/dilithium-py.md","pypi":"https://pypi.org/project/dilithium-py/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-12-17","license_spdx":"MIT","license_treatment":"permissive","name":"dilithium-py","python_support":"supports_current","summary":"A pure python implementation of ML-DSA (FIPS 204)"},"popularity":{"monthly_downloads":156519,"position":10781,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.4.0"}
