Skip to content

Commit 0d6042f

Browse files
committed
Merge branch 'main' of gitlab.cryptoworkshop.com:root/bc-java
2 parents 8915ff2 + db2dfa0 commit 0d6042f

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed

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

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -141,34 +141,42 @@ public void testVectors()
141141
// System.out.println("testing successful!");
142142
}
143143
}
144-
145-
public void testFalconRandom()
146-
{
147-
byte[] msg = Strings.toByteArray("Hello World!");
148-
FalconKeyPairGenerator keyGen = new FalconKeyPairGenerator();
149144

145+
public void testRandom()
146+
throws Exception
147+
{
150148
SecureRandom random = new SecureRandom();
149+
byte[] msg = Strings.toByteArray("Hello World!");
151150

151+
FalconKeyPairGenerator keyGen = new FalconKeyPairGenerator();
152152
keyGen.init(new FalconKeyGenerationParameters(random, FalconParameters.falcon_512));
153153

154-
for (int i = 0; i != 100; i++)
154+
for (int i = 0; i < 10; ++i)
155155
{
156156
AsymmetricCipherKeyPair keyPair = keyGen.generateKeyPair();
157157

158-
// sign
159-
FalconSigner signer = new FalconSigner();
160-
FalconPrivateKeyParameters skparam = (FalconPrivateKeyParameters)keyPair.getPrivate();
161-
ParametersWithRandom skwrand = new ParametersWithRandom(skparam, random);
162-
signer.init(true, skwrand);
163-
164-
byte[] sigGenerated = signer.generateSignature(msg);
158+
FalconPrivateKeyParameters privParams = (FalconPrivateKeyParameters)keyPair.getPrivate();
159+
FalconPublicKeyParameters pubParams = (FalconPublicKeyParameters)keyPair.getPublic();
165160

166-
// verify
167-
FalconSigner verifier = new FalconSigner();
168-
FalconPublicKeyParameters pkparam = (FalconPublicKeyParameters)keyPair.getPublic();
169-
verifier.init(false, pkparam);
161+
privParams = (FalconPrivateKeyParameters)PrivateKeyFactory.createKey(
162+
PrivateKeyInfoFactory.createPrivateKeyInfo(privParams));
163+
pubParams = (FalconPublicKeyParameters)PublicKeyFactory.createKey(
164+
SubjectPublicKeyInfoFactory.createSubjectPublicKeyInfo(pubParams));
165+
166+
for (int j = 0; j < 10; ++j)
167+
{
168+
// sign
169+
FalconSigner signer = new FalconSigner();
170+
signer.init(true, new ParametersWithRandom(privParams, random));
171+
byte[] signature = signer.generateSignature(msg);
172+
173+
// verify
174+
FalconSigner verifier = new FalconSigner();
175+
verifier.init(false, pubParams);
176+
boolean verified = verifier.verifySignature(msg, signature);
170177

171-
assertTrue("count = " + i, verifier.verifySignature(msg, sigGenerated));
178+
assertTrue("count = " + i, verified);
179+
}
172180
}
173181
}
174182
}

0 commit comments

Comments
 (0)