Example #1
0
void OpenSSL_add_all_algorithms(void)
	{
	OPENSSL_add_all_algorithms_noconf();
	}
Example #2
0
void init_crypto()
{
    OPENSSL_add_all_algorithms_noconf();
}
Example #3
0
void OPENSSL_add_all_algorithms_conf(void)
	{
	OPENSSL_add_all_algorithms_noconf();
	OPENSSL_config(NULL);
	}
Example #4
0
int main(int argc, char *argv[])
	{
	int i,err=0;
	int j;
	unsigned char *p;
	RC4_KEY key;
	unsigned char obuf[512];

	OPENSSL_add_all_algorithms_noconf();

	for (i=0; i<6; i++)
		{
		RC4_set_key(&key,keys[i][0],&(keys[i][1]));
		memset(obuf,0x00,sizeof(obuf));
		RC4(&key,data_len[i],&(data[i][0]),obuf);
		if (memcmp(obuf,output[i],data_len[i]+1) != 0)
			{
			printf("error calculating RC4\n");
			printf("output:");
			for (j=0; j<data_len[i]+1; j++)
				printf(" %02x",obuf[j]);
			printf("\n");
			printf("expect:");
			p= &(output[i][0]);
			for (j=0; j<data_len[i]+1; j++)
				printf(" %02x",*(p++));
			printf("\n");
			err++;
			}
		else
			printf("test %d ok\n",i);
		}
	printf("test end processing ");
	for (i=0; i<data_len[3]; i++)
		{
		RC4_set_key(&key,keys[3][0],&(keys[3][1]));
		memset(obuf,0x00,sizeof(obuf));
		RC4(&key,i,&(data[3][0]),obuf);
		if ((memcmp(obuf,output[3],i) != 0) || (obuf[i] != 0))
			{
			printf("error in RC4 length processing\n");
			printf("output:");
			for (j=0; j<i+1; j++)
				printf(" %02x",obuf[j]);
			printf("\n");
			printf("expect:");
			p= &(output[3][0]);
			for (j=0; j<i; j++)
				printf(" %02x",*(p++));
			printf(" 00\n");
			err++;
			}
		else
			{
			printf(".");
			fflush(stdout);
			}
		}
	printf("done\n");
	printf("test multi-call ");
	for (i=0; i<data_len[3]; i++)
		{
		RC4_set_key(&key,keys[3][0],&(keys[3][1]));
		memset(obuf,0x00,sizeof(obuf));
		RC4(&key,i,&(data[3][0]),obuf);
		RC4(&key,data_len[3]-i,&(data[3][i]),&(obuf[i]));
		if (memcmp(obuf,output[3],data_len[3]+1) != 0)
			{
			printf("error in RC4 multi-call processing\n");
			printf("output:");
			for (j=0; j<data_len[3]+1; j++)
				printf(" %02x",obuf[j]);
			printf("\n");
			printf("expect:");
			p= &(output[3][0]);
			for (j=0; j<data_len[3]+1; j++)
				printf(" %02x",*(p++));
			err++;
			}
		else
			{
			printf(".");
			fflush(stdout);
			}
		}
	printf("done\n");
	printf("bulk test ");
	{   unsigned char buf[513];
	    SHA_CTX c;
	    unsigned char md[SHA_DIGEST_LENGTH];
	    static unsigned char expected[]={
		0xa4,0x7b,0xcc,0x00,0x3d,0xd0,0xbd,0xe1,0xac,0x5f,
		0x12,0x1e,0x45,0xbc,0xfb,0x1a,0xa1,0xf2,0x7f,0xc5 };

		RC4_set_key(&key,keys[0][0],&(keys[3][1]));
		memset(buf,'\0',sizeof(buf));
		SHA1_Init(&c);
		for (i=0;i<2571;i++) {
			RC4(&key,sizeof(buf),buf,buf);
			SHA1_Update(&c,buf,sizeof(buf));
		}
		SHA1_Final(md,&c);

		if (memcmp(md,expected,sizeof(md))) {
			printf("error in RC4 bulk test\n");
			printf("output:");
			for (j=0; j<(int)sizeof(md); j++)
				printf(" %02x",md[j]);
			printf("\n");
			printf("expect:");
			for (j=0; j<(int)sizeof(md); j++)
				printf(" %02x",expected[j]);
			printf("\n");
			err++;
		}
		else	printf("ok\n");
	}
	exit(err);
	}