Lines Matching refs:a
33 static ossl_inline unsigned int constant_time_msb(unsigned int a);
35 static ossl_inline uint32_t constant_time_msb_32(uint32_t a);
37 static ossl_inline uint64_t constant_time_msb_64(uint64_t a);
40 static ossl_inline unsigned int constant_time_lt(unsigned int a,
43 static ossl_inline unsigned char constant_time_lt_8(unsigned int a,
46 static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t b);
49 static ossl_inline unsigned int constant_time_ge(unsigned int a,
52 static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
56 static ossl_inline unsigned int constant_time_is_zero(unsigned int a);
58 static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a);
60 static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a);
63 static ossl_inline unsigned int constant_time_eq(unsigned int a,
66 static ossl_inline unsigned char constant_time_eq_8(unsigned int a,
69 static ossl_inline unsigned int constant_time_eq_int(int a, int b);
71 static ossl_inline unsigned char constant_time_eq_int_8(int a, int b);
81 unsigned int a,
85 unsigned char a,
89 static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a,
93 static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a,
96 static ossl_inline int constant_time_select_int(unsigned int mask, int a,
100 static ossl_inline unsigned int constant_time_msb(unsigned int a) in constant_time_msb() argument
102 return 0 - (a >> (sizeof(a) * 8 - 1)); in constant_time_msb()
106 static ossl_inline uint32_t constant_time_msb_32(uint32_t a) in constant_time_msb_32() argument
108 return 0 - (a >> 31); in constant_time_msb_32()
111 static ossl_inline uint64_t constant_time_msb_64(uint64_t a) in constant_time_msb_64() argument
113 return 0 - (a >> 63); in constant_time_msb_64()
116 static ossl_inline size_t constant_time_msb_s(size_t a) in constant_time_msb_s() argument
118 return 0 - (a >> (sizeof(a) * 8 - 1)); in constant_time_msb_s()
121 static ossl_inline unsigned int constant_time_lt(unsigned int a, in constant_time_lt() argument
124 return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt()
127 static ossl_inline size_t constant_time_lt_s(size_t a, size_t b) in constant_time_lt_s() argument
129 return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt_s()
132 static ossl_inline unsigned char constant_time_lt_8(unsigned int a, in constant_time_lt_8() argument
135 return (unsigned char)constant_time_lt(a, b); in constant_time_lt_8()
138 static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t b) in constant_time_lt_64() argument
140 return constant_time_msb_64(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt_64()
144 static ossl_inline BN_ULONG constant_time_msb_bn(BN_ULONG a) in constant_time_msb_bn() argument
146 return 0 - (a >> (sizeof(a) * 8 - 1)); in constant_time_msb_bn()
149 static ossl_inline BN_ULONG constant_time_lt_bn(BN_ULONG a, BN_ULONG b) in constant_time_lt_bn() argument
151 return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt_bn()
154 static ossl_inline BN_ULONG constant_time_is_zero_bn(BN_ULONG a) in constant_time_is_zero_bn() argument
156 return constant_time_msb_bn(~a & (a - 1)); in constant_time_is_zero_bn()
159 static ossl_inline BN_ULONG constant_time_eq_bn(BN_ULONG a, in constant_time_eq_bn() argument
162 return constant_time_is_zero_bn(a ^ b); in constant_time_eq_bn()
166 static ossl_inline unsigned int constant_time_ge(unsigned int a, in constant_time_ge() argument
169 return ~constant_time_lt(a, b); in constant_time_ge()
172 static ossl_inline size_t constant_time_ge_s(size_t a, size_t b) in constant_time_ge_s() argument
174 return ~constant_time_lt_s(a, b); in constant_time_ge_s()
177 static ossl_inline unsigned char constant_time_ge_8(unsigned int a, in constant_time_ge_8() argument
180 return (unsigned char)constant_time_ge(a, b); in constant_time_ge_8()
183 static ossl_inline unsigned char constant_time_ge_8_s(size_t a, size_t b) in constant_time_ge_8_s() argument
185 return (unsigned char)constant_time_ge_s(a, b); in constant_time_ge_8_s()
188 static ossl_inline unsigned int constant_time_is_zero(unsigned int a) in constant_time_is_zero() argument
190 return constant_time_msb(~a & (a - 1)); in constant_time_is_zero()
193 static ossl_inline size_t constant_time_is_zero_s(size_t a) in constant_time_is_zero_s() argument
195 return constant_time_msb_s(~a & (a - 1)); in constant_time_is_zero_s()
198 static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a) in constant_time_is_zero_8() argument
200 return (unsigned char)constant_time_is_zero(a); in constant_time_is_zero_8()
203 static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a) in constant_time_is_zero_32() argument
205 return constant_time_msb_32(~a & (a - 1)); in constant_time_is_zero_32()
208 static ossl_inline uint64_t constant_time_is_zero_64(uint64_t a) in constant_time_is_zero_64() argument
210 return constant_time_msb_64(~a & (a - 1)); in constant_time_is_zero_64()
213 static ossl_inline unsigned int constant_time_eq(unsigned int a, in constant_time_eq() argument
216 return constant_time_is_zero(a ^ b); in constant_time_eq()
219 static ossl_inline size_t constant_time_eq_s(size_t a, size_t b) in constant_time_eq_s() argument
221 return constant_time_is_zero_s(a ^ b); in constant_time_eq_s()
224 static ossl_inline unsigned char constant_time_eq_8(unsigned int a, in constant_time_eq_8() argument
227 return (unsigned char)constant_time_eq(a, b); in constant_time_eq_8()
230 static ossl_inline unsigned char constant_time_eq_8_s(size_t a, size_t b) in constant_time_eq_8_s() argument
232 return (unsigned char)constant_time_eq_s(a, b); in constant_time_eq_8_s()
235 static ossl_inline unsigned int constant_time_eq_int(int a, int b) in constant_time_eq_int() argument
237 return constant_time_eq((unsigned)(a), (unsigned)(b)); in constant_time_eq_int()
240 static ossl_inline unsigned char constant_time_eq_int_8(int a, int b) in constant_time_eq_int_8() argument
242 return constant_time_eq_8((unsigned)(a), (unsigned)(b)); in constant_time_eq_int_8()
252 static ossl_inline unsigned int value_barrier(unsigned int a) in value_barrier() argument
256 __asm__("" : "=r"(r) : "0"(a)); in value_barrier()
258 volatile unsigned int r = a; in value_barrier()
264 static ossl_inline uint32_t value_barrier_32(uint32_t a) in value_barrier_32() argument
268 __asm__("" : "=r"(r) : "0"(a)); in value_barrier_32()
270 volatile uint32_t r = a; in value_barrier_32()
276 static ossl_inline uint64_t value_barrier_64(uint64_t a) in value_barrier_64() argument
280 __asm__("" : "=r"(r) : "0"(a)); in value_barrier_64()
282 volatile uint64_t r = a; in value_barrier_64()
288 static ossl_inline size_t value_barrier_s(size_t a) in value_barrier_s() argument
292 __asm__("" : "=r"(r) : "0"(a)); in value_barrier_s()
294 volatile size_t r = a; in value_barrier_s()
300 unsigned int a, in constant_time_select() argument
303 return (value_barrier(mask) & a) | (value_barrier(~mask) & b); in constant_time_select()
307 size_t a, in constant_time_select_s() argument
310 return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b); in constant_time_select_s()
314 unsigned char a, in constant_time_select_8() argument
317 return (unsigned char)constant_time_select(mask, a, b); in constant_time_select_8()
320 static ossl_inline int constant_time_select_int(unsigned int mask, int a, in constant_time_select_int() argument
323 return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b)); in constant_time_select_int()
326 static ossl_inline int constant_time_select_int_s(size_t mask, int a, int b) in constant_time_select_int_s() argument
328 return (int)constant_time_select((unsigned)mask, (unsigned)(a), in constant_time_select_int_s()
332 static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a, in constant_time_select_32() argument
335 return (value_barrier_32(mask) & a) | (value_barrier_32(~mask) & b); in constant_time_select_32()
338 static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a, in constant_time_select_64() argument
341 return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b); in constant_time_select_64()
354 static ossl_inline void constant_time_cond_swap_32(uint32_t mask, uint32_t *a, in constant_time_cond_swap_32() argument
357 uint32_t xor = *a ^ *b; in constant_time_cond_swap_32()
360 *a ^= xor; in constant_time_cond_swap_32()
374 static ossl_inline void constant_time_cond_swap_64(uint64_t mask, uint64_t *a, in constant_time_cond_swap_64() argument
377 uint64_t xor = *a ^ *b; in constant_time_cond_swap_64()
380 *a ^= xor; in constant_time_cond_swap_64()
397 unsigned char *a, in constant_time_cond_swap_buff() argument
405 tmp = a[i] ^ b[i]; in constant_time_cond_swap_buff()
407 a[i] ^= tmp; in constant_time_cond_swap_buff()