Public feed #528287

Untitled

public text v1 · immutable
Raw Edit
·published 2007-06-01 14:21 UTC
rendered paste body
#include "MyTargetCipher.h"

BYTE TargetLookUpTable1[961]={

        11, 9,20,18,23,22,12,19, 2,28, 4,17,30,25, 7,27,16,13, 5,15, 6, 8,26,29, 3,24,14, 1,21, 0,10,
         9,13, 5, 6,15,30,26,29,18,25,19,28,14, 8,23,11,16,21,12, 0,22, 3,10,27,20, 2, 4,17,24, 1, 7,
        20, 5,19,23,21, 0,27,25, 7,22,28, 6, 1,30,13, 3,16,12,29,24,15,14,11, 8, 4,10,17,18,26, 2, 9,
        18, 6,23,19,25,27, 0,21, 4,12,13, 5,11,26,28, 2,16,22,15, 8,29,10, 1,24, 7,14, 9,20,30, 3,17,
        23,15,21,25,30, 3, 2,26,28,27,12,29,20,11,22, 7,16, 0,24,14, 8, 9,18,10,13,17, 5,19, 1, 4, 6,
        22,30, 0,27, 3, 9,17, 2,29,10,24,26,13, 7, 8, 6,16,14, 1,20,11,23,28,18,15,19,21,12, 4, 5,25,
        12,26,27, 0, 2,17, 9, 3,15,14, 8,30,28, 4,24, 5,16,10,11,18, 1,19,13,20,29,23,25,22, 7, 6,21,
        19,29,25,21,26, 2, 3,30,13, 0,22,15,18, 1,12, 4,16,27, 8,10,24,17,20,14,28, 9, 6,23,11, 7, 5,
         2,18, 7, 4,28,29,15,13,14, 5, 9,20,27,12,17,24,16, 6,23,25,19,26, 0,21,10,30,11, 3,22, 8, 1,
        28,25,22,12,27,10,14, 0, 5,24,15,21, 7, 2,29,17,16, 8,30,11,26,18, 4, 1, 6,20,23,13, 3, 9,19,
         4,19,28,13,12,24, 8,22, 9,15, 6,23, 2, 0, 5,14,16,29,25,26,21, 1, 3,30,17,11,18, 7,27,10,20,
        17,28, 6, 5,29,26,30,15,20,21,23,13,10,24,19, 1,16,25,22,27,12, 2,14, 0,18, 3, 7, 9, 8,11, 4,
        30,14, 1,11,20,13,28,18,27, 7, 2,10,21,23, 3,22,16, 4,17, 5, 9,15,25, 6, 0,29,24,26,19,12, 8,
        25, 8,30,26,11, 7, 4, 1,12, 2, 0,24,23,18,27,28,16, 3,14, 9,10, 6,19,17,22, 5,15,21,20,13,29,
         7,23,13,28,22, 8,24,12,17,29, 5,19, 3,27, 6,10,16,15,21,30,25,11, 2,26, 9, 1,20, 4, 0,14,18,
        27,11, 3, 2, 7, 6, 5, 4,24,17,14, 1,22,28,10,29,16, 9,20,23,18,25,12,19, 8,21,30, 0,13,15,26,
        16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
        13,21,12,22, 0,14,10,27, 6, 8,29,25, 4, 3,15, 9,16,24,26, 1,30,20, 7,11, 5,18,19,28, 2,17,23,
         5,12,29,15,24, 1,11, 8,23,30,25,22,17,14,21,20,16,26,27, 2, 0, 4, 9, 3,19, 7,28, 6,10,18,13,
        15, 0,24, 8,14,20,18,10,25,11,26,27, 5, 9,30,23,16, 1, 2, 4, 3,13, 6, 7,21,28,12,29,17,19,22,
         6,22,15,29, 8,11, 1,24,19,26,21,12, 9,10,25,18,16,30, 0, 3,27, 7,17, 2,23, 4,13, 5,14,20,28,
         8, 3,14,10, 9,23,19,17,26,18, 1, 2,15, 6,11,25,16,20, 4,13, 7,22,29,28,30,12, 0,24, 5,21,27,
        26,10,11, 1,18,28,13,20, 0, 4, 3,14,25,19, 2,12,16, 7, 9, 6,17,29,21, 5,27,15, 8,30,23,22,24,
        29,27, 8,24,10,18,20,14,21, 1,30, 0, 6,17,26,19,16,11, 3, 7, 2,28, 5, 4,25,13,22,15, 9,23,12,
         3,20, 4, 7,13,15,29,28,10, 6,17,18, 0,22, 9, 8,16, 5,19,21,23,30,27,25,14,26, 1, 2,12,24,11,
        24, 2,10,14,17,19,23, 9,30,20,11, 3,29, 5, 1,21,16,18, 7,28, 4,12,15,13,26,22,27, 8, 6,25, 0,
        14, 4,17, 9, 5,21,25, 6,11,23,18, 7,24,15,20,30,16,19,28,12,13, 0, 8,22, 1,27, 2,10,29,26, 3,
         1,17,18,20,19,12,22,23, 3,13, 7, 9,26,21, 4, 0,16,28, 6,29, 5,24,30,15, 2, 8,10,11,25,27,14,
        21,24,26,30, 1, 4, 7,11,22, 3,27, 8,19,20, 0,13,16, 2,10,17,14, 5,23, 9,12, 6,29,25,18,28,15,
         0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
        10, 7, 9,17, 6,25,21, 5, 1,19,20, 4, 8,29,18,26,16,23,13,22,28,27,24,12,11, 0, 3,14,15,30, 2 };
        
        
BYTE TargetLookUpTable2[961]={

         7,20,29, 1,27, 4,12, 6,30,19,13, 2,26,28,23, 3, 0,25,11,10,21, 9, 5,17,15,18,24,16,14, 8,22,
        20,23, 0,14,15,24, 9,21, 6,18, 2,16,19,29,30,28, 1, 5,27,11,17,25,26,22,13, 4,10, 3, 8, 7,12,
        29, 0,13,16,18,25,30, 8,14,12,24,10,22,15, 1,27, 2,21,19,26, 7, 6,17,20, 4, 9, 5,11, 3,28,23,
         1,14,16,28,24,26,21,20, 7,25,11,27, 9, 2, 8,13, 3,22, 4,18,23,17,12,30,10, 5,19,15,29, 0, 6,
        27,15,18,24,22,30, 0,16, 2,20, 9,25, 7,19,13,26, 4,14,17,21, 3, 1, 8,28,12,23, 6, 5,10,11,29,
         4,24,25,26,30, 8,16,27,11, 1,21,17, 0, 9,10,12, 5,28,23,20,15, 3,29,13, 6,14, 7,22,19,18, 2,
        12, 9,30,21, 0,16,24,26, 5,13,14, 8,15,23,25,20, 6,11,29,28,19,10,27,18, 1, 2, 3, 7,17,22, 4,
         6,21, 8,20,16,27,26,12,22,10,28,29,24,14,17, 1, 7,18, 2,13, 9,19, 4,25, 3,11,15, 0,23,30, 5,
        30, 6,14, 7, 2,11, 5,22,17,24, 3,28, 4, 1,21, 0, 8,19,13,15,12,26,18, 9,16,10,27,29,20,23,25,
        19,18,12,25,20, 1,13,10,24,29,30, 6,28,22, 4,17, 9,16, 7, 8,11, 2, 3,27,23, 0,14,21, 5,26,15,
        13, 2,24,11, 9,21,14,28, 3,30, 5,26,23, 4,16,18,10, 7,12,22,29, 8,20, 0,25, 6,17,19,27,15, 1,
         2,16,10,27,25,17, 8,29,28, 6,26,19,30,24, 3, 4,11,20, 9,12, 0, 7,23, 1, 5,21,22,18,15,13,14,
        26,19,22, 9, 7, 0,15,24, 4,28,23,30, 3,17,18,21,12, 2, 8,14,10,13,16,11,20,29, 1, 6,25, 5,27,
        28,29,15, 2,19, 9,23,14, 1,22, 4,24,17,27, 0,11,13, 6,26, 5, 8,30,21, 7,18,12,25,10,16, 3,20,
        23,30, 1, 8,13,10,25,17,21, 4,16, 3,18, 0, 6,29,14,26,15,27,22, 5,19,12, 2,24,11,28, 7,20, 9,
         3,28,27,13,26,12,20, 1, 0,17,18, 4,21,11,29,10,15,30, 5,25,14,23, 6, 8,19,22, 9,24, 2,16, 7,
         0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
        25, 5,21,22,14,28,11,18,19,16, 7,20, 2, 6,26,30,17,15, 1, 0, 4,27,13,24, 8, 3,29,23,12, 9,10,
        11,27,19, 4,17,23,29, 2,13, 7,12, 9, 8,26,15, 5,18, 1,21, 6,16, 0,14, 3,22,20,30,25,24,10,28,
        10,11,26,18,21,20,28,13,15, 8,22,12,14, 5,27,25,19, 0, 6,30, 2,29, 1,16,17, 7,23, 9, 4,24, 3,
        21,17, 7,23, 3,15,19, 9,12,11,29, 0,10, 8,22,14,20, 4,16, 2,25,18,24, 5,28,27,13, 1,30, 6,26,
         9,25, 6,17, 1, 3,10,19,26, 2, 8, 7,13,30, 5,23,21,27, 0,29,18,11,15, 4,14,16,28,20,22,12,24,
         5,26,17,12, 8,29,27, 4,18, 3,20,23,16,21,19, 6,22,13,14, 1,24,15, 2,10, 7,28, 0,30, 9,25,11,
        17,22,20,30,28,13,18,25, 9,27, 0, 1,11, 7,12, 8,23,24, 3,16, 5, 4,10,26,29,15, 2,14, 6,21,19,
        15,13, 4,10,12, 6, 1, 3,16,23,25, 5,20,18, 2,19,24, 8,22,17,28,14, 7,29, 9,30,21,26,11,27, 0,
        18, 4, 9, 5,23,14, 2,11,10, 0, 6,21,29,12,24,22,25, 3,20, 7,27,16,28,15,30, 1, 8,17,26,19,13,
        24,10, 5,19, 6, 7, 3,15,27,14,17,22, 1,25,11, 9,26,29,30,23,13,28, 0, 2,21, 8,20,12,18, 4,16,
        16, 3,11,15, 5,22, 7, 0,29,21,19,18, 6,10,28,24,27,23,25, 9, 1,20,30,14,26,17,12, 4,13, 2, 8,
        14, 8, 3,29,10,19,17,23,20, 5,27,15,25,16, 7, 2,28,12,24, 4,30,22, 9, 6,11,26,18,13, 0, 1,21,
         8, 7,28, 0,11,18,22,30,23,26,15,13, 5, 3,20,16,29, 9,10,24, 6,12,25,21,27,19, 4, 2, 1,14,17,
        22,12,23, 6,29, 2, 4, 5,25,15, 1,14,27,20, 9, 7,30,10,28, 3,26,24,11,19, 0,13,16, 8,21,17,18 };
        

BYTE MyTargetGetLookUp1(BYTE x,BYTE y)
{
	return TargetLookUpTable1[x+y*31];
}

BYTE MyTargetGetLookUp2(BYTE x,BYTE y)
{
	return TargetLookUpTable2[x+y*31];
}

void MyTargetCipher(BYTE *Key,BYTE *Input,BYTE *Output)
{
	int InputIndex;
	int OutputIndex;

	BYTE Result;
	BYTE LastResult;

	for(OutputIndex=0;OutputIndex<8;OutputIndex++)
	{
		InputIndex=0;
		for(InputIndex=0;InputIndex<8;InputIndex++)
		{
			Result=MyTargetGetLookUp1(Input[InputIndex],Key[InputIndex]);  
			LastResult=Result;

			if(InputIndex>0)
			{
				Result=MyTargetGetLookUp2(Output[OutputIndex],Result);  
			}
			Output[OutputIndex]=Result;
		} 
		Key=Key+8;
	}
}