- Everything can be built using the command
cargo build --release - The built binary can be found at
target/release/ml-dsa.exe
Run the binary in a terminal to show the help menu.
All of the unit and integration tests can be run with the command cargo test.
src/lib.rs– This file contains all structures and functionality to generate keys/signaturesbitvec.rs– This file contains a bit vector implementationutils.rs– This file primarily contains utility functions as well as structs related to testingmain.rs– This file contains the argument parsing and parameter set testing logic that allows for a user to interact with the application via the cli.polynomial/– This directory contains structures and functionality related to polynomials, polynomial vectors, and polynomial matrices.serialization.rs– This file contains functions to serialize polynomials and related structures into bytes.sampling.rs– This file contains functions for sampling polynomialsround.rs– This file contains functions for rounding polynomialspoly*.rs– These files contain structures and functionality related to polynomials and polynomial based structures. All polynomial related arithmetic is implemented within these files.
tests/setup.rs- Contains some utility functions for integration testcorrectness.rs- Contains the integration tests that ensure everything is functionally correct
data/- This directory contains all the test cases for integration and unit tests.