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

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

?? aes.c

?? hostapd源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
#define TE443(i) (Te0[(i) & 0xff] & 0x0000ff00)#define TE414(i) ((Te0[((i) >> 24) & 0xff] >> 8) & 0x000000ff)#define TE4(i) ((Te0[(i)] >> 8) & 0x000000ff)#define TD0(i) Td0[((i) >> 24) & 0xff]#define TD1(i) rotr(Td0[((i) >> 16) & 0xff], 8)#define TD2(i) rotr(Td0[((i) >> 8) & 0xff], 16)#define TD3(i) rotr(Td0[(i) & 0xff], 24)#define TD41(i) (Td4s[((i) >> 24) & 0xff] << 24)#define TD42(i) (Td4s[((i) >> 16) & 0xff] << 16)#define TD43(i) (Td4s[((i) >> 8) & 0xff] << 8)#define TD44(i) (Td4s[(i) & 0xff])#define TD0_(i) Td0[(i) & 0xff]#define TD1_(i) rotr(Td0[(i) & 0xff], 8)#define TD2_(i) rotr(Td0[(i) & 0xff], 16)#define TD3_(i) rotr(Td0[(i) & 0xff], 24)#endif /* AES_SMALL_TABLES */#define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)#ifdef _MSC_VER#define GETU32(p) SWAP(*((u32 *)(p)))#define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }#else#define GETU32(pt) (((u32)(pt)[0] << 24) ^ ((u32)(pt)[1] << 16) ^ \((u32)(pt)[2] <<  8) ^ ((u32)(pt)[3]))#define PUTU32(ct, st) { \(ct)[0] = (u8)((st) >> 24); (ct)[1] = (u8)((st) >> 16); \(ct)[2] = (u8)((st) >>  8); (ct)[3] = (u8)(st); }#endif/** * Expand the cipher key into the encryption key schedule. * * @return	the number of rounds for the given cipher key size. */void rijndaelKeySetupEnc(u32 rk[/*44*/], const u8 cipherKey[]){	int i;	u32 temp;	rk[0] = GETU32(cipherKey     );	rk[1] = GETU32(cipherKey +  4);	rk[2] = GETU32(cipherKey +  8);	rk[3] = GETU32(cipherKey + 12);	for (i = 0; i < 10; i++) {		temp  = rk[3];		rk[4] = rk[0] ^			TE421(temp) ^ TE432(temp) ^ TE443(temp) ^ TE414(temp) ^			RCON(i);		rk[5] = rk[1] ^ rk[4];		rk[6] = rk[2] ^ rk[5];		rk[7] = rk[3] ^ rk[6];		rk += 4;	}}/** * Expand the cipher key into the decryption key schedule. * * @return	the number of rounds for the given cipher key size. */void rijndaelKeySetupDec(u32 rk[/*44*/], const u8 cipherKey[]){	int Nr = 10, i, j;	u32 temp;	/* expand the cipher key: */	rijndaelKeySetupEnc(rk, cipherKey);	/* invert the order of the round keys: */	for (i = 0, j = 4*Nr; i < j; i += 4, j -= 4) {		temp = rk[i    ]; rk[i    ] = rk[j    ]; rk[j    ] = temp;		temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp;		temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp;		temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp;	}	/* apply the inverse MixColumn transform to all round keys but the	 * first and the last: */	for (i = 1; i < Nr; i++) {		rk += 4;		for (j = 0; j < 4; j++) {			rk[j] = TD0_(TE4((rk[j] >> 24)       )) ^				TD1_(TE4((rk[j] >> 16) & 0xff)) ^				TD2_(TE4((rk[j] >>  8) & 0xff)) ^				TD3_(TE4((rk[j]      ) & 0xff));		}	}}void rijndaelEncrypt(const u32 rk[/*44*/], const u8 pt[16], u8 ct[16]){	u32 s0, s1, s2, s3, t0, t1, t2, t3;	const int Nr = 10;#ifndef FULL_UNROLL	int r;#endif /* ?FULL_UNROLL */	/*	 * map byte array block to cipher state	 * and add initial round key:	 */	s0 = GETU32(pt     ) ^ rk[0];	s1 = GETU32(pt +  4) ^ rk[1];	s2 = GETU32(pt +  8) ^ rk[2];	s3 = GETU32(pt + 12) ^ rk[3];#define ROUND(i,d,s) \d##0 = TE0(s##0) ^ TE1(s##1) ^ TE2(s##2) ^ TE3(s##3) ^ rk[4 * i]; \d##1 = TE0(s##1) ^ TE1(s##2) ^ TE2(s##3) ^ TE3(s##0) ^ rk[4 * i + 1]; \d##2 = TE0(s##2) ^ TE1(s##3) ^ TE2(s##0) ^ TE3(s##1) ^ rk[4 * i + 2]; \d##3 = TE0(s##3) ^ TE1(s##0) ^ TE2(s##1) ^ TE3(s##2) ^ rk[4 * i + 3]#ifdef FULL_UNROLL	ROUND(1,t,s);	ROUND(2,s,t);	ROUND(3,t,s);	ROUND(4,s,t);	ROUND(5,t,s);	ROUND(6,s,t);	ROUND(7,t,s);	ROUND(8,s,t);	ROUND(9,t,s);	rk += Nr << 2;#else  /* !FULL_UNROLL */	/* Nr - 1 full rounds: */	r = Nr >> 1;	for (;;) {		ROUND(1,t,s);		rk += 8;		if (--r == 0)			break;		ROUND(0,s,t);	}#endif /* ?FULL_UNROLL */#undef ROUND	/*	 * apply last round and	 * map cipher state to byte array block:	 */	s0 = TE41(t0) ^ TE42(t1) ^ TE43(t2) ^ TE44(t3) ^ rk[0];	PUTU32(ct     , s0);	s1 = TE41(t1) ^ TE42(t2) ^ TE43(t3) ^ TE44(t0) ^ rk[1];	PUTU32(ct +  4, s1);	s2 = TE41(t2) ^ TE42(t3) ^ TE43(t0) ^ TE44(t1) ^ rk[2];	PUTU32(ct +  8, s2);	s3 = TE41(t3) ^ TE42(t0) ^ TE43(t1) ^ TE44(t2) ^ rk[3];	PUTU32(ct + 12, s3);}void rijndaelDecrypt(const u32 rk[/*44*/], const u8 ct[16], u8 pt[16]){	u32 s0, s1, s2, s3, t0, t1, t2, t3;	const int Nr = 10;#ifndef FULL_UNROLL	int r;#endif /* ?FULL_UNROLL */	/*	 * map byte array block to cipher state	 * and add initial round key:	 */	s0 = GETU32(ct     ) ^ rk[0];	s1 = GETU32(ct +  4) ^ rk[1];	s2 = GETU32(ct +  8) ^ rk[2];	s3 = GETU32(ct + 12) ^ rk[3];#define ROUND(i,d,s) \d##0 = TD0(s##0) ^ TD1(s##3) ^ TD2(s##2) ^ TD3(s##1) ^ rk[4 * i]; \d##1 = TD0(s##1) ^ TD1(s##0) ^ TD2(s##3) ^ TD3(s##2) ^ rk[4 * i + 1]; \d##2 = TD0(s##2) ^ TD1(s##1) ^ TD2(s##0) ^ TD3(s##3) ^ rk[4 * i + 2]; \d##3 = TD0(s##3) ^ TD1(s##2) ^ TD2(s##1) ^ TD3(s##0) ^ rk[4 * i + 3]#ifdef FULL_UNROLL	ROUND(1,t,s);	ROUND(2,s,t);	ROUND(3,t,s);	ROUND(4,s,t);	ROUND(5,t,s);	ROUND(6,s,t);	ROUND(7,t,s);	ROUND(8,s,t);	ROUND(9,t,s);	rk += Nr << 2;#else  /* !FULL_UNROLL */	/* Nr - 1 full rounds: */	r = Nr >> 1;	for (;;) {		ROUND(1,t,s);		rk += 8;		if (--r == 0)			break;		ROUND(0,s,t);	}#endif /* ?FULL_UNROLL */#undef ROUND	/*	 * apply last round and	 * map cipher state to byte array block:	 */	s0 = TD41(t0) ^ TD42(t3) ^ TD43(t2) ^ TD44(t1) ^ rk[0];	PUTU32(pt     , s0);	s1 = TD41(t1) ^ TD42(t0) ^ TD43(t3) ^ TD44(t2) ^ rk[1];	PUTU32(pt +  4, s1);	s2 = TD41(t2) ^ TD42(t1) ^ TD43(t0) ^ TD44(t3) ^ rk[2];	PUTU32(pt +  8, s2);	s3 = TD41(t3) ^ TD42(t2) ^ TD43(t1) ^ TD44(t0) ^ rk[3];	PUTU32(pt + 12, s3);}/* Generic wrapper functions for AES functions */void * aes_encrypt_init(const u8 *key, size_t len){	u32 *rk;	if (len != 16)		return NULL;	rk = malloc(4 * 44);	if (rk == NULL)		return NULL;	rijndaelKeySetupEnc(rk, key);	return rk;}void aes_encrypt(void *ctx, const u8 *plain, u8 *crypt){	rijndaelEncrypt(ctx, plain, crypt);}void aes_encrypt_deinit(void *ctx){	free(ctx);}void * aes_decrypt_init(const u8 *key, size_t len){	u32 *rk;	if (len != 16)		return NULL;	rk = malloc(4 * 44);	if (rk == NULL)		return NULL;	rijndaelKeySetupDec(rk, key);	return rk;}void aes_decrypt(void *ctx, const u8 *crypt, u8 *plain){	rijndaelDecrypt(ctx, crypt, plain);}void aes_decrypt_deinit(void *ctx){	free(ctx);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人va在线观看| 日韩欧美一区二区免费| 亚洲综合激情网| 精品粉嫩aⅴ一区二区三区四区| 国产精品伊人色| 一区二区在线观看视频| 欧美日韩一区二区三区视频| 国产一区二区美女诱惑| 亚欧色一区w666天堂| 国产精品日日摸夜夜摸av| 欧洲人成人精品| 久久精品国产99久久6| 亚洲一级片在线观看| 精品久久久三级丝袜| 色综合视频在线观看| 国产精品中文字幕欧美| 美女视频第一区二区三区免费观看网站 | 国产自产视频一区二区三区| 亚洲一区在线观看视频| 亚洲欧美国产毛片在线| 久久中文娱乐网| 精品区一区二区| 69堂亚洲精品首页| 日本黄色一区二区| 337p亚洲精品色噜噜狠狠| 欧美成人伊人久久综合网| 精品国产网站在线观看| 久久精品一区二区三区四区| 日本一区二区三区高清不卡 | 欧美电影免费观看高清完整版在 | 欧美三级欧美一级| 日韩欧美国产成人一区二区| 国产精品白丝在线| 日本亚洲电影天堂| 91丨porny丨户外露出| 日韩一级大片在线观看| 亚洲欧美中日韩| 久久er99热精品一区二区| 日本高清视频一区二区| 久久综合九色综合97婷婷女人 | 国产女人水真多18毛片18精品视频| 国产精品久久久久久久久快鸭 | 久久国产欧美日韩精品| 91蝌蚪porny| www精品美女久久久tv| 亚洲小少妇裸体bbw| 成人激情黄色小说| 日韩一区二区三区视频在线| 一区二区三区高清在线| 国产精品亚洲综合一区在线观看| 欧美日韩国产美| 亚洲欧美aⅴ...| 国产大陆精品国产| 精品国产三级a在线观看| 亚洲成人在线观看视频| 国产成人av电影在线播放| 欧美精品丝袜久久久中文字幕| 国产精品区一区二区三| 国产乱对白刺激视频不卡| 欧美一级片在线观看| 午夜精品久久久久久不卡8050| 91视频xxxx| 国产精品久久午夜| 国产福利一区在线| 久久午夜色播影院免费高清| 免费在线欧美视频| 日韩欧美一区二区免费| 青青草原综合久久大伊人精品| 91麻豆精品在线观看| 亚洲欧美一区二区三区极速播放| 国产馆精品极品| 国产亚洲一本大道中文在线| 国产乱码精品一区二区三区av | 久色婷婷小香蕉久久| 91精品国产免费| 蜜桃视频一区二区三区在线观看| 欧美久久久久中文字幕| 午夜精品福利久久久| 5月丁香婷婷综合| 蜜桃av一区二区| 在线电影院国产精品| 免费人成在线不卡| 精品剧情v国产在线观看在线| 国产一区二区视频在线播放| 久久久亚洲精品石原莉奈| 国产麻豆成人精品| 亚洲欧洲日韩在线| 欧美日韩亚洲高清一区二区| 日日夜夜精品视频免费| 精品国产凹凸成av人网站| 国产盗摄视频一区二区三区| 亚洲视频一二区| 欧美日韩亚洲综合| 国产一区二区三区不卡在线观看 | 亚洲主播在线观看| 欧美一级爆毛片| 国产成人99久久亚洲综合精品| 中文字幕日韩av资源站| 欧美日韩国产精选| 国产黄色成人av| 亚洲综合图片区| 精品日产卡一卡二卡麻豆| www.久久久久久久久| 丝袜美腿亚洲一区二区图片| 久久综合五月天婷婷伊人| gogo大胆日本视频一区| 日韩和欧美一区二区| 久久久久久影视| 欧美性猛交xxxxxxxx| 黄页视频在线91| 一区二区三区精品| 国产欧美精品一区二区三区四区 | 91麻豆国产福利精品| 蜜臀国产一区二区三区在线播放| 国产亚洲欧美日韩在线一区| 在线亚洲+欧美+日本专区| 捆绑变态av一区二区三区| 中文字幕人成不卡一区| 欧美tickling挠脚心丨vk| 91福利小视频| 风间由美一区二区三区在线观看 | 色呦呦一区二区三区| 久久国产精品色婷婷| 一级精品视频在线观看宜春院| 精品久久久久香蕉网| 欧美日高清视频| 91色porny在线视频| 国精产品一区一区三区mba视频| 亚洲一区二区三区四区在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 成人精品视频一区二区三区尤物| 一区2区3区在线看| 国产亚洲女人久久久久毛片| 欧美另类videos死尸| 99久久精品情趣| 国产精品一二三| 亚洲成人免费观看| 国产精品嫩草久久久久| 久久新电视剧免费观看| 91精品国产综合久久福利| 在线观看日韩毛片| 不卡的电影网站| 成人一级黄色片| 国产九九视频一区二区三区| 另类小说欧美激情| 麻豆国产欧美一区二区三区| 午夜视频在线观看一区二区三区| 亚洲欧美韩国综合色| 亚洲精品ww久久久久久p站| 国产精品免费网站在线观看| 国产精品丝袜久久久久久app| 国产人成一区二区三区影院| 久久精品网站免费观看| 国产亚洲一区二区三区| 久久精品男人天堂av| 国产欧美日韩一区二区三区在线观看| 欧美成人高清电影在线| 精品国产伦理网| 国产农村妇女毛片精品久久麻豆| 国产清纯美女被跳蛋高潮一区二区久久w | 一区二区三区电影在线播| 亚洲国产视频一区二区| 蜜臀久久久久久久| 韩国女主播成人在线观看| 国产一区二区三区精品视频| 国产成人免费网站| 色综合一区二区三区| 欧美亚洲综合一区| 日韩一级大片在线观看| 2023国产精华国产精品| 中文字幕精品—区二区四季| 综合电影一区二区三区 | 久久免费偷拍视频| 国产精品久久久久久一区二区三区 | 亚洲激情自拍偷拍| 日韩中文字幕麻豆| 国产东北露脸精品视频| 91在线视频免费观看| 欧美日韩高清在线播放| 久久这里只精品最新地址| 亚洲色图在线播放| 美女网站一区二区| 91在线小视频| 精品捆绑美女sm三区| 亚洲伦理在线精品| 理论片日本一区| 色94色欧美sute亚洲线路二| 欧美不卡一区二区三区| 中文字幕色av一区二区三区| 轻轻草成人在线| jizzjizzjizz欧美| 日韩欧美国产一区在线观看| 国产精品成人一区二区三区夜夜夜| 午夜精品久久久久久久蜜桃app| 国产精品自拍一区| 欧美性感一类影片在线播放| 国产欧美视频一区二区| 亚洲va欧美va天堂v国产综合| 风间由美一区二区av101| 日韩一区二区三区在线观看|