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

📄 speed.c

📁 mediastreamer2是开源的网络传输媒体流的库
💻 C
📖 第 1 页 / 共 5 页
字号:
#ifndef OPENSSL_NO_AES	static const unsigned char key24[24]=		{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,		 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,		 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};	static const unsigned char key32[32]=		{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,		 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,		 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,		 0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};#endif#ifndef OPENSSL_NO_AES#define MAX_BLOCK_SIZE 128#else#define MAX_BLOCK_SIZE 64#endif	unsigned char DES_iv[8];	unsigned char iv[MAX_BLOCK_SIZE/8];#ifndef OPENSSL_NO_DES	DES_cblock *buf_as_des_cblock = NULL;	static DES_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0};	static DES_cblock key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12};	static DES_cblock key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};	DES_key_schedule sch;	DES_key_schedule sch2;	DES_key_schedule sch3;#endif#ifndef OPENSSL_NO_AES	AES_KEY aes_ks1, aes_ks2, aes_ks3;#endif#define	D_MD2		0#define	D_MDC2		1#define	D_MD4		2#define	D_MD5		3#define	D_HMAC		4#define	D_SHA1		5#define D_RMD160	6#define	D_RC4		7#define	D_CBC_DES	8#define	D_EDE3_DES	9#define	D_CBC_IDEA	10#define	D_CBC_RC2	11#define	D_CBC_RC5	12#define	D_CBC_BF	13#define	D_CBC_CAST	14#define D_CBC_128_AES	15#define D_CBC_192_AES	16#define D_CBC_256_AES	17#define D_EVP		18#define D_SHA256	19#define D_SHA512	20	double d=0.0;	long c[ALGOR_NUM][SIZE_NUM];#define	R_DSA_512	0#define	R_DSA_1024	1#define	R_DSA_2048	2#define	R_RSA_512	0#define	R_RSA_1024	1#define	R_RSA_2048	2#define	R_RSA_4096	3#define R_EC_P160    0#define R_EC_P192    1	#define R_EC_P224    2#define R_EC_P256    3#define R_EC_P384    4#define R_EC_P521    5#define R_EC_K163    6#define R_EC_K233    7#define R_EC_K283    8#define R_EC_K409    9#define R_EC_K571    10#define R_EC_B163    11#define R_EC_B233    12#define R_EC_B283    13#define R_EC_B409    14#define R_EC_B571    15#ifndef OPENSSL_NO_RSA	RSA *rsa_key[RSA_NUM];	long rsa_c[RSA_NUM][2];	static unsigned int rsa_bits[RSA_NUM]={512,1024,2048,4096};	static unsigned char *rsa_data[RSA_NUM]=		{test512,test1024,test2048,test4096};	static int rsa_data_length[RSA_NUM]={		sizeof(test512),sizeof(test1024),		sizeof(test2048),sizeof(test4096)};#endif#ifndef OPENSSL_NO_DSA	DSA *dsa_key[DSA_NUM];	long dsa_c[DSA_NUM][2];	static unsigned int dsa_bits[DSA_NUM]={512,1024,2048};#endif#ifndef OPENSSL_NO_EC	/* We only test over the following curves as they are representative, 	 * To add tests over more curves, simply add the curve NID	 * and curve name to the following arrays and increase the 	 * EC_NUM value accordingly. 	 */	static unsigned int test_curves[EC_NUM] = 	{		/* Prime Curves */	NID_secp160r1,	NID_X9_62_prime192v1,	NID_secp224r1,	NID_X9_62_prime256v1,	NID_secp384r1,	NID_secp521r1,	/* Binary Curves */	NID_sect163k1,	NID_sect233k1,	NID_sect283k1,	NID_sect409k1,	NID_sect571k1,	NID_sect163r2,	NID_sect233r1,	NID_sect283r1,	NID_sect409r1,	NID_sect571r1	}; 	static const char * test_curves_names[EC_NUM] = 	{	/* Prime Curves */	"secp160r1",	"nistp192",	"nistp224",	"nistp256",	"nistp384",	"nistp521",	/* Binary Curves */	"nistk163",	"nistk233",	"nistk283",	"nistk409",	"nistk571",	"nistb163",	"nistb233",	"nistb283",	"nistb409",	"nistb571"	};	static int test_curves_bits[EC_NUM] =        {        160, 192, 224, 256, 384, 521,        163, 233, 283, 409, 571,        163, 233, 283, 409, 571        };#endif#ifndef OPENSSL_NO_ECDSA	unsigned char ecdsasig[256];	unsigned int ecdsasiglen;	EC_KEY *ecdsa[EC_NUM];	long ecdsa_c[EC_NUM][2];#endif#ifndef OPENSSL_NO_ECDH	EC_KEY *ecdh_a[EC_NUM], *ecdh_b[EC_NUM];	unsigned char secret_a[MAX_ECDH_SIZE], secret_b[MAX_ECDH_SIZE];	int secret_size_a, secret_size_b;	int ecdh_checks = 0;	int secret_idx = 0;	long ecdh_c[EC_NUM][2];#endif	int rsa_doit[RSA_NUM];	int dsa_doit[DSA_NUM];#ifndef OPENSSL_NO_ECDSA	int ecdsa_doit[EC_NUM];#endif#ifndef OPENSSL_NO_ECDH        int ecdh_doit[EC_NUM];#endif	int doit[ALGOR_NUM];	int pr_header=0;	const EVP_CIPHER *evp_cipher=NULL;	const EVP_MD *evp_md=NULL;	int decrypt=0;#ifdef HAVE_FORK	int multi=0;#endif#ifndef TIMES	usertime=-1;#endif	apps_startup();	memset(results, 0, sizeof(results));#ifndef OPENSSL_NO_DSA	memset(dsa_key,0,sizeof(dsa_key));#endif#ifndef OPENSSL_NO_ECDSA	for (i=0; i<EC_NUM; i++) ecdsa[i] = NULL;#endif#ifndef OPENSSL_NO_ECDH	for (i=0; i<EC_NUM; i++)		{		ecdh_a[i] = NULL;		ecdh_b[i] = NULL;		}#endif	if (bio_err == NULL)		if ((bio_err=BIO_new(BIO_s_file())) != NULL)			BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);	if (!load_config(bio_err, NULL))		goto end;#ifndef OPENSSL_NO_RSA	memset(rsa_key,0,sizeof(rsa_key));	for (i=0; i<RSA_NUM; i++)		rsa_key[i]=NULL;#endif	if ((buf=(unsigned char *)OPENSSL_malloc((int)BUFSIZE)) == NULL)		{		BIO_printf(bio_err,"out of memory\n");		goto end;		}#ifndef OPENSSL_NO_DES	buf_as_des_cblock = (DES_cblock *)buf;#endif	if ((buf2=(unsigned char *)OPENSSL_malloc((int)BUFSIZE)) == NULL)		{		BIO_printf(bio_err,"out of memory\n");		goto end;		}	memset(c,0,sizeof(c));	memset(DES_iv,0,sizeof(DES_iv));	memset(iv,0,sizeof(iv));	for (i=0; i<ALGOR_NUM; i++)		doit[i]=0;	for (i=0; i<RSA_NUM; i++)		rsa_doit[i]=0;	for (i=0; i<DSA_NUM; i++)		dsa_doit[i]=0;#ifndef OPENSSL_NO_ECDSA	for (i=0; i<EC_NUM; i++)		ecdsa_doit[i]=0;#endif#ifndef OPENSSL_NO_ECDH	for (i=0; i<EC_NUM; i++)		ecdh_doit[i]=0;#endif		j=0;	argc--;	argv++;	while (argc)		{		if	((argc > 0) && (strcmp(*argv,"-elapsed") == 0))			{			usertime = 0;			j--;	/* Otherwise, -elapsed gets confused with				   an algorithm. */			}		else if	((argc > 0) && (strcmp(*argv,"-evp") == 0))			{			argc--;			argv++;			if(argc == 0)				{				BIO_printf(bio_err,"no EVP given\n");				goto end;				}			evp_cipher=EVP_get_cipherbyname(*argv);			if(!evp_cipher)				{				evp_md=EVP_get_digestbyname(*argv);				}			if(!evp_cipher && !evp_md)				{				BIO_printf(bio_err,"%s is an unknown cipher or digest\n",*argv);				goto end;				}			doit[D_EVP]=1;			}		else if (argc > 0 && !strcmp(*argv,"-decrypt"))			{			decrypt=1;			j--;	/* Otherwise, -elapsed gets confused with				   an algorithm. */			}#ifndef OPENSSL_NO_ENGINE		else if	((argc > 0) && (strcmp(*argv,"-engine") == 0))			{			argc--;			argv++;			if(argc == 0)				{				BIO_printf(bio_err,"no engine given\n");				goto end;				}                        e = setup_engine(bio_err, *argv, 0);			/* j will be increased again further down.  We just			   don't want speed to confuse an engine with an			   algorithm, especially when none is given (which			   means all of them should be run) */			j--;			}#endif#ifdef HAVE_FORK		else if	((argc > 0) && (strcmp(*argv,"-multi") == 0))			{			argc--;			argv++;			if(argc == 0)				{				BIO_printf(bio_err,"no multi count given\n");				goto end;				}			multi=atoi(argv[0]);			if(multi <= 0)			    {				BIO_printf(bio_err,"bad multi count\n");				goto end;				}							j--;	/* Otherwise, -mr gets confused with				   an algorithm. */			}#endif		else if (argc > 0 && !strcmp(*argv,"-mr"))			{			mr=1;			j--;	/* Otherwise, -mr gets confused with				   an algorithm. */			}		else#ifndef OPENSSL_NO_MD2		if	(strcmp(*argv,"md2") == 0) doit[D_MD2]=1;		else#endif#ifndef OPENSSL_NO_MDC2			if (strcmp(*argv,"mdc2") == 0) doit[D_MDC2]=1;		else#endif#ifndef OPENSSL_NO_MD4			if (strcmp(*argv,"md4") == 0) doit[D_MD4]=1;		else#endif#ifndef OPENSSL_NO_MD5			if (strcmp(*argv,"md5") == 0) doit[D_MD5]=1;		else#endif#ifndef OPENSSL_NO_MD5			if (strcmp(*argv,"hmac") == 0) doit[D_HMAC]=1;		else#endif#ifndef OPENSSL_NO_SHA			if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1;		else			if (strcmp(*argv,"sha") == 0)	doit[D_SHA1]=1,							doit[D_SHA256]=1,							doit[D_SHA512]=1;		else#ifndef OPENSSL_NO_SHA256			if (strcmp(*argv,"sha256") == 0) doit[D_SHA256]=1;		else#endif#ifndef OPENSSL_NO_SHA512			if (strcmp(*argv,"sha512") == 0) doit[D_SHA512]=1;		else#endif#endif#ifndef OPENSSL_NO_RIPEMD			if (strcmp(*argv,"ripemd") == 0) doit[D_RMD160]=1;		else			if (strcmp(*argv,"rmd160") == 0) doit[D_RMD160]=1;		else			if (strcmp(*argv,"ripemd160") == 0) doit[D_RMD160]=1;		else#endif#ifndef OPENSSL_NO_RC4			if (strcmp(*argv,"rc4") == 0) doit[D_RC4]=1;		else #endif#ifndef OPENSSL_NO_DES			if (strcmp(*argv,"des-cbc") == 0) doit[D_CBC_DES]=1;		else	if (strcmp(*argv,"des-ede3") == 0) doit[D_EDE3_DES]=1;		else#endif#ifndef OPENSSL_NO_AES			if (strcmp(*argv,"aes-128-cbc") == 0) doit[D_CBC_128_AES]=1;		else	if (strcmp(*argv,"aes-192-cbc") == 0) doit[D_CBC_192_AES]=1;		else	if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1;		else#endif#ifndef OPENSSL_NO_RSA#if 0 /* was: #ifdef RSAref */			if (strcmp(*argv,"rsaref") == 0) 			{			RSA_set_default_openssl_method(RSA_PKCS1_RSAref());			j--;			}		else#endif#ifndef RSA_NULL			if (strcmp(*argv,"openssl") == 0) 			{			RSA_set_default_method(RSA_PKCS1_SSLeay());			j--;			}		else#endif#endif /* !OPENSSL_NO_RSA */		     if (strcmp(*argv,"dsa512") == 0) dsa_doit[R_DSA_512]=2;		else if (strcmp(*argv,"dsa1024") == 0) dsa_doit[R_DSA_1024]=2;		else if (strcmp(*argv,"dsa2048") == 0) dsa_doit[R_DSA_2048]=2;		else if (strcmp(*argv,"rsa512") == 0) rsa_doit[R_RSA_512]=2;		else if (strcmp(*argv,"rsa1024") == 0) rsa_doit[R_RSA_1024]=2;		else if (strcmp(*argv,"rsa2048") == 0) rsa_doit[R_RSA_2048]=2;		else if (strcmp(*argv,"rsa4096") == 0) rsa_doit[R_RSA_4096]=2;		else#ifndef OPENSSL_NO_RC2		     if (strcmp(*argv,"rc2-cbc") == 0) doit[D_CBC_RC2]=1;		else if (strcmp(*argv,"rc2") == 0) doit[D_CBC_RC2]=1;		else#endif#ifndef OPENSSL_NO_RC5		     if (strcmp(*argv,"rc5-cbc") == 0) doit[D_CBC_RC5]=1;		else if (strcmp(*argv,"rc5") == 0) doit[D_CBC_RC5]=1;		else#endif#ifndef OPENSSL_NO_IDEA		     if (strcmp(*argv,"idea-cbc") == 0) doit[D_CBC_IDEA]=1;		else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1;		else#endif#ifndef OPENSSL_NO_BF		     if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1;		else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1;		else if (strcmp(*argv,"bf") == 0) doit[D_CBC_BF]=1;		else#endif#ifndef OPENSSL_NO_CAST		     if (strcmp(*argv,"cast-cbc") == 0) doit[D_CBC_CAST]=1;		else if (strcmp(*argv,"cast") == 0) doit[D_CBC_CAST]=1;		else if (strcmp(*argv,"cast5") == 0) doit[D_CBC_CAST]=1;		else#endif#ifndef OPENSSL_NO_DES			if (strcmp(*argv,"des") == 0)			{			doit[D_CBC_DES]=1;			doit[D_EDE3_DES]=1;			}		else#endif#ifndef OPENSSL_NO_AES			if (strcmp(*argv,"aes") == 0)			{			doit[D_CBC_128_AES]=1;			doit[D_CBC_192_AES]=1;			doit[D_CBC_256_AES]=1;			}		else#endif#ifndef OPENSSL_NO_RSA			if (strcmp(*argv,"rsa") == 0)			{			rsa_doit[R_RSA_512]=1;			rsa_doit[R_RSA_1024]=1;			rsa_doit[R_RSA_2048]=1;			rsa_doit[R_RSA_4096]=1;			}		else#endif#ifndef OPENSSL_NO_DSA			if (strcmp(*argv,"dsa") == 0)			{			dsa_doit[R_DSA_512]=1;			dsa_doit[R_DSA_1024]=1;			dsa_doit[R_DSA_2048]=1;			}		else#endif#ifndef OPENSSL_NO_ECDSA		     if (strcmp(*argv,"ecdsap160") == 0) ecdsa_doit[R_EC_P160]=2;		else if (strcmp(*argv,"ecdsap192") == 0) ecdsa_doit[R_EC_P192]=2;		else if (strcmp(*argv,"ecdsap224") == 0) ecdsa_doit[R_EC_P224]=2;		else if (strcmp(*argv,"ecdsap256") == 0) ecdsa_doit[R_EC_P256]=2;		else if (strcmp(*argv,"ecdsap384") == 0) ecdsa_doit[R_EC_P384]=2;		else if (strcmp(*argv,"ecdsap521") == 0) ecdsa_doit[R_EC_P521]=2;		else if (strcmp(*argv,"ecdsak163") == 0) ecdsa_doit[R_EC_K163]=2;		else if (strcmp(*argv,"ecdsak233") == 0) ecdsa_doit[R_EC_K233]=2;		else if (strcmp(*argv,"ecdsak283") == 0) ecdsa_doit[R_EC_K283]=2;		else if (strcmp(*argv,"ecdsak409") == 0) ecdsa_doit[R_EC_K409]=2;		else if (strcmp(*argv,"ecdsak571") == 0) ecdsa_doit[R_EC_K571]=2;		else if (strcmp(*argv,"ecdsab163") == 0) ecdsa_doit[R_EC_B163]=2;		else if (strcmp(*argv,"ecdsab233") == 0) ecdsa_doit[R_EC_B233]=2;		else if (strcmp(*argv,"ecdsab283") == 0) ecdsa_doit[R_EC_B283]=2;		else if (strcmp(*argv,"ecdsab409") == 0) ecdsa_doit[R_EC_B409]=2;		else if (strcmp(*argv,"ecdsab571") == 0) ecdsa_doit[R_EC_B571]=2;		else if (strcmp(*argv,"ecdsa") == 0)			{			for (i=0; i < EC_NUM; i++)				ecdsa_doit[i]=1;			}		else#endif#ifndef OPENSSL_NO_ECDH		     if (strcmp(*argv,"ecdhp160") == 0) ecdh_doit[R_EC_P160]=2;		else if (strcmp(*argv,"ecdhp192") == 0) ecdh_doit[R_EC_P192]=2;		else if (strcmp(*argv,"ecdhp224") == 0) ecdh_doit[R_EC_P224]=2;		else if (strcmp(*argv,"ecdhp256") == 0) ecdh_doit[R_EC_P256]=2;		else if (strcmp(*argv,"ecdhp384") == 0) ecdh_doit[R_EC_P384]=2;		else if (strcmp(*argv,"ecdhp521") == 0) ecdh_doit[R_EC_P521]=2;		else if (strcmp(*argv,"ecdhk163") == 0) ecdh_doit[R_EC_K163]=2;		else if (strcmp(*argv,"ecdhk233") == 0) ecdh_doit[R_EC_K233]=2;		else if (strcmp(*argv,"ecdhk283") == 0) ecdh_doit[R_EC_K283]=2;		else if (strcmp(*argv,"ecdhk409") == 0) ecdh_doit[R_EC_K409]=2;		else if (strcmp(*argv,"ecdhk571") == 0) ecdh_doit[R_EC_K571]=2;		else if (strcmp(*argv,"ecdhb163") == 0) ecdh_doit[R_EC_B163]=2;		else if (strcmp(*argv,"ecdhb233") == 0) ecdh_doit[R_EC_B233]=2;		else if (strcmp(*argv,"ecdhb283") == 0) ecdh_doit[R_EC_B283]=2;		else if (strcmp(*argv,"ecdhb409") == 0) ecdh_doit[R_EC_B409]=2;		else if (strcmp(*argv,"ecdhb571") == 0) ecdh_doit[R_EC_B571]=2;		else if (strcmp(*argv,"ecdh") == 0)			{			for (i=0; i < EC_NUM; i++)				ecdh_doit[i]=1;			}		else#endif			{			BIO_printf(bio_err,"Error: bad option or value\n");			BIO_printf(bio_err,"\n");			BIO_printf(bio_err,"Available values:\n");#ifndef OPENSSL_NO_MD2			BIO_printf(bio_err,"md2      ");#endif#ifndef OPENSSL_NO_MDC2			BIO_printf(bio_err,"mdc2     ");

⌨️ 快捷键说明

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