Meaning of Dilithium-1024x768 or Dilithium2 Can someone explain me the meaning of 1024 and 768 in Dilithium-1024x768 in the algorithm? And the meaning of 2 in Dilithium2 in the algorithm?
1024 and 768 refer to the dimension of the base &quot;generator&quot; matrix $A$, these numbers are multiples of 256, which is the size of the module ring.
If the terminology is a bit confusing so far, then let me explain a little:

$A$ is a component of the public key, it's computed from a random seed chosen during key generation. It's also used in signing and verification.

Dilithium (along with Kyber, Saber, and some others) uses a &quot;modular&quot; lattice. That is, instead of a polynomial ring, or a matrix of integers, they use a matrix of high-dimension polynomial ring (degree-256 in the case of Dilithium and Kyber, etc.). This greatly improves performance and the scalability of the security level.


Some may question: &quot;didn't document say $(k,l) = (4,4)$ (or $(4,3)$ in earlier versions)?&quot;. That's true, and those numbers are referring to when you consider module ring as matrix element. If you expand the ring modules into 256-by-256 matrices, the full matrix will be 1024-by-768. And for those familiar with lattice-reduction attacks, 4 is obviously too small a dimension that can be easily attacked.
As for &quot;2&quot;, I'm not certain. Maybe it just refers to the version of Dilithium submitted to NIST in the 2nd round.