11package org .bouncycastle .jcajce .provider .test ;
22
3- import junit .framework .TestCase ;
3+ import java .security .KeyPair ;
4+ import java .security .KeyPairGenerator ;
5+ import java .security .PublicKey ;
6+ import java .security .SecureRandom ;
7+ import java .security .Security ;
8+
9+ import javax .crypto .KEM ;
10+ import javax .crypto .SecretKey ;
11+
412import org .bouncycastle .jcajce .spec .KEMParameterSpec ;
513import org .bouncycastle .jcajce .spec .KTSParameterSpec ;
614import org .bouncycastle .jcajce .spec .MLKEMParameterSpec ;
715import org .bouncycastle .jce .provider .BouncyCastleProvider ;
816import org .bouncycastle .pqc .jcajce .provider .BouncyCastlePQCProvider ;
917import org .bouncycastle .util .Arrays ;
1018
11- import javax .crypto .KEM ;
12- import javax .crypto .SecretKey ;
13- import java .security .KeyPair ;
14- import java .security .KeyPairGenerator ;
15- import java .security .PublicKey ;
16- import java .security .SecureRandom ;
17- import java .security .Security ;
18-
19+ import junit .framework .TestCase ;
1920
2021public class MLKEMTest
2122 extends TestCase
@@ -40,7 +41,7 @@ public void testKEM()
4041 PublicKey pkR = kp .getPublic ();
4142
4243 // Sender side
43- KEM kemS = KEM .getInstance ("ML-KEM" );
44+ KEM kemS = KEM .getInstance ("ML-KEM" , "BC" );
4445 KTSParameterSpec ktsSpec = null ;
4546 KEM .Encapsulator e = kemS .newEncapsulator (pkR , ktsSpec , null );
4647 KEM .Encapsulated enc = e .encapsulate ();
@@ -49,7 +50,7 @@ public void testKEM()
4950 byte [] params = enc .params ();
5051
5152 // Receiver side
52- KEM kemR = KEM .getInstance ("ML-KEM" );
53+ KEM kemR = KEM .getInstance ("ML-KEM" , "BC" );
5354 KEM .Decapsulator d = kemR .newDecapsulator (kp .getPrivate (), ktsSpec );
5455 SecretKey secR = d .decapsulate (em );
5556
@@ -123,14 +124,14 @@ private void performKEM(KeyPair kp, int from, int to, String algorithm, KTSParam
123124 PublicKey pkR = kp .getPublic ();
124125
125126 // Sender side
126- KEM kemS = KEM .getInstance ("ML-KEM" );
127+ KEM kemS = KEM .getInstance ("ML-KEM" , "BC" );
127128 KEM .Encapsulator e = kemS .newEncapsulator (pkR , ktsParameterSpec , null );
128129 KEM .Encapsulated enc = e .encapsulate (from , to , algorithm );
129130 SecretKey secS = enc .key ();
130131 byte [] em = enc .encapsulation ();
131132
132133 // Receiver side
133- KEM kemR = KEM .getInstance ("ML-KEM" );
134+ KEM kemR = KEM .getInstance ("ML-KEM" , "BC" );
134135 KEM .Decapsulator d = kemR .newDecapsulator (kp .getPrivate (), ktsParameterSpec );
135136 SecretKey secR = d .decapsulate (em , from , to , algorithm );
136137
@@ -145,14 +146,14 @@ private void performKEM(KeyPair kp, KTSParameterSpec ktsParameterSpec)
145146 PublicKey pkR = kp .getPublic ();
146147
147148 // Sender side
148- KEM kemS = KEM .getInstance ("ML-KEM" );
149+ KEM kemS = KEM .getInstance ("ML-KEM" , "BC" );
149150 KEM .Encapsulator e = kemS .newEncapsulator (pkR , ktsParameterSpec , null );
150151 KEM .Encapsulated enc = e .encapsulate ();
151152 SecretKey secS = enc .key ();
152153 byte [] em = enc .encapsulation ();
153154
154155 // Receiver side
155- KEM kemR = KEM .getInstance ("ML-KEM" );
156+ KEM kemR = KEM .getInstance ("ML-KEM" , "BC" );
156157 KEM .Decapsulator d = kemR .newDecapsulator (kp .getPrivate (), ktsParameterSpec );
157158 SecretKey secR = d .decapsulate (em );
158159
0 commit comments