aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/main/java/org/spongycastle/crypto/agreement/DHBasicAgreement.java
diff options
context:
space:
mode:
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.java71
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());
- }
-}