Skip to content

Commit 4b505a6

Browse files
committed
removed deprecated classes
1 parent a1a580c commit 4b505a6

File tree

2 files changed

+69
-50
lines changed

2 files changed

+69
-50
lines changed

core/src/test/java/org/bouncycastle/crypto/test/ECIESKeyEncapsulationTest.java

Lines changed: 58 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@
55
import org.bouncycastle.asn1.sec.SECNamedCurves;
66
import org.bouncycastle.asn1.x9.X9ECParameters;
77
import org.bouncycastle.crypto.AsymmetricCipherKeyPair;
8+
import org.bouncycastle.crypto.SecretWithEncapsulation;
89
import org.bouncycastle.crypto.digests.SHA1Digest;
910
import org.bouncycastle.crypto.generators.ECKeyPairGenerator;
1011
import org.bouncycastle.crypto.generators.KDF2BytesGenerator;
11-
import org.bouncycastle.crypto.kems.ECIESKeyEncapsulation;
12+
import org.bouncycastle.crypto.kems.ECIESKEMExtractor;
13+
import org.bouncycastle.crypto.kems.ECIESKEMGenerator;
1214
import org.bouncycastle.crypto.params.ECDomainParameters;
1315
import org.bouncycastle.crypto.params.ECKeyGenerationParameters;
16+
import org.bouncycastle.crypto.params.ECPrivateKeyParameters;
1417
import org.bouncycastle.crypto.params.KeyParameter;
1518
import org.bouncycastle.util.test.SimpleTest;
1619

@@ -39,90 +42,102 @@ public void performTest()
3942
AsymmetricCipherKeyPair keys = ecGen.generateKeyPair();
4043

4144
// Set ECIES-KEM parameters
42-
ECIESKeyEncapsulation kem;
45+
ECIESKEMGenerator kemGen;
46+
ECIESKEMExtractor kemExt;
4347
KDF2BytesGenerator kdf = new KDF2BytesGenerator(new SHA1Digest());
4448
SecureRandom rnd = new SecureRandom();
4549
byte[] out = new byte[57];
4650
KeyParameter key1, key2;
4751

4852
// Test basic ECIES-KEM
49-
kem = new ECIESKeyEncapsulation(kdf, rnd);
53+
kemGen = new ECIESKEMGenerator(128 / 8, kdf, rnd);
5054

51-
kem.init(keys.getPublic());
52-
key1 = (KeyParameter)kem.encrypt(out, 128);
55+
SecretWithEncapsulation secEnc = kemGen.generateEncapsulated(keys.getPublic());
56+
57+
key1 = new KeyParameter(secEnc.getSecret());
5358

54-
kem.init(keys.getPrivate());
55-
key2 = (KeyParameter)kem.decrypt(out, 128);
59+
kemExt = new ECIESKEMExtractor((ECPrivateKeyParameters)keys.getPrivate(), 128 / 8, kdf);
60+
61+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
5662

5763
if (!areEqual(key1.getKey(), key2.getKey()))
5864
{
5965
fail("failed basic test");
6066
}
6167

6268
// Test ECIES-KEM using new cofactor mode
63-
kem = new ECIESKeyEncapsulation(kdf, rnd, true, false, false);
64-
65-
kem.init(keys.getPublic());
66-
key1 = (KeyParameter)kem.encrypt(out, 128);
67-
68-
kem.init(keys.getPrivate());
69-
key2 = (KeyParameter)kem.decrypt(out, 128);
69+
kemGen = new ECIESKEMGenerator(128 / 8, kdf, rnd, true, false, false);
70+
71+
secEnc = kemGen.generateEncapsulated(keys.getPublic());
72+
73+
key1 = new KeyParameter(secEnc.getSecret());
74+
75+
kemExt = new ECIESKEMExtractor((ECPrivateKeyParameters)keys.getPrivate(), 128 / 8, kdf, true, false, false);
76+
77+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
7078

7179
if (!areEqual(key1.getKey(), key2.getKey()))
7280
{
7381
fail("failed cofactor test");
7482
}
75-
7683
// Test ECIES-KEM using old cofactor mode
77-
kem = new ECIESKeyEncapsulation(kdf, rnd, false, true, false);
78-
79-
kem.init(keys.getPublic());
80-
key1 = (KeyParameter)kem.encrypt(out, 128);
81-
82-
kem.init(keys.getPrivate());
83-
key2 = (KeyParameter)kem.decrypt(out, 128);
84+
kemGen = new ECIESKEMGenerator(128 / 8, kdf, rnd, false, true, false);
85+
86+
secEnc = kemGen.generateEncapsulated(keys.getPublic());
87+
88+
key1 = new KeyParameter(secEnc.getSecret());
89+
90+
kemExt = new ECIESKEMExtractor((ECPrivateKeyParameters)keys.getPrivate(), 128 / 8, kdf, false, true, false);
91+
92+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
8493

8594
if (!areEqual(key1.getKey(), key2.getKey()))
8695
{
8796
fail("failed old cofactor test");
8897
}
8998

9099
// Test ECIES-KEM using single hash mode
91-
kem = new ECIESKeyEncapsulation(kdf, rnd, false, false, true);
92-
93-
kem.init(keys.getPublic());
94-
key1 = (KeyParameter)kem.encrypt(out, 128);
95-
96-
kem.init(keys.getPrivate());
97-
key2 = (KeyParameter)kem.decrypt(out, 128);
100+
kemGen = new ECIESKEMGenerator(128 / 8, kdf, rnd, false, false, true);
101+
102+
secEnc = kemGen.generateEncapsulated(keys.getPublic());
103+
104+
key1 = new KeyParameter(secEnc.getSecret());
105+
106+
kemExt = new ECIESKEMExtractor((ECPrivateKeyParameters)keys.getPrivate(), 128 / 8, kdf, false, false, true);
107+
108+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
98109

99110
if (!areEqual(key1.getKey(), key2.getKey()))
100111
{
101112
fail("failed single hash test");
102113
}
103114

104115
// Test ECIES-KEM using new cofactor mode and single hash mode
105-
kem = new ECIESKeyEncapsulation(kdf, rnd, true, false, true);
106-
107-
kem.init(keys.getPublic());
108-
key1 = (KeyParameter)kem.encrypt(out, 128);
109-
110-
kem.init(keys.getPrivate());
111-
key2 = (KeyParameter)kem.decrypt(out, 128);
116+
kemGen = new ECIESKEMGenerator(128 / 8, kdf, rnd, true, false, true);
117+
118+
secEnc = kemGen.generateEncapsulated(keys.getPublic());
119+
120+
key1 = new KeyParameter(secEnc.getSecret());
121+
122+
kemExt = new ECIESKEMExtractor((ECPrivateKeyParameters)keys.getPrivate(), 128 / 8, kdf, true, false, true);
123+
124+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
112125

113126
if (!areEqual(key1.getKey(), key2.getKey()))
114127
{
115128
fail("failed cofactor and single hash test");
116129
}
117130

118131
// Test ECIES-KEM using old cofactor mode and single hash mode
119-
kem = new ECIESKeyEncapsulation(kdf, rnd, false, true, true);
120-
121-
kem.init(keys.getPublic());
122-
key1 = (KeyParameter)kem.encrypt(out, 128);
123-
124-
kem.init(keys.getPrivate());
125-
key2 = (KeyParameter)kem.decrypt(out, 128);
132+
kemGen = new ECIESKEMGenerator(128 / 8, kdf, rnd, false, true, true);
133+
134+
secEnc = kemGen.generateEncapsulated(keys.getPublic());
135+
136+
key1 = new KeyParameter(secEnc.getSecret());
137+
138+
kemExt = new ECIESKEMExtractor((ECPrivateKeyParameters)keys.getPrivate(), 128 / 8, kdf, false, true, true);
139+
140+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
126141

127142
if (!areEqual(key1.getKey(), key2.getKey()))
128143
{

core/src/test/java/org/bouncycastle/crypto/test/RSAKeyEncapsulationTest.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
import java.security.SecureRandom;
55

66
import org.bouncycastle.crypto.AsymmetricCipherKeyPair;
7+
import org.bouncycastle.crypto.SecretWithEncapsulation;
78
import org.bouncycastle.crypto.digests.SHA1Digest;
89
import org.bouncycastle.crypto.generators.KDF2BytesGenerator;
910
import org.bouncycastle.crypto.generators.RSAKeyPairGenerator;
10-
import org.bouncycastle.crypto.kems.RSAKeyEncapsulation;
11+
import org.bouncycastle.crypto.kems.RSAKEMExtractor;
12+
import org.bouncycastle.crypto.kems.RSAKEMGenerator;
1113
import org.bouncycastle.crypto.params.KeyParameter;
1214
import org.bouncycastle.crypto.params.RSAKeyGenerationParameters;
15+
import org.bouncycastle.crypto.params.RSAKeyParameters;
1316
import org.bouncycastle.util.test.SimpleTest;
1417

1518
/**
@@ -32,20 +35,21 @@ public void performTest()
3235
AsymmetricCipherKeyPair keys = rsaGen.generateKeyPair();
3336

3437
// Set RSA-KEM parameters
35-
RSAKeyEncapsulation kem;
38+
RSAKEMGenerator kemGen;
39+
RSAKEMExtractor kemExt;
3640
KDF2BytesGenerator kdf = new KDF2BytesGenerator(new SHA1Digest());
3741
SecureRandom rnd = new SecureRandom();
3842
byte[] out = new byte[128];
3943
KeyParameter key1, key2;
4044

4145
// Test RSA-KEM
42-
kem = new RSAKeyEncapsulation(kdf, rnd);
46+
kemGen = new RSAKEMGenerator(128 / 8, kdf, rnd);
4347

44-
kem.init(keys.getPublic());
45-
key1 = (KeyParameter)kem.encrypt(out, 128);
48+
SecretWithEncapsulation secEnc = kemGen.generateEncapsulated(keys.getPublic());
49+
key1 = new KeyParameter(secEnc.getSecret());
4650

47-
kem.init(keys.getPrivate());
48-
key2 = (KeyParameter)kem.decrypt(out, 128);
51+
kemExt = new RSAKEMExtractor((RSAKeyParameters)keys.getPrivate(), 128 / 8, kdf);
52+
key2 = new KeyParameter(kemExt.extractSecret(secEnc.getEncapsulation()));
4953

5054
if (!areEqual(key1.getKey(), key2.getKey()))
5155
{

0 commit comments

Comments
 (0)