Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2013-09-27 15:52:06 +0400
committerPeter Dettman <peter.dettman@bouncycastle.org>2013-09-27 15:52:06 +0400
commitaded6989868a5dea3ba2fa8bce138e985c2c2435 (patch)
tree3421d4acfb45451b4adf238f503fcd9e93c06d03 /core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
parente80a79f36d593b89210fa73666536e1295249a36 (diff)
Re-add check for infinity points in ECDH(C), reduce scalar multiplicand
by N in ECDHC
Diffstat (limited to 'core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java')
-rw-r--r--core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java b/core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
index 2b9a9582..a491b9df 100644
--- a/core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
+++ b/core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java
@@ -44,7 +44,10 @@ public class ECDHBasicAgreement
ECPublicKeyParameters pub = (ECPublicKeyParameters)pubKey;
ECPoint P = pub.getQ().multiply(key.getD()).normalize();
- // if (p.isInfinity()) throw new RuntimeException("d*Q == infinity");
+ if (P.isInfinity())
+ {
+ throw new IllegalStateException("Infinity is not a valid agreement value for ECDH");
+ }
return P.getAffineXCoord().toBigInteger();
}