github.com/cloudflare/circl@v1.5.0/sign/internal/dilithium/params/params.go (about)

     1  package params
     2  
     3  // We put these parameters in a separate package so that the Go code,
     4  // such as ntt_amd64_src.go, that generates assembler can import it.
     5  
     6  const (
     7  	SeedSize = 32
     8  	N        = 256
     9  	Q        = 8380417 // 2²³ - 2¹³ + 1
    10  	QBits    = 23
    11  	Qinv     = 4236238847 // = -(q^-1) mod 2³²
    12  	ROver256 = 41978      // = (256)⁻¹ R² mod q, where R=2³²
    13  	D        = 13
    14  
    15  	// Size of T1 packed.  (Note that the formula is not valid in general,
    16  	// but it is for the parameters used in the modes of Dilithium.)
    17  	PolyT1Size = (N * (QBits - D)) / 8
    18  
    19  	// Size of T0 packed.  (Note that the formula is not valid in general,
    20  	// but it is for the parameters used in the modes of Dilithium.)
    21  	PolyT0Size = (N * D) / 8
    22  
    23  	// Size of a packed polynomial whose coefficients are in [0,16).
    24  	PolyLe16Size = N / 2
    25  )