-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve description of Dilithium #40
Conversation
7650dd3
to
da8160d
Compare
@@ -460,7 +464,13 @@ Understanding EUF-CMA security is essential for individual involved in designing | |||
|
|||
## Details of FALCON, Dilithium, and SPHINCS+ {#sig-scheme} | |||
|
|||
Dilithium [Dilithium] is a digital signature algorithm (part of the CRYSTALS suite) based on the hardness lattice problems over module lattices (i.e., the Module Learning with Errors problem (MLWE)). The design of the algorithm is based on the "Fiat Shamir with Aborts" method that leverages rejection sampling to render lattice based FS schemes compact and secure. Additionally, Dilithium offers both deterministic and randomized signing. Security properties of Dilithium are discussed in Section 9 of {{?I-D.ietf-lamps-dilithium-certificates}}. | |||
Dilithium [Dilithium] is a digital signature algorithm (part of the CRYSTALS suite) based on the hardness lattice problems over module lattices (i.e., the Module Learning with Errors problem (MLWE)). The design of the algorithm is based on the "Fiat-Shamir with Aborts" {{Lyu09}} framework introduced by Lyubashevsky, that leverages rejection sampling to render lattice based FS schemes compact and secure. The public key of Dilithium is essentially a Module‐LWE sample of the form (A, t:=A·s1 + s2), where A is a matrix and s1 and s2 are (secret) error vectors over Rq = GF(q)[X]/(X^256+1), where q=8380417. Dilithium uses uniform distribution over small integers for computing coefficients in error vectors, which makes the scheme easier to implement. | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kriskwiatkowski Thanks for updating the paragraph.
We tried before explaining the math behind Dilithium but received feedback from WG to stir away from the crypto math behind these algorithms as this would not be necessary to know from an engineer/protocol designer POV. Let me know if you can you modify it to include a little bit less math, if possible?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's a reply I kind of expected.
I'm happy to do it, let me think about it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, slight improvement then. I've removed all the math. Anyone can be find it in the Lyu09 if needed
78163bb
to
3c67824
Compare
I suggest to augment description of Dilithium/MLDSA.