#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "e_os.h"
-#include "bio.h"
-#include "bn.h"
-#include "rand.h"
-#include "x509.h"
-#include "err.h"
+#include <openssl/e_os.h>
+#include <openssl/bio.h>
+#include <openssl/bn.h>
+#include <openssl/rand.h>
+#include <openssl/x509.h>
+#include <openssl/err.h>
#ifdef WINDOWS
#include "../bio/bss_file.c"
int test_mod(BIO *bp,BN_CTX *ctx);
int test_mod_mul(BIO *bp,BN_CTX *ctx);
int test_mod_exp(BIO *bp,BN_CTX *ctx);
+int test_exp(BIO *bp,BN_CTX *ctx);
int rand_neg(void);
#else
int test_add ();
int test_mod ();
int test_mod_mul ();
int test_mod_exp ();
+int test_exp ();
int rand_neg();
#endif
#include "bss_file.c"
#endif
-int main(argc,argv)
-int argc;
-char *argv[];
+int main(int argc, char *argv[])
{
BN_CTX *ctx;
BIO *out;
if (!test_mod_exp(out,ctx)) goto err;
fflush(stdout);
+ fprintf(stderr,"test BN_exp\n");
+ if (!test_exp(out,ctx)) goto err;
+ fflush(stdout);
+
/**/
exit(0);
err:
return(1);
}
-int test_add(bp)
-BIO *bp;
+int test_add(BIO *bp)
{
BIGNUM a,b,c;
int i;
return(1);
}
-int test_sub(bp)
-BIO *bp;
+int test_sub(BIO *bp)
{
BIGNUM a,b,c;
int i;
return(1);
}
-int test_div(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_div(BIO *bp, BN_CTX *ctx)
{
BIGNUM a,b,c,d;
int i;
return(1);
}
-int test_div_recp(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_div_recp(BIO *bp, BN_CTX *ctx)
{
BIGNUM a,b,c,d;
BN_RECP_CTX recp;
return(1);
}
-int test_mul(bp)
-BIO *bp;
+int test_mul(BIO *bp)
{
BIGNUM a,b,c;
int i;
return(1);
}
-int test_sqr(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_sqr(BIO *bp, BN_CTX *ctx)
{
BIGNUM a,c;
int i;
return(1);
}
-int test_mont(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_mont(BIO *bp, BN_CTX *ctx)
{
BIGNUM a,b,c,A,B;
BIGNUM n;
return(1);
}
-int test_mod(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_mod(BIO *bp, BN_CTX *ctx)
{
BIGNUM *a,*b,*c;
int i;
return(1);
}
-int test_mod_mul(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_mod_mul(BIO *bp, BN_CTX *ctx)
{
BIGNUM *a,*b,*c,*d,*e;
int i;
return(1);
}
-int test_mod_exp(bp,ctx)
-BIO *bp;
-BN_CTX *ctx;
+int test_mod_exp(BIO *bp, BN_CTX *ctx)
{
BIGNUM *a,*b,*c,*d,*e;
int i;
return(1);
}
-int test_lshift(bp)
-BIO *bp;
+int test_exp(BIO *bp, BN_CTX *ctx)
+ {
+ BIGNUM *a,*b,*d,*e;
+ int i;
+
+ a=BN_new();
+ b=BN_new();
+ d=BN_new();
+ e=BN_new();
+
+ for (i=0; i<6; i++)
+ {
+ BN_rand(a,20+i*5,0,0); /**/
+ BN_rand(b,2+i,0,0); /**/
+
+ if (!BN_exp(d,a,b,ctx))
+ return(00);
+
+ if (bp != NULL)
+ {
+ if (!results)
+ {
+ BN_print(bp,a);
+ BIO_puts(bp," ^ ");
+ BN_print(bp,b);
+ BIO_puts(bp," - ");
+ }
+ BN_print(bp,d);
+ BIO_puts(bp,"\n");
+ }
+ }
+ BN_free(a);
+ BN_free(b);
+ BN_free(d);
+ BN_free(e);
+ return(1);
+ }
+
+int test_lshift(BIO *bp)
{
BIGNUM *a,*b,*c;
int i;
return(1);
}
-int test_lshift1(bp)
-BIO *bp;
+int test_lshift1(BIO *bp)
{
BIGNUM *a,*b;
int i;
return(1);
}
-int test_rshift(bp)
-BIO *bp;
+int test_rshift(BIO *bp)
{
BIGNUM *a,*b,*c;
int i;
return(1);
}
-int test_rshift1(bp)
-BIO *bp;
+int test_rshift1(BIO *bp)
{
BIGNUM *a,*b;
int i;
return(1);
}
-int rand_neg()
+int rand_neg(void)
{
static unsigned int neg=0;
static int sign[8]={0,0,0,1,1,0,1,1};