diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java deleted file mode 100644 index 6359ecdbd..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.spongycastle.crypto.agreement; - -import java.math.BigInteger; - -import org.spongycastle.crypto.BasicAgreement; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.params.AsymmetricKeyParameter; -import org.spongycastle.crypto.params.DHParameters; -import org.spongycastle.crypto.params.DHPrivateKeyParameters; -import org.spongycastle.crypto.params.DHPublicKeyParameters; -import org.spongycastle.crypto.params.ParametersWithRandom; - -/** - * a Diffie-Hellman key agreement class. - * <p> - * note: This is only the basic algorithm, it doesn't take advantage of - * long term public keys if they are available. See the DHAgreement class - * for a "better" implementation. - */ -public class DHBasicAgreement - implements BasicAgreement -{ - private DHPrivateKeyParameters key; - private DHParameters dhParams; - - public void init( - CipherParameters param) - { - AsymmetricKeyParameter kParam; - - if (param instanceof ParametersWithRandom) - { - ParametersWithRandom rParam = (ParametersWithRandom)param; - kParam = (AsymmetricKeyParameter)rParam.getParameters(); - } - else - { - kParam = (AsymmetricKeyParameter)param; - } - - if (!(kParam instanceof DHPrivateKeyParameters)) - { - throw new IllegalArgumentException("DHEngine expects DHPrivateKeyParameters"); - } - - this.key = (DHPrivateKeyParameters)kParam; - this.dhParams = key.getParameters(); - } - - public int getFieldSize() - { - return (key.getParameters().getP().bitLength() + 7) / 8; - } - - /** - * given a short term public key from a given party calculate the next - * message in the agreement sequence. - */ - public BigInteger calculateAgreement( - CipherParameters pubKey) - { - DHPublicKeyParameters pub = (DHPublicKeyParameters)pubKey; - - if (!pub.getParameters().equals(dhParams)) - { - throw new IllegalArgumentException("Diffie-Hellman public key has wrong parameters."); - } - - return pub.getY().modPow(key.getX(), dhParams.getP()); - } -} |