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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aes.c

?? IEEE802.11 a/b/g 客戶端應(yīng)用程序源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
#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;	}}#ifndef CONFIG_NO_AES_DECRYPT/** * 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));		}	}}#endif /* CONFIG_NO_AES_DECRYPT */#ifndef CONFIG_NO_AES_ENCRYPTvoid 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);}#endif /* CONFIG_NO_AES_ENCRYPT */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 */#define AES_PRIV_SIZE (4 * 44)#ifndef CONFIG_NO_AES_ENCRYPTvoid * aes_encrypt_init(const u8 *key, size_t len){	u32 *rk;	if (len != 16)		return NULL;	rk = os_malloc(AES_PRIV_SIZE);	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){	os_memset(ctx, 0, AES_PRIV_SIZE);	os_free(ctx);}#endif /* CONFIG_NO_AES_ENCRYPT */#ifndef CONFIG_NO_AES_DECRYPTvoid * aes_decrypt_init(const u8 *key, size_t len){	u32 *rk;	if (len != 16)		return NULL;	rk = os_malloc(AES_PRIV_SIZE);	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){	os_memset(ctx, 0, AES_PRIV_SIZE);	os_free(ctx);}#endif /* CONFIG_NO_AES_DECRYPT */#endif /* INTERNAL_AES */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆久久一区二区| 精品福利在线导航| 亚洲视频一二三区| jizzjizzjizz欧美| 中文字幕亚洲一区二区va在线| 国产一区二区精品久久91| 26uuuu精品一区二区| 国产成人在线色| 国产精品久久三区| 色狠狠综合天天综合综合| 一区二区三区在线视频播放| 在线亚洲欧美专区二区| 亚洲国产一区在线观看| 91精品国产色综合久久ai换脸| 青青青伊人色综合久久| 久久蜜桃av一区二区天堂| 成人午夜大片免费观看| 亚洲精品中文字幕乱码三区| 欧美日韩1234| 国产美女精品人人做人人爽| 国产精品毛片大码女人| 欧美日韩久久不卡| 国产综合一区二区| 中文字幕亚洲视频| 欧美精品久久一区| 国产一区在线精品| 亚洲精品久久7777| 91精品在线免费| 国产不卡视频在线观看| 一区二区国产视频| 精品第一国产综合精品aⅴ| 99久久久无码国产精品| 日韩国产欧美视频| 国产精品大尺度| 91精品免费观看| 99久久免费视频.com| 蜜臀av一区二区在线免费观看| 中国色在线观看另类| 欧美一区二区视频在线观看 | 在线播放国产精品二区一二区四区| 日韩精品亚洲专区| 国产精品国产三级国产普通话蜜臀| 欧美性受极品xxxx喷水| 国内外精品视频| 亚洲福利视频一区| 国产精品日产欧美久久久久| 91精品国产乱码| 97精品久久久久中文字幕| 免费不卡在线视频| 亚洲综合精品自拍| 国产精品视频一区二区三区不卡| 91精品国产综合久久久久久漫画| 99久久精品免费| 激情六月婷婷综合| 日本欧美一区二区三区乱码 | 亚洲影院免费观看| 久久久久国产精品厨房| 欧美精品一卡二卡| 91电影在线观看| av影院午夜一区| 国产精品夜夜嗨| 黄色日韩网站视频| 久久精品国产久精国产爱| 亚洲第一电影网| 一区二区三区四区高清精品免费观看 | 国产精品123区| 久久精品国产免费| 首页国产丝袜综合| 亚洲国产成人av好男人在线观看| 亚洲日韩欧美一区二区在线| 久久精品男人的天堂| 精品av综合导航| 日韩美一区二区三区| 欧美一区二区日韩一区二区| 欧美日韩大陆一区二区| 欧美少妇一区二区| 欧美亚州韩日在线看免费版国语版| 波多野结衣一区二区三区| 国产一区视频在线看| 精品一区二区三区蜜桃| 久久国产夜色精品鲁鲁99| 另类小说图片综合网| 蜜臀av性久久久久蜜臀aⅴ| 日韩激情一二三区| 麻豆视频观看网址久久| 激情文学综合丁香| 国模一区二区三区白浆| 国产精品亚洲第一区在线暖暖韩国| 国产主播一区二区| 国产成人综合在线播放| 不卡视频一二三| 色综合天天综合网天天狠天天| 波多野结衣中文字幕一区| 91污片在线观看| 欧美午夜精品久久久久久孕妇| 欧美亚洲国产一区二区三区| 欧美精品第一页| 日韩美女视频一区二区在线观看| 精品嫩草影院久久| 国产精品美女一区二区三区 | 国产欧美日韩视频一区二区 | 一区二区三区中文在线观看| 亚洲一级二级三级| 美女免费视频一区二区| 国产精品一区二区你懂的| 丁香婷婷综合激情五月色| 91美女片黄在线观看91美女| 欧美亚洲综合在线| 欧美tk丨vk视频| 国产精品不卡在线观看| 亚洲一区成人在线| 国产一区日韩二区欧美三区| 成人动漫一区二区在线| 欧美日韩国产美| 久久青草欧美一区二区三区| 最新日韩在线视频| 蜜臀91精品一区二区三区| 成人动漫一区二区在线| 欧美午夜理伦三级在线观看| 欧美成人a视频| 亚洲天天做日日做天天谢日日欢| 亚洲综合一区二区三区| 韩国一区二区在线观看| 一本到不卡免费一区二区| 欧美一区二区三区日韩| 中文字幕人成不卡一区| 人人爽香蕉精品| 99热99精品| 精品久久免费看| 一区二区三区四区五区视频在线观看| 久久99久久99| 91成人看片片| 国产欧美日韩三区| 日本美女一区二区三区视频| 99久久精品国产导航| 欧美变态凌虐bdsm| 亚洲欧美日韩国产成人精品影院 | 亚洲精品一二三区| 激情欧美一区二区三区在线观看| 色偷偷久久一区二区三区| 久久久久久久国产精品影院| 亚洲国产精品人人做人人爽| 不卡av免费在线观看| 亚洲精品一区二区三区99| 亚洲一区二区三区四区不卡| 国产精品一区二区三区网站| 欧美一区午夜视频在线观看 | 一区二区三区 在线观看视频| 国产成人精品在线看| 日韩一级片网站| 亚洲18色成人| 欧美午夜精品久久久久久孕妇| 国产精品三级电影| 国产精品一线二线三线精华| 欧美一区二区三区免费大片 | 99久久婷婷国产精品综合| 久久精品综合网| 国产中文字幕精品| 日韩欧美在线网站| 另类小说图片综合网| 日韩欧美激情四射| 日本午夜一本久久久综合| 欧美三区免费完整视频在线观看| 一区二区三区高清| 91在线精品一区二区| 1000部国产精品成人观看| av在线不卡网| 最近日韩中文字幕| 91麻豆产精品久久久久久 | 亚洲国产中文字幕在线视频综合| 91成人在线免费观看| 亚洲精品国产成人久久av盗摄 | 久久不见久久见中文字幕免费| 欧美性xxxxx极品少妇| 亚洲韩国一区二区三区| 欧美日韩五月天| 婷婷一区二区三区| 91.xcao| 国产在线精品一区二区不卡了| 精品国产一区二区三区不卡| 国产在线国偷精品产拍免费yy| 久久亚洲一区二区三区四区| 国产做a爰片久久毛片| 26uuu亚洲| 成人av一区二区三区| 亚洲另类一区二区| 91麻豆精品国产91久久久更新时间| 亚洲综合视频在线| 91精品蜜臀在线一区尤物| 久久草av在线| 中文字幕在线一区二区三区| 91麻豆成人久久精品二区三区| 午夜精品免费在线| 精品91自产拍在线观看一区| 成人一区二区三区| 一二三四区精品视频| 日韩欧美的一区| 成人激情免费网站| 亚洲自拍偷拍av| 精品粉嫩aⅴ一区二区三区四区|