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

📄 speed.c

📁 mediastreamer2是开源的网络传输媒体流的库
💻 C
📖 第 1 页 / 共 5 页
字号:
			Time_F(START);			for (count=0,run=1; COND(c[D_SHA256][j]); count++)				SHA256(buf,lengths[j],sha256);			d=Time_F(STOP);			print_result(D_SHA256,j,count,d);			}		}#endif#ifndef OPENSSL_NO_SHA512	if (doit[D_SHA512])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_SHA512],c[D_SHA512][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_SHA512][j]); count++)				SHA512(buf,lengths[j],sha512);			d=Time_F(STOP);			print_result(D_SHA512,j,count,d);			}		}#endif#endif#ifndef OPENSSL_NO_RIPEMD	if (doit[D_RMD160])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_RMD160],c[D_RMD160][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_RMD160][j]); count++)				EVP_Digest(buf,(unsigned long)lengths[j],&(rmd160[0]),NULL,EVP_ripemd160(),NULL);			d=Time_F(STOP);			print_result(D_RMD160,j,count,d);			}		}#endif#ifndef OPENSSL_NO_RC4	if (doit[D_RC4])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_RC4],c[D_RC4][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_RC4][j]); count++)				RC4(&rc4_ks,(unsigned int)lengths[j],					buf,buf);			d=Time_F(STOP);			print_result(D_RC4,j,count,d);			}		}#endif#ifndef OPENSSL_NO_DES	if (doit[D_CBC_DES])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_DES],c[D_CBC_DES][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_DES][j]); count++)				DES_ncbc_encrypt(buf,buf,lengths[j],&sch,						 &DES_iv,DES_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_DES,j,count,d);			}		}	if (doit[D_EDE3_DES])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_EDE3_DES],c[D_EDE3_DES][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_EDE3_DES][j]); count++)				DES_ede3_cbc_encrypt(buf,buf,lengths[j],						     &sch,&sch2,&sch3,						     &DES_iv,DES_ENCRYPT);			d=Time_F(STOP);			print_result(D_EDE3_DES,j,count,d);			}		}#endif#ifndef OPENSSL_NO_AES	if (doit[D_CBC_128_AES])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_128_AES],c[D_CBC_128_AES][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_128_AES][j]); count++)				AES_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&aes_ks1,					iv,AES_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_128_AES,j,count,d);			}		}	if (doit[D_CBC_192_AES])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_192_AES],c[D_CBC_192_AES][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_192_AES][j]); count++)				AES_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&aes_ks2,					iv,AES_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_192_AES,j,count,d);			}		}	if (doit[D_CBC_256_AES])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_256_AES],c[D_CBC_256_AES][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_256_AES][j]); count++)				AES_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&aes_ks3,					iv,AES_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_256_AES,j,count,d);			}		}#endif#ifndef OPENSSL_NO_IDEA	if (doit[D_CBC_IDEA])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_IDEA],c[D_CBC_IDEA][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_IDEA][j]); count++)				idea_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&idea_ks,					iv,IDEA_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_IDEA,j,count,d);			}		}#endif#ifndef OPENSSL_NO_RC2	if (doit[D_CBC_RC2])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_RC2],c[D_CBC_RC2][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_RC2][j]); count++)				RC2_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&rc2_ks,					iv,RC2_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_RC2,j,count,d);			}		}#endif#ifndef OPENSSL_NO_RC5	if (doit[D_CBC_RC5])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_RC5],c[D_CBC_RC5][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_RC5][j]); count++)				RC5_32_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&rc5_ks,					iv,RC5_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_RC5,j,count,d);			}		}#endif#ifndef OPENSSL_NO_BF	if (doit[D_CBC_BF])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_BF],c[D_CBC_BF][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_BF][j]); count++)				BF_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&bf_ks,					iv,BF_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_BF,j,count,d);			}		}#endif#ifndef OPENSSL_NO_CAST	if (doit[D_CBC_CAST])		{		for (j=0; j<SIZE_NUM; j++)			{			print_message(names[D_CBC_CAST],c[D_CBC_CAST][j],lengths[j]);			Time_F(START);			for (count=0,run=1; COND(c[D_CBC_CAST][j]); count++)				CAST_cbc_encrypt(buf,buf,					(unsigned long)lengths[j],&cast_ks,					iv,CAST_ENCRYPT);			d=Time_F(STOP);			print_result(D_CBC_CAST,j,count,d);			}		}#endif	if (doit[D_EVP])		{		for (j=0; j<SIZE_NUM; j++)			{			if (evp_cipher)				{				EVP_CIPHER_CTX ctx;				int outl;				names[D_EVP]=OBJ_nid2ln(evp_cipher->nid);				/* -O3 -fschedule-insns messes up an				 * optimization here!  names[D_EVP]				 * somehow becomes NULL */				print_message(names[D_EVP],save_count,					lengths[j]);				EVP_CIPHER_CTX_init(&ctx);				if(decrypt)					EVP_DecryptInit_ex(&ctx,evp_cipher,NULL,key16,iv);				else					EVP_EncryptInit_ex(&ctx,evp_cipher,NULL,key16,iv);				EVP_CIPHER_CTX_set_padding(&ctx, 0);				Time_F(START);				if(decrypt)					for (count=0,run=1; COND(save_count*4*lengths[0]/lengths[j]); count++)						EVP_DecryptUpdate(&ctx,buf,&outl,buf,lengths[j]);				else					for (count=0,run=1; COND(save_count*4*lengths[0]/lengths[j]); count++)						EVP_EncryptUpdate(&ctx,buf,&outl,buf,lengths[j]);				if(decrypt)					EVP_DecryptFinal_ex(&ctx,buf,&outl);				else					EVP_EncryptFinal_ex(&ctx,buf,&outl);				d=Time_F(STOP);				EVP_CIPHER_CTX_cleanup(&ctx);				}			if (evp_md)				{				names[D_EVP]=OBJ_nid2ln(evp_md->type);				print_message(names[D_EVP],save_count,					lengths[j]);				Time_F(START);				for (count=0,run=1; COND(save_count*4*lengths[0]/lengths[j]); count++)					EVP_Digest(buf,lengths[j],&(md[0]),NULL,evp_md,NULL);				d=Time_F(STOP);				}			print_result(D_EVP,j,count,d);			}		}	RAND_pseudo_bytes(buf,36);#ifndef OPENSSL_NO_RSA	for (j=0; j<RSA_NUM; j++)		{		int ret;		if (!rsa_doit[j]) continue;		ret=RSA_sign(NID_md5_sha1, buf,36, buf2, &rsa_num, rsa_key[j]);		if (ret == 0)			{			BIO_printf(bio_err,"RSA sign failure.  No RSA sign will be done.\n");			ERR_print_errors(bio_err);			rsa_count=1;			}		else			{			pkey_print_message("private","rsa",				rsa_c[j][0],rsa_bits[j],				RSA_SECONDS);/*			RSA_blinding_on(rsa_key[j],NULL); */			Time_F(START);			for (count=0,run=1; COND(rsa_c[j][0]); count++)				{				ret=RSA_sign(NID_md5_sha1, buf,36, buf2,					&rsa_num, rsa_key[j]);				if (ret == 0)					{					BIO_printf(bio_err,						"RSA sign failure\n");					ERR_print_errors(bio_err);					count=1;					break;					}				}			d=Time_F(STOP);			BIO_printf(bio_err,mr ? "+R1:%ld:%d:%.2f\n"				   : "%ld %d bit private RSA's in %.2fs\n",				   count,rsa_bits[j],d);			rsa_results[j][0]=d/(double)count;			rsa_count=count;			}#if 1		ret=RSA_verify(NID_md5_sha1, buf,36, buf2, rsa_num, rsa_key[j]);		if (ret <= 0)			{			BIO_printf(bio_err,"RSA verify failure.  No RSA verify will be done.\n");			ERR_print_errors(bio_err);			rsa_doit[j] = 0;			}		else			{			pkey_print_message("public","rsa",				rsa_c[j][1],rsa_bits[j],				RSA_SECONDS);			Time_F(START);			for (count=0,run=1; COND(rsa_c[j][1]); count++)				{				ret=RSA_verify(NID_md5_sha1, buf,36, buf2,					rsa_num, rsa_key[j]);				if (ret == 0)					{					BIO_printf(bio_err,						"RSA verify failure\n");					ERR_print_errors(bio_err);					count=1;					break;					}				}			d=Time_F(STOP);			BIO_printf(bio_err,mr ? "+R2:%ld:%d:%.2f\n"				   : "%ld %d bit public RSA's in %.2fs\n",				   count,rsa_bits[j],d);			rsa_results[j][1]=d/(double)count;			}#endif		if (rsa_count <= 1)			{			/* if longer than 10s, don't do any more */			for (j++; j<RSA_NUM; j++)				rsa_doit[j]=0;			}		}#endif	RAND_pseudo_bytes(buf,20);#ifndef OPENSSL_NO_DSA	if (RAND_status() != 1)		{		RAND_seed(rnd_seed, sizeof rnd_seed);		rnd_fake = 1;		}	for (j=0; j<DSA_NUM; j++)		{		unsigned int kk;		int ret;		if (!dsa_doit[j]) continue;/*		DSA_generate_key(dsa_key[j]); *//*		DSA_sign_setup(dsa_key[j],NULL); */		ret=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,			&kk,dsa_key[j]);		if (ret == 0)			{			BIO_printf(bio_err,"DSA sign failure.  No DSA sign will be done.\n");			ERR_print_errors(bio_err);			rsa_count=1;			}		else			{			pkey_print_message("sign","dsa",				dsa_c[j][0],dsa_bits[j],				DSA_SECONDS);			Time_F(START);			for (count=0,run=1; COND(dsa_c[j][0]); count++)				{				ret=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,					&kk,dsa_key[j]);				if (ret == 0)					{					BIO_printf(bio_err,						"DSA sign failure\n");					ERR_print_errors(bio_err);					count=1;					break;					}				}			d=Time_F(STOP);			BIO_printf(bio_err,mr ? "+R3:%ld:%d:%.2f\n"				   : "%ld %d bit DSA signs in %.2fs\n",				   count,dsa_bits[j],d);			dsa_results[j][0]=d/(double)count;			rsa_count=count;			}		ret=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,			kk,dsa_key[j]);		if (ret <= 0)			{			BIO_printf(bio_err,"DSA verify failure.  No DSA verify will be done.\n");			ERR_print_errors(bio_err);			dsa_doit[j] = 0;			}		else			{			pkey_print_message("verify","dsa",				dsa_c[j][1],dsa_bits[j],				DSA_SECONDS);			Time_F(START);			for (count=0,run=1; COND(dsa_c[j][1]); count++)				{				ret=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,					kk,dsa_key[j]);				if (ret <= 0)					{					BIO_printf(bio_err,						"DSA verify failure\n");					ERR_print_errors(bio_err);					count=1;					break;					}				}			d=Time_F(STOP);			BIO_printf(bio_err,mr ? "+R4:%ld:%d:%.2f\n"				   : "%ld %d bit DSA verify in %.2fs\n",				   count,dsa_bits[j],d);			dsa_results[j][1]=d/(double)count;			}		if (rsa_count <= 1)			{			/* if longer than 10s, don't do any more */			for (j++; j<DSA_NUM; j++)				dsa_doit[j]=0;			}		}	if (rnd_fake) RAND_cleanup();#endif#ifndef OPENSSL_NO_ECDSA	if (RAND_status() != 1) 		{		RAND_seed(rnd_seed, sizeof rnd_seed);		rnd_fake = 1;		}	for (j=0; j<EC_NUM; j++) 		{		int ret;		if (!ecdsa_doit[j]) continue; /* Ignore Curve */ 		ecdsa[j] = EC_KEY_new_by_curve_name(test_curves[j]);		if (ecdsa[j] == NULL) 			{			BIO_printf(bio_err,"ECDSA failure.\n");			ERR_print_errors(bio_err);			rsa_count=1;			} 		else 			{#if 1			EC_KEY_precompute_mult(ecdsa[j], NULL);#endif			/* Perform ECDSA signature test */			EC_KEY_generate_key(ecdsa[j]);			ret = ECDSA_sign(0, buf, 20, ecdsasig, 				&ecdsasiglen, ecdsa[j]);			if (ret == 0) 				{				BIO_printf(bio_err,"ECDSA sign failure.  No ECDSA sign will be done.\n");				ERR_print_errors(bio_err);				rsa_count=1;				} 			else 				{				pkey_print_message("sign","ecdsa",					ecdsa_c[j][0], 					test_curves_bits[j],					ECDSA_SECONDS);				Time_F(START);				for (count=0,run=1; COND(ecdsa_c[j][0]);					count++) 					{					ret=ECDSA_sign(0, buf, 20, 						ecdsasig, &ecdsasiglen,						ecdsa[j]);					if (ret == 0) 						{						BIO_printf(bio_err, "ECDSA sign failure\n");						ERR_print_errors(bio_err);						count=1;						break;						}					}				d=Time_F(STOP);				BIO_printf(bio_err, mr ? "+R5:%ld:%d:%.2f\n" :					"%ld %d bit ECDSA signs in %.2fs \n", 					count, test_curves_bits[j], d);				ecdsa_results[j][0]=d/(double)count;				rsa_count=count;				}			/* Perform ECDSA verification test */			ret=ECDSA_verify(0, buf, 20, ecdsasig, 				ecdsasiglen, ecdsa[j]);			if (ret != 1) 				{				BIO_printf(bio_err,"ECDSA verify failure.  No ECDSA verify will be done.\n");				ERR_print_errors(bio_err);				ecdsa_doit[j] = 0;				} 			else 				{				pkey_print_message("verify","ecdsa",				ecdsa_c[j][1],				test_curves_bits[j],				ECDSA_SECONDS);				Time_F(START);				for (count=0,run=1; COND(ecdsa_c[j][1]); count++) 					{					ret=ECDSA_verify(0, buf, 20, ecdsasig, ecdsasiglen, ecdsa[j]);					if (ret != 1) 						{						BIO_printf(bio_err, "ECDSA verify failure\n");						ERR_print_errors(bio_err);						count=1;						break;						}					}				d=Time_F(STOP);				BIO_printf(bio_err, mr? "+R6:%ld:%d:%.2f\n"						: "%ld %d bit ECDSA verify in %.2fs\n",				count, test_curves_bits[j], d);				ecdsa_results[j][1]=d/(double)count;				}

⌨️ 快捷键说明

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