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

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

?? aes.cpp

?? AES加密算法vC++實現類源碼 hello 1243435
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	return InitAES(new AES(),inSize,key,keySize,type);
}
/*
*/
void CipherLoop(AES *aes)
{
	unsigned char temp[4];
	unsigned long *word8 = aes->Word,
				  *State = aes->State;

	int		Nb		= aes->Nb,
			Nr		= aes->Nr;

	int r;
	for (r = 0; r < Nb; ++r)
    {
		State[r] ^= word8[r];
    }
	for (int round =1; round <Nr; ++round)
	{
		word8 += Nb;
		/*
		假設Nb=4;
		---------------------
		| s0 | s1 | s2 | s3 |
		---------------------
		| s4 | s5 | s6 | s7 |
		---------------------
		| s8 | s9 | sa | sb |
		---------------------
		| sc | sd | se | sf |
		---------------------
		|    |    |    |    |
		---------------------
		|    |    |    |    |
		---------------------
		|    |    |    |    |
		---------------------
		*/
		memcpy(State+Nb,State,12);
		/*
		Nb=4;
		---------------------
		| s0 |    |    |    | 
		---------------------
		| s4 | s5 |    |    | 
		--------------------- 
		| s8 | s9 | sa |    | 
		---------------------
		| sc | sd | se | sf | 
		---------------------
		|    | s1 | s2 | s3 | 
		--------------------- 
		|    |    | s6 | s7 | 
		---------------------
		|    |    |    | sb |
		---------------------
		*/
		for(r =0; r<Nb; r++)
		{
			/*
			temp = {Sbox[s0],Sbox[s5],Sbox[sa],Sbox[sf]};
			*/
			temp[0] = Sbox[*((unsigned char*)State)];
			temp[1] = Sbox[*((unsigned char*)(State+1)+1)];
			temp[2] = Sbox[*((unsigned char*)(State+2)+2)];
			temp[3] = Sbox[*((unsigned char*)(State+3)+3)];

			*((unsigned char*)State)	= (unsigned char)(Log_02[temp[0]] ^ Log_03[temp[1]] ^ temp[2] ^ temp[3]);
			*((unsigned char*)State+1)	= (unsigned char)(Log_02[temp[1]] ^ Log_03[temp[2]] ^ temp[3] ^ temp[0]);
			*((unsigned char*)State+2)	= (unsigned char)(Log_02[temp[2]] ^ Log_03[temp[3]] ^ temp[0] ^ temp[1]);
			*((unsigned char*)State+3)	= (unsigned char)(Log_02[temp[3]] ^ Log_03[temp[0]] ^ temp[1] ^ temp[2]);
			
			*State ^= word8[r];
			State++;
		}
		State -= Nb;
	}
	
	memcpy(State+Nb,State,12);

	word8 += Nb;
	for(r =0; r<Nb; r++)
	{
		*((unsigned char*)State)   = Sbox[*(unsigned char*)State];
		*((unsigned char*)State+1) = Sbox[*((unsigned char*)(State+1)+1)];
		*((unsigned char*)State+2) = Sbox[*((unsigned char*)(State+2)+2)];
		*((unsigned char*)State+3) = Sbox[*((unsigned char*)(State+3)+3)];

		*State ^= word8[r];
		State++;
	}
}
/*
解密時進行Nr輪逆運算
AES * aes	運行時參數
*/
void InvCipherLoop(AES *aes)
{
	unsigned long *Word = aes->Word,
				  *State = aes->State;

	int		Nb		= aes->Nb,
			Nr		= aes->Nr;

	unsigned char temp[4];

	int r =0;
	Word += Nb*Nr;
	for (r = 0; r < Nb; ++r)
    {
		State[r] ^= Word[r];
    }

	State -= 3;

	for (int round = Nr-1; round > 0; --round)
	{
		/*
		假設Nb=4;
		--------------------- 
		|    |    |    |    | 
		--------------------- 
		|    |    |    |    | 
		--------------------- 
		|    |    |    |    | 
		--------------------- 
		| s0 | s1 | s2 | s3 | 
		--------------------- 
		| s4 | s5 | s6 | s7 |  
		---------------------  
		| s8 | s9 | sa | sb | 
		--------------------- 
		| sc | sd | se | sf | 
		--------------------- 
		*/
		memcpy(State,State+Nb,12);
		/*
		Nb=4;
		---------------------
		|    |    |    | s7 |
		---------------------
		|    |    | sa | sb |
		--------------------- 
		|    | sd | se | sf |
		---------------------
		| s0 | s1 | s2 | s3 |
		---------------------
		| s4 | s5 | s6 |    | 
		--------------------- 
		| s8 | s9 |    |    |
		---------------------
		| sc |    |    |    |
		---------------------
		*/

		Word -= Nb;
		State += Nb+2;

		for(r = Nb-1; r >= 0; r--)
		{
			/*
			temp = {iSbox[s0],iSbox[sd],iSbox[sa],iSbox[s7]};
			*/
			temp[0] = iSbox[*(unsigned char*)State];
			temp[1] = iSbox[*((unsigned char*)(State-1)+1)];
			temp[2] = iSbox[*((unsigned char*)(State-2)+2)];
			temp[3] = iSbox[*((unsigned char*)(State-3)+3)];

			*(unsigned long*)temp ^= Word[r];

			*(unsigned char*)State	   = (unsigned char)(Log_0e[temp[0]] ^ Log_0b[temp[1]] ^ Log_0d[temp[2]] ^ Log_09[temp[3]]);
			*((unsigned char*)State+1) = (unsigned char)(Log_0e[temp[1]] ^ Log_0b[temp[2]] ^ Log_0d[temp[3]] ^ Log_09[temp[0]]);
			*((unsigned char*)State+2) = (unsigned char)(Log_0e[temp[2]] ^ Log_0b[temp[3]] ^ Log_0d[temp[0]] ^ Log_09[temp[1]]);
			*((unsigned char*)State+3) = (unsigned char)(Log_0e[temp[3]] ^ Log_0b[temp[0]] ^ Log_0d[temp[1]] ^ Log_09[temp[2]]);

			State --;
		}
		State -= 2;
	}

	Word -= Nb;
	memcpy(State,State+Nb,12);

	State += Nb+2;
	for(r = Nb-1; r >= 0; r--)
	{

		*(unsigned char*)State	   = iSbox[*(unsigned char*)State];
		*((unsigned char*)State+1) = iSbox[*((unsigned char*)(State-1)+1)];
		*((unsigned char*)State+2) = iSbox[*((unsigned char*)(State-2)+2)];
		*((unsigned char*)State+3) = iSbox[*((unsigned char*)(State-3)+3)];
			
		*State ^= Word[r];
		State --;
	}
}
/*
*--------------------------------------------
*|k0|k1|k2|k3|k4|k5|k6|k7|k8|k9|.......|Nk*4|
*--------------------------------------------
*Nr輪密鑰庫
*每個密鑰列長度為Nb
*---------------------
*| k0 | k1 | k2 | k3 |
*---------------------
*| k4 | k5 | k6	| k7 |
*---------------------
*| k8 | k9 | ka	| kb |
*---------------------
*| kc |	kd | ke	| kf |
*---------------------
*/
unsigned long* keyExpansion(unsigned char* key, int Nb, int Nr, int Nk)
{
	unsigned long *w =new unsigned long[Nb * (Nr+1)];  // 4 columns of bytes corresponds to a word
  
	memcpy(w,key,Nk<<2);
	unsigned long temp;
	
    for (int c = Nk; c < Nb * (Nr+1); ++c)
    {
		//把上一輪的最后一行放入temp
		temp = w[c-1];
		//判斷是不是每一輪密鑰的第一行
		if (c % Nk == 0)  
		{
			//左旋8位
			temp = (temp<<8)|(temp>>24);
			//查Sbox表
			SubWord((unsigned char*)&temp);
			temp ^= Rcon[c/Nk];
		}
		else if ( Nk > 6 && (c % Nk == 4) )  
		{
			SubWord((unsigned char*)&temp);
		}
		//w[c-Nk] 為上一輪密鑰的第一行
        w[c] = w[c-Nk] ^ temp;
	}
	return w;
}

unsigned char* SubWord(unsigned char* word)
{
    word[0] = Sbox[ word[0] ];
    word[1] = Sbox[ word[1] ];
    word[2] = Sbox[ word[2] ];
    word[3] = Sbox[ word[3] ];
    return word;
}
/*
釋放AES結構和State和密鑰庫word
*/
void freeAES(AES *aes)
{
//	for(int i=0;i<aes->Nb;i++)
//	{
//		printf("%d\n",i);
//		free(aes->State[i]);
//		free(aes->Word[i]);
//	}
//	printf("sdffd");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久热成人在线视频| 91精品国产乱| 91精品国产综合久久香蕉的特点| 日韩免费一区二区三区在线播放| 亚洲情趣在线观看| 精品影视av免费| 欧美亚洲一区二区三区四区| 国产精品久久久久三级| 久久99国产精品免费网站| 欧美在线三级电影| 亚洲欧洲精品成人久久奇米网 | 欧美高清视频一二三区 | 91精品黄色片免费大全| 亚洲视频在线观看三级| 国产精品1区2区| 精品少妇一区二区三区| 日韩黄色小视频| 欧美日韩一级二级三级| 亚洲黄色录像片| 日本高清免费不卡视频| 国产精品乱码一区二区三区软件 | 在线视频一区二区三区| 日本一区二区成人在线| 久久99久久久久久久久久久| 欧美精选在线播放| 亚洲国产成人va在线观看天堂| av在线播放不卡| 国产精品久久久久久久久久久免费看 | 国产精品18久久久| 精品国产一区二区三区av性色| 无码av免费一区二区三区试看 | 国产亚洲精品久| 激情小说欧美图片| 久久麻豆一区二区| 国产不卡视频一区| 国产婷婷色一区二区三区 | 欧美bbbbb| 2021国产精品久久精品| 韩国成人精品a∨在线观看| 欧美大尺度电影在线| 久久精品国产免费| 久久久久久亚洲综合| 国产不卡免费视频| 1024国产精品| 欧美日韩国产区一| 另类小说欧美激情| 久久精品欧美日韩精品| 99久久综合精品| 亚洲一区免费视频| 日韩一区二区免费电影| 国产一区二区三区四| 中文字幕一区日韩精品欧美| 欧美色涩在线第一页| 日本不卡123| 国产日韩欧美综合一区| 91免费看视频| 日本在线不卡视频一二三区| 久久一夜天堂av一区二区三区| 欧美视频一区二| 免费欧美高清视频| 国产精品不卡视频| 欧美蜜桃一区二区三区| 极品少妇xxxx精品少妇| 国产精品麻豆久久久| 欧美精品tushy高清| 国产成人aaa| 性欧美大战久久久久久久久| 久久综合色8888| 一本久久精品一区二区| 精品一区二区三区影院在线午夜 | 欧美日韩专区在线| 国产美女精品在线| 一区二区激情小说| 欧美mv和日韩mv的网站| 在线影院国内精品| 处破女av一区二区| 视频一区二区欧美| 亚洲欧美日韩国产另类专区| 精品福利一二区| 欧美日韩精品一区二区天天拍小说| 国产精品99久久久久久似苏梦涵| 亚洲成人精品影院| 亚洲色图欧洲色图| 久久久久综合网| 日韩欧美国产综合| 欧美色中文字幕| 91视视频在线观看入口直接观看www | 蜜臀av一区二区| 一区二区日韩电影| 中文天堂在线一区| 26uuuu精品一区二区| 欧美高清一级片在线| 日本黄色一区二区| 成人动漫一区二区在线| 国产高清在线观看免费不卡| 免费观看在线色综合| 午夜av电影一区| 亚洲制服丝袜av| 亚洲精品视频免费观看| 欧美国产成人在线| 国产日韩欧美一区二区三区综合 | 麻豆国产欧美日韩综合精品二区| 一区二区三区国产精华| 国产精品久久久久一区| 国产精品丝袜91| 国产人伦精品一区二区| 久久久综合视频| 久久精品一区八戒影视| 久久精品视频网| 久久久精品日韩欧美| 日韩欧美电影在线| 欧美成人欧美edvon| 精品日韩一区二区| 精品国产乱码久久久久久图片| 日韩欧美你懂的| 精品久久久久香蕉网| 精品国产91乱码一区二区三区 | 91精品国产丝袜白色高跟鞋| 在线观看91精品国产麻豆| 欧美男女性生活在线直播观看| 欧美午夜宅男影院| 欧美久久久久久久久久| 日韩一级大片在线| 26uuu色噜噜精品一区| 国产亚洲欧洲997久久综合 | 一本色道亚洲精品aⅴ| 色视频欧美一区二区三区| 色屁屁一区二区| 91精品中文字幕一区二区三区| 欧美一二三区在线| 久久精品亚洲麻豆av一区二区| 国产喷白浆一区二区三区| 亚洲免费在线观看视频| 五月婷婷综合网| 国产一区 二区 三区一级| 成人免费高清视频| 欧美午夜不卡视频| 日韩精品中文字幕在线一区| 国产精品乱人伦| 午夜一区二区三区在线观看| 久久av资源网| 99re66热这里只有精品3直播 | 狠狠色丁香久久婷婷综| av电影天堂一区二区在线 | 日本人妖一区二区| 国产精品一二三在| 欧美亚洲禁片免费| 久久伊人中文字幕| 亚洲午夜一区二区| 国产精品18久久久久| 欧美性淫爽ww久久久久无| 精品国产成人系列| 亚洲黄色小说网站| 国产米奇在线777精品观看| av电影一区二区| 日韩欧美激情四射| 亚洲美女视频在线| 国产精品一区二区x88av| 欧美三日本三级三级在线播放| 精品国偷自产国产一区| 夜夜揉揉日日人人青青一国产精品| 麻豆国产精品777777在线| 91浏览器打开| 久久久久久久精| 国产91在线|亚洲| 欧美日韩小视频| 国产精品福利一区| 激情六月婷婷综合| 欧美日韩第一区日日骚| 国产精品福利一区二区| 狠狠色丁香婷婷综合| 欧美日韩激情一区二区三区| 亚洲三级在线免费| 国产酒店精品激情| 欧美成人欧美edvon| 午夜国产不卡在线观看视频| 91色.com| 亚洲色图视频网站| 岛国一区二区三区| 久久久99精品免费观看| 国产专区综合网| 欧美大片在线观看一区二区| 午夜精品福利久久久| 色婷婷久久综合| 国产精品久久久久aaaa樱花| 国产一区二区三区四区五区美女 | 91婷婷韩国欧美一区二区| 国产日韩欧美精品一区| 国产一区二三区| 日韩一区二区精品葵司在线| 日本视频在线一区| 日韩一区二区三区四区| 调教+趴+乳夹+国产+精品| 欧美视频在线播放| 午夜伊人狠狠久久| 欧美一区二区三区的| 美女视频第一区二区三区免费观看网站| 欧美日韩色一区| 亚洲成人免费视频| 欧美精品免费视频|