Beispiel #1
0
static void  SBOX(serpent_byte which, serpent_word32 array0[], serpent_word32 array1[], serpent_byte index)
{
	switch(which)
	{
		case 0: SBOX0(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 1: SBOX1(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 2: SBOX2(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 3: SBOX3(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 4: SBOX4(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 5: SBOX5(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 6: SBOX6(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
		case 7: SBOX7(array0[0], array0[1], array0[2], array0[3], array1[0+index], array1[1+index], array1[2+index], array1[3+index]); break;
	}
}
Beispiel #2
0
int
main ()
{
   Byte i;
   int index;
   char nombre[7];
   Byte y;

   for (index = 1; index <= MAX_SBOX_COUNT; index++) {
      sprintf(nombre,"S%d.tt",index);
      if((fichero[index] = fopen(nombre,"wt")) == NULL) {
         return 0;
      }
   }

   fprintf(fichero[1],"[[ ");

   for (i = 0; i < 255; i++) {

      y = SBOX1(i);
      binary(y,fichero[1]);
      init(fichero[1]);
   } 
   y = SBOX1(255);
   binary(y,fichero[1]);
   fprintf(fichero[1],"]]");
   cont = 0;
   fclose(fichero[1]);
   fprintf(fichero[2],"[[ ");

   for (i = 0; i < 255; i++) {

      y = SBOX2(i);
      binary(y,fichero[2]);
      init(fichero[2]);
   } 
   y = SBOX2(255);
   binary(y,fichero[2]);
   fprintf(fichero[2],"]]");
   cont = 0;
   fclose(fichero[2]);
   fprintf(fichero[3],"[[ ");

   for (i = 0; i < 255; i++) {

      y = SBOX3(i);
      binary(y,fichero[3]);
      init(fichero[3]);
   } 
   y = SBOX3(255);
   binary(y,fichero[3]);
   fprintf(fichero[3],"]]");
   cont = 0;
   fclose(fichero[3]);
   fprintf(fichero[4],"[[ ");

   for (i = 0; i < 255; i++) {

      y = SBOX4(i);
      binary(y,fichero[4]);
      init(fichero[4]);
   } 
   y = SBOX4(255);
   binary(y,fichero[4]);
   fprintf(fichero[4],"]]");
   cont = 0;
   fclose(fichero[4]);
}