Class DHAgreement


  • public class DHAgreement
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      DHAgreement()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.math.BigInteger calculateAgreement​(DHPublicKeyParameters pub, java.math.BigInteger message)
      given a message from a given party and the corresponding public key, calculate the next message in the agreement sequence.
      java.math.BigInteger calculateMessage()
      calculate our initial message.
      void init​(CipherParameters param)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DHAgreement

        public DHAgreement()
    • Method Detail

      • calculateMessage

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

        public java.math.BigInteger calculateAgreement​(DHPublicKeyParameters pub,
                                                       java.math.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.