Deleted Added
full compact
bn_exp.c (325337) bn_exp.c (326663)
1/* crypto/bn/bn_exp.c */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *

--- 135 unchanged lines hidden (view full) ---

144{
145 int i, bits, ret = 0;
146 BIGNUM *v, *rr;
147
148 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
149 || BN_get_flags(a, BN_FLG_CONSTTIME) != 0) {
150 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
151 BNerr(BN_F_BN_EXP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
1/* crypto/bn/bn_exp.c */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *

--- 135 unchanged lines hidden (view full) ---

144{
145 int i, bits, ret = 0;
146 BIGNUM *v, *rr;
147
148 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
149 || BN_get_flags(a, BN_FLG_CONSTTIME) != 0) {
150 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
151 BNerr(BN_F_BN_EXP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
152 return -1;
152 return 0;
153 }
154
155 BN_CTX_start(ctx);
156 if ((r == a) || (r == p))
157 rr = BN_CTX_get(ctx);
158 else
159 rr = r;
160 v = BN_CTX_get(ctx);

--- 119 unchanged lines hidden (view full) ---

280 BIGNUM *val[TABLE_SIZE];
281 BN_RECP_CTX recp;
282
283 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
284 || BN_get_flags(a, BN_FLG_CONSTTIME) != 0
285 || BN_get_flags(m, BN_FLG_CONSTTIME) != 0) {
286 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
287 BNerr(BN_F_BN_MOD_EXP_RECP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
153 }
154
155 BN_CTX_start(ctx);
156 if ((r == a) || (r == p))
157 rr = BN_CTX_get(ctx);
158 else
159 rr = r;
160 v = BN_CTX_get(ctx);

--- 119 unchanged lines hidden (view full) ---

280 BIGNUM *val[TABLE_SIZE];
281 BN_RECP_CTX recp;
282
283 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
284 || BN_get_flags(a, BN_FLG_CONSTTIME) != 0
285 || BN_get_flags(m, BN_FLG_CONSTTIME) != 0) {
286 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
287 BNerr(BN_F_BN_MOD_EXP_RECP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
288 return -1;
288 return 0;
289 }
290
291 bits = BN_num_bits(p);
292 if (bits == 0) {
293 /* x**0 mod 1 is still zero. */
294 if (BN_is_one(m)) {
295 ret = 1;
296 BN_zero(r);

--- 926 unchanged lines hidden (view full) ---

1223 */
1224#define BN_TO_MONTGOMERY_WORD(r, w, mont) \
1225 (BN_set_word(r, (w)) && BN_to_montgomery(r, r, (mont), ctx))
1226
1227 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
1228 || BN_get_flags(m, BN_FLG_CONSTTIME) != 0) {
1229 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
1230 BNerr(BN_F_BN_MOD_EXP_MONT_WORD, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
289 }
290
291 bits = BN_num_bits(p);
292 if (bits == 0) {
293 /* x**0 mod 1 is still zero. */
294 if (BN_is_one(m)) {
295 ret = 1;
296 BN_zero(r);

--- 926 unchanged lines hidden (view full) ---

1223 */
1224#define BN_TO_MONTGOMERY_WORD(r, w, mont) \
1225 (BN_set_word(r, (w)) && BN_to_montgomery(r, r, (mont), ctx))
1226
1227 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
1228 || BN_get_flags(m, BN_FLG_CONSTTIME) != 0) {
1229 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
1230 BNerr(BN_F_BN_MOD_EXP_MONT_WORD, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
1231 return -1;
1231 return 0;
1232 }
1233
1234 bn_check_top(p);
1235 bn_check_top(m);
1236
1237 if (!BN_is_odd(m)) {
1238 BNerr(BN_F_BN_MOD_EXP_MONT_WORD, BN_R_CALLED_WITH_EVEN_MODULUS);
1239 return (0);

--- 116 unchanged lines hidden (view full) ---

1356 /* Table of variables obtained from 'ctx' */
1357 BIGNUM *val[TABLE_SIZE];
1358
1359 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
1360 || BN_get_flags(a, BN_FLG_CONSTTIME) != 0
1361 || BN_get_flags(m, BN_FLG_CONSTTIME) != 0) {
1362 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
1363 BNerr(BN_F_BN_MOD_EXP_SIMPLE, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
1232 }
1233
1234 bn_check_top(p);
1235 bn_check_top(m);
1236
1237 if (!BN_is_odd(m)) {
1238 BNerr(BN_F_BN_MOD_EXP_MONT_WORD, BN_R_CALLED_WITH_EVEN_MODULUS);
1239 return (0);

--- 116 unchanged lines hidden (view full) ---

1356 /* Table of variables obtained from 'ctx' */
1357 BIGNUM *val[TABLE_SIZE];
1358
1359 if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0
1360 || BN_get_flags(a, BN_FLG_CONSTTIME) != 0
1361 || BN_get_flags(m, BN_FLG_CONSTTIME) != 0) {
1362 /* BN_FLG_CONSTTIME only supported by BN_mod_exp_mont() */
1363 BNerr(BN_F_BN_MOD_EXP_SIMPLE, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
1364 return -1;
1364 return 0;
1365 }
1366
1367 bits = BN_num_bits(p);
1368 if (bits == 0) {
1369 /* x**0 mod 1 is still zero. */
1370 if (BN_is_one(m)) {
1371 ret = 1;
1372 BN_zero(r);

--- 96 unchanged lines hidden ---
1365 }
1366
1367 bits = BN_num_bits(p);
1368 if (bits == 0) {
1369 /* x**0 mod 1 is still zero. */
1370 if (BN_is_one(m)) {
1371 ret = 1;
1372 BN_zero(r);

--- 96 unchanged lines hidden ---