@@ -88,9 +88,15 @@ using PolynomialRAINTT = std::array<raintt::DoubleSWord, P::n>;
8888template <class P >
8989using DecomposedPolynomial = std::array<Polynomial<P>, P::l>;
9090template <class P >
91+ using DecomposedNoncePolynomial = std::array<Polynomial<P>, P::lₐ>;
92+ template <class P >
9193using DecomposedPolynomialNTT = std::array<PolynomialNTT<P>, P::l>;
9294template <class P >
95+ using DecomposedNoncePolynomialNTT = std::array<PolynomialNTT<P>, P::lₐ>;
96+ template <class P >
9397using DecomposedPolynomialRAINTT = std::array<PolynomialRAINTT<P>, P::l>;
98+ template <class P >
99+ using DecomposedNoncePolynomialRAINTT = std::array<PolynomialRAINTT<P>, P::lₐ>;
94100
95101template <class P >
96102using TRLWE = std::array<Polynomial<P>, P::k + 1 >;
@@ -104,17 +110,17 @@ template <class P>
104110using TRLWERAINTT = std::array<PolynomialRAINTT<P>, P::k + 1 >;
105111
106112template <class P >
107- using TRGSW = std::array<TRLWE<P>, ( P::k + 1 ) * P::l>;
113+ using TRGSW = std::array<TRLWE<P>, P::k* P::lₐ+ P::l>;
108114template <class P >
109115using HalfTRGSW = std::array<TRLWE<P>, P::l>;
110116template <class P >
111- using TRGSWFFT = aligned_array<TRLWEInFD<P>, ( P::k + 1 ) * P::l>;
117+ using TRGSWFFT = aligned_array<TRLWEInFD<P>, P::k* P::lₐ+ P::l>;
112118template <class P >
113119using HalfTRGSWFFT = aligned_array<TRLWEInFD<P>, P::l>;
114120template <class P >
115- using TRGSWNTT = std::array<TRLWENTT<P>, ( P::k + 1 ) * P::l>;
121+ using TRGSWNTT = std::array<TRLWENTT<P>, P::k* P::lₐ+ P::l>;
116122template <class P >
117- using TRGSWRAINTT = std::array<TRLWERAINTT<P>, ( P::k + 1 ) * P::l>;
123+ using TRGSWRAINTT = std::array<TRLWERAINTT<P>, P::k* P::lₐ+ P::l>;
118124
119125#ifdef USE_KEY_BUNDLE
120126template <class P >
0 commit comments