Class KeyExchange

  • Direct Known Subclasses:
    DHECN, DHG1, DHG14, DHGEX

    public abstract class KeyExchange
    extends java.lang.Object
    • Field Detail

      • PROPOSAL_SERVER_HOST_KEY_ALGS

        static final int PROPOSAL_SERVER_HOST_KEY_ALGS
        See Also:
        Constant Field Values
      • kex

        static java.lang.String kex
      • server_host_key

        static java.lang.String server_host_key
      • enc_c2s

        static java.lang.String enc_c2s
      • enc_s2c

        static java.lang.String enc_s2c
      • mac_c2s

        static java.lang.String mac_c2s
      • mac_s2c

        static java.lang.String mac_s2c
      • lang_c2s

        static java.lang.String lang_c2s
      • lang_s2c

        static java.lang.String lang_s2c
      • session

        protected Session session
      • sha

        protected HASH sha
      • K

        protected byte[] K
      • H

        protected byte[] H
      • K_S

        protected byte[] K_S
      • type

        private int type
      • key_alg_name

        private java.lang.String key_alg_name
    • Constructor Detail

      • KeyExchange

        public KeyExchange()
    • Method Detail

      • init

        public abstract void init​(Session session,
                                  byte[] V_S,
                                  byte[] V_C,
                                  byte[] I_S,
                                  byte[] I_C)
                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • next

        public abstract boolean next​(Buffer buf)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getState

        public abstract int getState()
      • getKeyType

        public java.lang.String getKeyType()
      • getKeyAlgorithName

        public java.lang.String getKeyAlgorithName()
      • guess

        protected static java.lang.String[] guess​(byte[] I_S,
                                                  byte[] I_C)
      • getFingerPrint

        public java.lang.String getFingerPrint()
      • getK

        byte[] getK()
      • getH

        byte[] getH()
      • getHash

        HASH getHash()
      • getHostKey

        byte[] getHostKey()
      • normalize

        protected byte[] normalize​(byte[] secret)
      • verify

        protected boolean verify​(java.lang.String alg,
                                 byte[] K_S,
                                 int index,
                                 byte[] sig_of_H)
                          throws java.lang.Exception
        Throws:
        java.lang.Exception