Skip to content

Commit 1afbabd

Browse files
author
gefeili
committed
TODO: fix the bug for l = 3
1 parent 7b5f81f commit 1afbabd

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

core/src/main/java/org/bouncycastle/pqc/crypto/snova/MapGroup1.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,21 @@ private static int fillAlpha(byte[] input, int inOff, byte[][][] alpha, int len)
7474
return rlt;
7575
}
7676

77-
//private static void copyTo(byte[][][] al)
77+
static void copyTo(byte[][][][] alpha, byte[] output)
78+
{
79+
int outOff = 0;
80+
for (int i = 0; i < alpha.length; ++i)
81+
{
82+
for (int j = 0; j < alpha[i].length; ++j)
83+
{
84+
for (int k = 0; k < alpha[i][j].length; ++k)
85+
{
86+
System.arraycopy(alpha[i][j][k], 0, output, outOff, alpha[i][j][k].length);
87+
outOff += alpha[i][j][k].length;
88+
}
89+
}
90+
}
91+
}
7892

7993

8094
// static int decodeP(byte[] input, int inOff, byte[][][][] p, int len)

core/src/main/java/org/bouncycastle/pqc/crypto/snova/SnovaEngine.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,9 @@ public void genP22(byte[] outP22, byte[][][] T12, byte[][][][] P21, byte[][][][]
479479
}
480480

481481
// Convert GF16 elements to packed bytes
482-
MapGroup1.encodeP(P22, outP22, 0, outP22.length);
482+
byte[] tmp = new byte[outP22.length << 1];
483+
MapGroup1.copyTo(P22, tmp);
484+
GF16Utils.encode(tmp, outP22, 0, tmp.length);
483485
}
484486
finally
485487
{

core/src/test/java/org/bouncycastle/pqc/crypto/test/SnovaTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public static void main(String[] args)
3131
// SnovaParameters.SNOVA_24_5_16_4_SHAKE_ESK,
3232
// SnovaParameters.SNOVA_24_5_16_4_SHAKE_SSK,
3333
// SnovaParameters.SNOVA_24_5_16_4_SSK,
34-
SnovaParameters.SNOVA_24_5_16_5_ESK,
35-
SnovaParameters.SNOVA_24_5_16_5_SHAKE_ESK,
36-
SnovaParameters.SNOVA_24_5_16_5_SHAKE_SSK,
37-
SnovaParameters.SNOVA_24_5_16_5_SSK,
34+
// SnovaParameters.SNOVA_24_5_16_5_ESK,
35+
// SnovaParameters.SNOVA_24_5_16_5_SHAKE_ESK,
36+
// SnovaParameters.SNOVA_24_5_16_5_SHAKE_SSK,
37+
// SnovaParameters.SNOVA_24_5_16_5_SSK,
3838
SnovaParameters.SNOVA_25_8_16_3_ESK,
3939
SnovaParameters.SNOVA_25_8_16_3_SHAKE_ESK,
4040
SnovaParameters.SNOVA_25_8_16_3_SHAKE_SSK,
@@ -78,10 +78,10 @@ public static void main(String[] args)
7878
// "PQCsignKAT_SNOVA_24_5_4_SHAKE_ESK.rsp",
7979
// "PQCsignKAT_SNOVA_24_5_4_SHAKE_SSK.rsp",
8080
// "PQCsignKAT_SNOVA_24_5_4_SSK.rsp",
81-
"PQCsignKAT_SNOVA_24_5_5_ESK.rsp",
82-
"PQCsignKAT_SNOVA_24_5_5_SHAKE_ESK.rsp",
83-
"PQCsignKAT_SNOVA_24_5_5_SHAKE_SSK.rsp",
84-
"PQCsignKAT_SNOVA_24_5_5_SSK.rsp",
81+
// "PQCsignKAT_SNOVA_24_5_5_ESK.rsp",
82+
// "PQCsignKAT_SNOVA_24_5_5_SHAKE_ESK.rsp",
83+
// "PQCsignKAT_SNOVA_24_5_5_SHAKE_SSK.rsp",
84+
// "PQCsignKAT_SNOVA_24_5_5_SSK.rsp",
8585
"PQCsignKAT_SNOVA_25_8_3_ESK.rsp",
8686
"PQCsignKAT_SNOVA_25_8_3_SHAKE_ESK.rsp",
8787
"PQCsignKAT_SNOVA_25_8_3_SHAKE_SSK.rsp",

0 commit comments

Comments
 (0)