ShftConjKeyGeneration.h

Go to the documentation of this file.
00001 // Copyright (C) 2005 Alexander Ushakov
00002 // Contents: Definition of class ShftConjKeyInstance
00003 //
00004 // Principal Authors: Alexander Ushakov
00005 //
00006 // Revision History:
00007 //
00008 
00009 #ifndef _ShftConjKeyGeneration_h_
00010 #define _ShftConjKeyGeneration_h_
00011 
00012 #include "Word.h"
00013 
00014 #include <vector>
00015 using namespace std;
00016 
00017 
00018 //---------------------------------------------------------------------------//
00019 //-------------------------- ShftConjKeyInstance ----------------------------//
00020 //---------------------------------------------------------------------------//
00021 
00022 
00023 class ShftConjKeyInstance
00024 {
00025   
00027   //                                                     //
00028   //  Constructors:                                      //
00029   //                                                     //
00031   
00032  public:
00033 
00035   ShftConjKeyInstance( int braid_rank , Word base_word , Word keyA , Word KeyB );
00036   
00037   
00039   //                                                     //
00040   //  Accessors:                                         //
00041   //                                                     //
00043 
00044  public:
00045   
00047 
00052   static ShftConjKeyInstance random( int braid_rank , int baseLenth , int keyLength );
00053 
00055   int  getBraidRank  ( ) const { return theRank       ; }
00057   Word getPrivateKeyA( ) const { return thePrivateKeyA; }
00059   Word getPrivateKeyB( ) const { return thePrivateKeyB; }
00061   Word getPublicKeyA ( ) const { return thePublicKeyA ; }
00063   Word getPublicKeyB ( ) const { return thePublicKeyB ; }
00064   
00066   //                                                     //
00067   //  Data members:                                      //
00068   //                                                     //
00070 
00071  private:
00072 
00074   int theRank;
00075 
00077   Word theBase;
00078 
00080   Word thePrivateKeyA;
00081 
00083   Word thePublicKeyA;
00084 
00086   Word thePrivateKeyB;
00087 
00089   Word thePublicKeyB;
00090 
00091 };
00092 
00093 
00094 //---------------------------------------------------------------------------//
00095 //------------------------------- Algorithms --------------------------------//
00096 //---------------------------------------------------------------------------//
00097 
00098 
00099 Word generatorShift( const Word& w );
00100 
00101 
00102 #endif

Generated on Mon Feb 27 22:47:04 2006 for CRyptography And Groups (CRAG) by  doxygen 1.4.4