Definition of the class TripleDecompositionProtocolInstance. More...
#include <TripleDecompositionKeyGeneration.h>
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, Word > | getPublicKeyA () const |
(accessor function) Get the public key of the first party (Alice). | |
triple< Word, Word, Word > | getPublicKeyB () 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 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, Word > | thePublicKeyA |
The public key of the first party (Alice). | |
triple< Word, Word, Word > | thePublicKeyB |
The public key of the second party (Bob). | |
quadruple< Word, Word, Word, Word > | theConjugators |
The conjugators for the elementary commuting subgroups (public information). | |
ThRightNormalForm | theSharedKey |
The shared key . |
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.
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.
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.
(accessor function) Get the public key of the first party (Alice).
Definition at line 79 of file TripleDecompositionKeyGeneration.h.
References thePublicKeyA.
(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.
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 of length len.
quadruple< Word , Word , Word , Word > TripleDecompositionProtocolInstance::theConjugators [private] |
The conjugators for the elementary commuting subgroups (public information).
The conjugators . 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.
quintuple< Word , Word , Word , Word , Word > TripleDecompositionProtocolInstance::thePrivateKeyA [private] |
The private key of the first party (Alice).
The private key . 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().
quintuple< Word , Word , Word , Word , Word > TripleDecompositionProtocolInstance::thePrivateKeyB [private] |
The private key of the second party (Bob).
The private key . 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().
triple< Word , Word , Word > TripleDecompositionProtocolInstance::thePublicKeyA [private] |
The public key of the first party (Alice).
The public key . 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().
triple< Word , Word , Word > TripleDecompositionProtocolInstance::thePublicKeyB [private] |
The public key of the second party (Bob).
The public key . 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().
int TripleDecompositionProtocolInstance::theRank [private] |
the rank of the braid group
Definition at line 108 of file TripleDecompositionKeyGeneration.h.
Referenced by getBraidRank().
The shared key .
Definition at line 151 of file TripleDecompositionKeyGeneration.h.
Referenced by getSharedKey().