4 #include <openssl/bio.h>
7 #define SIZE_A (100*4+4)
16 BIGNUM a,b,dd,d,r,rr,t,l;
22 BN_RECP_CTX_init(&recp);
32 BN_rand(&a,SIZE_A,0,0);
33 BN_rand(&b,SIZE_B,0,0);
36 BN_RECP_CTX_set(&recp,&b,&ctx);
38 BN_print_fp(stdout,&a); printf(" a\n");
39 BN_print_fp(stdout,&b); printf(" b\n");
41 BN_print_fp(stdout,&recp.N); printf(" N\n");
42 BN_print_fp(stdout,&recp.Nr); printf(" Nr num_bits=%d\n",recp.num_bits);
44 BN_div_recp(&r,&d,&a,&recp,&ctx);
47 BN_div(&rr,&dd,&a,&b,&ctx);
49 BN_print_fp(stdout,&r); printf(" div recp\n");
50 BN_print_fp(stdout,&rr); printf(" div\n");
51 BN_print_fp(stdout,&d); printf(" rem recp\n");
52 BN_print_fp(stdout,&dd); printf(" rem\n");
55 BN_RECP_CTX_free(&recp);
67 if ((out=BIO_new(BIO_s_file())) != NULL)
68 BIO_set_fp(out,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
70 CRYPTO_mem_leaks(out);