亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aes.cpp

?? AES密碼算法的程序實現
?? CPP
字號:
/*
*This program is about the AES algorithm.
*Author : Ting 
*E-mail:kilvdn@yahoo.com.cn	
*Addr: China University of Geosciences ( WuHan )
*/


#include <stdio.h>
#include <stdlib.h>

int sub[16],key[16];

int S_BOX[256]={  //S盒表  
    99 ,124,119,123,242,107,111,194,48 ,1  ,103,43 ,254,215,171,118,
		202,130,201,125,250,89 ,71 ,240,173,212,162,175,156,164,114,192,
		183,253,147,38 ,54 ,63 ,247,204,52 ,165,229,241,113,216,49 ,21 ,
		4  ,199,35 ,195,24 ,150,5  ,154,7  ,19 ,128,226,235,39 ,178,117,
		9  ,131,44 ,26 ,27 ,110,90 ,160,82 ,59 ,214,179,41 ,227,47 ,132,
		83 ,209,0  ,237,32 ,252,177,91 ,106,203,190,57 ,74 ,76 ,88 ,207,
		208,239,170,251,67 ,77 ,51 ,133,69 ,249,2  ,127,80 ,60 ,159,168,
		81 ,163,64 ,143,146,157,56 ,245,188,182,218,33 ,16 ,255,243,210,
		205,12 ,19 ,236,95 ,151,68 ,23 ,196,167,126,61 ,100,93 ,25 ,115,
		96 ,129,79 ,220,34 ,42 ,144,136,70 ,238,184,20 ,222,94 ,11 ,219,
		224,50 ,58 ,10 ,73 ,6  ,36 ,92 ,194,211,172,98 ,145,149,228,121,
		231,200,55 ,109,141,213,78 ,169,108,86 ,244,234,101,122,174,8  ,
		186,120,37 ,46 ,28 ,166,180,198,232,221,116,31 ,75 ,189,139,138,
		112,62 ,181,102,72 ,3  ,246,14 ,97 ,53 ,87 ,185,134,193,29 ,158,
		225,248,152,17 ,105,217,142,148,155,30 ,135,233,206,85 ,40 ,223,
		140,161,137,13 ,191,230,66 ,104,65 ,153,45 ,15 ,176,84 ,187,22
}; 

int InS_BOX[256]={  //逆S盒表 
    82 ,9  ,106,213,48 ,54 ,165,56 ,191,64 ,163,158,129,243,215,251,
		124,227,57 ,130,155,47 ,255,135,52 ,142,67 ,68 ,196,222,233,203,
		84 ,123,148,50 ,166,194,35 ,61 ,238,76 ,149,11 ,66 ,250,195,78 ,
		8  ,46 ,161,102,40 ,217,36 ,178,118,91 ,162,73 ,109,139,209,37 ,
		114,248,246,100,134,104,152,22 ,212,164,92 ,204,93 ,101,182,146,
		108,112,72 ,80 ,253,237,185,218,94 ,21 ,70 ,87 ,167,141,157,132,
		144,216,171,0  ,140,188,211,10 ,247,228,88 ,5  ,184,179,69 ,6  ,
		208,44 ,30 ,143,202,63 ,15 ,2  ,193,175,189,3  ,1  ,19 ,138,107,
		58 ,145,17 ,65 ,79 ,103,220,234,151,242,207,206,240,180,230,115,
		150,172,116,34 ,231,173,53 ,133,226,249,55 ,232,28 ,117,223,110,
		71 ,241,26 ,113,29 ,41 ,197,137,111,183,98 ,14 ,170,24 ,190,27 ,
		252,86 ,62 ,75 ,198,210,121,32 ,154,219,192,254,120,205,90 ,244,
		31 ,221,168,51 ,136,7  ,199,49 ,177,18 ,16 ,89 ,39 ,128,236,95 ,
		96 ,81 ,127,169,25 ,181,74 ,13 ,45 ,229,122,159,147,201,156,239,
		160,224,59 ,77 ,174,42 ,245,176,200,235,187,60 ,131,83 ,153,97 ,
		23 ,43 ,4  ,126,186,119,214,38 ,225,105,20 ,99 ,85 ,33 ,12 ,125     
} ;    

int Inlog_Table[256]={  //生成元為03的反對數表      
	1  ,3  ,5  ,15 ,17 ,51 ,85 ,255,26 ,46 ,114,150,161,248,19 ,53 ,
		95 ,225,56 ,72 ,216,115,149,164,247,2  ,6  ,10 ,30 ,34 ,102,170,
		229,52 ,92 ,228,55 ,89 ,235,38 ,106,190,217,112,144,171,230,49 ,
		83 ,245,4  ,12 ,20 ,60 ,68 ,204,79 ,209,104,184,211,110,178,205,
		76 ,212,103,169,224,59 ,77 ,215,98 ,166,241,8  ,24 ,40 ,120,136,
		131,158,185,208,107,189,220,127,129,152,179,206,73 ,219,118,154,
		181,196,87 ,249,16 ,48 ,80 ,240,11 ,29 ,39 ,105,187,214,97 ,163,
		254,25 ,43 ,125,135,146,173,236,47 ,113,147,174,233,32 ,96 ,160,
		251,22 ,58 ,78 ,210,109,183,194,93 ,231,50 ,86 ,250,21 ,63 ,65 ,
		195,97 ,226,61 ,71 ,201,64 ,192,91 ,237,44 ,116,156,191,218,117,
		159,186,213,100,172,239,42 ,126,130,157,188,223,122,142,137,128,
		155,182,193,88 ,232,35 ,101,175,234,37 ,111,177,200,67 ,197,84 ,
		252,31 ,33 ,99 ,165,244,7  ,9  ,27 ,45 ,119,153,176,203,70 ,202,
		69 ,207,74 ,222,121,139,134,145,168,227,62 ,66 ,198,81 ,243,14 ,
		18 ,54 ,90 ,238,41 ,123,141,140,143,138,133,148,167,242,13 ,23 ,
		57 ,75 ,221,124,132,151,162,253,28 ,36 ,108,180,199,82 ,246,1
};

int Log_Table[256]={  //生成元為03的對數表 
	0  ,0  ,25 ,1  ,50 ,2  ,26 ,198,75 ,199,27 ,104,51 ,238,223,3  ,
		100,4  ,224,14 ,52 ,141,129,239,76 ,113,8  ,200,248,105,28 ,193,
		125,194,29 ,181,249,185,39 ,106,77 ,228,166,114,154,201,9  ,120,
		101,47 ,138,5  ,33 ,15 ,225,36 ,18 ,240,130,69 ,53 ,147,218,142,
		150,143,219,189,54 ,208,206,148,19 ,92 ,210,241,64 ,70 ,131,56 ,
		102,221,253,48 ,191,6  ,139,98 ,179,37 ,226,152,34 ,136,145,16 ,
		126,110,72 ,195,163,182,30 ,66 ,58 ,107,40 ,84 ,250,133,61 ,186,
		43 ,121,10 ,21 ,155,159,94 ,202,78 ,212,172,229,243,115,167,87 ,
		175,88 ,168,80 ,244,234,214,116,79 ,174,233,213,231,230,173,232,
		44 ,215,117,122,235,22 ,11 ,245,89 ,203,95 ,176,156,169,81 ,160,
		127,12 ,246,111,23 ,196,73 ,236,216,67 ,31 ,45 ,164,118,123,183,
		204,187,62 ,90 ,251,96 ,177,134,59 ,82 ,161,108,170,85 ,41 ,157,
		151,178,135,144,97 ,190,220,252,188,149,207,205,55 ,63 ,91 ,209,
		83 ,57 ,132,60 ,65 ,162,109,71 ,20 ,42 ,158,93 ,86 ,242,211,171,
		68 ,17 ,146,217,35 ,32 ,46 ,137,180,124,184,38 ,119,153,227,165,
		103,74 ,237,222,197,49 ,254,24 ,13 ,99 ,140,128,192,247,112,7
}; 
/**//*
	S盒變換SubByte,按照字節進行的代替變換。 
*/ 
void SubBytes(){
	int i ;
	for (i=0;i<16;i++)
		sub[i]=S_BOX[sub[i]];
	
}
/**//*
	行移位變換ShiftRow, 對狀態行的循環移位變換。在ShiftRow變換中, 狀態的后三行以
	不同的移位值循環右移。行0不移位, 行1移1字節,行2移2字節,行3移3字節。 
*/ 
void ShiftRows(){
	int temp , temp2 ; 
	temp=sub[4];
	sub[4]=sub[5] , sub[5]=sub[6] , sub[6]=sub[7] , sub[7]=temp;
	temp2=2;
	while (temp2--){
		temp=sub[8];
		sub[8]=sub[9] , sub[9]=sub[10] , sub[10]=sub[11] , sub[11]=temp;
	}
	temp2=3;
	while (temp2--){
		temp=sub[12];
		sub[12]=sub[13] , sub[13]=sub[14] , sub[14]=sub[15] , sub[15]=temp;
	}
}

/**//*
	列混淆變換MixColumn 
*/ 
void MixColumns(){
	int Mix[4][4]={25,1,0,0,0,25,1,0,0,0,25,1,1,0,0,25};
	/**//*
		矩陣Mix是矩陣{02,03,01,01,01,02,03,01,01,01,02,03,03,01,01,02} 生成元為03的
		對數 ,經查對數表得來。 
	*/ 
	for ( int i=0;i<4;i++){
		int a , b , c , d;
		a=sub[4*0+i];
		b=sub[4*1+i];
		c=sub[4*2+i];
		d=sub[4*3+i];
		for (int j=0;j<4;j++){
			sub[j*4+i]=Inlog_Table[(Log_Table[a]+Mix[j][0])%255];
			sub[j*4+i]^=Inlog_Table[(Log_Table[b]+Mix[j][1])%255];
			sub[j*4+i]^=Inlog_Table[(Log_Table[c]+Mix[j][2])%255];
			sub[j*4+i]^=Inlog_Table[(Log_Table[d]+Mix[j][3])%255];
		}
	}
}

void Key_Schedule();
/**//*
	圈密鑰加變換 
*/ 
void AddRoundKey(){
	for (int i=0;i<16;i++)
		sub[i]^=key[i];  
	Key_Schedule(); 
}

void Round(){
	SubBytes();
	ShiftRows();
	MixColumns();
	AddRoundKey(); 
}

void FinalRound(){
	SubBytes();
	ShiftRows();
	AddRoundKey(); 
}

/**//*
	Key Schedule 
*/
int rcon=1;
void Key_Schedule(){
	int tem[4];
	/**//*
		取出密鑰的最后一列,并移位 
	*/
	tem[0]=S_BOX[key[7]]; 
	tem[1]=S_BOX[key[11]];
	tem[2]=S_BOX[key[15]];
	tem[3]=S_BOX[key[3]];
	
	key[0]=(key[0]^tem[0]^rcon)%256;
	key[4]=key[4]^tem[1]%256;
	key[8]=key[8]^tem[2]%256;
	key[12]=key[12]^tem[3]%256;
	
	int i,j;
	for (i=0;i<4;i++)
		for (j=1;j<4;j++){
			key[i*4+j]^=key[i*4+j-1];
			key[i*4+j]%=256;
		} 
		rcon*=2; 
}

/**//**********************************************************************
	加密過程 
***********************************************************************/
void Encrypt(){
	AddRoundKey();    //首先是一個初始密鑰加 
	for (int i=0;i<9;i++)  //其次是九輪的圈變換 
		Round();
	FinalRound();    //最后一輪圈變換,跟前面的圈變換不同的是,
	//最后一輪沒有列混淆變換   
	printf("the cipher is:"); //輸出密文 
	for (int i=0;i<16;i++){
		if (i%4==0) printf(" ");  
		printf("%x ", sub[i]);
	}
	printf(" ");
}

int main(){
	int i ;
	// freopen("keysec.txt","w",stdout);
	for (i=0;i<16;i++)
		scanf("%x",sub+i);
	for (i=0;i<16;i++)
		scanf("%x",key+i);
	Encrypt();
	// system("pause:");
	return 0; 
} 
/**//*
	input:
	32 88 31 e0
	43 5a 31 37
	f6 30 98 07
	a8 8d a2 34
	
	  2b 28 ab 09
	  7e ae f7 cf 
	  15 d2 15 4f 
	  16 a6 88 3c
	  output:
	  the cipher is:
	  cf 4b f7 bb 
	  95 5f 73 5a 
	  23 2e ae 25 
	  7f 10 9c 42 
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区在线观看 | 99re热这里只有精品视频| 国产精品免费观看视频| 欧美另类久久久品| 成a人片亚洲日本久久| 青青国产91久久久久久 | 天天综合天天综合色| 国产亚洲欧美色| 7777精品伊人久久久大香线蕉经典版下载| 韩国v欧美v亚洲v日本v| 亚洲一本大道在线| 国产精品卡一卡二卡三| 日韩视频免费观看高清完整版 | 精品国产欧美一区二区| 欧美性xxxxx极品少妇| 国产成人av一区| 综合激情成人伊人| 国产亚洲一区二区三区四区 | 日韩一区二区三区精品视频 | 99久久婷婷国产精品综合| 毛片av一区二区| 午夜在线电影亚洲一区| 亚洲三级电影全部在线观看高清| 国产清纯白嫩初高生在线观看91| 日韩欧美国产系列| 51精品视频一区二区三区| 欧美亚洲国产一区二区三区va| 成人sese在线| 国产成人自拍高清视频在线免费播放| 人妖欧美一区二区| 三级久久三级久久久| 亚洲亚洲人成综合网络| 一区二区三区在线观看国产| 中文字幕一区二区三区四区| 国产精品免费免费| 国产精品乱码一区二三区小蝌蚪| 久久综合九色综合欧美就去吻| 日韩色在线观看| 欧美一区二区在线不卡| 91麻豆精品国产91久久久久久 | 4438x成人网最大色成网站| 欧美亚洲国产一区二区三区| 欧洲一区二区三区在线| 色狠狠综合天天综合综合| 91女人视频在线观看| 99国产精品久久久久| 色综合久久中文字幕综合网| 欧美在线观看一二区| 欧美三级在线看| 91精品婷婷国产综合久久性色 | 久久99国产精品尤物| 久久99精品国产麻豆婷婷洗澡| 精品一区在线看| 国产成人在线视频网址| 99亚偷拍自图区亚洲| 色综合久久88色综合天天| 在线一区二区三区做爰视频网站| 在线看国产一区| 日韩一级大片在线| 久久精品一区二区| 一区视频在线播放| 亚洲一区二区欧美| 免费在线视频一区| 国产精品69毛片高清亚洲| 91色视频在线| 欧美精品三级日韩久久| 久久亚洲一区二区三区四区| 国产精品久久久久影院色老大| 一区2区3区在线看| 久热成人在线视频| www.日韩大片| 欧美精品欧美精品系列| 久久综合九色综合97婷婷| 综合久久久久久| 日本伊人精品一区二区三区观看方式| 国产一区啦啦啦在线观看| 91免费小视频| 日韩免费看网站| 亚洲精品国产精华液| 美女免费视频一区| 色综合久久天天| 日韩欧美电影一二三| 国产精品狼人久久影院观看方式| 午夜影视日本亚洲欧洲精品| 国产成人午夜精品影院观看视频| 色女孩综合影院| 欧美精品一区二区久久久| 亚洲免费观看高清| 久久福利资源站| 欧美午夜影院一区| 国产日韩影视精品| 麻豆精品一区二区| 色婷婷综合在线| 久久精品人人做人人爽97| 亚洲成人av电影| 成人国产一区二区三区精品| 精品少妇一区二区三区在线视频| 一区二区三区四区在线免费观看| 国产乱人伦偷精品视频不卡 | 国产精品视频在线看| 日韩国产在线观看| 色婷婷久久久久swag精品| 国产校园另类小说区| 蜜桃91丨九色丨蝌蚪91桃色| 色屁屁一区二区| 国产精品久久毛片a| 国产一区二区h| 欧美一区二区网站| 亚洲成人免费视| 色综合天天天天做夜夜夜夜做| 国产亚洲福利社区一区| 久久99精品久久久久久| 91麻豆精品91久久久久久清纯| 亚洲美女在线国产| 成人动漫在线一区| 国产亚洲一本大道中文在线| 久久99日本精品| 欧美一区二区在线视频| 午夜不卡在线视频| 欧美中文字幕一区| 亚洲免费观看在线视频| 91香蕉视频mp4| 国产精品麻豆视频| 成人精品国产一区二区4080| 欧美国产一区视频在线观看| 国产精品综合av一区二区国产馆| 日韩精品一区二区三区老鸭窝| 丝袜美腿一区二区三区| 欧美日韩亚洲丝袜制服| 亚洲va韩国va欧美va精品| 色www精品视频在线观看| 亚洲精品成人少妇| 欧美在线观看视频在线| 亚洲国产综合人成综合网站| 日本高清不卡aⅴ免费网站| 一区二区三区四区激情| 91福利国产精品| 亚洲国产精品欧美一二99| 欧美日韩三级在线| 午夜精品福利一区二区三区av | 精品国产一区二区精华| 久久精品国产亚洲高清剧情介绍| 日韩视频免费观看高清在线视频| 强制捆绑调教一区二区| 亚洲精品在线观看网站| 国产成a人无v码亚洲福利| 国产精品色眯眯| 色网站国产精品| 日韩国产精品久久久| 日韩精品一区二区三区四区| 国产乱对白刺激视频不卡| 国产精品第13页| 在线中文字幕不卡| 免费av网站大全久久| 精品国产91久久久久久久妲己| 激情综合网激情| 国产精品久久久久久久久免费樱桃| 成人的网站免费观看| 一区二区国产视频| 日韩欧美国产综合| 国产白丝精品91爽爽久久| 一区二区三区日韩精品视频| 777奇米成人网| 国产黑丝在线一区二区三区| 亚洲色图视频网| 91麻豆精品国产自产在线| 国产一本一道久久香蕉| 一区二区三区中文字幕精品精品 | 在线播放亚洲一区| 国产乱码字幕精品高清av | 一级做a爱片久久| 91麻豆精品国产91久久久更新时间| 国内成人精品2018免费看| 一区视频在线播放| 日韩三级精品电影久久久| 成人午夜在线免费| 午夜国产精品一区| 国产精品久久久一本精品| 制服丝袜亚洲播放| 99久久精品国产观看| 亚洲va中文字幕| 国产精品美女视频| 欧美一级xxx| 99久久99久久精品国产片果冻| 亚洲成国产人片在线观看| 国产欧美综合在线观看第十页| 欧美在线免费观看视频| 高清视频一区二区| 免费成人在线观看| 亚洲乱码国产乱码精品精可以看| 日韩视频一区在线观看| 在线免费观看日韩欧美| 国产成人精品亚洲午夜麻豆| 天堂久久一区二区三区| 中文字幕精品—区二区四季| 日韩欧美综合一区| 色88888久久久久久影院野外| 国产又粗又猛又爽又黄91精品| 亚洲国产精品欧美一二99 | 久久激五月天综合精品|