⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speed.c

📁 mediastreamer2是开源的网络传输媒体流的库
💻 C
📖 第 1 页 / 共 5 页
字号:
#endif#ifndef OPENSSL_NO_MD4			BIO_printf(bio_err,"md4      ");#endif#ifndef OPENSSL_NO_MD5			BIO_printf(bio_err,"md5      ");#ifndef OPENSSL_NO_HMAC			BIO_printf(bio_err,"hmac     ");#endif#endif#ifndef OPENSSL_NO_SHA1			BIO_printf(bio_err,"sha1     ");#endif#ifndef OPENSSL_NO_SHA256			BIO_printf(bio_err,"sha256   ");#endif#ifndef OPENSSL_NO_SHA512			BIO_printf(bio_err,"sha512   ");#endif#ifndef OPENSSL_NO_RIPEMD160			BIO_printf(bio_err,"rmd160");#endif#if !defined(OPENSSL_NO_MD2) || !defined(OPENSSL_NO_MDC2) || \    !defined(OPENSSL_NO_MD4) || !defined(OPENSSL_NO_MD5) || \    !defined(OPENSSL_NO_SHA1) || !defined(OPENSSL_NO_RIPEMD160)			BIO_printf(bio_err,"\n");#endif#ifndef OPENSSL_NO_IDEA			BIO_printf(bio_err,"idea-cbc ");#endif#ifndef OPENSSL_NO_RC2			BIO_printf(bio_err,"rc2-cbc  ");#endif#ifndef OPENSSL_NO_RC5			BIO_printf(bio_err,"rc5-cbc  ");#endif#ifndef OPENSSL_NO_BF			BIO_printf(bio_err,"bf-cbc");#endif#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \    !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_RC5)			BIO_printf(bio_err,"\n");#endif#ifndef OPENSSL_NO_DES			BIO_printf(bio_err,"des-cbc  des-ede3 ");#endif#ifndef OPENSSL_NO_AES			BIO_printf(bio_err,"aes-128-cbc aes-192-cbc aes-256-cbc ");#endif#ifndef OPENSSL_NO_RC4			BIO_printf(bio_err,"rc4");#endif			BIO_printf(bio_err,"\n");#ifndef OPENSSL_NO_RSA			BIO_printf(bio_err,"rsa512   rsa1024  rsa2048  rsa4096\n");#endif#ifndef OPENSSL_NO_DSA			BIO_printf(bio_err,"dsa512   dsa1024  dsa2048\n");#endif#ifndef OPENSSL_NO_ECDSA			BIO_printf(bio_err,"ecdsap160 ecdsap192 ecdsap224 ecdsap256 ecdsap384 ecdsap521\n");			BIO_printf(bio_err,"ecdsak163 ecdsak233 ecdsak283 ecdsak409 ecdsak571\n");			BIO_printf(bio_err,"ecdsab163 ecdsab233 ecdsab283 ecdsab409 ecdsab571\n");			BIO_printf(bio_err,"ecdsa\n");#endif#ifndef OPENSSL_NO_ECDH			BIO_printf(bio_err,"ecdhp160  ecdhp192  ecdhp224  ecdhp256  ecdhp384  ecdhp521\n");			BIO_printf(bio_err,"ecdhk163  ecdhk233  ecdhk283  ecdhk409  ecdhk571\n");			BIO_printf(bio_err,"ecdhb163  ecdhb233  ecdhb283  ecdhb409  ecdhb571\n");			BIO_printf(bio_err,"ecdh\n");#endif#ifndef OPENSSL_NO_IDEA			BIO_printf(bio_err,"idea     ");#endif#ifndef OPENSSL_NO_RC2			BIO_printf(bio_err,"rc2      ");#endif#ifndef OPENSSL_NO_DES			BIO_printf(bio_err,"des      ");#endif#ifndef OPENSSL_NO_AES			BIO_printf(bio_err,"aes      ");#endif#ifndef OPENSSL_NO_RSA			BIO_printf(bio_err,"rsa      ");#endif#ifndef OPENSSL_NO_BF			BIO_printf(bio_err,"blowfish");#endif#if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \    !defined(OPENSSL_NO_DES) || !defined(OPENSSL_NO_RSA) || \    !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES)			BIO_printf(bio_err,"\n");#endif			BIO_printf(bio_err,"\n");			BIO_printf(bio_err,"Available options:\n");#if defined(TIMES) || defined(USE_TOD)			BIO_printf(bio_err,"-elapsed        measure time in real time instead of CPU user time.\n");#endif#ifndef OPENSSL_NO_ENGINE			BIO_printf(bio_err,"-engine e       use engine e, possibly a hardware device.\n");#endif			BIO_printf(bio_err,"-evp e          use EVP e.\n");			BIO_printf(bio_err,"-decrypt        time decryption instead of encryption (only EVP).\n");			BIO_printf(bio_err,"-mr             produce machine readable output.\n");#ifdef HAVE_FORK			BIO_printf(bio_err,"-multi n        run n benchmarks in parallel.\n");#endif			goto end;			}		argc--;		argv++;		j++;		}#ifdef HAVE_FORK	if(multi && do_multi(multi))		goto show_res;#endif	if (j == 0)		{		for (i=0; i<ALGOR_NUM; i++)			{			if (i != D_EVP)				doit[i]=1;			}		for (i=0; i<RSA_NUM; i++)			rsa_doit[i]=1;		for (i=0; i<DSA_NUM; i++)			dsa_doit[i]=1;		}	for (i=0; i<ALGOR_NUM; i++)		if (doit[i]) pr_header++;	if (usertime == 0 && !mr)		BIO_printf(bio_err,"You have chosen to measure elapsed time instead of user CPU time.\n");	if (usertime <= 0 && !mr)		{		BIO_printf(bio_err,"To get the most accurate results, try to run this\n");		BIO_printf(bio_err,"program when this computer is idle.\n");		}#ifndef OPENSSL_NO_RSA	for (i=0; i<RSA_NUM; i++)		{		const unsigned char *p;		p=rsa_data[i];		rsa_key[i]=d2i_RSAPrivateKey(NULL,&p,rsa_data_length[i]);		if (rsa_key[i] == NULL)			{			BIO_printf(bio_err,"internal error loading RSA key number %d\n",i);			goto end;			}#if 0		else			{			BIO_printf(bio_err,mr ? "+RK:%d:"				   : "Loaded RSA key, %d bit modulus and e= 0x",				   BN_num_bits(rsa_key[i]->n));			BN_print(bio_err,rsa_key[i]->e);			BIO_printf(bio_err,"\n");			}#endif		}#endif#ifndef OPENSSL_NO_DSA	dsa_key[0]=get_dsa512();	dsa_key[1]=get_dsa1024();	dsa_key[2]=get_dsa2048();#endif#ifndef OPENSSL_NO_DES	DES_set_key_unchecked(&key,&sch);	DES_set_key_unchecked(&key2,&sch2);	DES_set_key_unchecked(&key3,&sch3);#endif#ifndef OPENSSL_NO_AES	AES_set_encrypt_key(key16,128,&aes_ks1);	AES_set_encrypt_key(key24,192,&aes_ks2);	AES_set_encrypt_key(key32,256,&aes_ks3);#endif#ifndef OPENSSL_NO_IDEA	idea_set_encrypt_key(key16,&idea_ks);#endif#ifndef OPENSSL_NO_RC4	RC4_set_key(&rc4_ks,16,key16);#endif#ifndef OPENSSL_NO_RC2	RC2_set_key(&rc2_ks,16,key16,128);#endif#ifndef OPENSSL_NO_RC5	RC5_32_set_key(&rc5_ks,16,key16,12);#endif#ifndef OPENSSL_NO_BF	BF_set_key(&bf_ks,16,key16);#endif#ifndef OPENSSL_NO_CAST	CAST_set_key(&cast_ks,16,key16);#endif#ifndef OPENSSL_NO_RSA	memset(rsa_c,0,sizeof(rsa_c));#endif#ifndef SIGALRM#ifndef OPENSSL_NO_DES	BIO_printf(bio_err,"First we calculate the approximate speed ...\n");	count=10;	do	{		long it;		count*=2;		Time_F(START);		for (it=count; it; it--)			DES_ecb_encrypt(buf_as_des_cblock,buf_as_des_cblock,				&sch,DES_ENCRYPT);		d=Time_F(STOP);		} while (d <3);	save_count=count;	c[D_MD2][0]=count/10;	c[D_MDC2][0]=count/10;	c[D_MD4][0]=count;	c[D_MD5][0]=count;	c[D_HMAC][0]=count;	c[D_SHA1][0]=count;	c[D_RMD160][0]=count;	c[D_RC4][0]=count*5;	c[D_CBC_DES][0]=count;	c[D_EDE3_DES][0]=count/3;	c[D_CBC_IDEA][0]=count;	c[D_CBC_RC2][0]=count;	c[D_CBC_RC5][0]=count;	c[D_CBC_BF][0]=count;	c[D_CBC_CAST][0]=count;	c[D_CBC_128_AES][0]=count;	c[D_CBC_192_AES][0]=count;	c[D_CBC_256_AES][0]=count;	c[D_SHA256][0]=count;	c[D_SHA512][0]=count;	for (i=1; i<SIZE_NUM; i++)		{		c[D_MD2][i]=c[D_MD2][0]*4*lengths[0]/lengths[i];		c[D_MDC2][i]=c[D_MDC2][0]*4*lengths[0]/lengths[i];		c[D_MD4][i]=c[D_MD4][0]*4*lengths[0]/lengths[i];		c[D_MD5][i]=c[D_MD5][0]*4*lengths[0]/lengths[i];		c[D_HMAC][i]=c[D_HMAC][0]*4*lengths[0]/lengths[i];		c[D_SHA1][i]=c[D_SHA1][0]*4*lengths[0]/lengths[i];		c[D_RMD160][i]=c[D_RMD160][0]*4*lengths[0]/lengths[i];		c[D_SHA256][i]=c[D_SHA256][0]*4*lengths[0]/lengths[i];		c[D_SHA512][i]=c[D_SHA512][0]*4*lengths[0]/lengths[i];		}	for (i=1; i<SIZE_NUM; i++)		{		long l0,l1;		l0=(long)lengths[i-1];		l1=(long)lengths[i];		c[D_RC4][i]=c[D_RC4][i-1]*l0/l1;		c[D_CBC_DES][i]=c[D_CBC_DES][i-1]*l0/l1;		c[D_EDE3_DES][i]=c[D_EDE3_DES][i-1]*l0/l1;		c[D_CBC_IDEA][i]=c[D_CBC_IDEA][i-1]*l0/l1;		c[D_CBC_RC2][i]=c[D_CBC_RC2][i-1]*l0/l1;		c[D_CBC_RC5][i]=c[D_CBC_RC5][i-1]*l0/l1;		c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1;		c[D_CBC_CAST][i]=c[D_CBC_CAST][i-1]*l0/l1;		c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1;		c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1;		c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1;		}#ifndef OPENSSL_NO_RSA	rsa_c[R_RSA_512][0]=count/2000;	rsa_c[R_RSA_512][1]=count/400;	for (i=1; i<RSA_NUM; i++)		{		rsa_c[i][0]=rsa_c[i-1][0]/8;		rsa_c[i][1]=rsa_c[i-1][1]/4;		if ((rsa_doit[i] <= 1) && (rsa_c[i][0] == 0))			rsa_doit[i]=0;		else			{			if (rsa_c[i][0] == 0)				{				rsa_c[i][0]=1;				rsa_c[i][1]=20;				}			}						}#endif#ifndef OPENSSL_NO_DSA	dsa_c[R_DSA_512][0]=count/1000;	dsa_c[R_DSA_512][1]=count/1000/2;	for (i=1; i<DSA_NUM; i++)		{		dsa_c[i][0]=dsa_c[i-1][0]/4;		dsa_c[i][1]=dsa_c[i-1][1]/4;		if ((dsa_doit[i] <= 1) && (dsa_c[i][0] == 0))			dsa_doit[i]=0;		else			{			if (dsa_c[i] == 0)				{				dsa_c[i][0]=1;				dsa_c[i][1]=1;				}			}						}#endif#ifndef OPENSSL_NO_ECDSA	ecdsa_c[R_EC_P160][0]=count/1000;	ecdsa_c[R_EC_P160][1]=count/1000/2;	for (i=R_EC_P192; i<=R_EC_P521; i++)		{		ecdsa_c[i][0]=ecdsa_c[i-1][0]/2;		ecdsa_c[i][1]=ecdsa_c[i-1][1]/2;		if ((ecdsa_doit[i] <= 1) && (ecdsa_c[i][0] == 0))			ecdsa_doit[i]=0;		else			{			if (ecdsa_c[i] == 0)				{				ecdsa_c[i][0]=1;				ecdsa_c[i][1]=1;				}			}		}	ecdsa_c[R_EC_K163][0]=count/1000;	ecdsa_c[R_EC_K163][1]=count/1000/2;	for (i=R_EC_K233; i<=R_EC_K571; i++)		{		ecdsa_c[i][0]=ecdsa_c[i-1][0]/2;		ecdsa_c[i][1]=ecdsa_c[i-1][1]/2;		if ((ecdsa_doit[i] <= 1) && (ecdsa_c[i][0] == 0))			ecdsa_doit[i]=0;		else			{			if (ecdsa_c[i] == 0)				{				ecdsa_c[i][0]=1;				ecdsa_c[i][1]=1;				}			}		}	ecdsa_c[R_EC_B163][0]=count/1000;	ecdsa_c[R_EC_B163][1]=count/1000/2;	for (i=R_EC_B233; i<=R_EC_B571; i++)		{		ecdsa_c[i][0]=ecdsa_c[i-1][0]/2;		ecdsa_c[i][1]=ecdsa_c[i-1][1]/2;		if ((ecdsa_doit[i] <= 1) && (ecdsa_c[i][0] == 0))			ecdsa_doit[i]=0;		else			{			if (ecdsa_c[i] == 0)				{				ecdsa_c[i][0]=1;				ecdsa_c[i][1]=1;				}			}		}#endif#ifndef OPENSSL_NO_ECDH	ecdh_c[R_EC_P160][0]=count/1000;	ecdh_c[R_EC_P160][1]=count/1000;	for (i=R_EC_P192; i<=R_EC_P521; i++)		{		ecdh_c[i][0]=ecdh_c[i-1][0]/2;		ecdh_c[i][1]=ecdh_c[i-1][1]/2;		if ((ecdh_doit[i] <= 1) && (ecdh_c[i][0] == 0))			ecdh_doit[i]=0;		else			{			if (ecdh_c[i] == 0)				{				ecdh_c[i][0]=1;				ecdh_c[i][1]=1;				}			}		}	ecdh_c[R_EC_K163][0]=count/1000;	ecdh_c[R_EC_K163][1]=count/1000;	for (i=R_EC_K233; i<=R_EC_K571; i++)		{		ecdh_c[i][0]=ecdh_c[i-1][0]/2;		ecdh_c[i][1]=ecdh_c[i-1][1]/2;		if ((ecdh_doit[i] <= 1) && (ecdh_c[i][0] == 0))			ecdh_doit[i]=0;		else			{			if (ecdh_c[i] == 0)				{				ecdh_c[i][0]=1;				ecdh_c[i][1]=1;				}			}		}	ecdh_c[R_EC_B163][0]=count/1000;	ecdh_c[R_EC_B163][1]=count/1000;	for (i=R_EC_B233; i<=R_EC_B571; i++)		{		ecdh_c[i][0]=ecdh_c[i-1][0]/2;		ecdh_c[i][1]=ecdh_c[i-1][1]/2;		if ((ecdh_doit[i] <= 1) && (ecdh_c[i][0] == 0))			ecdh_doit[i]=0;		else			{			if (ecdh_c[i] == 0)				{				ecdh_c[i][0]=1;				ecdh_c[i][1]=1;				}			}		}#endif#define COND(d)	(count < (d))#define COUNT(d) (d)#else/* not worth fixing */# error "You cannot disable DES on systems without SIGALRM."#endif /* OPENSSL_NO_DES */#else#define COND(c)	(run)#define COUNT(d) (count)	signal(SIGALRM,sig_done);#endif /* SIGALRM */#ifndef OPENSSL_NO_MD2	if (doit[D_MD2])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_MD2],c[D_MD2][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_MD2][j]); count++)				EVP_Digest(buf,(unsigned long)lengths[j],&(md2[0]),NULL,EVP_md2(),NULL);			d=Time_F(STOP);			print_result(D_MD2,j,count,d);			}		}#endif#ifndef OPENSSL_NO_MDC2	if (doit[D_MDC2])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_MDC2],c[D_MDC2][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_MDC2][j]); count++)				EVP_Digest(buf,(unsigned long)lengths[j],&(mdc2[0]),NULL,EVP_mdc2(),NULL);			d=Time_F(STOP);			print_result(D_MDC2,j,count,d);			}		}#endif#ifndef OPENSSL_NO_MD4	if (doit[D_MD4])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_MD4],c[D_MD4][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_MD4][j]); count++)				EVP_Digest(&(buf[0]),(unsigned long)lengths[j],&(md4[0]),NULL,EVP_md4(),NULL);			d=Time_F(STOP);			print_result(D_MD4,j,count,d);			}		}#endif#ifndef OPENSSL_NO_MD5	if (doit[D_MD5])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_MD5],c[D_MD5][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_MD5][j]); count++)				EVP_Digest(&(buf[0]),(unsigned long)lengths[j],&(md5[0]),NULL,EVP_get_digestbyname("md5"),NULL);			d=Time_F(STOP);			print_result(D_MD5,j,count,d);			}		}#endif#if !defined(OPENSSL_NO_MD5) && !defined(OPENSSL_NO_HMAC)	if (doit[D_HMAC])		{		HMAC_CTX hctx;		HMAC_CTX_init(&hctx);		HMAC_Init_ex(&hctx,(unsigned char *)"This is a key...",			16,EVP_md5(), NULL);		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_HMAC],c[D_HMAC][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_HMAC][j]); count++)				{				HMAC_Init_ex(&hctx,NULL,0,NULL,NULL);				HMAC_Update(&hctx,buf,lengths[j]);				HMAC_Final(&hctx,&(hmac[0]),NULL);				}			d=Time_F(STOP);			print_result(D_HMAC,j,count,d);			}		HMAC_CTX_cleanup(&hctx);		}#endif#ifndef OPENSSL_NO_SHA	if (doit[D_SHA1])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_SHA1],c[D_SHA1][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_SHA1][j]); count++)				EVP_Digest(buf,(unsigned long)lengths[j],&(sha[0]),NULL,EVP_sha1(),NULL);			d=Time_F(STOP);			print_result(D_SHA1,j,count,d);			}		}#ifndef OPENSSL_NO_SHA256	if (doit[D_SHA256])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_SHA256],c[D_SHA256][j],lengths[j]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -