vac:acz:ift:2025q1-mds-checker
Creating the Rust crate for MDS matrix security checker and a blogpost
Description
This commitment entails releasing a Rust crate that verifies the security of any MDS matrix, along with a blog post that explains the underlying mathematics behind the crate.
Background
MDS matrices are used in symmetric cryptography, such as hash functions and encryption schemes, to provide security against cryptanalysis. The security of MDS matrices can be verified using various methods. For example, the security of the Poseidon hash MDS matrix can be checked by using this algorithm. We propose a generic Rust crate that can verify the security of any matrix over any prime finite field. This crate can be used by the ecosystem for in-code parameter checks or for custom hash functions operating in custom fields.
Narratives
By utilizing the MDS Checker commitment, we will reinforce the Conduit of Expertise narrative by:
- Delivering a Rust crate that we can use for security checks of MDS matrices in possible custom cryptographic primitives in the IFT projects.
We will also strengthen the Premier Research Destination narrative by:
- Offering a public Rust crate that is the first generic MDS matrix security checker in Rust, that any party can use on their projects
- Contributing to the ecosystem with the blog post that explains the mathematics behind the Rust crate.
Task List
Releasing Rust Crate
- fully qualified name:
vac:acz:ift:2025q1-mds-checker:releasing-rust-crate
- owner: Aleksei
- status: started (80%)
- start-date: 2025/01/01
- end-date: 2025/02/12
Description
Releasing a Rust crate that checks the security of arbitrary MDS matrix with a new method based on the report. This crate will be open source and can be used by any project that requires generating in-code round parameters with an MDS matrix and checking the matrix security for P-SP-networks efficiently.
Deliverables
- PR to rust-lang/crates.io repo with related crate
- A Report about the MDS security checker
Blogpost MDS
- fully qualified name:
vac:acz:ift:2025q1-mds-checker:blogpost-mds
- owner: Aleksei
- status: not started
- start-date: 2025/02/12
- end-date: 2025/02/28
Description
Writing a blog post that explains the security of MDS matrices and briefly reviews existing methods for assessing their security. The post also introduces a new, efficient method for evaluating MDS matrix security and provides details about the Rust crate that automates these security checks based on the findings presented in the article.
Deliverables
A blogpost to vac.dev/rlog/