TripleDecompositionProtocolInstance Class Reference

Definition of the class TripleDecompositionProtocolInstance. More...

#include <TripleDecompositionKeyGeneration.h>

List of all members.

Public Member Functions

 TripleDecompositionProtocolInstance (int braid_rank, quadruple< Word, Word, Word, Word > conjugators, quintuple< Word, Word, Word, Word, Word > privateKeyA, quintuple< Word, Word, Word, Word, Word > privateKeyB)
 Create an instance of the protocol for a particular choice of certain public/private information.
int getBraidRank () const
 (accessor function) Get the rank of the braid group.
quintuple< Word, Word, Word,
Word, Word
getPrivateKeyA () const
 (accessor function) Get the private key of the first party (Alice).
quintuple< Word, Word, Word,
Word, Word
getPrivateKeyB () const
 (accessor function) Get the private key of the second party (Bob).
triple< Word, Word, WordgetPublicKeyA () const
 (accessor function) Get the public key of the first party (Alice).
triple< Word, Word, WordgetPublicKeyB () const
 (accessor function) Get the public key of the second party (Bob).
ThRightNormalForm getSharedKey () const
 (accessor function) Get the shared key of two parties.

Static Public Member Functions

static
TripleDecompositionProtocolInstance 
random (int braid_rank, int baseLenth, int keyLength)
 Generate a random instance of the protocol.

Static Private Member Functions

static Word randomWord (int lowerIndex, int upperIndex, int len)
 Generate a random reduced word over the alphabet $x_l,\ldots,x_u$ of length len.

Private Attributes

int theRank
 the rank of the braid group
quintuple< Word, Word, Word,
Word, Word
thePrivateKeyA
 The private key of the first party (Alice).
quintuple< Word, Word, Word,
Word, Word
thePrivateKeyB
 The private key of the second party (Bob).
triple< Word, Word, WordthePublicKeyA
 The public key of the first party (Alice).
triple< Word, Word, WordthePublicKeyB
 The public key of the second party (Bob).
quadruple< Word, Word, Word, WordtheConjugators
 The conjugators for the elementary commuting subgroups (public information).
ThRightNormalForm theSharedKey
 The shared key $a_1 b_1 a_2 b_2 a_3 b_3$.

Detailed Description

Definition of the class TripleDecompositionProtocolInstance.

Objects of this class contain public and private information of two parties as used in Kurt' key exchange protocol. Also it contains a routine for random generation of keys as proposed in Y. Kurt, J. Koh, "A New Key Exchange Primitive Based on the Triple Decomposition Problem".

Definition at line 34 of file TripleDecompositionKeyGeneration.h.


Constructor & Destructor Documentation

TripleDecompositionProtocolInstance::TripleDecompositionProtocolInstance ( int  braid_rank,
quadruple< Word, Word, Word, Word conjugators,
quintuple< Word, Word, Word, Word, Word privateKeyA,
quintuple< Word, Word, Word, Word, Word privateKeyB 
)

Create an instance of the protocol for a particular choice of certain public/private information.


Member Function Documentation

int TripleDecompositionProtocolInstance::getBraidRank (  )  const [inline]

(accessor function) Get the rank of the braid group.

Definition at line 69 of file TripleDecompositionKeyGeneration.h.

References theRank.

quintuple< Word , Word , Word , Word , Word > TripleDecompositionProtocolInstance::getPrivateKeyA (  )  const [inline]

(accessor function) Get the private key of the first party (Alice).

Definition at line 73 of file TripleDecompositionKeyGeneration.h.

References thePrivateKeyA.

quintuple< Word , Word , Word , Word , Word > TripleDecompositionProtocolInstance::getPrivateKeyB (  )  const [inline]

(accessor function) Get the private key of the second party (Bob).

Definition at line 75 of file TripleDecompositionKeyGeneration.h.

References thePrivateKeyB.

triple< Word , Word , Word > TripleDecompositionProtocolInstance::getPublicKeyA (  )  const [inline]

(accessor function) Get the public key of the first party (Alice).

Definition at line 79 of file TripleDecompositionKeyGeneration.h.

References thePublicKeyA.

triple< Word , Word , Word > TripleDecompositionProtocolInstance::getPublicKeyB (  )  const [inline]

(accessor function) Get the public key of the second party (Bob).

Definition at line 81 of file TripleDecompositionKeyGeneration.h.

References thePublicKeyB.

ThRightNormalForm TripleDecompositionProtocolInstance::getSharedKey (  )  const [inline]

(accessor function) Get the shared key of two parties.

Definition at line 85 of file TripleDecompositionKeyGeneration.h.

References theSharedKey.

static TripleDecompositionProtocolInstance TripleDecompositionProtocolInstance::random ( int  braid_rank,
int  baseLenth,
int  keyLength 
) [static]

Generate a random instance of the protocol.

Parameters:
braid_rank - rank of the braid group;
baseLenth - the length of thePublicKey.first
keyLength - the length of thePrivateKey
static Word TripleDecompositionProtocolInstance::randomWord ( int  lowerIndex,
int  upperIndex,
int  len 
) [static, private]

Generate a random reduced word over the alphabet $x_l,\ldots,x_u$ of length len.


Member Data Documentation

The conjugators for the elementary commuting subgroups (public information).

The conjugators $s_1,s_2,s_3,s_4$. See notation of Y. Kurt, J. Koh, "A New Key Exchange Primitive Based on the Triple Decomposition Problem".

Definition at line 147 of file TripleDecompositionKeyGeneration.h.

The private key of the first party (Alice).

The private key $Private_A = (a_1,a_2,a_3,x_1,x_2)$. See notation of Y. Kurt, J. Koh, "A New Key Exchange Primitive Based on the Triple Decomposition Problem".

Definition at line 116 of file TripleDecompositionKeyGeneration.h.

Referenced by getPrivateKeyA().

The private key of the second party (Bob).

The private key $Private_B = (b_1,b_2,b_3,y_1,y_2)$. See notation of Y. Kurt, J. Koh, "A New Key Exchange Primitive Based on the Triple Decomposition Problem".

Definition at line 124 of file TripleDecompositionKeyGeneration.h.

Referenced by getPrivateKeyB().

The public key of the first party (Alice).

The public key $Public_A = (u,v,w)$. See notation of Y. Kurt, J. Koh, "A New Key Exchange Primitive Based on the Triple Decomposition Problem".

Definition at line 132 of file TripleDecompositionKeyGeneration.h.

Referenced by getPublicKeyA().

The public key of the second party (Bob).

The public key $Public_B = (p,q,r)$. See notation of Y. Kurt, J. Koh, "A New Key Exchange Primitive Based on the Triple Decomposition Problem".

Definition at line 139 of file TripleDecompositionKeyGeneration.h.

Referenced by getPublicKeyB().

the rank of the braid group

Definition at line 108 of file TripleDecompositionKeyGeneration.h.

Referenced by getBraidRank().

The shared key $a_1 b_1 a_2 b_2 a_3 b_3$.

Definition at line 151 of file TripleDecompositionKeyGeneration.h.

Referenced by getSharedKey().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Sep 26 18:43:51 2011 for CRyptography And Groups (CRAG) by  doxygen 1.6.1