mbedtls_get_unaligned_volatile_uint32(
volatile const unsigned char*p)
56 #if defined(MBEDTLS_CT_ARM_ASM) 57 asm volatile(
"ldr %0, [%1]":
"=r"(
r) :
"r"(p) :);
58 #elif defined(MBEDTLS_CT_AARCH64_ASM) 59 asm volatile(
"ldr %w0, [%1]":
"=r"(
r) : MBEDTLS_ASM_AARCH64_PTR_CONSTRAINT(p) :);
61 #error "No assembly defined for mbedtls_get_unaligned_volatile_uint32" 79 volatile const unsigned char*
A= (
volatile const unsigned char*)
a;
80 volatile const unsigned char*
B= (
volatile const unsigned char*)
b;
83 #if defined(MBEDTLS_EFFICIENT_UNALIGNED_VOLATILE_ACCESS) 84 for(; (
i+ 4) <=
n;
i+= 4) {
85 uint32_tx = mbedtls_get_unaligned_volatile_uint32(
A+
i);
86 uint32_ty = mbedtls_get_unaligned_volatile_uint32(
B+
i);
91 for(;
i<
n;
i++) {
95 unsigned charx =
A[
i], y =
B[
i];
100 #if (INT_MAX < INT32_MAX) 106 #error "mbedtls_ct_memcmp() requires minimum 32-bit ints" 115 return(
int) ((diff & 0xffff) | (diff >> 16));
119 #if defined(MBEDTLS_NIST_KW_C) 127 unsigned intdiff = 0;
129 volatile const unsigned char*
A= (
volatile const unsigned char*)
a;
130 volatile const unsigned char*
B= (
volatile const unsigned char*)
b;
132 size_tvalid_end =
n- skip_tail;
134 for(
size_t i= 0;
i<
n;
i++) {
135 unsigned charx =
A[
i], y =
B[
i];
136 unsigned intd = x ^ y;
149 #if defined(MBEDTLS_PKCS1_V15) && defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_RSA_ALT) 153 volatile unsigned char*
buf= start;
154 for(
size_t i= 0;
i< total;
i++) {
159 for(
size_t n= 0;
n< total - 1;
n++) {
160 unsigned charcurrent =
buf[
n];
172 const unsigned char*src1,
173 const unsigned char*src2,
176 #if defined(MBEDTLS_CT_SIZE_64) 195 #if defined(MBEDTLS_EFFICIENT_UNALIGNED_ACCESS) 196 #if defined(MBEDTLS_CT_SIZE_64) 197 for(; (
i+ 8) <=
len;
i+= 8) {
203 for(; (
i+ 4) <=
len;
i+= 4) {
210 for(;
i<
len;
i++) {
211dest[
i] = (src1[
i] &
mask) | (src2[
i] & not_mask);
216 const unsigned char*src,
224 for(offsetval = offset_min; offsetval <= offset_max; offsetval++) {
230 #if defined(MBEDTLS_PKCS1_V15) && defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_RSA_ALT) 237 #if defined(MBEDTLS_EFFICIENT_UNALIGNED_ACCESS) 238 for(; (
i+ 4) <=
len;
i+= 4) {
243 for(;
i<
len;
i++) {
static void mbedtls_put_unaligned_uint32(void *p, uint32_t x)
Write the unsigned 32 bits integer to the given address, which need not be aligned.
static uint64_t mbedtls_get_unaligned_uint64(const void *p)
Read the unsigned 64 bits integer from the given address, which need not be aligned.
static uint32_t mbedtls_get_unaligned_uint32(const void *p)
Read the unsigned 32 bits integer from the given address, which need not be aligned.
static void mbedtls_put_unaligned_uint64(void *p, uint64_t x)
Write the unsigned 64 bits integer to the given address, which need not be aligned.
ncbi::TMaskedQueryRegions mask
int mbedtls_ct_memcmp(const void *a, const void *b, size_t n)
Constant-time functions.
void mbedtls_ct_memcpy_if(mbedtls_ct_condition_t condition, unsigned char *dest, const unsigned char *src1, const unsigned char *src2, size_t len)
Conditional memcpy.
volatile mbedtls_ct_uint_t mbedtls_ct_zero
Constant-time functions.
void mbedtls_ct_memcpy_offset(unsigned char *dest, const unsigned char *src, size_t offset, size_t offset_min, size_t offset_max, size_t len)
Copy data from a secret position.
static mbedtls_ct_uint_t mbedtls_ct_compiler_opaque(mbedtls_ct_uint_t x)
Ensure that a value cannot be known at compile time.
static mbedtls_ct_condition_t mbedtls_ct_uint_ge(mbedtls_ct_uint_t x, mbedtls_ct_uint_t y)
static mbedtls_ct_condition_t mbedtls_ct_uint_lt(mbedtls_ct_uint_t x, mbedtls_ct_uint_t y)
static mbedtls_ct_condition_t mbedtls_ct_bool_and(mbedtls_ct_condition_t x, mbedtls_ct_condition_t y)
static unsigned mbedtls_ct_uint_if(mbedtls_ct_condition_t condition, unsigned if1, unsigned if0)
static mbedtls_ct_condition_t mbedtls_ct_uint_gt(mbedtls_ct_uint_t x, mbedtls_ct_uint_t y)
static mbedtls_ct_condition_t mbedtls_ct_uint_eq(mbedtls_ct_uint_t x, mbedtls_ct_uint_t y)
static unsigned mbedtls_ct_uint_if_else_0(mbedtls_ct_condition_t condition, unsigned if1)
size_t mbedtls_ct_condition_t
Constant-time functions.
static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
#define mbedtls_ct_memcmp_partial
#define mbedtls_ct_memmove_left
#define mbedtls_ct_zeroize_if
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
Common and shared functions used by multiple modules in the Mbed TLS library.
Error to string translation.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4