Class SendHashKeyExClient

All Implemented Interfaces:
InterKeyExClient, InterProtocolClient, NoninterKeyExClient, NoninterProtocolClient

public class SendHashKeyExClient
extends org.logi.crypto.protocols.SendHashKeyEx
implements NoninterKeyExClient

This class implements the client portion of the key-exchange protocol whereby the client sends the server the hash of the key that should be used for decryption. The server is assumed to have this key in its default KeySource.

Logi Ragnarsson (
See Also:

Fields inherited from class org.logi.crypto.Crypto
BIT, cdsPath, EMPTY_ARRAY, FOUR, keySource, NIBBLE, ONE, primeCertainty, random, TWO, ZERO
Constructor Summary
SendHashKeyExClient(Key k)
          Create a new SendHashKeyEx object.
Method Summary
 boolean completed()
          Returns true iff this end of the protocol i completed.
 int maxMessageSize()
          Returns the maximum expected size of a message for this protocol.
 byte[] message(byte[] received)
          Get the next message in the protocol.
 Key sessionKey()
          Returns the key if it has been decided upon, or null otherwise.
Methods inherited from class org.logi.crypto.Crypto
binString, binString, ensureArrayLength, ensureArrayLength, equal, equalRelaxed, equalSub, fromHexNibble, fromHexString, fromString, fromString, hexString, hexString, hexString, hexString, hexString, initRandom, initRandom, makeClass, makeInt, makeLong, makeSessionKey, pastSpace, pickBits, pickBits, prettyPrint, prettyPrint, readBlock, readInt, trimArrayLength, trimArrayLength, trimLeadingZeroes, writeBytes, writeBytes, writeInt
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.logi.crypto.protocols.InterProtocolClient
completed, maxMessageSize
Methods inherited from interface org.logi.crypto.protocols.InterKeyExClient

Constructor Detail


public SendHashKeyExClient(Key k)
Create a new SendHashKeyEx object. It uses the Key k.
Method Detail


public byte[] message(byte[] received)
               throws CryptoProtocolException
Get the next message in the protocol.

received is the last message received form the server and has not yet been sent to the client.

The returned value is the next message to send to the server or null if no more messages need to be sent and the protocol is terminated.

Specified by:
message in interface InterProtocolClient
CryptoProtocolException - if a problem arises with the protocol.


public Key sessionKey()
Returns the key if it has been decided upon, or null otherwise.


public boolean completed()
Returns true iff this end of the protocol i completed.


public int maxMessageSize()
Returns the maximum expected size of a message for this protocol.

Copyright (c) 1997-2001 Logi Ragnarsson - Distributed under the GPL