Skip to content

Commit 2afa6ad

Browse files
committed
minor refactoring - removal of common code.
1 parent 5efe465 commit 2afa6ad

File tree

3 files changed

+29
-71
lines changed

3 files changed

+29
-71
lines changed

core/src/main/java/org/bouncycastle/pqc/math/ntru/HPSPolynomial.java

-32
Original file line numberDiff line numberDiff line change
@@ -112,36 +112,4 @@ public void lift(Polynomial a)
112112
System.arraycopy(a.coeffs, 0, this.coeffs, 0, n);
113113
this.z3ToZq();
114114
}
115-
116-
@Override
117-
public void r2Inv(Polynomial a)
118-
{
119-
HPSPolynomial f = new HPSPolynomial((NTRUHPSParameterSet)this.params);
120-
HPSPolynomial g = new HPSPolynomial((NTRUHPSParameterSet)this.params);
121-
HPSPolynomial v = new HPSPolynomial((NTRUHPSParameterSet)this.params);
122-
HPSPolynomial w = new HPSPolynomial((NTRUHPSParameterSet)this.params);
123-
this.r2Inv(a, f, g, v, w);
124-
}
125-
126-
@Override
127-
public void rqInv(Polynomial a)
128-
{
129-
HPSPolynomial ai2 = new HPSPolynomial((NTRUHPSParameterSet)this.params);
130-
HPSPolynomial b = new HPSPolynomial((NTRUHPSParameterSet)this.params);
131-
HPSPolynomial c = new HPSPolynomial((NTRUHPSParameterSet)this.params);
132-
HPSPolynomial s = new HPSPolynomial((NTRUHPSParameterSet)this.params);
133-
this.rqInv(a, ai2, b, c, s);
134-
}
135-
136-
@Override
137-
public void s3Inv(Polynomial a)
138-
{
139-
HPSPolynomial f = new HPSPolynomial((NTRUHPSParameterSet)this.params);
140-
HPSPolynomial g = new HPSPolynomial((NTRUHPSParameterSet)this.params);
141-
HPSPolynomial v = new HPSPolynomial((NTRUHPSParameterSet)this.params);
142-
HPSPolynomial w = new HPSPolynomial((NTRUHPSParameterSet)this.params);
143-
this.s3Inv(a, f, g, v, w);
144-
}
145-
146-
147115
}

core/src/main/java/org/bouncycastle/pqc/math/ntru/HRSSPolynomial.java

-30
Original file line numberDiff line numberDiff line change
@@ -162,34 +162,4 @@ public void lift(Polynomial a)
162162
this.coeffs[i + 1] = (short)(b.coeffs[i] - b.coeffs[i + 1]);
163163
}
164164
}
165-
166-
@Override
167-
public void r2Inv(Polynomial a)
168-
{
169-
Polynomial f = this.params.createPolynomial();
170-
Polynomial g = this.params.createPolynomial();
171-
Polynomial v = this.params.createPolynomial();
172-
Polynomial w = this.params.createPolynomial();
173-
this.r2Inv(a, f, g, v, w);
174-
}
175-
176-
@Override
177-
public void rqInv(Polynomial a)
178-
{
179-
Polynomial ai2 = this.params.createPolynomial();
180-
Polynomial b = this.params.createPolynomial();
181-
Polynomial c = this.params.createPolynomial();
182-
Polynomial s = this.params.createPolynomial();
183-
this.rqInv(a, ai2, b, c, s);
184-
}
185-
186-
@Override
187-
public void s3Inv(Polynomial a)
188-
{
189-
Polynomial f = this.params.createPolynomial();
190-
Polynomial g = this.params.createPolynomial();
191-
Polynomial v = this.params.createPolynomial();
192-
Polynomial w = this.params.createPolynomial();
193-
this.s3Inv(a, f, g, v, w);
194-
}
195165
}

core/src/main/java/org/bouncycastle/pqc/math/ntru/Polynomial.java

+29-9
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,35 @@ public void rqToS3(Polynomial a)
257257
this.mod3PhiN();
258258
}
259259

260-
261260
// defined in poly_r2_inv.c
262-
public abstract void r2Inv(Polynomial a);
261+
public void r2Inv(Polynomial a)
262+
{
263+
Polynomial f = this.params.createPolynomial();
264+
Polynomial g = this.params.createPolynomial();
265+
Polynomial v = this.params.createPolynomial();
266+
Polynomial w = this.params.createPolynomial();
267+
this.r2Inv(a, f, g, v, w);
268+
}
269+
270+
// defined in poly.c
271+
public void rqInv(Polynomial a)
272+
{
273+
Polynomial ai2 = this.params.createPolynomial();
274+
Polynomial b = this.params.createPolynomial();
275+
Polynomial c = this.params.createPolynomial();
276+
Polynomial s = this.params.createPolynomial();
277+
this.rqInv(a, ai2, b, c, s);
278+
}
279+
280+
// defined in poly_s3_inv.c
281+
public void s3Inv(Polynomial a)
282+
{
283+
Polynomial f = this.params.createPolynomial();
284+
Polynomial g = this.params.createPolynomial();
285+
Polynomial v = this.params.createPolynomial();
286+
Polynomial w = this.params.createPolynomial();
287+
this.s3Inv(a, f, g, v, w);
288+
}
263289

264290
void r2Inv(Polynomial a, Polynomial f, Polynomial g, Polynomial v, Polynomial w)
265291
{
@@ -326,9 +352,6 @@ void r2Inv(Polynomial a, Polynomial f, Polynomial g, Polynomial v, Polynomial w)
326352
this.coeffs[n - 1] = 0;
327353
}
328354

329-
// defined in poly.c
330-
public abstract void rqInv(Polynomial a);
331-
332355
void rqInv(Polynomial a, Polynomial ai2, Polynomial b, Polynomial c, Polynomial s)
333356
{
334357
ai2.r2Inv(a);
@@ -365,10 +388,7 @@ private void r2InvToRqInv(Polynomial ai, Polynomial a, Polynomial b, Polynomial
365388
c.coeffs[0] += 2;
366389
this.rqMul(c, s);
367390
}
368-
369-
// defined in poly_s3_inv.c
370-
public abstract void s3Inv(Polynomial a);
371-
391+
372392
void s3Inv(Polynomial a, Polynomial f, Polynomial g, Polynomial v, Polynomial w)
373393
{
374394
int n = this.coeffs.length;

0 commit comments

Comments
 (0)