org.openuat.authentication
Class CandidateKeyProtocol.CandidateKey

java.lang.Object
  extended by org.openuat.authentication.CandidateKeyProtocol.CandidateKey
Enclosing class:
CandidateKeyProtocol

public static class CandidateKeyProtocol.CandidateKey
extends java.lang.Object

This class represents a complete candidate key, with both the private part (key) and a hash for comparing it with a remote host's candidate (hash).


Field Summary
 byte[] hash
          A hash of the key, which may be sent to the other host (or group) for comparison.
 byte[] key
          The key itself.
 int[][] localIndices
          The round/candidate number tuples that are used locally to refer to all parts of the key.
 int numParts
          The number of parts that have been used to create the key.
 int[][] remoteIndices
          The round/candidate number tuples that are used remotely to refer to all parts of the key.
 
Constructor Summary
CandidateKeyProtocol.CandidateKey()
           
 
Method Summary
static java.lang.String indexTuplesToString(int[][] indices)
          This is a small helper function to encode a list of index tuples into a string.
static int[][] stringToIndexTuples(java.lang.String coded)
          This is a small helper function to decode a list of index tuples from a string that has previously been generated by indexTupleToString.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numParts

public int numParts
The number of parts that have been used to create the key.


key

public byte[] key
The key itself. This must be kept private and may not be communicated to the remote host (or group).


hash

public byte[] hash
A hash of the key, which may be sent to the other host (or group) for comparison.


localIndices

public int[][] localIndices
The round/candidate number tuples that are used locally to refer to all parts of the key. This matrix has 2 rows (second index) and numParts columns (first index). The first row specifies the (unique) rounds that have been used and the second row gives the candidate key numbers within those rounds.


remoteIndices

public int[][] remoteIndices
The round/candidate number tuples that are used remotely to refer to all parts of the key. This matrix has 2 rows (second index) and numParts columns (first column). The first row specifies the (unique) rounds that have been used and the second row gives the candidate key numbers within those rounds. If these remote indices are not known to this host (because the other host has not reported them), the respective values will be set to -1.

Constructor Detail

CandidateKeyProtocol.CandidateKey

public CandidateKeyProtocol.CandidateKey()
Method Detail

indexTuplesToString

public static java.lang.String indexTuplesToString(int[][] indices)
This is a small helper function to encode a list of index tuples into a string.


stringToIndexTuples

public static int[][] stringToIndexTuples(java.lang.String coded)
This is a small helper function to decode a list of index tuples from a string that has previously been generated by indexTupleToString. Returns null if it can not be decoded.



2005-2009, Rene Mayrhofer.