d.c

来自「openssl是ssl的开源项目」· C语言 代码 · 共 73 行

C
73
字号
#include <stdio.h>#include "bio.h"#include "bn_lcl.h"#define SIZE_A (100*4+4)#define SIZE_B (13*4)main(argc,argv)int argc;char *argv[];	{	BN_CTX ctx;	BN_RECP_CTX recp;	BIGNUM a,b,dd,d,r,rr,t,l;	int i;	MemCheck_start();	MemCheck_on();	BN_CTX_init(&ctx);	BN_RECP_CTX_init(&recp);	BN_init(&r);	BN_init(&rr);	BN_init(&d);	BN_init(&dd);	BN_init(&a);	BN_init(&b);	{	BN_rand(&a,SIZE_A,0,0);	BN_rand(&b,SIZE_B,0,0);	a.neg=1;	BN_RECP_CTX_set(&recp,&b,&ctx);	BN_print_fp(stdout,&a); printf(" a\n");	BN_print_fp(stdout,&b); printf(" b\n");	BN_print_fp(stdout,&recp.N); printf(" N\n");	BN_print_fp(stdout,&recp.Nr); printf(" Nr num_bits=%d\n",recp.num_bits);	BN_div_recp(&r,&d,&a,&recp,&ctx);for (i=0; i<300; i++)	BN_div(&rr,&dd,&a,&b,&ctx);	BN_print_fp(stdout,&r); printf(" div recp\n");	BN_print_fp(stdout,&rr); printf(" div\n");	BN_print_fp(stdout,&d); printf(" rem recp\n");	BN_print_fp(stdout,&dd); printf(" rem\n");	}	BN_CTX_free(&ctx);	BN_RECP_CTX_free(&recp);	BN_free(&r);	BN_free(&rr);	BN_free(&d);	BN_free(&dd);	BN_free(&a);	BN_free(&b);	{	BIO *out;	if ((out=BIO_new(BIO_s_file())) != NULL)		BIO_set_fp(out,stderr,BIO_NOCLOSE|BIO_FP_TEXT);        CRYPTO_mem_leaks(out);	BIO_free(out);	}	}

⌨️ 快捷键说明

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