void DES::mixer(int leftBlock[32],int rightBlock[32],int RoundKeys[16][64]) { copydata(32,rightBlock,T1); functn(T1,RoundKeys,T2); exclusiveOR(32,leftBlock,T2,T3); copydata(32,T3,rightBlock); }
void DES::functn(int T1[48],int RoundKeys[16][64],int T2[48]) { permute(32,48,inBlock,T1,expansionPermutationTable); for(p=0;p<48;++p) { roKey[p]=RoundKeys[round][p]; } exclusiveOR(48,T1,roKey,T2); substitute(T2,T3,substitutionTable); permute(32,32,T3,outBlock,straightPermutationTable); }
void invokeTestSuite(int option, char *streamFile) { fprintf(freqfp, "________________________________________________________________________________\n\n"); fprintf(freqfp, "\t\tFILE = %s\t\tALPHA = %6.4f\n", streamFile, ALPHA); fprintf(freqfp, "________________________________________________________________________________\n\n"); printf("________________________________________________________________________________\n\n"); printf("FILE = %s BITS = %i BITSTREAMS = %i ALPHA = %6.4f\n", streamFile, tp.n, tp.numOfBitStreams, ALPHA); printf("________________________________________________________________________________\n\n"); if ( option != 0 ) printf("Statistical Testing In Progress.........\n\n"); switch( option ) { case 0: fileBasedBitStreams(streamFile); break; case 1: lcg(); break; case 2: quadRes1(); break; case 3: quadRes2(); break; case 4: cubicRes(); break; case 5: exclusiveOR(); break; case 6: modExp(); break; case 7: bbs(); break; case 8: micali_schnorr(); break; case 9: SHA1(); break; /* INTRODUCE NEW PSEUDO RANDOM NUMBER GENERATORS HERE */ default: printf("Error in invokeTestSuite!\n"); break; } printf("Statistical Testing Complete!!!!!!!!!!!!\n\n"); }