-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparameters.go
63 lines (59 loc) · 1.14 KB
/
parameters.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package mldsa
type ParameterSet struct {
Q int32 // modulus
Zeta int32 // a 512th root of unity in Zq
D int32 // # of dropped bits from t
Tau int32 // # of +/-1s in polynomial c
Lambda int32 // collision strength of c~
Gamma1 int32 // coefficient range of y
Gamma2 int32 // low order rounding range
K int32 // rows in A
L int32 // columns in A
Eta int32 // private key range
Beta int32 // Tau * Eta
Omega int32 // max # of 1s in the hint h
}
var (
ML_DSA_44_Parameters = ParameterSet{
Q: 8380417,
Zeta: 1753,
D: 13,
Tau: 39,
Lambda: 128,
Gamma1: 131072,
Gamma2: 95232,
K: 4,
L: 4,
Eta: 2,
Beta: 78,
Omega: 80,
}
ML_DSA_65_Parameters = ParameterSet{
Q: 8380417,
Zeta: 1753,
D: 13,
Tau: 49,
Lambda: 192,
Gamma1: 524288,
Gamma2: 261888,
K: 6,
L: 5,
Eta: 4,
Beta: 196,
Omega: 55,
}
ML_DSA_87_Parameters = ParameterSet{
Q: 8380417,
Zeta: 1753,
D: 13,
Tau: 60,
Lambda: 256,
Gamma1: 524288,
Gamma2: 261888,
K: 8,
L: 7,
Eta: 2,
Beta: 120,
Omega: 75,
}
)