|
9 | 9 | public class HQCKeyPairGenerator |
10 | 10 | implements AsymmetricCipherKeyPairGenerator |
11 | 11 | { |
12 | | - |
13 | | - private HQCKeyGenerationParameters hqcKeyGenerationParameters; |
14 | | - |
15 | 12 | private SecureRandom random; |
| 13 | + private HQCParameters parameters; |
16 | 14 |
|
17 | 15 | @Override |
18 | 16 | public void init(KeyGenerationParameters params) |
19 | 17 | { |
20 | | - this.hqcKeyGenerationParameters = (HQCKeyGenerationParameters)params; |
21 | 18 | this.random = params.getRandom(); |
| 19 | + this.parameters = ((HQCKeyGenerationParameters)params).getParameters(); |
22 | 20 | } |
23 | 21 |
|
24 | | - private AsymmetricCipherKeyPair genKeyPair() |
| 22 | + @Override |
| 23 | + public AsymmetricCipherKeyPair generateKeyPair() |
25 | 24 | { |
26 | | - HQCEngine engine = hqcKeyGenerationParameters.getParameters().getEngine(); |
27 | | - byte[] pk = new byte[hqcKeyGenerationParameters.getParameters().getPublicKeyBytes()]; |
28 | | - byte[] sk = new byte[hqcKeyGenerationParameters.getParameters().getSecretKeyBytes()]; |
29 | | - |
30 | | - engine.genKeyPair(pk, sk, random); |
| 25 | + byte[] pk = new byte[parameters.getPublicKeyBytes()]; |
| 26 | + byte[] sk = new byte[parameters.getSecretKeyBytes()]; |
31 | 27 |
|
32 | | - // form keys |
33 | | - HQCPublicKeyParameters publicKey = new HQCPublicKeyParameters(hqcKeyGenerationParameters.getParameters(), pk); |
34 | | - HQCPrivateKeyParameters privateKey = new HQCPrivateKeyParameters(hqcKeyGenerationParameters.getParameters(), sk); |
| 28 | + parameters.getEngine().genKeyPair(pk, sk, random); |
35 | 29 |
|
| 30 | + HQCPublicKeyParameters publicKey = new HQCPublicKeyParameters(parameters, pk); |
| 31 | + HQCPrivateKeyParameters privateKey = new HQCPrivateKeyParameters(parameters, sk); |
36 | 32 | return new AsymmetricCipherKeyPair(publicKey, privateKey); |
37 | 33 | } |
38 | | - |
39 | | - @Override |
40 | | - public AsymmetricCipherKeyPair generateKeyPair() |
41 | | - { |
42 | | - return genKeyPair(); |
43 | | - } |
44 | 34 | } |
0 commit comments