Class DHAgreement

java.lang.Object
org.bouncycastle.crypto.agreement.DHAgreement

public class DHAgreement extends Object
a Diffie-Hellman key exchange engine.

note: This uses MTI/A0 key agreement in order to make the key agreement secure against passive attacks. If you're doing Diffie-Hellman and both parties have long term public keys you should look at using this. For further information have a look at RFC 2631.

It's possible to extend this to more than two parties as well, for the moment that is left as an exercise for the reader.

  • Constructor Details

    • DHAgreement

      public DHAgreement()
  • Method Details

    • init

      public void init(CipherParameters param)
    • calculateMessage

      public BigInteger calculateMessage()
      calculate our initial message.
    • calculateAgreement

      public BigInteger calculateAgreement(DHPublicKeyParameters pub, BigInteger message)
      given a message from a given party and the corresponding public key, calculate the next message in the agreement sequence. In this case this will represent the shared secret.