Class GenericDhExchange

  • Direct Known Subclasses:
    DhExchange, EcDhExchange

    public abstract class GenericDhExchange
    extends java.lang.Object
    DhExchange.
    Version:
    $Id: DhExchange.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
    Author:
    Christian Plattner, plattner@trilead.com
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected GenericDhExchange()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] calculateH​(byte[] clientversion, byte[] serverversion, byte[] clientKexPayload, byte[] serverKexPayload, byte[] hostKey)  
      abstract byte[] getE()  
      abstract java.lang.String getHashAlgo()  
      static GenericDhExchange getInstance​(java.lang.String algo)  
      java.math.BigInteger getK()  
      protected abstract byte[] getServerE()  
      abstract void init​(java.lang.String name)  
      abstract void setF​(byte[] f)  
      • Methods inherited from class java.lang.Object

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

      • GenericDhExchange

        protected GenericDhExchange()
    • Method Detail

      • getInstance

        public static GenericDhExchange getInstance​(java.lang.String algo)
      • init

        public abstract void init​(java.lang.String name)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getE

        public abstract byte[] getE()
        Returns:
        Returns the e (public value)
        Throws:
        java.lang.IllegalStateException
      • getServerE

        protected abstract byte[] getServerE()
        Returns:
        Returns the server's e (public value)
        Throws:
        java.lang.IllegalStateException
      • getK

        public java.math.BigInteger getK()
        Returns:
        Returns the shared secret k.
        Throws:
        java.lang.IllegalStateException
      • setF

        public abstract void setF​(byte[] f)
                           throws java.io.IOException
        Parameters:
        f -
        Throws:
        java.io.IOException
      • calculateH

        public byte[] calculateH​(byte[] clientversion,
                                 byte[] serverversion,
                                 byte[] clientKexPayload,
                                 byte[] serverKexPayload,
                                 byte[] hostKey)
                          throws java.io.UnsupportedEncodingException
        Throws:
        java.io.UnsupportedEncodingException
      • getHashAlgo

        public abstract java.lang.String getHashAlgo()