1
1
import os
2
- from ..modules .modules import ModuleDilithium
2
+ from ..modules .modules import Module
3
3
4
4
try :
5
5
from xoflib import shake256
@@ -19,7 +19,7 @@ def __init__(self, parameter_set):
19
19
self .gamma_2 = parameter_set ["gamma_2" ]
20
20
self .beta = self .tau * self .eta
21
21
22
- self .M = ModuleDilithium ()
22
+ self .M = Module ()
23
23
self .R = self .M .ring
24
24
25
25
# Use system randomness by default, for deterministic randomness
@@ -51,8 +51,8 @@ def set_drbg_seed(self, seed):
51
51
)
52
52
53
53
"""
54
- H() uses Shake256 to hash data to 32 and 64 bytes in a
55
- few places in the code
54
+ H() uses Shake256 to hash data to 32 and 64 bytes in a
55
+ few places in the code
56
56
"""
57
57
58
58
@staticmethod
@@ -67,7 +67,7 @@ def _expand_matrix_from_seed(self, rho):
67
67
Helper function which generates a element of size
68
68
k x l from a seed `rho`.
69
69
"""
70
- A_data = [[0 for _ in range (self .l )] for _ in range (self .k )]
70
+ A_data = [[self . R . zero () for _ in range (self .l )] for _ in range (self .k )]
71
71
for i in range (self .k ):
72
72
for j in range (self .l ):
73
73
A_data [i ][j ] = self .R .rejection_sample_ntt_poly (rho , i , j )
@@ -124,7 +124,7 @@ def _pack_sig(self, c_tilde, z, h):
124
124
125
125
def _unpack_pk (self , pk_bytes ):
126
126
rho , t1_bytes = pk_bytes [:32 ], pk_bytes [32 :]
127
- t1 = self .M .bit_unpack_t1 (t1_bytes , self .k , 1 )
127
+ t1 = self .M .bit_unpack_t1 (t1_bytes , self .k )
128
128
return rho , t1
129
129
130
130
def _unpack_sk (self , sk_bytes ):
@@ -154,9 +154,9 @@ def _unpack_sk(self, sk_bytes):
154
154
t0_bytes = sk_vec_bytes [- t0_len :]
155
155
156
156
# Unpack bytes to vectors
157
- s1 = self .M .bit_unpack_s (s1_bytes , self .l , 1 , self .eta )
158
- s2 = self .M .bit_unpack_s (s2_bytes , self .k , 1 , self .eta )
159
- t0 = self .M .bit_unpack_t0 (t0_bytes , self .k , 1 )
157
+ s1 = self .M .bit_unpack_s (s1_bytes , self .l , self .eta )
158
+ s2 = self .M .bit_unpack_s (s2_bytes , self .k , self .eta )
159
+ t0 = self .M .bit_unpack_t0 (t0_bytes , self .k )
160
160
161
161
return rho , K , tr , s1 , s2 , t0
162
162
@@ -179,7 +179,7 @@ def _unpack_sig(self, sig_bytes):
179
179
z_bytes = sig_bytes [32 : - (self .k + self .omega )]
180
180
h_bytes = sig_bytes [- (self .k + self .omega ) :]
181
181
182
- z = self .M .bit_unpack_z (z_bytes , self .l , 1 , self .gamma_1 )
182
+ z = self .M .bit_unpack_z (z_bytes , self .l , self .gamma_1 )
183
183
h = self ._unpack_h (h_bytes )
184
184
return c_tilde , z , h
185
185
0 commit comments