diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-09-27 15:52:06 +0400 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-09-27 15:52:06 +0400 |
commit | aded6989868a5dea3ba2fa8bce138e985c2c2435 (patch) | |
tree | 3421d4acfb45451b4adf238f503fcd9e93c06d03 /core/src/main/java/org/bouncycastle/crypto/agreement/ECDHBasicAgreement.java | |
parent | e80a79f36d593b89210fa73666536e1295249a36 (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.java | 5 |
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(); } |