/external/boringssl/src/crypto/fipsmodule/bn/ |
rsaz_exp.h | 37 void RSAZ_1024_mod_exp_avx2(BN_ULONG result[16], const BN_ULONG base_norm[16], 38 const BN_ULONG exponent[16], 39 const BN_ULONG m_norm[16], const BN_ULONG RR[16], 40 BN_ULONG k0, 41 BN_ULONG storage_words[MOD_EXP_CTIME_STORAGE_LEN]); 68 void rsaz_1024_norm2red_avx2(BN_ULONG red[40], const BN_ULONG norm[16]); 73 void rsaz_1024_mul_avx2(BN_ULONG ret[40], const BN_ULONG a[40] [all...] |
internal.h | 161 #define TOBN(hi, lo) ((BN_ULONG)(hi) << 32 | (lo)) 196 // The number of |BN_ULONG|s needed for the |BN_mod_exp_mont_consttime| stack- 201 (((320u * 3u) + (32u * 9u * 16u)) / sizeof(BN_ULONG)) 205 (BN_ULONG *)(x), sizeof(x) / sizeof(BN_ULONG), \ 206 sizeof(x) / sizeof(BN_ULONG), 0, BN_FLG_STATIC_DATA \ 210 #define Lw(t) ((BN_ULONG)(t)) 211 #define Hw(t) ((BN_ULONG)((t) >> BN_BITS2)) 237 void bn_select_words(BN_ULONG *r, BN_ULONG mask, const BN_ULONG *a [all...] |
random.c | 151 const BN_ULONG kOne = 1; 152 const BN_ULONG kThree = 3; 153 BN_ULONG mask = bit < BN_BITS2 - 1 ? (kOne << (bit + 1)) - 1 : BN_MASK2; 158 RAND_bytes((uint8_t *)rnd->d, words * sizeof(BN_ULONG)); 188 static crypto_word_t bn_less_than_word_mask(const BN_ULONG *a, size_t len, 189 BN_ULONG b) { 198 OPENSSL_STATIC_ASSERT(sizeof(BN_ULONG) <= sizeof(crypto_word_t), 210 int bn_in_range_words(const BN_ULONG *a, BN_ULONG min_inclusive, 211 const BN_ULONG *max_exclusive, size_t len) [all...] |
gcd_extra.c | 24 static BN_ULONG word_is_odd_mask(BN_ULONG a) { return (BN_ULONG)0 - (a & 1); } 26 static void maybe_rshift1_words(BN_ULONG *a, BN_ULONG mask, BN_ULONG *tmp, 32 static void maybe_rshift1_words_carry(BN_ULONG *a, BN_ULONG carry, 33 BN_ULONG mask, BN_ULONG *tmp [all...] |
mul.c | 75 static void bn_abs_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, 76 size_t num, BN_ULONG *tmp) { 77 BN_ULONG borrow = bn_sub_words(tmp, a, b, num); 82 static void bn_mul_normal(BN_ULONG *r, const BN_ULONG *a, size_t na, 83 const BN_ULONG *b, size_t nb) { 88 const BN_ULONG *ltmp = a; 92 BN_ULONG *rr = &(r[na]) [all...] |
bn.c | 172 static const BN_ULONG kOneLimbs[1] = { 1 }; 173 out->d = (BN_ULONG*) kOneLimbs; 182 unsigned BN_num_bits_word(BN_ULONG l) { 186 BN_ULONG x, mask; 256 int BN_set_word(BIGNUM *bn, BN_ULONG value) { 277 return BN_set_word(bn, (BN_ULONG)value); 285 bn->d[0] = (BN_ULONG)value; 286 bn->d[1] = (BN_ULONG)(value >> 32); 294 int bn_set_words(BIGNUM *bn, const BN_ULONG *words, size_t num) { 298 OPENSSL_memmove(bn->d, words, num * sizeof(BN_ULONG)); [all...] |
generic.c | 99 BN_ULONG high, low, ret, tmp = (a); \ 112 BN_ULONG high, low, ret, ta = (a); \ 122 BN_ULONG tmp = (a); \ 128 BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, size_t num, 129 BN_ULONG w) { 130 BN_ULONG c1 = 0; 156 BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, size_t num [all...] |
div.c | 69 // which must fit in a |BN_ULONG|. 70 static BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d) { 71 BN_ULONG dh, dl, q, ret = 0, th, tl, t; 79 assert((i == BN_BITS2) || (h <= (BN_ULONG)1 << i)); 140 static inline void bn_div_rem_words(BN_ULONG *quotient_out, BN_ULONG *rem_out, 141 BN_ULONG n0, BN_ULONG n1, BN_ULONG d0) [all...] |
cmp.c | 66 static int bn_cmp_words_consttime(const BN_ULONG *a, size_t a_len, 67 const BN_ULONG *b, size_t b_len) { 68 OPENSSL_STATIC_ASSERT(sizeof(BN_ULONG) <= sizeof(crypto_word_t), 126 int bn_less_than_words(const BN_ULONG *a, const BN_ULONG *b, size_t len) { 130 int BN_abs_is_word(const BIGNUM *bn, BN_ULONG w) { 134 BN_ULONG mask = bn->d[0] ^ w; 141 int BN_cmp_word(const BIGNUM *a, BN_ULONG b) { 160 int BN_is_word(const BIGNUM *bn, BN_ULONG w) { 184 BN_ULONG mask = 0 [all...] |
shift.c | 69 BN_ULONG *t, *f; 70 BN_ULONG l; 106 BN_ULONG *ap, *rp, t, c; 136 void bn_rshift_words(BN_ULONG *r, const BN_ULONG *a, unsigned shift, 141 OPENSSL_memset(r, 0, num * sizeof(BN_ULONG)); 145 OPENSSL_memmove(r, a + shift_words, (num - shift_words) * sizeof(BN_ULONG)); 153 OPENSSL_memset(r + num - shift_words, 0, shift_words * sizeof(BN_ULONG)); 186 BN_ULONG mask = (n >> i) & 1; 200 void bn_rshift1_words(BN_ULONG *r, const BN_ULONG *a, size_t num) [all...] |
montgomery.c | 190 // others, we could use a shorter R value and use faster |BN_ULONG|-based 196 sizeof(BN_ULONG) * BN_MONT_CTX_N0_LIMBS == sizeof(uint64_t), 199 mont->n0[0] = (BN_ULONG)n0; 201 mont->n0[1] = (BN_ULONG)(n0 >> BN_BITS2); 288 static int bn_from_montgomery_in_place(BN_ULONG *r, size_t num_r, BN_ULONG *a, 290 const BN_ULONG *n = mont->N.d; 300 BN_ULONG n0 = mont->n0[0]; 301 BN_ULONG carry = 0; 303 BN_ULONG v = bn_mul_add_words(a + i, n, num_n, a[i] * n0) [all...] |
rsaz_exp.c | 26 alignas(64) static const BN_ULONG one[40] = { 31 alignas(64) static const BN_ULONG two80[40] = { 35 void RSAZ_1024_mod_exp_avx2(BN_ULONG result_norm[16], 36 const BN_ULONG base_norm[16], 37 const BN_ULONG exponent[16], 38 const BN_ULONG m_norm[16], const BN_ULONG RR[16], 39 BN_ULONG k0, 40 BN_ULONG storage[MOD_EXP_CTIME_STORAGE_LEN]) { 45 BN_ULONG *a_inv, *m, *result, *table_s = storage + 40 * 3, *R2 = table_s [all...] |
add.c | 118 BN_ULONG carry = bn_add_words(r->d, a->d, b->d, min); 121 BN_ULONG tmp = carry + a->d[i]; 138 int BN_add_word(BIGNUM *a, BN_ULONG w) { 139 BN_ULONG l; 242 BN_ULONG borrow = bn_sub_words(r->d, a->d, b->d, b_width); 245 BN_ULONG tmp = a->d[i]; 268 int BN_sub_word(BIGNUM *a, BN_ULONG w) {
|
exponentiation.c | 722 void bn_mod_exp_mont_small(BN_ULONG *r, const BN_ULONG *a, size_t num, 723 const BN_ULONG *p, size_t num_p, 749 BN_ULONG val[TABLE_SIZE_SMALL][BN_SMALL_MAX_WORDS]; 750 OPENSSL_memcpy(val[0], a, num * sizeof(BN_ULONG)); 752 BN_ULONG d[BN_SMALL_MAX_WORDS]; 796 OPENSSL_memcpy(r, val[wvalue >> 1], num * sizeof(BN_ULONG)); 812 void bn_mod_inverse_prime_mont_small(BN_ULONG *r, const BN_ULONG *a, size_t num, 819 BN_ULONG p_minus_two[BN_SMALL_MAX_WORDS] [all...] |
bytes.c | 68 BN_ULONG word = 0; 147 BN_ULONG l; 203 BN_ULONG BN_get_word(const BIGNUM *bn) {
|
jacobi.c | 61 #define BN_lsw(n) (((n)->width == 0) ? (BN_ULONG) 0 : (n)->d[0])
|
/external/boringssl/src/crypto/fipsmodule/ec/ |
p256-x86_64.h | 39 // |P256_LIMBS| |BN_ULONG|s, spanning the full range of values. 47 void ecp_nistz256_neg(BN_ULONG res[P256_LIMBS], const BN_ULONG a[P256_LIMBS]); 50 void ecp_nistz256_mul_mont(BN_ULONG res[P256_LIMBS], 51 const BN_ULONG a[P256_LIMBS], 52 const BN_ULONG b[P256_LIMBS]); 55 void ecp_nistz256_sqr_mont(BN_ULONG res[P256_LIMBS], 56 const BN_ULONG a[P256_LIMBS]); 60 static inline void ecp_nistz256_from_mont(BN_ULONG res[P256_LIMBS], 61 const BN_ULONG in[P256_LIMBS]) [all...] |
felem.c | 39 BN_ULONG mask = ec_felem_non_zero_mask(group, a); 40 BN_ULONG borrow = 63 BN_ULONG ec_felem_non_zero_mask(const EC_GROUP *group, const EC_FELEM *a) { 64 BN_ULONG mask = 0; 71 void ec_felem_select(const EC_GROUP *group, EC_FELEM *out, BN_ULONG mask, 81 group->field.width * sizeof(BN_ULONG)) == 0;
|
p256-x86_64.c | 43 static const BN_ULONG ONE[P256_LIMBS] = { 79 static void copy_conditional(BN_ULONG dst[P256_LIMBS], 80 const BN_ULONG src[P256_LIMBS], BN_ULONG move) { 81 BN_ULONG mask1 = ((BN_ULONG)0) - move; 82 BN_ULONG mask2 = ~mask1; 113 static BN_ULONG is_not_zero(BN_ULONG in) { 122 static void ecp_nistz256_mod_inverse_mont(BN_ULONG r[P256_LIMBS] [all...] |
scalar.c | 37 group->order.width * sizeof(BN_ULONG)) == 0; 41 BN_ULONG mask = 0; 57 BN_ULONG tmp[EC_MAX_WORDS];
|
p256-x86_64_test.cc | 111 BN_ULONG order_words[P256_LIMBS]; 115 BN_ULONG in[P256_LIMBS], out[P256_LIMBS]; 126 static const BN_ULONG kOneMont[P256_LIMBS] = { 133 for (BN_ULONG i = 1; i < 2000; i++) { 168 static bool GetFieldElement(FileTest *t, BN_ULONG out[P256_LIMBS], 180 // |byte| contains bytes in big-endian while |out| should contain |BN_ULONG|s 182 OPENSSL_memset(out, 0, P256_LIMBS * sizeof(BN_ULONG)); 191 static std::string FieldElementToString(const BN_ULONG a[P256_LIMBS]) { 203 const BN_ULONG expected[P256_LIMBS], const BN_ULONG actual[P256_LIMBS]) [all...] |
/external/boringssl/src/crypto/fipsmodule/bn/asm/ |
x86_64-gcc.c | 70 register BN_ULONG high, low; \ 85 register BN_ULONG high, low; \ 97 BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, size_t num, 98 BN_ULONG w) { 99 BN_ULONG c1 = 0; 130 BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, size_t num [all...] |
/external/boringssl/src/include/openssl/ |
bn.h | 142 // BN_ULONG is the native word size when working with big integers. 151 #define BN_ULONG uint64_t 158 #define BN_ULONG uint32_t 219 OPENSSL_EXPORT int BN_set_word(BIGNUM *bn, BN_ULONG value); 309 OPENSSL_EXPORT BN_ULONG BN_get_word(const BIGNUM *bn); 377 OPENSSL_EXPORT int BN_add_word(BIGNUM *a, BN_ULONG w); 390 OPENSSL_EXPORT int BN_sub_word(BIGNUM *a, BN_ULONG w); 399 OPENSSL_EXPORT int BN_mul_word(BIGNUM *bn, BN_ULONG w); 416 // remainder or (BN_ULONG)-1 on error. 417 OPENSSL_EXPORT BN_ULONG BN_div_word(BIGNUM *numerator, BN_ULONG divisor) [all...] |
/external/boringssl/src/crypto/dh/ |
check.c | 122 BN_ULONG l; 173 if (l == (BN_ULONG)-1) { 181 if (l == (BN_ULONG)-1) {
|
params.c | 61 static const BN_ULONG kPrime1536Data[] = {
|