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

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

?? expspeed.c

?? openssl包含TLS
?? C
字號:
/* unused *//* crypto/bn/expspeed.c *//* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. *  * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to.  The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code.  The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). *  * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *    "This product includes cryptographic software written by *     Eric Young (eay@cryptsoft.com)" *    The word 'cryptographic' can be left out if the rouines from the library *    being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from  *    the apps directory (application code) you must include an acknowledgement: *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" *  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed.  i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] *//* most of this code has been pilfered from my libdes speed.c program */#define BASENUM	5000#define NUM_START 0/* determine timings for modexp, modmul, modsqr, gcd, Kronecker symbol, * modular inverse, or modular square roots */#define TEST_EXP#undef TEST_MUL#undef TEST_SQR#undef TEST_GCD#undef TEST_KRON#undef TEST_INV#undef TEST_SQRT#define P_MOD_64 9 /* least significant 6 bits for prime to be used for BN_sqrt timings */#if defined(TEST_EXP) + defined(TEST_MUL) + defined(TEST_SQR) + defined(TEST_GCD) + defined(TEST_KRON) + defined(TEST_INV) +defined(TEST_SQRT) != 1#  error "choose one test"#endif#if defined(TEST_INV) || defined(TEST_SQRT)#  define C_PRIMEstatic void genprime_cb(int p, int n, void *arg);#endif#undef PROG#define PROG bnspeed_main#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <string.h>#include <openssl/crypto.h>#include <openssl/err.h>#include <openssl/rand.h>#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)#define TIMES#endif#ifndef _IRIX#include <time.h>#endif#ifdef TIMES#include <sys/types.h>#include <sys/times.h>#endif/* Depending on the VMS version, the tms structure is perhaps defined.   The __TMS macro will show if it was.  If it wasn't defined, we should   undefine TIMES, since that tells the rest of the program how things   should be handled.				-- Richard Levitte */#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)#undef TIMES#endif#ifndef TIMES#include <sys/timeb.h>#endif#if defined(sun) || defined(__ultrix)#define _POSIX_SOURCE#include <limits.h>#include <sys/param.h>#endif#include <openssl/bn.h>#include <openssl/x509.h>/* The following if from times(3) man page.  It may need to be changed */#ifndef HZ# ifndef CLK_TCK#  ifndef _BSD_CLK_TCK_ /* FreeBSD hack */#   define HZ	100.0#  else /* _BSD_CLK_TCK_ */#   define HZ ((double)_BSD_CLK_TCK_)#  endif# else /* CLK_TCK */#  define HZ ((double)CLK_TCK)# endif#endif#undef BUFSIZE#define BUFSIZE	((long)1024*8)int run=0;static double Time_F(int s);#define START	0#define STOP	1static double Time_F(int s)	{	double ret;#ifdef TIMES	static struct tms tstart,tend;	if (s == START)		{		times(&tstart);		return(0);		}	else		{		times(&tend);		ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;		return((ret < 1e-3)?1e-3:ret);		}#else /* !times() */	static struct timeb tstart,tend;	long i;	if (s == START)		{		ftime(&tstart);		return(0);		}	else		{		ftime(&tend);		i=(long)tend.millitm-(long)tstart.millitm;		ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;		return((ret < 0.001)?0.001:ret);		}#endif	}#define NUM_SIZES	7#if NUM_START > NUM_SIZES#   error "NUM_START > NUM_SIZES"#endifstatic int sizes[NUM_SIZES]={128,256,512,1024,2048,4096,8192};static int mul_c[NUM_SIZES]={8*8*8*8*8*8,8*8*8*8*8,8*8*8*8,8*8*8,8*8,8,1};/*static int sizes[NUM_SIZES]={59,179,299,419,539}; */#define RAND_SEED(string) { const char str[] = string; RAND_seed(string, sizeof str); }void do_mul_exp(BIGNUM *r,BIGNUM *a,BIGNUM *b,BIGNUM *c,BN_CTX *ctx); int main(int argc, char **argv)	{	BN_CTX *ctx;	BIGNUM *a,*b,*c,*r;#if 1	if (!CRYPTO_set_mem_debug_functions(0,0,0,0,0))		abort();#endif	ctx=BN_CTX_new();	a=BN_new();	b=BN_new();	c=BN_new();	r=BN_new();	while (!RAND_status())		/* not enough bits */		RAND_SEED("I demand a manual recount!");	do_mul_exp(r,a,b,c,ctx);	return 0;	}void do_mul_exp(BIGNUM *r, BIGNUM *a, BIGNUM *b, BIGNUM *c, BN_CTX *ctx)	{	int i,k;	double tm;	long num;	num=BASENUM;	for (i=NUM_START; i<NUM_SIZES; i++)		{#ifdef C_PRIME#  ifdef TEST_SQRT		if (!BN_set_word(a, 64)) goto err;		if (!BN_set_word(b, P_MOD_64)) goto err;#    define ADD a#    define REM b#  else#    define ADD NULL#    define REM NULL#  endif		if (!BN_generate_prime(c,sizes[i],0,ADD,REM,genprime_cb,NULL)) goto err;		putc('\n', stderr);		fflush(stderr);#endif		for (k=0; k<num; k++)			{			if (k%50 == 0) /* Average over num/50 different choices of random numbers. */				{				if (!BN_pseudo_rand(a,sizes[i],1,0)) goto err;				if (!BN_pseudo_rand(b,sizes[i],1,0)) goto err;#ifndef C_PRIME				if (!BN_pseudo_rand(c,sizes[i],1,1)) goto err;#endif#ifdef TEST_SQRT								if (!BN_mod_sqr(a,a,c,ctx)) goto err;				if (!BN_mod_sqr(b,b,c,ctx)) goto err;#else				if (!BN_nnmod(a,a,c,ctx)) goto err;				if (!BN_nnmod(b,b,c,ctx)) goto err;#endif				if (k == 0)					Time_F(START);				}#if defined(TEST_EXP)			if (!BN_mod_exp(r,a,b,c,ctx)) goto err;#elif defined(TEST_MUL)			{			int i = 0;			for (i = 0; i < 50; i++)				if (!BN_mod_mul(r,a,b,c,ctx)) goto err;			}#elif defined(TEST_SQR)			{			int i = 0;			for (i = 0; i < 50; i++)				{				if (!BN_mod_sqr(r,a,c,ctx)) goto err;				if (!BN_mod_sqr(r,b,c,ctx)) goto err;				}			}#elif defined(TEST_GCD)			if (!BN_gcd(r,a,b,ctx)) goto err;			if (!BN_gcd(r,b,c,ctx)) goto err;			if (!BN_gcd(r,c,a,ctx)) goto err;#elif defined(TEST_KRON)			if (-2 == BN_kronecker(a,b,ctx)) goto err;			if (-2 == BN_kronecker(b,c,ctx)) goto err;			if (-2 == BN_kronecker(c,a,ctx)) goto err;#elif defined(TEST_INV)			if (!BN_mod_inverse(r,a,c,ctx)) goto err;			if (!BN_mod_inverse(r,b,c,ctx)) goto err;#else /* TEST_SQRT */			if (!BN_mod_sqrt(r,a,c,ctx)) goto err;			if (!BN_mod_sqrt(r,b,c,ctx)) goto err;#endif			}		tm=Time_F(STOP);		printf(#if defined(TEST_EXP)			"modexp %4d ^ %4d %% %4d"#elif defined(TEST_MUL)			"50*modmul %4d %4d %4d"#elif defined(TEST_SQR)			"100*modsqr %4d %4d %4d"#elif defined(TEST_GCD)			"3*gcd %4d %4d %4d"#elif defined(TEST_KRON)			"3*kronecker %4d %4d %4d"#elif defined(TEST_INV)			"2*inv %4d %4d mod %4d"#else /* TEST_SQRT */			"2*sqrt [prime == %d (mod 64)] %4d %4d mod %4d"#endif			" -> %8.6fms %5.1f (%ld)\n",#ifdef TEST_SQRT			P_MOD_64,#endif			sizes[i],sizes[i],sizes[i],tm*1000.0/num,tm*mul_c[i]/num, num);		num/=7;		if (num <= 0) num=1;		}	return; err:	ERR_print_errors_fp(stderr);	}#ifdef C_PRIMEstatic void genprime_cb(int p, int n, void *arg)	{	char c='*';	if (p == 0) c='.';	if (p == 1) c='+';	if (p == 2) c='*';	if (p == 3) c='\n';	putc(c, stderr);	fflush(stderr);	(void)n;	(void)arg;	}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情视频网站| 国产精品免费网站在线观看| 高清shemale亚洲人妖| 日韩电影在线观看网站| 一区二区三区毛片| 国产精品久久久一区麻豆最新章节| 国产精品的网站| 欧美电影免费观看高清完整版在| 在线精品国精品国产尤物884a| 国产一区二区三区四区五区美女 | 不卡电影免费在线播放一区| 日韩av电影一区| 天天综合色天天综合色h| 亚洲精品成人a在线观看| 亚洲欧洲国产日本综合| 亚洲欧洲日韩综合一区二区| 中文字幕+乱码+中文字幕一区| 久久综合狠狠综合久久综合88| 精品国产乱码久久久久久免费| 欧美精品色综合| 91精品国产综合久久精品app| 欧美日本高清视频在线观看| 欧美性大战久久久久久久| 欧美怡红院视频| 8v天堂国产在线一区二区| 欧美日韩国产大片| 欧美精品色综合| 日韩一区二区免费电影| 日韩欧美亚洲另类制服综合在线| 精品国产乱码久久久久久图片| 欧美成人精品二区三区99精品| 欧美成人女星排行榜| 久久久99精品久久| 中文字幕在线观看一区二区| 一区二区三区日韩在线观看| 午夜伊人狠狠久久| 看国产成人h片视频| 国产精品资源网| 99国产精品一区| 欧美日韩免费观看一区三区| 日韩欧美激情四射| 中文字幕av一区 二区| 一区二区国产视频| 免费看日韩精品| 成人网男人的天堂| 欧美日韩在线播放三区| 欧美电影免费观看高清完整版在 | 亚洲一二三级电影| 日韩电影一区二区三区| 国产成人小视频| 在线欧美一区二区| 欧美成人性福生活免费看| 中文字幕五月欧美| 日本美女一区二区| 不卡视频在线观看| 91麻豆精品国产自产在线| 26uuu精品一区二区三区四区在线| 国产精品福利av| 奇米色一区二区三区四区| 成人精品视频网站| 69久久99精品久久久久婷婷| 中文字幕一区二区三区在线观看| 天天操天天色综合| www.av精品| 久久综合九色综合97婷婷女人 | 国产精品亚洲一区二区三区妖精| 91在线国产观看| 欧美xxx久久| 亚洲国产成人91porn| 成人一级片在线观看| 制服.丝袜.亚洲.中文.综合| 国产一区二区三区观看| 91久久线看在观草草青青| 久久久蜜臀国产一区二区| 五月天婷婷综合| 一本色道a无线码一区v| 久久精品欧美一区二区三区不卡 | 精品国产一区二区三区四区四| 亚洲色欲色欲www| 国产99久久久精品| 久久综合色天天久久综合图片| 日韩在线一区二区三区| 欧美在线免费观看亚洲| 亚洲色图色小说| 成人av电影在线| 国产精品美女久久久久久久久 | 不卡电影免费在线播放一区| 久久免费看少妇高潮| 久久精品国产亚洲aⅴ| 69久久99精品久久久久婷婷| 亚洲电影在线免费观看| 在线观看91视频| 一区二区在线观看视频| 一本色道久久加勒比精品| 中文字幕亚洲电影| 色综合久久六月婷婷中文字幕| 国产精品激情偷乱一区二区∴| 国产精品乡下勾搭老头1| 久久综合久久综合久久| 国产91丝袜在线播放0| 日本一区二区三区dvd视频在线| 国产精品综合av一区二区国产馆| 久久亚洲一区二区三区四区| 国产真实乱对白精彩久久| 久久这里只精品最新地址| 国产黑丝在线一区二区三区| 国产精品日韩精品欧美在线| 成人一道本在线| 亚洲卡通欧美制服中文| 在线免费观看日本欧美| 日韩成人一级片| 精品99久久久久久| av中文字幕不卡| 五月激情六月综合| 337p日本欧洲亚洲大胆色噜噜| 国内精品写真在线观看| 中文字幕不卡在线观看| 色94色欧美sute亚洲线路二 | 久久色视频免费观看| 国产成人综合在线观看| 亚洲日本中文字幕区| 欧美日韩国产综合久久| 激情综合色播五月| 国产精品福利一区二区| 5566中文字幕一区二区电影| 国模套图日韩精品一区二区| 国产精品久久福利| 欧美一级视频精品观看| 成人黄色av网站在线| 婷婷开心久久网| 国产三级精品视频| 欧美日韩亚洲不卡| 国产99久久久精品| 日韩福利电影在线| 一区在线中文字幕| 欧美变态tickle挠乳网站| 一本高清dvd不卡在线观看 | 亚洲国产精品av| 欧美日本视频在线| 成人av动漫网站| 韩国视频一区二区| 亚洲国产一区二区三区| 中文字幕不卡一区| 欧美一二三四区在线| 91精品福利视频| 福利一区二区在线观看| 日韩国产成人精品| 亚洲日本中文字幕区| 亚洲综合色成人| 国产精品伦理一区二区| 日韩午夜av一区| 欧美精品久久久久久久久老牛影院| 久久久久亚洲综合| 色999日韩国产欧美一区二区| 精品久久人人做人人爰| 国产精品综合久久| 人人精品人人爱| 亚洲成人av在线电影| 国产精品日产欧美久久久久| 日韩视频在线永久播放| 欧美日韩高清在线| 欧洲一区在线观看| 在线中文字幕一区| 91丝袜高跟美女视频| 成人精品免费网站| 成人午夜在线免费| 国产精品夜夜嗨| 国产一区二区免费看| 久久草av在线| 人禽交欧美网站| 丝瓜av网站精品一区二区| 亚洲国产综合视频在线观看| 一区二区三区四区精品在线视频| 中文字幕欧美一| 亚洲三级免费电影| 亚洲免费在线播放| 一区二区三区成人| 一区二区三区高清在线| 亚洲一区二区在线观看视频 | av电影天堂一区二区在线| 国产乱码字幕精品高清av| 国产露脸91国语对白| 色婷婷综合久久久久中文一区二区| 成人三级伦理片| 亚洲资源中文字幕| 国产一区二区在线观看免费| 麻豆一区二区99久久久久| 欧美日韩黄色影视| 日本精品一区二区三区四区的功能| 成人h动漫精品一区二区| 97se亚洲国产综合自在线观| 色视频成人在线观看免| 欧美日韩在线直播| 日韩一级免费一区| 国产色爱av资源综合区| 亚洲欧美偷拍另类a∨色屁股| 亚洲综合免费观看高清完整版在线| 五月天亚洲精品| 精一区二区三区| 91浏览器在线视频|