diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java deleted file mode 100644 index 1b59a7b60..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/generators/ECKeyPairGenerator.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.spongycastle.crypto.generators; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.spongycastle.crypto.AsymmetricCipherKeyPair; -import org.spongycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.spongycastle.crypto.KeyGenerationParameters; -import org.spongycastle.crypto.params.ECDomainParameters; -import org.spongycastle.crypto.params.ECKeyGenerationParameters; -import org.spongycastle.crypto.params.ECPrivateKeyParameters; -import org.spongycastle.crypto.params.ECPublicKeyParameters; -import org.spongycastle.math.ec.ECConstants; -import org.spongycastle.math.ec.ECPoint; - -public class ECKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator, ECConstants -{ - ECDomainParameters params; - SecureRandom random; - - public void init( - KeyGenerationParameters param) - { - ECKeyGenerationParameters ecP = (ECKeyGenerationParameters)param; - - this.random = ecP.getRandom(); - this.params = ecP.getDomainParameters(); - - if (this.random == null) - { - this.random = new SecureRandom(); - } - } - - /** - * Given the domain parameters this routine generates an EC key - * pair in accordance with X9.62 section 5.2.1 pages 26, 27. - */ - public AsymmetricCipherKeyPair generateKeyPair() - { - BigInteger n = params.getN(); - int nBitLength = n.bitLength(); - BigInteger d; - - do - { - d = new BigInteger(nBitLength, random); - } - while (d.equals(ZERO) || (d.compareTo(n) >= 0)); - - ECPoint Q = params.getG().multiply(d); - - return new AsymmetricCipherKeyPair( - new ECPublicKeyParameters(Q, params), - new ECPrivateKeyParameters(d, params)); - } -} |