Package com.trilead.ssh2.crypto.dh
Class GenericDhExchange
- java.lang.Object
-
- com.trilead.ssh2.crypto.dh.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)
-
-
-
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()
-
-