|
10 | 10 |
|
11 | 11 | TYPES = """
|
12 | 12 | typedef ... BN_CTX;
|
| 13 | +typedef ... BN_MONT_CTX; |
13 | 14 | typedef ... BIGNUM;
|
14 | 15 | typedef int... BN_ULONG;
|
15 | 16 | """
|
16 | 17 |
|
17 | 18 | FUNCTIONS = """
|
| 19 | +#define BN_FLG_CONSTTIME ... |
| 20 | +
|
| 21 | +void BN_set_flags(BIGNUM *, int); |
| 22 | +int BN_get_flags(const BIGNUM *, int); |
| 23 | +
|
18 | 24 | BIGNUM *BN_new(void);
|
19 | 25 | void BN_free(BIGNUM *);
|
20 | 26 | void BN_clear_free(BIGNUM *);
|
|
29 | 35 | BIGNUM *BN_CTX_get(BN_CTX *);
|
30 | 36 | void BN_CTX_end(BN_CTX *);
|
31 | 37 |
|
| 38 | +BN_MONT_CTX *BN_MONT_CTX_new(void); |
| 39 | +int BN_MONT_CTX_set(BN_MONT_CTX *, BIGNUM *, BN_CTX *); |
| 40 | +void BN_MONT_CTX_free(BN_MONT_CTX *); |
| 41 | +
|
32 | 42 | BIGNUM *BN_copy(BIGNUM *, const BIGNUM *);
|
33 | 43 | BIGNUM *BN_dup(const BIGNUM *);
|
34 | 44 |
|
|
63 | 73 | int BN_exp(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *);
|
64 | 74 | int BN_mod_exp(BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,
|
65 | 75 | BN_CTX *);
|
| 76 | +int BN_mod_exp_mont(BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, |
| 77 | + BN_CTX *, BN_MONT_CTX *); |
| 78 | +int BN_mod_exp_mont_consttime(BIGNUM *, const BIGNUM *, const BIGNUM *, |
| 79 | + const BIGNUM *, BN_CTX *, BN_MONT_CTX *); |
66 | 80 | int BN_gcd(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *);
|
67 | 81 | BIGNUM *BN_mod_inverse(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *);
|
68 | 82 |
|
|
0 commit comments