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

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

?? rijndael-test-fst.c

?? Arithmetic for integers of almost rijndael for C and C++. Developed for linux
?? C
?? 第 1 頁 / 共 2 頁
字號:
	BYTE inBlock[256/8], outBlock[256/8], binKey[256/8], cv[256/8];	BYTE keyMaterial[320];	keyInstance keyInst;	cipherInstance cipherInst;#ifdef TRACE_KAT_MCT	int width = 0;	clock_t elapsed = -clock();	printf("Executing CBC MCT (%s, key %d): ",		direction == DIR_ENCRYPT ? "ENCRYPT" : "DECRYPT", keyLength);	fflush (stdout);#endif /* ?TRACE_KAT_MCT */	fprintf (fp,		"\n"		"==========\n"		"\n"		"KEYSIZE=%d\n", keyLength);	fflush(fp);	memset(cv, 0, 16);	memset(inBlock, 0, 16);	memset(binKey, 0, keyLength/8);	for (i = 0; i < 400; i++) {#ifdef TRACE_KAT_MCT                         while (width-- > 0) {        	putchar('\b');        }        width = printf("%d", i);        fflush(stdout);    #endif /* ?TRACE_KAT_MCT */		fprintf (fp, "\nI=%d\n", i);		/* prepare key: */		for (j = 0; j < keyLength/8; j++) {			sprintf (&keyMaterial[2*j], "%02X", binKey[j]);		}		keyMaterial[keyLength/4] = 0;		fprintf(fp, "KEY=%s\n", keyMaterial);		r = makeKey(&keyInst, direction, keyLength, keyMaterial);		if (TRUE != r) {			fprintf(stderr,"makeKey error %d\n",r);			exit(-1);		}		r = cipherInit(&cipherInst, MODE_ECB, NULL);		if (TRUE != r) {			fprintf(stderr,"cipherInit error %d\n",r);			exit(-1);		}		/* do encryption/decryption: */		blockPrint(fp, cv, "IV");		blockPrint(fp, inBlock, direction == DIR_ENCRYPT ? "PT" : "CT");		if (direction == DIR_ENCRYPT) {			for (j = 0; j < 10000; j++) {				for (t = 0; t < 16; t++) {					inBlock[t] ^= cv[t];				}				r = blockEncrypt(&cipherInst, &keyInst, inBlock, 128, outBlock);				if (128 != r) {					fprintf(stderr,"blockEncrypt error %d\n",r);					exit(-1);				}				memcpy(inBlock, cv, 16);				memcpy(cv, outBlock, 16);			}		} else {			for (j = 0; j < 10000; j++) {				blockDecrypt(&cipherInst, &keyInst, inBlock, 128, outBlock);				for (t = 0; t < 16; t++) {					outBlock[t] ^= cv[t];				}				memcpy(cv, inBlock, 16);				memcpy(inBlock, outBlock, 16);			}		}		blockPrint(fp, outBlock, direction == DIR_ENCRYPT ? "CT" : "PT");		/* prepare new key: */		switch (keyLength) {		case 128:			for (j = 0; j < 128/8; j++) {				binKey[j] ^= outBlock[j];			}			break;		case 192:			for (j = 0; j < 64/8; j++) {				if (direction == DIR_ENCRYPT) {					binKey[j] ^= inBlock[j + 64/8];				} else {					binKey[j] ^= cv[j + 64/8];				}			}			for (j = 0; j < 128/8; j++) {				binKey[j + 64/8] ^= outBlock[j];			}			break;		case 256:			for (j = 0; j < 128/8; j++) {				if (direction == DIR_ENCRYPT) {					binKey[j] ^= inBlock[j];				} else {					binKey[j] ^= cv[j];				}			}			for (j = 0; j < 128/8; j++) {				binKey[j + 128/8] ^= outBlock[j];			}			break;		}	}#ifdef TRACE_KAT_MCT	elapsed += clock();    while (width-- > 0) {    	putchar('\b');    }	printf("%d done (%.1f s).\n", i, (float)elapsed/CLOCKS_PER_SEC);#endif /* ?TRACE_KAT_MCT */} /* rijndaelCBC_MCT */static void makeMCTs(const char *ecbEncryptionFile, const char *ecbDecryptionFile,		const char *cbcEncryptionFile, const char *cbcDecryptionFile) {	FILE *fp;	/* prepare ECB Encryption Monte Carlo Tests: */	fp = fopen(ecbEncryptionFile, "w");	fprintf(fp,		"\n"		"=========================\n"		"\n"		"FILENAME:  \"%s\"\n"		"\n"		"Electronic Codebook (ECB) Mode - ENCRYPTION\n"		"Monte Carlo Test\n"		"\n"		"Algorithm Name: Rijndael\n"		"Principal Submitter: %s\n",		ecbEncryptionFile, SUBMITTER);	fflush(fp);	rijndaelECB_MCT(fp, 128, DIR_ENCRYPT);	rijndaelECB_MCT(fp, 192, DIR_ENCRYPT);	rijndaelECB_MCT(fp, 256, DIR_ENCRYPT);	fprintf(fp,		"\n"		"===========");	fclose(fp);	/* prepare ECB Decryption Monte Carlo Tests: */	fp = fopen(ecbDecryptionFile, "w");	fprintf(fp,		"\n"		"=========================\n"		"\n"		"FILENAME:  \"%s\"\n"		"\n"		"Electronic Codebook (ECB) Mode - DECRYPTION\n"		"Monte Carlo Test\n"		"\n"		"Algorithm Name: Rijndael\n"		"Principal Submitter: %s\n",		ecbDecryptionFile, SUBMITTER);	fflush(fp);	rijndaelECB_MCT(fp, 128, DIR_DECRYPT);	rijndaelECB_MCT(fp, 192, DIR_DECRYPT);	rijndaelECB_MCT(fp, 256, DIR_DECRYPT);	fprintf(fp,		"\n"		"===========");	fclose(fp);	/* prepare CBC Encryption Monte Carlo Tests: */	fp = fopen (cbcEncryptionFile, "w");	fprintf(fp,		"\n"		"=========================\n"		"\n"		"FILENAME:  \"%s\"\n"		"\n"		"Cipher Block Chaining (CBC) Mode - ENCRYPTION\n"		"Monte Carlo Test\n"		"\n"		"Algorithm Name: Rijndael\n"		"Principal Submitter: %s\n",		cbcEncryptionFile, SUBMITTER);	fflush(fp);	rijndaelCBC_MCT(fp, 128, DIR_ENCRYPT);	rijndaelCBC_MCT(fp, 192, DIR_ENCRYPT);	rijndaelCBC_MCT(fp, 256, DIR_ENCRYPT);	fprintf(fp,		"\n"		"===========");	fclose(fp);	/* prepare CBC Decryption Monte Carlo Tests: */	fp = fopen(cbcDecryptionFile, "w");	fprintf(fp,		"\n"		"=========================\n"		"\n"		"FILENAME:  \"%s\"\n"		"\n"		"Cipher Block Chaining (CBC) Mode - DECRYPTION\n"		"Monte Carlo Test\n"		"\n"		"Algorithm Name: Rijndael\n"		"Principal Submitter: %s\n",		cbcDecryptionFile, SUBMITTER);	fflush(fp);	rijndaelCBC_MCT(fp, 128, DIR_DECRYPT);	rijndaelCBC_MCT(fp, 192, DIR_DECRYPT);	rijndaelCBC_MCT(fp, 256, DIR_DECRYPT);	fprintf(fp,		"\n"		"===========");	fclose(fp);} /* makeMCTs */static void makeFIPSTestVectors(const char *fipsFile) {	int i, keyLength, r;	keyInstance keyInst;	cipherInstance cipherInst;	BYTE keyMaterial[320];	u8 pt[16], ct[16];	char format[64];	FILE *fp;#ifdef TRACE_KAT_MCT	printf("Generating FIPS test vectors...");#endif /* ?TRACE_KAT_MCT */		fp = fopen(fipsFile, "w");	fprintf(fp,		"\n"		"================================\n\n"		"FILENAME:  \"%s\"\n\n"		"FIPS Test Vectors\n",		fipsFile);	/* 128-bit key: 00010103...0e0f: */	keyLength = 128;	memset(keyMaterial, 0, sizeof (keyMaterial));	for (i = 0; i < keyLength/8; i++) {		sprintf(&keyMaterial[2*i], "%02X", i);	}		fprintf(fp, "\n================================\n\n");	fprintf(fp, "KEYSIZE=128\n\n");    fprintf(fp, "KEY=%s\n\n", keyMaterial);	/* plaintext is always 00112233...eeff: */	for (i = 0; i < 16; i++) {		pt[i] = (i << 4) | i;	}    /* encryption: */		makeKey(&keyInst, DIR_ENCRYPT, keyLength, keyMaterial);	cipherInit(&cipherInst, MODE_ECB, NULL);	fprintf(fp, "Round Subkey Values (Encryption)\n\n");    for (r = 0; r <= keyInst.Nr; r++) {        fprintf(fp, "RK%d=", r);        for (i = 0; i < 4; i++) {            u32 w = keyInst.rk[4*r + i];            fprintf(fp, "%02X%02X%02X%02X", w >> 24, (w >> 16) & 0xff, (w >> 8) & 0xff, w & 0xff);        }        fprintf(fp, "\n");    }	fprintf(fp, "\nIntermediate Ciphertext Values (Encryption)\n\n");	blockPrint(fp, pt, "PT");	for (i = 1; i < keyInst.Nr; i++) {		cipherUpdateRounds(&cipherInst, &keyInst, pt, 16, ct, i);		sprintf(format, "CT%d", i);		blockPrint(fp, ct, format);	}	cipherUpdateRounds(&cipherInst, &keyInst, pt, 16, ct, keyInst.Nr);	blockPrint(fp, ct, "CT");	    /* decryption: */		makeKey(&keyInst, DIR_DECRYPT, keyLength, keyMaterial);	cipherInit(&cipherInst, MODE_ECB, NULL);	fprintf(fp, "\nRound Subkey Values (Decryption)\n\n");    for (r = 0; r <= keyInst.Nr; r++) {        fprintf(fp, "RK%d=", r);        for (i = 0; i < 4; i++) {            u32 w = keyInst.rk[4*r + i];            fprintf(fp, "%02X%02X%02X%02X", w >> 24, (w >> 16) & 0xff, (w >> 8) & 0xff, w & 0xff);        }        fprintf(fp, "\n");    }	fprintf(fp, "\nIntermediate Ciphertext Values (Decryption)\n\n");	blockPrint(fp, ct, "CT");	for (i = 1; i < keyInst.Nr; i++) {		cipherUpdateRounds(&cipherInst, &keyInst, ct, 16, pt, i);		sprintf(format, "PT%d", i);		blockPrint(fp, pt, format);	}	cipherUpdateRounds(&cipherInst, &keyInst, ct, 16, pt, keyInst.Nr);	blockPrint(fp, pt, "PT");	/* 192-bit key: 00010103...1617: */	keyLength = 192;	memset(keyMaterial, 0, sizeof (keyMaterial));	for (i = 0; i < keyLength/8; i++) {		sprintf(&keyMaterial[2*i], "%02X", i);	}		fprintf(fp, "\n================================\n\n");	fprintf(fp, "KEYSIZE=192\n\n");    fprintf(fp, "KEY=%s\n\n", keyMaterial);	/* plaintext is always 00112233...eeff: */	for (i = 0; i < 16; i++) {		pt[i] = (i << 4) | i;	}    /* encryption: */		makeKey(&keyInst, DIR_ENCRYPT, keyLength, keyMaterial);	cipherInit(&cipherInst, MODE_ECB, NULL);	fprintf(fp, "\nRound Subkey Values (Encryption)\n\n");    for (r = 0; r <= keyInst.Nr; r++) {        fprintf(fp, "RK%d=", r);        for (i = 0; i < 4; i++) {            u32 w = keyInst.rk[4*r + i];            fprintf(fp, "%02X%02X%02X%02X", w >> 24, (w >> 16) & 0xff, (w >> 8) & 0xff, w & 0xff);        }        fprintf(fp, "\n");    }	fprintf(fp, "\nIntermediate Ciphertext Values (Encryption)\n\n");	blockPrint(fp, pt, "PT");	for (i = 1; i < keyInst.Nr; i++) {		cipherUpdateRounds(&cipherInst, &keyInst, pt, 16, ct, i);		sprintf(format, "CT%d", i);		blockPrint(fp, ct, format);	}	cipherUpdateRounds(&cipherInst, &keyInst, pt, 16, ct, keyInst.Nr);	blockPrint(fp, ct, "CT");	    /* decryption: */		makeKey(&keyInst, DIR_DECRYPT, keyLength, keyMaterial);	cipherInit(&cipherInst, MODE_ECB, NULL);	fprintf(fp, "\nRound Subkey Values (Decryption)\n\n");    for (r = 0; r <= keyInst.Nr; r++) {        fprintf(fp, "RK%d=", r);        for (i = 0; i < 4; i++) {            u32 w = keyInst.rk[4*r + i];            fprintf(fp, "%02X%02X%02X%02X", w >> 24, (w >> 16) & 0xff, (w >> 8) & 0xff, w & 0xff);        }        fprintf(fp, "\n");    }	fprintf(fp, "\nIntermediate Ciphertext Values (Decryption)\n\n");	blockPrint(fp, ct, "CT");	for(i = 1; i < keyInst.Nr; i++) {		cipherUpdateRounds(&cipherInst, &keyInst, ct, 16, pt, i);		sprintf(format, "PT%d", i);		blockPrint(fp, pt, format);	}	cipherUpdateRounds(&cipherInst, &keyInst, ct, 16, pt, keyInst.Nr);	blockPrint(fp, pt, "PT");	/* 256-bit key: 00010103...1e1f: */	keyLength = 256;	memset(keyMaterial, 0, sizeof (keyMaterial));	for (i = 0; i < keyLength/8; i++) {		sprintf(&keyMaterial[2*i], "%02X", i);	}		fprintf(fp, "\n================================\n\n");	fprintf(fp, "KEYSIZE=256\n\n");    fprintf(fp, "KEY=%s\n\n", keyMaterial);	/* plaintext is always 00112233...eeff: */	for (i = 0; i < 16; i++) {		pt[i] = (i << 4) | i;	}    /* encryption: */		makeKey(&keyInst, DIR_ENCRYPT, keyLength, keyMaterial);	cipherInit(&cipherInst, MODE_ECB, NULL);	fprintf(fp, "\nRound Subkey Values (Encryption)\n\n");    for (r = 0; r <= keyInst.Nr; r++) {        fprintf(fp, "RK%d=", r);        for (i = 0; i < 4; i++) {            u32 w = keyInst.rk[4*r + i];            fprintf(fp, "%02X%02X%02X%02X", w >> 24, (w >> 16) & 0xff, (w >> 8) & 0xff, w & 0xff);        }        fprintf(fp, "\n");    }	fprintf(fp, "\nIntermediate Ciphertext Values (Encryption)\n\n");	blockPrint(fp, pt, "PT");	for(i = 1; i < keyInst.Nr; i++) {		cipherUpdateRounds(&cipherInst, &keyInst, pt, 16, ct, i);		sprintf(format, "CT%d", i);		blockPrint(fp, ct, format);	}	cipherUpdateRounds(&cipherInst, &keyInst, pt, 16, ct, keyInst.Nr);	blockPrint(fp, ct, "CT");	    /* decryption: */		makeKey(&keyInst, DIR_DECRYPT, keyLength, keyMaterial);	cipherInit(&cipherInst, MODE_ECB, NULL);	fprintf(fp, "\nRound Subkey Values (Decryption)\n\n");    for (r = 0; r <= keyInst.Nr; r++) {        fprintf(fp, "RK%d=", r);        for (i = 0; i < 4; i++) {            u32 w = keyInst.rk[4*r + i];            fprintf(fp, "%02X%02X%02X%02X", w >> 24, (w >> 16) & 0xff, (w >> 8) & 0xff, w & 0xff);        }        fprintf(fp, "\n");    }	fprintf(fp, "\nIntermediate Ciphertext Values (Decryption)\n\n");	blockPrint(fp, ct, "CT");	for(i = 1; i < keyInst.Nr; i++) {		cipherUpdateRounds(&cipherInst, &keyInst, ct, 16, pt, i);		sprintf(format, "PT%d", i);		blockPrint(fp, pt, format);	}	cipherUpdateRounds(&cipherInst, &keyInst, ct, 16, pt, keyInst.Nr);	blockPrint(fp, pt, "PT");    fprintf(fp, "\n");	fclose(fp);#ifdef TRACE_KAT_MCT	printf(" done.\n");#endif /* ?TRACE_KAT_MCT */}#define ITERATIONS 10000000void rijndaelSpeed(int keyBits) {	int Nr, i;	u32 rk[4*(MAXNR + 1)];	u8 cipherKey[256/8], pt[16], ct[16];	clock_t elapsed;	float sec;	memset(cipherKey, 0, sizeof(cipherKey));	printf("================================\n");	printf("Speed measurement for %d-bit keys:\n", keyBits);	/*	 * Encryption key setup timing:	 */	elapsed = -clock();	for (i = 0; i < ITERATIONS; i++) {		Nr = rijndaelKeySetupEnc(rk, cipherKey, keyBits);	}	elapsed += clock();	sec = (float)elapsed/CLOCKS_PER_SEC;	printf("Encryption key schedule: %.1f s, %.0f Mbit/s\n",		sec, (float)ITERATIONS*128/sec/1000000);	/*	 * Encryption timing:	 */	elapsed = -clock();	for (i = 0; i < ITERATIONS; i++) {		rijndaelEncrypt(rk, Nr, pt, ct);	}	elapsed += clock();	sec = (float)elapsed/CLOCKS_PER_SEC;	printf("Encryption: %.1f s, %.0f Mbit/s\n",		sec, (float)ITERATIONS*128/sec/1000000);	/*	 * Decryption key setup timing:	 */	elapsed = -clock();	for (i = 0; i < ITERATIONS; i++) {		Nr = rijndaelKeySetupDec(rk, cipherKey, keyBits);	}	elapsed += clock();	sec = (float)elapsed/CLOCKS_PER_SEC;	printf("Decryption key schedule: %.1f s, %.0f Mbit/s\n",		sec, (float)ITERATIONS*128/sec/1000000);	/*	 * Decryption timing:	 */	elapsed = -clock();	for (i = 0; i < ITERATIONS; i++) {		rijndaelDecrypt(rk, Nr, pt, ct);	}	elapsed += clock();	sec = (float)elapsed/CLOCKS_PER_SEC;	printf("Decryption: %.1f s, %.0f Mbit/s\n",		sec, (float)ITERATIONS*128/sec/1000000);}int main(void) {	makeFIPSTestVectors("fips-test-vectors.txt");	makeKATs("ecb_vk.txt", "ecb_vt.txt", "ecb_tbl.txt", "ecb_iv.txt");	makeMCTs("ecb_e_m.txt", "ecb_d_m.txt", "cbc_e_m.txt", "cbc_d_m.txt");
	/*
	rijndaelSpeed(128);
	rijndaelSpeed(192);
	rijndaelSpeed(256);
	*/
	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女性感视频久久| 久久66热re国产| 日韩欧美国产午夜精品| 岛国精品在线观看| 亚洲一区二区三区四区的 | 色综合久久综合中文综合网| 天堂成人国产精品一区| 中文欧美字幕免费| 欧美电影在线免费观看| 99re8在线精品视频免费播放| 全国精品久久少妇| 亚洲女子a中天字幕| 久久网这里都是精品| 7777精品伊人久久久大香线蕉经典版下载| 高清久久久久久| 久热成人在线视频| 天天综合网天天综合色| 综合网在线视频| 久久久99久久| 日韩女优av电影| 欧美日韩的一区二区| 一本一道综合狠狠老| 成人综合在线视频| 国产主播一区二区| 久久av资源站| 日韩精品一级二级| 午夜精品123| 亚洲福利视频三区| 亚洲免费观看高清| 亚洲人成在线观看一区二区| 国产日韩欧美麻豆| 久久综合九色综合97_久久久| 日韩一区二区在线看片| 欧美高清视频www夜色资源网| 91福利视频网站| 91国偷自产一区二区三区成为亚洲经典| 波多野结衣一区二区三区| 国产a级毛片一区| 成人av资源下载| 国产999精品久久| 国产成人啪免费观看软件| 国产一区二区三区免费在线观看 | 国产成人精品亚洲午夜麻豆| 国产综合久久久久影院| 国产精品中文欧美| 国产精品一区二区在线观看网站 | 国产精品影视在线| 国产在线播放一区三区四| 国内精品写真在线观看| 国产一区免费电影| 国产精品1区2区3区在线观看| 韩国一区二区在线观看| 国产一区二区成人久久免费影院| 国内精品免费在线观看| 国产成人综合自拍| 不卡的av电影| 欧美中文字幕亚洲一区二区va在线| 91丝袜美腿高跟国产极品老师| 色婷婷综合久色| 欧美色图片你懂的| 欧美一区二区久久| 久久久久久久久蜜桃| 国产精品视频第一区| 亚洲美女少妇撒尿| 亚洲成人在线免费| 日本中文字幕一区二区有限公司| 看片的网站亚洲| 成人美女视频在线观看18| 色综合夜色一区| 91精品久久久久久久久99蜜臂| 欧美电视剧免费观看| 337p日本欧洲亚洲大胆色噜噜| 中文字幕av不卡| 一区二区三区四区五区视频在线观看| 亚洲一二三四久久| 久久99精品国产.久久久久| 国产成人一区在线| 精品视频1区2区| 久久综合久色欧美综合狠狠| 亚洲品质自拍视频| 毛片一区二区三区| 成人午夜激情片| 91精品久久久久久久91蜜桃| 欧美韩国日本综合| 亚洲一区在线观看免费观看电影高清 | 中文字幕av一区二区三区 | 懂色一区二区三区免费观看| 色婷婷激情一区二区三区| 欧美福利视频一区| 国产精品久久久久久久久搜平片| 午夜精品久久久久影视| 成人午夜大片免费观看| 91精品国产综合久久久久久久| 国产欧美一区二区三区在线看蜜臀| 亚洲乱码中文字幕综合| 国内精品久久久久影院薰衣草 | 一区二区三区国产精品| 久久福利视频一区二区| 色婷婷国产精品久久包臀| 欧美精品一区二区久久久| 一二三区精品视频| 丰满放荡岳乱妇91ww| 日韩一区二区三区在线观看| 亚洲三级免费电影| 国产成人在线视频网站| 欧美一级二级在线观看| 亚洲一区二区三区四区中文字幕| 国产成a人亚洲| 亚洲精品一区在线观看| 首页综合国产亚洲丝袜| 91玉足脚交白嫩脚丫在线播放| 亚洲精品在线免费播放| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产日韩视频一区二区三区| 日本免费在线视频不卡一不卡二| 日本乱人伦aⅴ精品| 国产精品视频观看| 国产91精品一区二区麻豆亚洲| 5566中文字幕一区二区电影| 亚洲欧美视频一区| 成人晚上爱看视频| 国产午夜亚洲精品午夜鲁丝片| 免费亚洲电影在线| 91精品久久久久久久91蜜桃| 亚洲国产另类av| 91久久国产综合久久| 中文字幕日韩av资源站| 福利一区福利二区| 久久国产麻豆精品| 日韩一本二本av| 日韩电影免费在线看| 欧美亚州韩日在线看免费版国语版| 国产精品成人午夜| www.亚洲人| 亚洲欧洲在线观看av| 成人午夜精品在线| 中文字幕中文在线不卡住| 丁香亚洲综合激情啪啪综合| 国产欧美一二三区| 国产精品羞羞答答xxdd| 久久女同性恋中文字幕| 国产精品99久| 国产欧美日韩三区| 成人国产亚洲欧美成人综合网| 中文字幕电影一区| 99久久精品99国产精品| 亚洲日本中文字幕区| 91久久一区二区| 亚洲一二三专区| 91精品国产91久久综合桃花 | 国产精品综合久久| 国产精品天美传媒| 色综合一区二区三区| 亚洲二区视频在线| 欧美一区在线视频| 国产乱码精品1区2区3区| 日本一区二区视频在线| 色哟哟一区二区在线观看| 亚洲午夜激情av| 欧美一区二区三区的| 国模一区二区三区白浆| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 91精品国产综合久久精品| 免费看精品久久片| 久久久久九九视频| 色婷婷一区二区| 五月婷婷色综合| 久久久www成人免费无遮挡大片| 99视频在线观看一区三区| 亚洲一区二区三区视频在线播放| 欧美一级高清大全免费观看| 国产精品69毛片高清亚洲| 樱桃视频在线观看一区| 日韩一区二区免费高清| 成人av在线一区二区| 天堂蜜桃一区二区三区| 久久精品在线免费观看| 色欧美日韩亚洲| 国产资源精品在线观看| 一区二区三区中文在线| 日韩欧美亚洲国产另类| 99久久久久免费精品国产| 婷婷丁香久久五月婷婷| 国产女人水真多18毛片18精品视频| 欧美曰成人黄网| 成人免费视频一区| 视频精品一区二区| 国产精品久久久久影院亚瑟| 日韩久久精品一区| 91黄视频在线| 国产成人精品一区二区三区网站观看| 一区二区国产盗摄色噜噜| 国产日产欧美一区二区视频| 欧美精品一卡二卡| 成人看片黄a免费看在线| 男人的天堂久久精品| 玉足女爽爽91| 国产精品久久久久久久久快鸭| 日韩视频国产视频| 精品视频免费在线|