AAGChallengeGeneration.h

Go to the documentation of this file.
00001 
00002 #include "BraidGroup.h"
00003 #include "ThRightNormalForm.h"
00004 
00005 #include <iterator>
00006 #include <iostream>
00007 #include <fstream>
00008 #include "ShortBraidForm.h"
00009 
00010 #ifndef AAG_Challenge
00011 #define AAG_Challenge
00012 
00013 using namespace std;
00014 
00015 #include "LengthAttack.h"
00016 #include "AAGKeyGeneration.h"
00017 
00018 namespace AAGChallenge
00019 {
00020   
00021   //
00022   // RETURNS GENERATORS of Dp obtained from generators of two free factors in genComp
00023   //                    and relators in Prelts. 
00024   //
00025   vector<Word> getDpSubgroup( int N, int Pgens, 
00026                               const vector<Word>& Prelts, 
00027                               const pair< vector<Word>, vector<Word> >& genComps, int conjLen );
00028   
00029   //
00030   //
00031   // RETURNS i'th delta obtained from tubes of size c
00032   //
00033   //
00034   Word getDelta( int i,int c );
00035   
00036   //
00037   //
00038   //  CREATES GENERATORS of the free factors
00039   //
00040   //
00041   pair< vector<Word>,vector<Word> >  getSgGenComponentsRandom( int Pgens, int c, int k, int len );
00042   pair< vector<Word>,vector<Word> >  getSgGenComponentsSquares( int Pgens, int c, int k );
00043 
00044   
00045   //
00046   //
00047   //  GENERATES a random word from the subgroup sg in 
00048   //            in generators of Bn
00049   //
00050   //
00051   Word randomSubgroupWord( int N,const vector<Word>& sg );
00052   
00053   //
00054   //
00055   //  GENERATES word Wn
00056   //
00057   //
00058   Word specialSubgroupWord( const Word& a, const Word& t, int n );
00059   Word specialSubgroupWordRandom( const Word& a, const Word& t, int len );
00060 
00061   
00062   //---------------------------------------------------------------------------//
00063   //---------------------------------- generateSubgroup -----------------------//
00064   //---------------------------------------------------------------------------//
00065   
00066   vector<Word> generateSubgroup( int c, int k, int comp_len  );
00067   
00068   Word generateKeyDecomp(  int n );
00069 
00070 }
00071 
00072 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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