is.logi.crypto.protocols
Class DHEKEKeyExServer

java.lang.Object
  |
  +--is.logi.crypto.Crypto
        |
        +--is.logi.crypto.protocols.DHEKEKeyEx
              |
              +--is.logi.crypto.protocols.DHEKEKeyExServer

public class DHEKEKeyExServer
extends is.logi.crypto.protocols.DHEKEKeyEx
implements InterKeyExServer, InterAuthServer

Diffie-Hellman EKE key exchange and authentication server. It expects to talk to a DHEKEKeyExClient object.

Author:
Logi Ragnarsson (logir@hi.is)
See Also:
DHEKEKeyExClient

Fields inherited from class is.logi.crypto.Crypto
BIT, cdsPath, keySource, NIBBLE, primeCertainty, random
 
Constructor Summary
DHEKEKeyExServer(int n, java.lang.String keyType, CipherKey secretKey)
          Create a new DHEKEKeyExClient object which uses an n bit modulus, the named key type and the specified secret key.
 
Method Summary
 byte[] message(byte[] received)
          If the key has not been decided upon and received is the last message received from the other end, message(received) returns the message to send the other end as the next step in the protocol.
 
Methods inherited from class is.logi.crypto.protocols.DHEKEKeyEx
completed, sessionKey
 
Methods inherited from class is.logi.crypto.Crypto
binString, binString, equal, equalRelaxed, equalSub, fromHexNibble, fromHexString, fromString, fromString, hexString, hexString, hexString, hexString, makeClass, makeInt, makeLong, makeSessionKey, pastSpace, pickBits, pickBits, readInt, writeBytes, writeBytes, writeInt
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DHEKEKeyExServer

public DHEKEKeyExServer(int n,
                        java.lang.String keyType,
                        CipherKey secretKey)
Create a new DHEKEKeyExClient object which uses an n bit modulus, the named key type and the specified secret key.

There are pre-computed public modulus and gnerator pairs for these values of n: 256, 512, 1024, 2048. Using one of these values saves you from a rather long wait.

Method Detail

message

public byte[] message(byte[] received)
               throws ProtocolException
If the key has not been decided upon and received is the last message received from the other end, message(received) returns the message to send the other end as the next step in the protocol.
Throws:
ProtocolException - if a malformed message is received.
ValidationException - if validation fails.


Copyright 1997-1999 Logi Ragnarsson