Class AbstractDHKeyExchange

java.lang.Object
org.apache.sshd.common.util.logging.AbstractLoggingBean
org.apache.sshd.common.kex.dh.AbstractDHKeyExchange
All Implemented Interfaces:
KeyExchange, NamedResource, SessionContextHolder, SessionHolder<Session>
Direct Known Subclasses:
AbstractDHClientKeyExchange, AbstractDHServerKeyExchange

public abstract class AbstractDHKeyExchange extends AbstractLoggingBean implements KeyExchange
Author:
Apache MINA SSHD Project
  • Field Details

    • v_s

      protected byte[] v_s
    • v_c

      protected byte[] v_c
    • i_s

      protected byte[] i_s
    • i_c

      protected byte[] i_c
    • hash

      protected Digest hash
    • k

      protected byte[] k
    • h

      protected byte[] h
  • Constructor Details

    • AbstractDHKeyExchange

      protected AbstractDHKeyExchange(Session session)
  • Method Details

    • init

      public void init(byte[] v_s, byte[] v_c, byte[] i_s, byte[] i_c) throws Exception
      Description copied from interface: KeyExchange
      Initialize the key exchange algorithm.
      Specified by:
      init in interface KeyExchange
      Parameters:
      v_s - the server identification string
      v_c - the client identification string
      i_s - the server key initialization packet
      i_c - the client key initialization packet
      Throws:
      Exception - if an error occurs
    • getSession

      public Session getSession()
      Specified by:
      getSession in interface SessionHolder<Session>
    • getHash

      public Digest getHash()
      Description copied from interface: KeyExchange
      The message digest used by this key exchange algorithm.
      Specified by:
      getHash in interface KeyExchange
      Returns:
      the message digest
    • getH

      public byte[] getH()
      Description copied from interface: KeyExchange
      Retrieves the computed h parameter
      Specified by:
      getH in interface KeyExchange
      Returns:
      The h parameter
    • getK

      public byte[] getK()
      Description copied from interface: KeyExchange
      Retrieves the computed k parameter
      Specified by:
      getK in interface KeyExchange
      Returns:
      The k parameter
    • getE

      protected byte[] getE()
    • getEValue

      protected BigInteger getEValue()
    • updateE

      protected byte[] updateE(Buffer buffer)
    • updateE

      protected byte[] updateE(byte[] mpInt)
    • setE

      protected void setE(byte[] e)
    • validateEValue

      protected void validateEValue(BigInteger pValue) throws SshException
      Throws:
      SshException
    • getF

      protected byte[] getF()
    • getFValue

      protected BigInteger getFValue()
    • updateF

      protected byte[] updateF(Buffer buffer)
    • updateF

      protected byte[] updateF(byte[] mpInt)
    • setF

      protected void setF(byte[] f)
    • validateFValue

      protected void validateFValue(BigInteger pValue) throws SshException
      Throws:
      SshException
    • toString

      public String toString()
      Overrides:
      toString in class Object