Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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");
}