ch.ethz.ssh2.crypto
Class KeyMaterial

java.lang.Object
  extended by ch.ethz.ssh2.crypto.KeyMaterial

public class KeyMaterial
extends java.lang.Object

Establishes key material for iv/key/mac (both directions).

Version:
$Id: KeyMaterial.java,v 1.2 2005/12/05 17:13:27 cplattne Exp $
Author:
Christian Plattner, plattner@inf.ethz.ch

Field Summary
 byte[] enc_key_client_to_server
           
 byte[] enc_key_server_to_client
           
 byte[] initial_iv_client_to_server
           
 byte[] initial_iv_server_to_client
           
 byte[] integrity_key_client_to_server
           
 byte[] integrity_key_server_to_client
           
 
Constructor Summary
KeyMaterial()
           
 
Method Summary
private static byte[] calculateKey(HashForSSH2Types sh, java.math.BigInteger K, byte[] H, byte type, byte[] SessionID, int keyLength)
           
static KeyMaterial create(java.lang.String hashType, byte[] H, java.math.BigInteger K, byte[] SessionID, int keyLengthCS, int blockSizeCS, int macLengthCS, int keyLengthSC, int blockSizeSC, int macLengthSC)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

initial_iv_client_to_server

public byte[] initial_iv_client_to_server

initial_iv_server_to_client

public byte[] initial_iv_server_to_client

enc_key_client_to_server

public byte[] enc_key_client_to_server

enc_key_server_to_client

public byte[] enc_key_server_to_client

integrity_key_client_to_server

public byte[] integrity_key_client_to_server

integrity_key_server_to_client

public byte[] integrity_key_server_to_client
Constructor Detail

KeyMaterial

public KeyMaterial()
Method Detail

calculateKey

private static byte[] calculateKey(HashForSSH2Types sh,
                                   java.math.BigInteger K,
                                   byte[] H,
                                   byte type,
                                   byte[] SessionID,
                                   int keyLength)

create

public static KeyMaterial create(java.lang.String hashType,
                                 byte[] H,
                                 java.math.BigInteger K,
                                 byte[] SessionID,
                                 int keyLengthCS,
                                 int blockSizeCS,
                                 int macLengthCS,
                                 int keyLengthSC,
                                 int blockSizeSC,
                                 int macLengthSC)
                          throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException