org.bouncycastle.crypto.agreement
Class ECDHCBasicAgreement
java.lang.Object
org.bouncycastle.crypto.agreement.ECDHCBasicAgreement
- All Implemented Interfaces:
- BasicAgreement
public class ECDHCBasicAgreement
- extends java.lang.Object
- implements BasicAgreement
P1363 7.2.2 ECSVDP-DHC
ECSVDP-DHC is Elliptic Curve Secret Value Derivation Primitive,
Diffie-Hellman version with cofactor multiplication. It is based on
the work of [DH76], [Mil86], [Kob87], [LMQ98] and [Kal98a]. 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 does not assume the
validity of the input public key (see also Section 7.2.1).
Note: As stated P1363 compatability mode with ECDH can be preset, and
in this case the implementation doesn't have a ECDH compatability mode
(if you want that just use ECDHBasicAgreement and note they both implement
BasicAgreement!).
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ECDHCBasicAgreement
public ECDHCBasicAgreement()
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