diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/crypto/generators/ElGamalKeyPairGenerator.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/crypto/generators/ElGamalKeyPairGenerator.java | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/crypto/generators/ElGamalKeyPairGenerator.java b/bcprov/src/main/java/org/bouncycastle/crypto/generators/ElGamalKeyPairGenerator.java deleted file mode 100644 index f23b697..0000000 --- a/bcprov/src/main/java/org/bouncycastle/crypto/generators/ElGamalKeyPairGenerator.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.bouncycastle.crypto.generators; - -import java.math.BigInteger; - -import org.bouncycastle.crypto.AsymmetricCipherKeyPair; -import org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator; -import org.bouncycastle.crypto.KeyGenerationParameters; -import org.bouncycastle.crypto.params.DHParameters; -import org.bouncycastle.crypto.params.ElGamalKeyGenerationParameters; -import org.bouncycastle.crypto.params.ElGamalParameters; -import org.bouncycastle.crypto.params.ElGamalPrivateKeyParameters; -import org.bouncycastle.crypto.params.ElGamalPublicKeyParameters; - -/** - * a ElGamal key pair generator. - * <p> - * This generates keys consistent for use with ElGamal as described in - * page 164 of "Handbook of Applied Cryptography". - */ -public class ElGamalKeyPairGenerator - implements AsymmetricCipherKeyPairGenerator -{ - private ElGamalKeyGenerationParameters param; - - public void init( - KeyGenerationParameters param) - { - this.param = (ElGamalKeyGenerationParameters)param; - } - - public AsymmetricCipherKeyPair generateKeyPair() - { - DHKeyGeneratorHelper helper = DHKeyGeneratorHelper.INSTANCE; - ElGamalParameters egp = param.getParameters(); - DHParameters dhp = new DHParameters(egp.getP(), egp.getG(), null, egp.getL()); - - BigInteger x = helper.calculatePrivate(dhp, param.getRandom()); - BigInteger y = helper.calculatePublic(dhp, x); - - return new AsymmetricCipherKeyPair( - new ElGamalPublicKeyParameters(y, egp), - new ElGamalPrivateKeyParameters(x, egp)); - } -} |