org.gudy.bouncycastle.crypto.agreement
Class ECDHBasicAgreement

java.lang.Object
  extended by org.gudy.bouncycastle.crypto.agreement.ECDHBasicAgreement
All Implemented Interfaces:
BasicAgreement

public class ECDHBasicAgreement
extends java.lang.Object
implements BasicAgreement

P1363 7.2.1 ECSVDP-DH ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive, Diffie-Hellman version. It is based on the work of [DH76], [Mil86], and [Kob87]. This primitive derives a shared secret value from one party's private key and another party's public key, where both have the same set of EC domain parameters. If two parties correctly execute this primitive, they will produce the same output. This primitive can be invoked by a scheme to derive a shared secret key; specifically, it may be used with the schemes ECKAS-DH1 and DL/ECKAS-DH2. It assumes that the input keys are valid (see also Section 7.2.2).


Constructor Summary
ECDHBasicAgreement()
           
 
Method Summary
 java.math.BigInteger calculateAgreement(CipherParameters pubKey)
          given a public key from a given party calculate the next message in the agreement sequence.
 void init(CipherParameters key)
          initialise the agreement engine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ECDHBasicAgreement

public ECDHBasicAgreement()
Method Detail

init

public void init(CipherParameters key)
Description copied from interface: BasicAgreement
initialise the agreement engine.

Specified by:
init in interface BasicAgreement

calculateAgreement

public java.math.BigInteger calculateAgreement(CipherParameters pubKey)
Description copied from interface: BasicAgreement
given a public key from a given party calculate the next message in the agreement sequence.

Specified by:
calculateAgreement in interface BasicAgreement