提交 7999c65c 编写于 作者: B Bodo Möller

Some 'const's for BNs.

上级 bfe30e4d
...@@ -356,7 +356,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, ...@@ -356,7 +356,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
BN_CTX *ctx); BN_CTX *ctx);
int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);
int BN_sqr(BIGNUM *r, BIGNUM *a,BN_CTX *ctx); int BN_sqr(BIGNUM *r, BIGNUM *a,BN_CTX *ctx);
BN_ULONG BN_mod_word(BIGNUM *a, BN_ULONG w); BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w);
BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w);
int BN_mul_word(BIGNUM *a, BN_ULONG w); int BN_mul_word(BIGNUM *a, BN_ULONG w);
int BN_add_word(BIGNUM *a, BN_ULONG w); int BN_add_word(BIGNUM *a, BN_ULONG w);
......
...@@ -121,8 +121,8 @@ ...@@ -121,8 +121,8 @@
*/ */
#include "bn_prime.h" #include "bn_prime.h"
static int witness(BIGNUM *w, BIGNUM *a, BIGNUM *a1, BIGNUM *a1_odd, int k, static int witness(BIGNUM *w, const BIGNUM *a, const BIGNUM *a1,
BN_CTX *ctx, BN_MONT_CTX *mont); const BIGNUM *a1_odd, int k, BN_CTX *ctx, BN_MONT_CTX *mont);
static int probable_prime(BIGNUM *rnd, int bits); static int probable_prime(BIGNUM *rnd, int bits);
static int probable_prime_dh(BIGNUM *rnd, int bits, static int probable_prime_dh(BIGNUM *rnd, int bits,
BIGNUM *add, BIGNUM *rem, BN_CTX *ctx); BIGNUM *add, BIGNUM *rem, BN_CTX *ctx);
...@@ -223,7 +223,7 @@ int BN_is_prime_fasttest(const BIGNUM *a, int checks, ...@@ -223,7 +223,7 @@ int BN_is_prime_fasttest(const BIGNUM *a, int checks,
BN_CTX *ctx = NULL; BN_CTX *ctx = NULL;
BIGNUM *A1, *A1_odd, *check; /* taken from ctx */ BIGNUM *A1, *A1_odd, *check; /* taken from ctx */
BN_MONT_CTX *mont = NULL; BN_MONT_CTX *mont = NULL;
BIGNUM *A; const BIGNUM *A;
if (checks == BN_prime_checks) if (checks == BN_prime_checks)
checks = BN_prime_checks_for_size(BN_num_bits(a)); checks = BN_prime_checks_for_size(BN_num_bits(a));
...@@ -247,9 +247,10 @@ int BN_is_prime_fasttest(const BIGNUM *a, int checks, ...@@ -247,9 +247,10 @@ int BN_is_prime_fasttest(const BIGNUM *a, int checks,
/* A := abs(a) */ /* A := abs(a) */
if (a->neg) if (a->neg)
{ {
A = &(ctx->bn[ctx->tos++]); BIGNUM *t = &(ctx->bn[ctx->tos++]);
BN_copy(A, a); BN_copy(t, a);
A->neg = 0; t->neg = 0;
A = t;
} }
else else
A = a; A = a;
...@@ -318,8 +319,8 @@ err: ...@@ -318,8 +319,8 @@ err:
return(ret); return(ret);
} }
static int witness(BIGNUM *w, BIGNUM *a, BIGNUM *a1, BIGNUM *a1_odd, int k, static int witness(BIGNUM *w, const BIGNUM *a, const BIGNUM *a1,
BN_CTX *ctx, BN_MONT_CTX *mont) const BIGNUM *a1_odd, int k, BN_CTX *ctx, BN_MONT_CTX *mont)
{ {
if (!BN_mod_exp_mont(w, w, a1_odd, a, ctx, mont)) /* w := w^a1_odd mod a */ if (!BN_mod_exp_mont(w, w, a1_odd, a, ctx, mont)) /* w := w^a1_odd mod a */
return -1; return -1;
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
#include "cryptlib.h" #include "cryptlib.h"
#include "bn_lcl.h" #include "bn_lcl.h"
BN_ULONG BN_mod_word(BIGNUM *a, BN_ULONG w) BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w)
{ {
#ifndef BN_LLONG #ifndef BN_LLONG
BN_ULONG ret=0; BN_ULONG ret=0;
......
...@@ -17,7 +17,7 @@ functions on BIGNUMs with integers ...@@ -17,7 +17,7 @@ functions on BIGNUMs with integers
BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w);
BN_ULONG BN_mod_word(BIGNUM *a, BN_ULONG w); BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w);
=head1 DESCRIPTION =head1 DESCRIPTION
......
...@@ -43,7 +43,7 @@ bn - Multiprecision integer arithmetics ...@@ -43,7 +43,7 @@ bn - Multiprecision integer arithmetics
int BN_sub_word(BIGNUM *a, BN_ULONG w); int BN_sub_word(BIGNUM *a, BN_ULONG w);
int BN_mul_word(BIGNUM *a, BN_ULONG w); int BN_mul_word(BIGNUM *a, BN_ULONG w);
BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w);
BN_ULONG BN_mod_word(BIGNUM *a, BN_ULONG w); BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w);
int BN_cmp(BIGNUM *a, BIGNUM *b); int BN_cmp(BIGNUM *a, BIGNUM *b);
int BN_ucmp(BIGNUM *a, BIGNUM *b); int BN_ucmp(BIGNUM *a, BIGNUM *b);
...@@ -63,7 +63,7 @@ bn - Multiprecision integer arithmetics ...@@ -63,7 +63,7 @@ bn - Multiprecision integer arithmetics
BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe,BIGNUM *add, BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe,BIGNUM *add,
BIGNUM *rem,void (*callback)(int,int,void *),void *cb_arg); BIGNUM *rem,void (*callback)(int,int,void *),void *cb_arg);
int BN_is_prime(BIGNUM *p,int nchecks,void (*callback)(int,int,void *), int BN_is_prime(const BIGNUM *p,int nchecks,void (*callback)(int,int,void *),
BN_CTX *ctx,void *cb_arg); BN_CTX *ctx,void *cb_arg);
int BN_set_bit(BIGNUM *a, int n); int BN_set_bit(BIGNUM *a, int n);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册