Skip to content

Adding new test#1

Open
jatin-bhateja wants to merge 2 commits intoferakocz:mldsa-avx512-intrinsicsfrom
jatin-bhateja:mldsa-avx512-intrinsics_test
Open

Adding new test#1
jatin-bhateja wants to merge 2 commits intoferakocz:mldsa-avx512-intrinsicsfrom
jatin-bhateja:mldsa-avx512-intrinsics_test

Conversation

@jatin-bhateja
Copy link

New simplified jtreg unit test.

@jatin-bhateja jatin-bhateja changed the base branch from master to mldsa-avx512-intrinsics March 6, 2025 09:28
@jatin-bhateja
Copy link
Author

jatin-bhateja commented Mar 10, 2025

Hi @ferakocz, Kindly include this test. I have verified that it's able to catch the modification in dilethium and keccak instrinsics. I made a few changes in permutation masks, ternlog truth table values, and zettas (precomputed multipliers), and the test was able to catch each failure separately. The idea is to have a stand-alone JTREG test with no dependency on the ACVP tarball.

In addition, I noticed that the existing micro benchmark has one kernel each for key generation, singing, and verification covering all the secrity levels (ML-DSA-44, ML-DSA-65, and ML-DSA-87 ) under a switch case, signing kernel is also incurring an addition allocation penalty, and we are missing hedged variant since initial seed is always set to zero. Since the security levels operate over different matix sizes, ML-DSA - 4x4, ML-DSA-65 - 6x,5 and ML-DSA-87 8x7, hence NTT, Inv NTT, and montgomery performance will vary for each case. Ideally, we should create different micro-kernels for each of these variants and remove any other noise from the benchmarks. I will do the needful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant