Coverage Report

Created: 2024-07-27 06:35

/src/openssl/include/internal/constant_time.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2014-2021 The OpenSSL Project Authors. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License 2.0 (the "License").  You may not use
5
 * this file except in compliance with the License.  You can obtain a copy
6
 * in the file LICENSE in the source distribution or at
7
 * https://www.openssl.org/source/license.html
8
 */
9
10
#ifndef OSSL_INTERNAL_CONSTANT_TIME_H
11
# define OSSL_INTERNAL_CONSTANT_TIME_H
12
# pragma once
13
14
# include <stdlib.h>
15
# include <string.h>
16
# include <openssl/e_os2.h>              /* For 'ossl_inline' */
17
18
/*-
19
 * The boolean methods return a bitmask of all ones (0xff...f) for true
20
 * and 0 for false. This is useful for choosing a value based on the result
21
 * of a conditional in constant time. For example,
22
 *      if (a < b) {
23
 *        c = a;
24
 *      } else {
25
 *        c = b;
26
 *      }
27
 * can be written as
28
 *      unsigned int lt = constant_time_lt(a, b);
29
 *      c = constant_time_select(lt, a, b);
30
 */
31
32
/* Returns the given value with the MSB copied to all the other bits. */
33
static ossl_inline unsigned int constant_time_msb(unsigned int a);
34
/* Convenience method for uint32_t. */
35
static ossl_inline uint32_t constant_time_msb_32(uint32_t a);
36
/* Convenience method for uint64_t. */
37
static ossl_inline uint64_t constant_time_msb_64(uint64_t a);
38
39
/* Returns 0xff..f if a < b and 0 otherwise. */
40
static ossl_inline unsigned int constant_time_lt(unsigned int a,
41
                                                 unsigned int b);
42
/* Convenience method for getting an 8-bit mask. */
43
static ossl_inline unsigned char constant_time_lt_8(unsigned int a,
44
                                                    unsigned int b);
45
/* Convenience method for uint64_t. */
46
static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t b);
47
48
/* Returns 0xff..f if a >= b and 0 otherwise. */
49
static ossl_inline unsigned int constant_time_ge(unsigned int a,
50
                                                 unsigned int b);
51
/* Convenience method for getting an 8-bit mask. */
52
static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
53
                                                    unsigned int b);
54
55
/* Returns 0xff..f if a == 0 and 0 otherwise. */
56
static ossl_inline unsigned int constant_time_is_zero(unsigned int a);
57
/* Convenience method for getting an 8-bit mask. */
58
static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a);
59
/* Convenience method for getting a 32-bit mask. */
60
static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a);
61
62
/* Returns 0xff..f if a == b and 0 otherwise. */
63
static ossl_inline unsigned int constant_time_eq(unsigned int a,
64
                                                 unsigned int b);
65
/* Convenience method for getting an 8-bit mask. */
66
static ossl_inline unsigned char constant_time_eq_8(unsigned int a,
67
                                                    unsigned int b);
68
/* Signed integers. */
69
static ossl_inline unsigned int constant_time_eq_int(int a, int b);
70
/* Convenience method for getting an 8-bit mask. */
71
static ossl_inline unsigned char constant_time_eq_int_8(int a, int b);
72
73
/*-
74
 * Returns (mask & a) | (~mask & b).
75
 *
76
 * When |mask| is all 1s or all 0s (as returned by the methods above),
77
 * the select methods return either |a| (if |mask| is nonzero) or |b|
78
 * (if |mask| is zero).
79
 */
80
static ossl_inline unsigned int constant_time_select(unsigned int mask,
81
                                                     unsigned int a,
82
                                                     unsigned int b);
83
/* Convenience method for unsigned chars. */
84
static ossl_inline unsigned char constant_time_select_8(unsigned char mask,
85
                                                        unsigned char a,
86
                                                        unsigned char b);
87
88
/* Convenience method for uint32_t. */
89
static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a,
90
                                                    uint32_t b);
91
92
/* Convenience method for uint64_t. */
93
static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a,
94
                                                    uint64_t b);
95
/* Convenience method for signed integers. */
96
static ossl_inline int constant_time_select_int(unsigned int mask, int a,
97
                                                int b);
98
99
100
static ossl_inline unsigned int constant_time_msb(unsigned int a)
101
16.0M
{
102
16.0M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
16.0M
}
Unexecuted instantiation: statem_srvr.c:constant_time_msb
bn_lib.c:constant_time_msb
Line
Count
Source
101
3.89M
{
102
3.89M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
3.89M
}
err.c:constant_time_msb
Line
Count
Source
101
1.16k
{
102
1.16k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
1.16k
}
rsa_ossl.c:constant_time_msb
Line
Count
Source
101
1.16k
{
102
1.16k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
1.16k
}
rsa_pk1.c:constant_time_msb
Line
Count
Source
101
244k
{
102
244k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
244k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb
rsa_enc.c:constant_time_msb
Line
Count
Source
101
1.16k
{
102
1.16k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
1.16k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb
Unexecuted instantiation: ssl3_cbc.c:constant_time_msb
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb
tls_pad.c:constant_time_msb
Line
Count
Source
101
729k
{
102
729k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
729k
}
bn_exp.c:constant_time_msb
Line
Count
Source
101
11.1M
{
102
11.1M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
11.1M
}
Unexecuted instantiation: bn_gcd.c:constant_time_msb
Unexecuted instantiation: rsaz_exp.c:constant_time_msb
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_msb
Unexecuted instantiation: set_key.c:constant_time_msb
Unexecuted instantiation: curve448.c:constant_time_msb
Unexecuted instantiation: curve448_tables.c:constant_time_msb
Unexecuted instantiation: eddsa.c:constant_time_msb
Unexecuted instantiation: f_generic.c:constant_time_msb
Unexecuted instantiation: scalar.c:constant_time_msb
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_msb
Unexecuted instantiation: rsa_oaep.c:constant_time_msb
Unexecuted instantiation: f_impl64.c:constant_time_msb
104
105
106
static ossl_inline uint32_t constant_time_msb_32(uint32_t a)
107
0
{
108
0
    return 0 - (a >> 31);
109
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_msb_32
Unexecuted instantiation: bn_lib.c:constant_time_msb_32
Unexecuted instantiation: err.c:constant_time_msb_32
Unexecuted instantiation: rsa_ossl.c:constant_time_msb_32
Unexecuted instantiation: rsa_pk1.c:constant_time_msb_32
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb_32
Unexecuted instantiation: rsa_enc.c:constant_time_msb_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb_32
Unexecuted instantiation: ssl3_cbc.c:constant_time_msb_32
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_32
Unexecuted instantiation: tls_pad.c:constant_time_msb_32
Unexecuted instantiation: bn_exp.c:constant_time_msb_32
Unexecuted instantiation: bn_gcd.c:constant_time_msb_32
Unexecuted instantiation: rsaz_exp.c:constant_time_msb_32
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_msb_32
Unexecuted instantiation: set_key.c:constant_time_msb_32
Unexecuted instantiation: curve448.c:constant_time_msb_32
Unexecuted instantiation: curve448_tables.c:constant_time_msb_32
Unexecuted instantiation: eddsa.c:constant_time_msb_32
Unexecuted instantiation: f_generic.c:constant_time_msb_32
Unexecuted instantiation: scalar.c:constant_time_msb_32
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb_32
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_msb_32
Unexecuted instantiation: rsa_oaep.c:constant_time_msb_32
Unexecuted instantiation: f_impl64.c:constant_time_msb_32
110
111
static ossl_inline uint64_t constant_time_msb_64(uint64_t a)
112
28
{
113
28
    return 0 - (a >> 63);
114
28
}
Unexecuted instantiation: statem_srvr.c:constant_time_msb_64
Unexecuted instantiation: bn_lib.c:constant_time_msb_64
Unexecuted instantiation: err.c:constant_time_msb_64
Unexecuted instantiation: rsa_ossl.c:constant_time_msb_64
Unexecuted instantiation: rsa_pk1.c:constant_time_msb_64
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb_64
Unexecuted instantiation: rsa_enc.c:constant_time_msb_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb_64
Unexecuted instantiation: ssl3_cbc.c:constant_time_msb_64
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_64
Unexecuted instantiation: tls_pad.c:constant_time_msb_64
Unexecuted instantiation: bn_exp.c:constant_time_msb_64
Unexecuted instantiation: bn_gcd.c:constant_time_msb_64
Unexecuted instantiation: rsaz_exp.c:constant_time_msb_64
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_msb_64
Unexecuted instantiation: set_key.c:constant_time_msb_64
Unexecuted instantiation: curve448.c:constant_time_msb_64
Unexecuted instantiation: curve448_tables.c:constant_time_msb_64
Unexecuted instantiation: eddsa.c:constant_time_msb_64
f_generic.c:constant_time_msb_64
Line
Count
Source
112
28
{
113
28
    return 0 - (a >> 63);
114
28
}
Unexecuted instantiation: scalar.c:constant_time_msb_64
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb_64
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_msb_64
Unexecuted instantiation: rsa_oaep.c:constant_time_msb_64
Unexecuted instantiation: f_impl64.c:constant_time_msb_64
115
116
static ossl_inline size_t constant_time_msb_s(size_t a)
117
34.3M
{
118
34.3M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
34.3M
}
Unexecuted instantiation: statem_srvr.c:constant_time_msb_s
Unexecuted instantiation: bn_lib.c:constant_time_msb_s
Unexecuted instantiation: err.c:constant_time_msb_s
Unexecuted instantiation: rsa_ossl.c:constant_time_msb_s
Unexecuted instantiation: rsa_pk1.c:constant_time_msb_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb_s
rsa_enc.c:constant_time_msb_s
Line
Count
Source
117
1.16k
{
118
1.16k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
1.16k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb_s
ssl3_cbc.c:constant_time_msb_s
Line
Count
Source
117
25.6M
{
118
25.6M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
25.6M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_s
tls_pad.c:constant_time_msb_s
Line
Count
Source
117
8.65M
{
118
8.65M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
8.65M
}
Unexecuted instantiation: bn_exp.c:constant_time_msb_s
Unexecuted instantiation: bn_gcd.c:constant_time_msb_s
Unexecuted instantiation: rsaz_exp.c:constant_time_msb_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_msb_s
Unexecuted instantiation: set_key.c:constant_time_msb_s
curve448.c:constant_time_msb_s
Line
Count
Source
117
40.3k
{
118
40.3k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
40.3k
}
Unexecuted instantiation: curve448_tables.c:constant_time_msb_s
Unexecuted instantiation: eddsa.c:constant_time_msb_s
Unexecuted instantiation: f_generic.c:constant_time_msb_s
Unexecuted instantiation: scalar.c:constant_time_msb_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_msb_s
Unexecuted instantiation: rsa_oaep.c:constant_time_msb_s
Unexecuted instantiation: f_impl64.c:constant_time_msb_s
120
121
static ossl_inline unsigned int constant_time_lt(unsigned int a,
122
                                                 unsigned int b)
123
0
{
124
0
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_lt
Unexecuted instantiation: bn_lib.c:constant_time_lt
Unexecuted instantiation: err.c:constant_time_lt
Unexecuted instantiation: rsa_ossl.c:constant_time_lt
Unexecuted instantiation: rsa_pk1.c:constant_time_lt
Unexecuted instantiation: rsa_pmeth.c:constant_time_lt
Unexecuted instantiation: rsa_enc.c:constant_time_lt
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lt
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt
Unexecuted instantiation: ssl3_cbc.c:constant_time_lt
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt
Unexecuted instantiation: tls_pad.c:constant_time_lt
Unexecuted instantiation: bn_exp.c:constant_time_lt
Unexecuted instantiation: bn_gcd.c:constant_time_lt
Unexecuted instantiation: rsaz_exp.c:constant_time_lt
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_lt
Unexecuted instantiation: set_key.c:constant_time_lt
Unexecuted instantiation: curve448.c:constant_time_lt
Unexecuted instantiation: curve448_tables.c:constant_time_lt
Unexecuted instantiation: eddsa.c:constant_time_lt
Unexecuted instantiation: f_generic.c:constant_time_lt
Unexecuted instantiation: scalar.c:constant_time_lt
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lt
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_lt
Unexecuted instantiation: rsa_oaep.c:constant_time_lt
Unexecuted instantiation: f_impl64.c:constant_time_lt
126
127
static ossl_inline size_t constant_time_lt_s(size_t a, size_t b)
128
32.0M
{
129
32.0M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
32.0M
}
Unexecuted instantiation: statem_srvr.c:constant_time_lt_s
Unexecuted instantiation: bn_lib.c:constant_time_lt_s
Unexecuted instantiation: err.c:constant_time_lt_s
Unexecuted instantiation: rsa_ossl.c:constant_time_lt_s
Unexecuted instantiation: rsa_pk1.c:constant_time_lt_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_lt_s
Unexecuted instantiation: rsa_enc.c:constant_time_lt_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lt_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt_s
ssl3_cbc.c:constant_time_lt_s
Line
Count
Source
128
25.3M
{
129
25.3M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
25.3M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_s
tls_pad.c:constant_time_lt_s
Line
Count
Source
128
6.65M
{
129
6.65M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
6.65M
}
Unexecuted instantiation: bn_exp.c:constant_time_lt_s
Unexecuted instantiation: bn_gcd.c:constant_time_lt_s
Unexecuted instantiation: rsaz_exp.c:constant_time_lt_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_lt_s
Unexecuted instantiation: set_key.c:constant_time_lt_s
Unexecuted instantiation: curve448.c:constant_time_lt_s
Unexecuted instantiation: curve448_tables.c:constant_time_lt_s
Unexecuted instantiation: eddsa.c:constant_time_lt_s
Unexecuted instantiation: f_generic.c:constant_time_lt_s
Unexecuted instantiation: scalar.c:constant_time_lt_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lt_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_lt_s
Unexecuted instantiation: rsa_oaep.c:constant_time_lt_s
Unexecuted instantiation: f_impl64.c:constant_time_lt_s
131
132
static ossl_inline unsigned char constant_time_lt_8(unsigned int a,
133
                                                    unsigned int b)
134
0
{
135
0
    return (unsigned char)constant_time_lt(a, b);
136
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_lt_8
Unexecuted instantiation: bn_lib.c:constant_time_lt_8
Unexecuted instantiation: err.c:constant_time_lt_8
Unexecuted instantiation: rsa_ossl.c:constant_time_lt_8
Unexecuted instantiation: rsa_pk1.c:constant_time_lt_8
Unexecuted instantiation: rsa_pmeth.c:constant_time_lt_8
Unexecuted instantiation: rsa_enc.c:constant_time_lt_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lt_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt_8
Unexecuted instantiation: ssl3_cbc.c:constant_time_lt_8
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_8
Unexecuted instantiation: tls_pad.c:constant_time_lt_8
Unexecuted instantiation: bn_exp.c:constant_time_lt_8
Unexecuted instantiation: bn_gcd.c:constant_time_lt_8
Unexecuted instantiation: rsaz_exp.c:constant_time_lt_8
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_lt_8
Unexecuted instantiation: set_key.c:constant_time_lt_8
Unexecuted instantiation: curve448.c:constant_time_lt_8
Unexecuted instantiation: curve448_tables.c:constant_time_lt_8
Unexecuted instantiation: eddsa.c:constant_time_lt_8
Unexecuted instantiation: f_generic.c:constant_time_lt_8
Unexecuted instantiation: scalar.c:constant_time_lt_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lt_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_lt_8
Unexecuted instantiation: rsa_oaep.c:constant_time_lt_8
Unexecuted instantiation: f_impl64.c:constant_time_lt_8
137
138
static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t b)
139
0
{
140
0
    return constant_time_msb_64(a ^ ((a ^ b) | ((a - b) ^ b)));
141
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_lt_64
Unexecuted instantiation: bn_lib.c:constant_time_lt_64
Unexecuted instantiation: err.c:constant_time_lt_64
Unexecuted instantiation: rsa_ossl.c:constant_time_lt_64
Unexecuted instantiation: rsa_pk1.c:constant_time_lt_64
Unexecuted instantiation: rsa_pmeth.c:constant_time_lt_64
Unexecuted instantiation: rsa_enc.c:constant_time_lt_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lt_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt_64
Unexecuted instantiation: ssl3_cbc.c:constant_time_lt_64
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_64
Unexecuted instantiation: tls_pad.c:constant_time_lt_64
Unexecuted instantiation: bn_exp.c:constant_time_lt_64
Unexecuted instantiation: bn_gcd.c:constant_time_lt_64
Unexecuted instantiation: rsaz_exp.c:constant_time_lt_64
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_lt_64
Unexecuted instantiation: set_key.c:constant_time_lt_64
Unexecuted instantiation: curve448.c:constant_time_lt_64
Unexecuted instantiation: curve448_tables.c:constant_time_lt_64
Unexecuted instantiation: eddsa.c:constant_time_lt_64
Unexecuted instantiation: f_generic.c:constant_time_lt_64
Unexecuted instantiation: scalar.c:constant_time_lt_64
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lt_64
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_lt_64
Unexecuted instantiation: rsa_oaep.c:constant_time_lt_64
Unexecuted instantiation: f_impl64.c:constant_time_lt_64
142
143
#ifdef BN_ULONG
144
static ossl_inline BN_ULONG value_barrier_bn(BN_ULONG a)
145
0
{
146
0
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
147
0
    BN_ULONG r;
148
0
    __asm__("" : "=r"(r) : "0"(a));
149
#else
150
    volatile BN_ULONG r = a;
151
#endif
152
0
    return r;
153
0
}
Unexecuted instantiation: statem_srvr.c:value_barrier_bn
Unexecuted instantiation: bn_lib.c:value_barrier_bn
Unexecuted instantiation: err.c:value_barrier_bn
Unexecuted instantiation: rsa_ossl.c:value_barrier_bn
Unexecuted instantiation: rsa_enc.c:value_barrier_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier_bn
Unexecuted instantiation: ssl3_cbc.c:value_barrier_bn
Unexecuted instantiation: ciphercommon_block.c:value_barrier_bn
Unexecuted instantiation: tls_pad.c:value_barrier_bn
Unexecuted instantiation: bn_exp.c:value_barrier_bn
Unexecuted instantiation: bn_gcd.c:value_barrier_bn
Unexecuted instantiation: rsaz_exp.c:value_barrier_bn
Unexecuted instantiation: rsaz_exp_x2.c:value_barrier_bn
Unexecuted instantiation: eddsa.c:value_barrier_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier_bn
154
155
static ossl_inline BN_ULONG constant_time_msb_bn(BN_ULONG a)
156
6.07k
{
157
6.07k
    return 0 - (a >> (sizeof(a) * 8 - 1));
158
6.07k
}
Unexecuted instantiation: statem_srvr.c:constant_time_msb_bn
bn_lib.c:constant_time_msb_bn
Line
Count
Source
156
6.07k
{
157
6.07k
    return 0 - (a >> (sizeof(a) * 8 - 1));
158
6.07k
}
Unexecuted instantiation: err.c:constant_time_msb_bn
Unexecuted instantiation: rsa_ossl.c:constant_time_msb_bn
Unexecuted instantiation: rsa_enc.c:constant_time_msb_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb_bn
Unexecuted instantiation: ssl3_cbc.c:constant_time_msb_bn
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_bn
Unexecuted instantiation: tls_pad.c:constant_time_msb_bn
Unexecuted instantiation: bn_exp.c:constant_time_msb_bn
Unexecuted instantiation: bn_gcd.c:constant_time_msb_bn
Unexecuted instantiation: rsaz_exp.c:constant_time_msb_bn
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_msb_bn
Unexecuted instantiation: eddsa.c:constant_time_msb_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_msb_bn
159
160
static ossl_inline BN_ULONG constant_time_lt_bn(BN_ULONG a, BN_ULONG b)
161
4.04k
{
162
4.04k
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
163
4.04k
}
Unexecuted instantiation: statem_srvr.c:constant_time_lt_bn
bn_lib.c:constant_time_lt_bn
Line
Count
Source
161
4.04k
{
162
4.04k
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
163
4.04k
}
Unexecuted instantiation: err.c:constant_time_lt_bn
Unexecuted instantiation: rsa_ossl.c:constant_time_lt_bn
Unexecuted instantiation: rsa_enc.c:constant_time_lt_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lt_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt_bn
Unexecuted instantiation: ssl3_cbc.c:constant_time_lt_bn
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_bn
Unexecuted instantiation: tls_pad.c:constant_time_lt_bn
Unexecuted instantiation: bn_exp.c:constant_time_lt_bn
Unexecuted instantiation: bn_gcd.c:constant_time_lt_bn
Unexecuted instantiation: rsaz_exp.c:constant_time_lt_bn
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_lt_bn
Unexecuted instantiation: eddsa.c:constant_time_lt_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lt_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_lt_bn
164
165
static ossl_inline BN_ULONG constant_time_is_zero_bn(BN_ULONG a)
166
2.02k
{
167
2.02k
    return constant_time_msb_bn(~a & (a - 1));
168
2.02k
}
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_bn
bn_lib.c:constant_time_is_zero_bn
Line
Count
Source
166
2.02k
{
167
2.02k
    return constant_time_msb_bn(~a & (a - 1));
168
2.02k
}
Unexecuted instantiation: err.c:constant_time_is_zero_bn
Unexecuted instantiation: rsa_ossl.c:constant_time_is_zero_bn
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero_bn
Unexecuted instantiation: ssl3_cbc.c:constant_time_is_zero_bn
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_bn
Unexecuted instantiation: tls_pad.c:constant_time_is_zero_bn
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_bn
Unexecuted instantiation: bn_gcd.c:constant_time_is_zero_bn
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero_bn
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero_bn
Unexecuted instantiation: eddsa.c:constant_time_is_zero_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_is_zero_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_is_zero_bn
169
170
static ossl_inline BN_ULONG constant_time_eq_bn(BN_ULONG a,
171
                                                BN_ULONG b)
172
506
{
173
506
    return constant_time_is_zero_bn(a ^ b);
174
506
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq_bn
bn_lib.c:constant_time_eq_bn
Line
Count
Source
172
506
{
173
506
    return constant_time_is_zero_bn(a ^ b);
174
506
}
Unexecuted instantiation: err.c:constant_time_eq_bn
Unexecuted instantiation: rsa_ossl.c:constant_time_eq_bn
Unexecuted instantiation: rsa_enc.c:constant_time_eq_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq_bn
Unexecuted instantiation: ssl3_cbc.c:constant_time_eq_bn
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_bn
Unexecuted instantiation: tls_pad.c:constant_time_eq_bn
Unexecuted instantiation: bn_exp.c:constant_time_eq_bn
Unexecuted instantiation: bn_gcd.c:constant_time_eq_bn
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_bn
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_bn
Unexecuted instantiation: eddsa.c:constant_time_eq_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq_bn
175
176
static ossl_inline BN_ULONG constant_time_select_bn(BN_ULONG mask,
177
                                                    BN_ULONG a,
178
                                                    BN_ULONG b)
179
0
{
180
0
    return (value_barrier_bn(mask) & a) | (value_barrier_bn(~mask) & b);
181
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_bn
Unexecuted instantiation: bn_lib.c:constant_time_select_bn
Unexecuted instantiation: err.c:constant_time_select_bn
Unexecuted instantiation: rsa_ossl.c:constant_time_select_bn
Unexecuted instantiation: rsa_enc.c:constant_time_select_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_bn
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_bn
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_bn
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_bn
Unexecuted instantiation: tls_pad.c:constant_time_select_bn
Unexecuted instantiation: bn_exp.c:constant_time_select_bn
Unexecuted instantiation: bn_gcd.c:constant_time_select_bn
Unexecuted instantiation: rsaz_exp.c:constant_time_select_bn
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_bn
Unexecuted instantiation: eddsa.c:constant_time_select_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_bn
182
#endif
183
184
static ossl_inline unsigned int constant_time_ge(unsigned int a,
185
                                                 unsigned int b)
186
0
{
187
0
    return ~constant_time_lt(a, b);
188
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_ge
Unexecuted instantiation: bn_lib.c:constant_time_ge
Unexecuted instantiation: err.c:constant_time_ge
Unexecuted instantiation: rsa_ossl.c:constant_time_ge
Unexecuted instantiation: rsa_pk1.c:constant_time_ge
Unexecuted instantiation: rsa_pmeth.c:constant_time_ge
Unexecuted instantiation: rsa_enc.c:constant_time_ge
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_ge
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge
Unexecuted instantiation: ssl3_cbc.c:constant_time_ge
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge
Unexecuted instantiation: tls_pad.c:constant_time_ge
Unexecuted instantiation: bn_exp.c:constant_time_ge
Unexecuted instantiation: bn_gcd.c:constant_time_ge
Unexecuted instantiation: rsaz_exp.c:constant_time_ge
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_ge
Unexecuted instantiation: set_key.c:constant_time_ge
Unexecuted instantiation: curve448.c:constant_time_ge
Unexecuted instantiation: curve448_tables.c:constant_time_ge
Unexecuted instantiation: eddsa.c:constant_time_ge
Unexecuted instantiation: f_generic.c:constant_time_ge
Unexecuted instantiation: scalar.c:constant_time_ge
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_ge
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_ge
Unexecuted instantiation: rsa_oaep.c:constant_time_ge
Unexecuted instantiation: f_impl64.c:constant_time_ge
189
190
static ossl_inline size_t constant_time_ge_s(size_t a, size_t b)
191
27.3M
{
192
27.3M
    return ~constant_time_lt_s(a, b);
193
27.3M
}
Unexecuted instantiation: statem_srvr.c:constant_time_ge_s
Unexecuted instantiation: bn_lib.c:constant_time_ge_s
Unexecuted instantiation: err.c:constant_time_ge_s
Unexecuted instantiation: rsa_ossl.c:constant_time_ge_s
Unexecuted instantiation: rsa_pk1.c:constant_time_ge_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_ge_s
Unexecuted instantiation: rsa_enc.c:constant_time_ge_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_ge_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge_s
ssl3_cbc.c:constant_time_ge_s
Line
Count
Source
191
25.3M
{
192
25.3M
    return ~constant_time_lt_s(a, b);
193
25.3M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_s
tls_pad.c:constant_time_ge_s
Line
Count
Source
191
1.98M
{
192
1.98M
    return ~constant_time_lt_s(a, b);
193
1.98M
}
Unexecuted instantiation: bn_exp.c:constant_time_ge_s
Unexecuted instantiation: bn_gcd.c:constant_time_ge_s
Unexecuted instantiation: rsaz_exp.c:constant_time_ge_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_ge_s
Unexecuted instantiation: set_key.c:constant_time_ge_s
Unexecuted instantiation: curve448.c:constant_time_ge_s
Unexecuted instantiation: curve448_tables.c:constant_time_ge_s
Unexecuted instantiation: eddsa.c:constant_time_ge_s
Unexecuted instantiation: f_generic.c:constant_time_ge_s
Unexecuted instantiation: scalar.c:constant_time_ge_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_ge_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_ge_s
Unexecuted instantiation: rsa_oaep.c:constant_time_ge_s
Unexecuted instantiation: f_impl64.c:constant_time_ge_s
194
195
static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
196
                                                    unsigned int b)
197
0
{
198
0
    return (unsigned char)constant_time_ge(a, b);
199
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_ge_8
Unexecuted instantiation: bn_lib.c:constant_time_ge_8
Unexecuted instantiation: err.c:constant_time_ge_8
Unexecuted instantiation: rsa_ossl.c:constant_time_ge_8
Unexecuted instantiation: rsa_pk1.c:constant_time_ge_8
Unexecuted instantiation: rsa_pmeth.c:constant_time_ge_8
Unexecuted instantiation: rsa_enc.c:constant_time_ge_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_ge_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge_8
Unexecuted instantiation: ssl3_cbc.c:constant_time_ge_8
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_8
Unexecuted instantiation: tls_pad.c:constant_time_ge_8
Unexecuted instantiation: bn_exp.c:constant_time_ge_8
Unexecuted instantiation: bn_gcd.c:constant_time_ge_8
Unexecuted instantiation: rsaz_exp.c:constant_time_ge_8
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_ge_8
Unexecuted instantiation: set_key.c:constant_time_ge_8
Unexecuted instantiation: curve448.c:constant_time_ge_8
Unexecuted instantiation: curve448_tables.c:constant_time_ge_8
Unexecuted instantiation: eddsa.c:constant_time_ge_8
Unexecuted instantiation: f_generic.c:constant_time_ge_8
Unexecuted instantiation: scalar.c:constant_time_ge_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_ge_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_ge_8
Unexecuted instantiation: rsa_oaep.c:constant_time_ge_8
Unexecuted instantiation: f_impl64.c:constant_time_ge_8
200
201
static ossl_inline unsigned char constant_time_ge_8_s(size_t a, size_t b)
202
27.3M
{
203
27.3M
    return (unsigned char)constant_time_ge_s(a, b);
204
27.3M
}
Unexecuted instantiation: statem_srvr.c:constant_time_ge_8_s
Unexecuted instantiation: bn_lib.c:constant_time_ge_8_s
Unexecuted instantiation: err.c:constant_time_ge_8_s
Unexecuted instantiation: rsa_ossl.c:constant_time_ge_8_s
Unexecuted instantiation: rsa_pk1.c:constant_time_ge_8_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_ge_8_s
Unexecuted instantiation: rsa_enc.c:constant_time_ge_8_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_ge_8_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge_8_s
ssl3_cbc.c:constant_time_ge_8_s
Line
Count
Source
202
25.3M
{
203
25.3M
    return (unsigned char)constant_time_ge_s(a, b);
204
25.3M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_8_s
tls_pad.c:constant_time_ge_8_s
Line
Count
Source
202
1.95M
{
203
1.95M
    return (unsigned char)constant_time_ge_s(a, b);
204
1.95M
}
Unexecuted instantiation: bn_exp.c:constant_time_ge_8_s
Unexecuted instantiation: bn_gcd.c:constant_time_ge_8_s
Unexecuted instantiation: rsaz_exp.c:constant_time_ge_8_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_ge_8_s
Unexecuted instantiation: set_key.c:constant_time_ge_8_s
Unexecuted instantiation: curve448.c:constant_time_ge_8_s
Unexecuted instantiation: curve448_tables.c:constant_time_ge_8_s
Unexecuted instantiation: eddsa.c:constant_time_ge_8_s
Unexecuted instantiation: f_generic.c:constant_time_ge_8_s
Unexecuted instantiation: scalar.c:constant_time_ge_8_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_ge_8_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_ge_8_s
Unexecuted instantiation: rsa_oaep.c:constant_time_ge_8_s
Unexecuted instantiation: f_impl64.c:constant_time_ge_8_s
205
206
static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
207
15.9M
{
208
15.9M
    return constant_time_msb(~a & (a - 1));
209
15.9M
}
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero
bn_lib.c:constant_time_is_zero
Line
Count
Source
207
3.77M
{
208
3.77M
    return constant_time_msb(~a & (a - 1));
209
3.77M
}
err.c:constant_time_is_zero
Line
Count
Source
207
1.16k
{
208
1.16k
    return constant_time_msb(~a & (a - 1));
209
1.16k
}
Unexecuted instantiation: rsa_ossl.c:constant_time_is_zero
rsa_pk1.c:constant_time_is_zero
Line
Count
Source
207
244k
{
208
244k
    return constant_time_msb(~a & (a - 1));
209
244k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_is_zero
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero
Unexecuted instantiation: ssl3_cbc.c:constant_time_is_zero
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero
tls_pad.c:constant_time_is_zero
Line
Count
Source
207
729k
{
208
729k
    return constant_time_msb(~a & (a - 1));
209
729k
}
bn_exp.c:constant_time_is_zero
Line
Count
Source
207
11.1M
{
208
11.1M
    return constant_time_msb(~a & (a - 1));
209
11.1M
}
Unexecuted instantiation: bn_gcd.c:constant_time_is_zero
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero
Unexecuted instantiation: set_key.c:constant_time_is_zero
Unexecuted instantiation: curve448.c:constant_time_is_zero
Unexecuted instantiation: curve448_tables.c:constant_time_is_zero
Unexecuted instantiation: eddsa.c:constant_time_is_zero
Unexecuted instantiation: f_generic.c:constant_time_is_zero
Unexecuted instantiation: scalar.c:constant_time_is_zero
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_is_zero
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_is_zero
Unexecuted instantiation: rsa_oaep.c:constant_time_is_zero
Unexecuted instantiation: f_impl64.c:constant_time_is_zero
210
211
static ossl_inline size_t constant_time_is_zero_s(size_t a)
212
2.36M
{
213
2.36M
    return constant_time_msb_s(~a & (a - 1));
214
2.36M
}
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_s
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_s
Unexecuted instantiation: err.c:constant_time_is_zero_s
Unexecuted instantiation: rsa_ossl.c:constant_time_is_zero_s
Unexecuted instantiation: rsa_pk1.c:constant_time_is_zero_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_is_zero_s
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero_s
ssl3_cbc.c:constant_time_is_zero_s
Line
Count
Source
212
332k
{
213
332k
    return constant_time_msb_s(~a & (a - 1));
214
332k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_s
tls_pad.c:constant_time_is_zero_s
Line
Count
Source
212
1.99M
{
213
1.99M
    return constant_time_msb_s(~a & (a - 1));
214
1.99M
}
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_s
Unexecuted instantiation: bn_gcd.c:constant_time_is_zero_s
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero_s
Unexecuted instantiation: set_key.c:constant_time_is_zero_s
curve448.c:constant_time_is_zero_s
Line
Count
Source
212
40.3k
{
213
40.3k
    return constant_time_msb_s(~a & (a - 1));
214
40.3k
}
Unexecuted instantiation: curve448_tables.c:constant_time_is_zero_s
Unexecuted instantiation: eddsa.c:constant_time_is_zero_s
Unexecuted instantiation: f_generic.c:constant_time_is_zero_s
Unexecuted instantiation: scalar.c:constant_time_is_zero_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_is_zero_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_is_zero_s
Unexecuted instantiation: rsa_oaep.c:constant_time_is_zero_s
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_s
215
216
static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a)
217
239k
{
218
239k
    return (unsigned char)constant_time_is_zero(a);
219
239k
}
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_8
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_8
Unexecuted instantiation: err.c:constant_time_is_zero_8
Unexecuted instantiation: rsa_ossl.c:constant_time_is_zero_8
rsa_pk1.c:constant_time_is_zero_8
Line
Count
Source
217
239k
{
218
239k
    return (unsigned char)constant_time_is_zero(a);
219
239k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_is_zero_8
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero_8
Unexecuted instantiation: ssl3_cbc.c:constant_time_is_zero_8
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_8
Unexecuted instantiation: tls_pad.c:constant_time_is_zero_8
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_8
Unexecuted instantiation: bn_gcd.c:constant_time_is_zero_8
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero_8
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero_8
Unexecuted instantiation: set_key.c:constant_time_is_zero_8
Unexecuted instantiation: curve448.c:constant_time_is_zero_8
Unexecuted instantiation: curve448_tables.c:constant_time_is_zero_8
Unexecuted instantiation: eddsa.c:constant_time_is_zero_8
Unexecuted instantiation: f_generic.c:constant_time_is_zero_8
Unexecuted instantiation: scalar.c:constant_time_is_zero_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_is_zero_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_is_zero_8
Unexecuted instantiation: rsa_oaep.c:constant_time_is_zero_8
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_8
220
221
static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a)
222
0
{
223
0
    return constant_time_msb_32(~a & (a - 1));
224
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_32
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_32
Unexecuted instantiation: err.c:constant_time_is_zero_32
Unexecuted instantiation: rsa_ossl.c:constant_time_is_zero_32
Unexecuted instantiation: rsa_pk1.c:constant_time_is_zero_32
Unexecuted instantiation: rsa_pmeth.c:constant_time_is_zero_32
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero_32
Unexecuted instantiation: ssl3_cbc.c:constant_time_is_zero_32
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_32
Unexecuted instantiation: tls_pad.c:constant_time_is_zero_32
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_32
Unexecuted instantiation: bn_gcd.c:constant_time_is_zero_32
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero_32
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero_32
Unexecuted instantiation: set_key.c:constant_time_is_zero_32
Unexecuted instantiation: curve448.c:constant_time_is_zero_32
Unexecuted instantiation: curve448_tables.c:constant_time_is_zero_32
Unexecuted instantiation: eddsa.c:constant_time_is_zero_32
Unexecuted instantiation: f_generic.c:constant_time_is_zero_32
Unexecuted instantiation: scalar.c:constant_time_is_zero_32
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_is_zero_32
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_is_zero_32
Unexecuted instantiation: rsa_oaep.c:constant_time_is_zero_32
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_32
225
226
static ossl_inline uint64_t constant_time_is_zero_64(uint64_t a)
227
28
{
228
28
    return constant_time_msb_64(~a & (a - 1));
229
28
}
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_64
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_64
Unexecuted instantiation: err.c:constant_time_is_zero_64
Unexecuted instantiation: rsa_ossl.c:constant_time_is_zero_64
Unexecuted instantiation: rsa_pk1.c:constant_time_is_zero_64
Unexecuted instantiation: rsa_pmeth.c:constant_time_is_zero_64
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero_64
Unexecuted instantiation: ssl3_cbc.c:constant_time_is_zero_64
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_64
Unexecuted instantiation: tls_pad.c:constant_time_is_zero_64
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_64
Unexecuted instantiation: bn_gcd.c:constant_time_is_zero_64
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero_64
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero_64
Unexecuted instantiation: set_key.c:constant_time_is_zero_64
Unexecuted instantiation: curve448.c:constant_time_is_zero_64
Unexecuted instantiation: curve448_tables.c:constant_time_is_zero_64
Unexecuted instantiation: eddsa.c:constant_time_is_zero_64
f_generic.c:constant_time_is_zero_64
Line
Count
Source
227
28
{
228
28
    return constant_time_msb_64(~a & (a - 1));
229
28
}
Unexecuted instantiation: scalar.c:constant_time_is_zero_64
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_is_zero_64
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_is_zero_64
Unexecuted instantiation: rsa_oaep.c:constant_time_is_zero_64
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_64
230
231
static ossl_inline unsigned int constant_time_eq(unsigned int a,
232
                                                 unsigned int b)
233
15.7M
{
234
15.7M
    return constant_time_is_zero(a ^ b);
235
15.7M
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq
bn_lib.c:constant_time_eq
Line
Count
Source
233
3.77M
{
234
3.77M
    return constant_time_is_zero(a ^ b);
235
3.77M
}
err.c:constant_time_eq
Line
Count
Source
233
1.16k
{
234
1.16k
    return constant_time_is_zero(a ^ b);
235
1.16k
}
Unexecuted instantiation: rsa_ossl.c:constant_time_eq
rsa_pk1.c:constant_time_eq
Line
Count
Source
233
3.48k
{
234
3.48k
    return constant_time_is_zero(a ^ b);
235
3.48k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_eq
Unexecuted instantiation: rsa_enc.c:constant_time_eq
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq
Unexecuted instantiation: ssl3_cbc.c:constant_time_eq
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq
tls_pad.c:constant_time_eq
Line
Count
Source
233
729k
{
234
729k
    return constant_time_is_zero(a ^ b);
235
729k
}
bn_exp.c:constant_time_eq
Line
Count
Source
233
11.1M
{
234
11.1M
    return constant_time_is_zero(a ^ b);
235
11.1M
}
Unexecuted instantiation: bn_gcd.c:constant_time_eq
Unexecuted instantiation: rsaz_exp.c:constant_time_eq
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq
Unexecuted instantiation: set_key.c:constant_time_eq
Unexecuted instantiation: curve448.c:constant_time_eq
Unexecuted instantiation: curve448_tables.c:constant_time_eq
Unexecuted instantiation: eddsa.c:constant_time_eq
Unexecuted instantiation: f_generic.c:constant_time_eq
Unexecuted instantiation: scalar.c:constant_time_eq
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq
Unexecuted instantiation: rsa_oaep.c:constant_time_eq
Unexecuted instantiation: f_impl64.c:constant_time_eq
236
237
static ossl_inline size_t constant_time_eq_s(size_t a, size_t b)
238
2.32M
{
239
2.32M
    return constant_time_is_zero_s(a ^ b);
240
2.32M
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq_s
Unexecuted instantiation: bn_lib.c:constant_time_eq_s
Unexecuted instantiation: err.c:constant_time_eq_s
Unexecuted instantiation: rsa_ossl.c:constant_time_eq_s
Unexecuted instantiation: rsa_pk1.c:constant_time_eq_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_eq_s
Unexecuted instantiation: rsa_enc.c:constant_time_eq_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq_s
ssl3_cbc.c:constant_time_eq_s
Line
Count
Source
238
332k
{
239
332k
    return constant_time_is_zero_s(a ^ b);
240
332k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_s
tls_pad.c:constant_time_eq_s
Line
Count
Source
238
1.99M
{
239
1.99M
    return constant_time_is_zero_s(a ^ b);
240
1.99M
}
Unexecuted instantiation: bn_exp.c:constant_time_eq_s
Unexecuted instantiation: bn_gcd.c:constant_time_eq_s
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_s
Unexecuted instantiation: set_key.c:constant_time_eq_s
Unexecuted instantiation: curve448.c:constant_time_eq_s
Unexecuted instantiation: curve448_tables.c:constant_time_eq_s
Unexecuted instantiation: eddsa.c:constant_time_eq_s
Unexecuted instantiation: f_generic.c:constant_time_eq_s
Unexecuted instantiation: scalar.c:constant_time_eq_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq_s
Unexecuted instantiation: rsa_oaep.c:constant_time_eq_s
Unexecuted instantiation: f_impl64.c:constant_time_eq_s
241
242
static ossl_inline unsigned char constant_time_eq_8(unsigned int a,
243
                                                    unsigned int b)
244
729k
{
245
729k
    return (unsigned char)constant_time_eq(a, b);
246
729k
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq_8
Unexecuted instantiation: bn_lib.c:constant_time_eq_8
Unexecuted instantiation: err.c:constant_time_eq_8
Unexecuted instantiation: rsa_ossl.c:constant_time_eq_8
Unexecuted instantiation: rsa_pk1.c:constant_time_eq_8
Unexecuted instantiation: rsa_pmeth.c:constant_time_eq_8
Unexecuted instantiation: rsa_enc.c:constant_time_eq_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq_8
Unexecuted instantiation: ssl3_cbc.c:constant_time_eq_8
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_8
tls_pad.c:constant_time_eq_8
Line
Count
Source
244
729k
{
245
729k
    return (unsigned char)constant_time_eq(a, b);
246
729k
}
Unexecuted instantiation: bn_exp.c:constant_time_eq_8
Unexecuted instantiation: bn_gcd.c:constant_time_eq_8
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_8
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_8
Unexecuted instantiation: set_key.c:constant_time_eq_8
Unexecuted instantiation: curve448.c:constant_time_eq_8
Unexecuted instantiation: curve448_tables.c:constant_time_eq_8
Unexecuted instantiation: eddsa.c:constant_time_eq_8
Unexecuted instantiation: f_generic.c:constant_time_eq_8
Unexecuted instantiation: scalar.c:constant_time_eq_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq_8
Unexecuted instantiation: rsa_oaep.c:constant_time_eq_8
Unexecuted instantiation: f_impl64.c:constant_time_eq_8
247
248
static ossl_inline unsigned char constant_time_eq_8_s(size_t a, size_t b)
249
332k
{
250
332k
    return (unsigned char)constant_time_eq_s(a, b);
251
332k
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq_8_s
Unexecuted instantiation: bn_lib.c:constant_time_eq_8_s
Unexecuted instantiation: err.c:constant_time_eq_8_s
Unexecuted instantiation: rsa_ossl.c:constant_time_eq_8_s
Unexecuted instantiation: rsa_pk1.c:constant_time_eq_8_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_eq_8_s
Unexecuted instantiation: rsa_enc.c:constant_time_eq_8_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq_8_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq_8_s
ssl3_cbc.c:constant_time_eq_8_s
Line
Count
Source
249
332k
{
250
332k
    return (unsigned char)constant_time_eq_s(a, b);
251
332k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_8_s
Unexecuted instantiation: tls_pad.c:constant_time_eq_8_s
Unexecuted instantiation: bn_exp.c:constant_time_eq_8_s
Unexecuted instantiation: bn_gcd.c:constant_time_eq_8_s
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_8_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_8_s
Unexecuted instantiation: set_key.c:constant_time_eq_8_s
Unexecuted instantiation: curve448.c:constant_time_eq_8_s
Unexecuted instantiation: curve448_tables.c:constant_time_eq_8_s
Unexecuted instantiation: eddsa.c:constant_time_eq_8_s
Unexecuted instantiation: f_generic.c:constant_time_eq_8_s
Unexecuted instantiation: scalar.c:constant_time_eq_8_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_8_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq_8_s
Unexecuted instantiation: rsa_oaep.c:constant_time_eq_8_s
Unexecuted instantiation: f_impl64.c:constant_time_eq_8_s
252
253
static ossl_inline unsigned int constant_time_eq_int(int a, int b)
254
14.9M
{
255
14.9M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
256
14.9M
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq_int
bn_lib.c:constant_time_eq_int
Line
Count
Source
254
3.77M
{
255
3.77M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
256
3.77M
}
err.c:constant_time_eq_int
Line
Count
Source
254
1.16k
{
255
1.16k
    return constant_time_eq((unsigned)(a), (unsigned)(b));
256
1.16k
}
Unexecuted instantiation: rsa_ossl.c:constant_time_eq_int
Unexecuted instantiation: rsa_pk1.c:constant_time_eq_int
Unexecuted instantiation: rsa_pmeth.c:constant_time_eq_int
Unexecuted instantiation: rsa_enc.c:constant_time_eq_int
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq_int
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq_int
Unexecuted instantiation: ssl3_cbc.c:constant_time_eq_int
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_int
Unexecuted instantiation: tls_pad.c:constant_time_eq_int
bn_exp.c:constant_time_eq_int
Line
Count
Source
254
11.1M
{
255
11.1M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
256
11.1M
}
Unexecuted instantiation: bn_gcd.c:constant_time_eq_int
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_int
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_int
Unexecuted instantiation: set_key.c:constant_time_eq_int
Unexecuted instantiation: curve448.c:constant_time_eq_int
Unexecuted instantiation: curve448_tables.c:constant_time_eq_int
Unexecuted instantiation: eddsa.c:constant_time_eq_int
Unexecuted instantiation: f_generic.c:constant_time_eq_int
Unexecuted instantiation: scalar.c:constant_time_eq_int
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_int
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq_int
Unexecuted instantiation: rsa_oaep.c:constant_time_eq_int
Unexecuted instantiation: f_impl64.c:constant_time_eq_int
257
258
static ossl_inline unsigned char constant_time_eq_int_8(int a, int b)
259
0
{
260
0
    return constant_time_eq_8((unsigned)(a), (unsigned)(b));
261
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_eq_int_8
Unexecuted instantiation: bn_lib.c:constant_time_eq_int_8
Unexecuted instantiation: err.c:constant_time_eq_int_8
Unexecuted instantiation: rsa_ossl.c:constant_time_eq_int_8
Unexecuted instantiation: rsa_pk1.c:constant_time_eq_int_8
Unexecuted instantiation: rsa_pmeth.c:constant_time_eq_int_8
Unexecuted instantiation: rsa_enc.c:constant_time_eq_int_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_eq_int_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_eq_int_8
Unexecuted instantiation: ssl3_cbc.c:constant_time_eq_int_8
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_int_8
Unexecuted instantiation: tls_pad.c:constant_time_eq_int_8
Unexecuted instantiation: bn_exp.c:constant_time_eq_int_8
Unexecuted instantiation: bn_gcd.c:constant_time_eq_int_8
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_int_8
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_int_8
Unexecuted instantiation: set_key.c:constant_time_eq_int_8
Unexecuted instantiation: curve448.c:constant_time_eq_int_8
Unexecuted instantiation: curve448_tables.c:constant_time_eq_int_8
Unexecuted instantiation: eddsa.c:constant_time_eq_int_8
Unexecuted instantiation: f_generic.c:constant_time_eq_int_8
Unexecuted instantiation: scalar.c:constant_time_eq_int_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_int_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_eq_int_8
Unexecuted instantiation: rsa_oaep.c:constant_time_eq_int_8
Unexecuted instantiation: f_impl64.c:constant_time_eq_int_8
262
263
/*
264
 * Returns the value unmodified, but avoids optimizations.
265
 * The barriers prevent the compiler from narrowing down the
266
 * possible value range of the mask and ~mask in the select
267
 * statements, which avoids the recognition of the select
268
 * and turning it into a conditional load or branch.
269
 */
270
static ossl_inline unsigned int value_barrier(unsigned int a)
271
47.3M
{
272
47.3M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
47.3M
    unsigned int r;
274
47.3M
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
47.3M
    return r;
279
47.3M
}
Unexecuted instantiation: statem_srvr.c:value_barrier
bn_lib.c:value_barrier
Line
Count
Source
271
270k
{
272
270k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
270k
    unsigned int r;
274
270k
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
270k
    return r;
279
270k
}
err.c:value_barrier
Line
Count
Source
271
2.33k
{
272
2.33k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
2.33k
    unsigned int r;
274
2.33k
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
2.33k
    return r;
279
2.33k
}
Unexecuted instantiation: rsa_ossl.c:value_barrier
rsa_pk1.c:value_barrier
Line
Count
Source
271
111k
{
272
111k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
111k
    unsigned int r;
274
111k
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
111k
    return r;
279
111k
}
Unexecuted instantiation: rsa_pmeth.c:value_barrier
rsa_enc.c:value_barrier
Line
Count
Source
271
2.32k
{
272
2.32k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
2.32k
    unsigned int r;
274
2.32k
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
2.32k
    return r;
279
2.32k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier
ssl3_cbc.c:value_barrier
Line
Count
Source
271
28.5M
{
272
28.5M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
28.5M
    unsigned int r;
274
28.5M
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
28.5M
    return r;
279
28.5M
}
Unexecuted instantiation: ciphercommon_block.c:value_barrier
tls_pad.c:value_barrier
Line
Count
Source
271
2.91M
{
272
2.91M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
2.91M
    unsigned int r;
274
2.91M
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
2.91M
    return r;
279
2.91M
}
Unexecuted instantiation: bn_exp.c:value_barrier
Unexecuted instantiation: bn_gcd.c:value_barrier
Unexecuted instantiation: rsaz_exp.c:value_barrier
Unexecuted instantiation: rsaz_exp_x2.c:value_barrier
Unexecuted instantiation: set_key.c:value_barrier
curve448.c:value_barrier
Line
Count
Source
271
15.4M
{
272
15.4M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
273
15.4M
    unsigned int r;
274
15.4M
    __asm__("" : "=r"(r) : "0"(a));
275
#else
276
    volatile unsigned int r = a;
277
#endif
278
15.4M
    return r;
279
15.4M
}
Unexecuted instantiation: curve448_tables.c:value_barrier
Unexecuted instantiation: eddsa.c:value_barrier
Unexecuted instantiation: f_generic.c:value_barrier
Unexecuted instantiation: scalar.c:value_barrier
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier
Unexecuted instantiation: rsa_oaep.c:value_barrier
Unexecuted instantiation: f_impl64.c:value_barrier
280
281
/* Convenience method for uint32_t. */
282
static ossl_inline uint32_t value_barrier_32(uint32_t a)
283
0
{
284
0
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
285
0
    uint32_t r;
286
0
    __asm__("" : "=r"(r) : "0"(a));
287
0
#else
288
0
    volatile uint32_t r = a;
289
0
#endif
290
0
    return r;
291
0
}
Unexecuted instantiation: statem_srvr.c:value_barrier_32
Unexecuted instantiation: bn_lib.c:value_barrier_32
Unexecuted instantiation: err.c:value_barrier_32
Unexecuted instantiation: rsa_ossl.c:value_barrier_32
Unexecuted instantiation: rsa_pk1.c:value_barrier_32
Unexecuted instantiation: rsa_pmeth.c:value_barrier_32
Unexecuted instantiation: rsa_enc.c:value_barrier_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier_32
Unexecuted instantiation: ssl3_cbc.c:value_barrier_32
Unexecuted instantiation: ciphercommon_block.c:value_barrier_32
Unexecuted instantiation: tls_pad.c:value_barrier_32
Unexecuted instantiation: bn_exp.c:value_barrier_32
Unexecuted instantiation: bn_gcd.c:value_barrier_32
Unexecuted instantiation: rsaz_exp.c:value_barrier_32
Unexecuted instantiation: rsaz_exp_x2.c:value_barrier_32
Unexecuted instantiation: set_key.c:value_barrier_32
Unexecuted instantiation: curve448.c:value_barrier_32
Unexecuted instantiation: curve448_tables.c:value_barrier_32
Unexecuted instantiation: eddsa.c:value_barrier_32
Unexecuted instantiation: f_generic.c:value_barrier_32
Unexecuted instantiation: scalar.c:value_barrier_32
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier_32
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier_32
Unexecuted instantiation: rsa_oaep.c:value_barrier_32
Unexecuted instantiation: f_impl64.c:value_barrier_32
292
293
/* Convenience method for uint64_t. */
294
static ossl_inline uint64_t value_barrier_64(uint64_t a)
295
40.3k
{
296
40.3k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
297
40.3k
    uint64_t r;
298
40.3k
    __asm__("" : "=r"(r) : "0"(a));
299
#else
300
    volatile uint64_t r = a;
301
#endif
302
40.3k
    return r;
303
40.3k
}
Unexecuted instantiation: statem_srvr.c:value_barrier_64
Unexecuted instantiation: bn_lib.c:value_barrier_64
Unexecuted instantiation: err.c:value_barrier_64
Unexecuted instantiation: rsa_ossl.c:value_barrier_64
Unexecuted instantiation: rsa_pk1.c:value_barrier_64
Unexecuted instantiation: rsa_pmeth.c:value_barrier_64
Unexecuted instantiation: rsa_enc.c:value_barrier_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier_64
Unexecuted instantiation: ssl3_cbc.c:value_barrier_64
Unexecuted instantiation: ciphercommon_block.c:value_barrier_64
Unexecuted instantiation: tls_pad.c:value_barrier_64
Unexecuted instantiation: bn_exp.c:value_barrier_64
Unexecuted instantiation: bn_gcd.c:value_barrier_64
Unexecuted instantiation: rsaz_exp.c:value_barrier_64
Unexecuted instantiation: rsaz_exp_x2.c:value_barrier_64
Unexecuted instantiation: set_key.c:value_barrier_64
curve448.c:value_barrier_64
Line
Count
Source
295
40.3k
{
296
40.3k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
297
40.3k
    uint64_t r;
298
40.3k
    __asm__("" : "=r"(r) : "0"(a));
299
#else
300
    volatile uint64_t r = a;
301
#endif
302
40.3k
    return r;
303
40.3k
}
Unexecuted instantiation: curve448_tables.c:value_barrier_64
Unexecuted instantiation: eddsa.c:value_barrier_64
Unexecuted instantiation: f_generic.c:value_barrier_64
Unexecuted instantiation: scalar.c:value_barrier_64
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier_64
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier_64
Unexecuted instantiation: rsa_oaep.c:value_barrier_64
Unexecuted instantiation: f_impl64.c:value_barrier_64
304
305
/* Convenience method for size_t. */
306
static ossl_inline size_t value_barrier_s(size_t a)
307
2.32k
{
308
2.32k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
309
2.32k
    size_t r;
310
2.32k
    __asm__("" : "=r"(r) : "0"(a));
311
#else
312
    volatile size_t r = a;
313
#endif
314
2.32k
    return r;
315
2.32k
}
Unexecuted instantiation: statem_srvr.c:value_barrier_s
Unexecuted instantiation: bn_lib.c:value_barrier_s
Unexecuted instantiation: err.c:value_barrier_s
Unexecuted instantiation: rsa_ossl.c:value_barrier_s
Unexecuted instantiation: rsa_pk1.c:value_barrier_s
Unexecuted instantiation: rsa_pmeth.c:value_barrier_s
rsa_enc.c:value_barrier_s
Line
Count
Source
307
2.32k
{
308
2.32k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
309
2.32k
    size_t r;
310
2.32k
    __asm__("" : "=r"(r) : "0"(a));
311
#else
312
    volatile size_t r = a;
313
#endif
314
2.32k
    return r;
315
2.32k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier_s
Unexecuted instantiation: ssl3_cbc.c:value_barrier_s
Unexecuted instantiation: ciphercommon_block.c:value_barrier_s
Unexecuted instantiation: tls_pad.c:value_barrier_s
Unexecuted instantiation: bn_exp.c:value_barrier_s
Unexecuted instantiation: bn_gcd.c:value_barrier_s
Unexecuted instantiation: rsaz_exp.c:value_barrier_s
Unexecuted instantiation: rsaz_exp_x2.c:value_barrier_s
Unexecuted instantiation: set_key.c:value_barrier_s
Unexecuted instantiation: curve448.c:value_barrier_s
Unexecuted instantiation: curve448_tables.c:value_barrier_s
Unexecuted instantiation: eddsa.c:value_barrier_s
Unexecuted instantiation: f_generic.c:value_barrier_s
Unexecuted instantiation: scalar.c:value_barrier_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier_s
Unexecuted instantiation: rsa_oaep.c:value_barrier_s
Unexecuted instantiation: f_impl64.c:value_barrier_s
316
317
static ossl_inline unsigned int constant_time_select(unsigned int mask,
318
                                                     unsigned int a,
319
                                                     unsigned int b)
320
23.6M
{
321
23.6M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
23.6M
}
Unexecuted instantiation: statem_srvr.c:constant_time_select
bn_lib.c:constant_time_select
Line
Count
Source
320
135k
{
321
135k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
135k
}
err.c:constant_time_select
Line
Count
Source
320
1.16k
{
321
1.16k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
1.16k
}
Unexecuted instantiation: rsa_ossl.c:constant_time_select
rsa_pk1.c:constant_time_select
Line
Count
Source
320
55.7k
{
321
55.7k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
55.7k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_select
rsa_enc.c:constant_time_select
Line
Count
Source
320
1.16k
{
321
1.16k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
1.16k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select
ssl3_cbc.c:constant_time_select
Line
Count
Source
320
14.2M
{
321
14.2M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
14.2M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select
tls_pad.c:constant_time_select
Line
Count
Source
320
1.45M
{
321
1.45M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
1.45M
}
Unexecuted instantiation: bn_exp.c:constant_time_select
Unexecuted instantiation: bn_gcd.c:constant_time_select
Unexecuted instantiation: rsaz_exp.c:constant_time_select
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select
Unexecuted instantiation: set_key.c:constant_time_select
curve448.c:constant_time_select
Line
Count
Source
320
7.74M
{
321
7.74M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
322
7.74M
}
Unexecuted instantiation: curve448_tables.c:constant_time_select
Unexecuted instantiation: eddsa.c:constant_time_select
Unexecuted instantiation: f_generic.c:constant_time_select
Unexecuted instantiation: scalar.c:constant_time_select
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select
Unexecuted instantiation: rsa_oaep.c:constant_time_select
Unexecuted instantiation: f_impl64.c:constant_time_select
323
324
static ossl_inline size_t constant_time_select_s(size_t mask,
325
                                                 size_t a,
326
                                                 size_t b)
327
1.16k
{
328
1.16k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
329
1.16k
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_s
Unexecuted instantiation: bn_lib.c:constant_time_select_s
Unexecuted instantiation: err.c:constant_time_select_s
Unexecuted instantiation: rsa_ossl.c:constant_time_select_s
Unexecuted instantiation: rsa_pk1.c:constant_time_select_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_select_s
rsa_enc.c:constant_time_select_s
Line
Count
Source
327
1.16k
{
328
1.16k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
329
1.16k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_s
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_s
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_s
Unexecuted instantiation: tls_pad.c:constant_time_select_s
Unexecuted instantiation: bn_exp.c:constant_time_select_s
Unexecuted instantiation: bn_gcd.c:constant_time_select_s
Unexecuted instantiation: rsaz_exp.c:constant_time_select_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_s
Unexecuted instantiation: set_key.c:constant_time_select_s
Unexecuted instantiation: curve448.c:constant_time_select_s
Unexecuted instantiation: curve448_tables.c:constant_time_select_s
Unexecuted instantiation: eddsa.c:constant_time_select_s
Unexecuted instantiation: f_generic.c:constant_time_select_s
Unexecuted instantiation: scalar.c:constant_time_select_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_s
Unexecuted instantiation: rsa_oaep.c:constant_time_select_s
Unexecuted instantiation: f_impl64.c:constant_time_select_s
330
331
static ossl_inline unsigned char constant_time_select_8(unsigned char mask,
332
                                                        unsigned char a,
333
                                                        unsigned char b)
334
23.5M
{
335
23.5M
    return (unsigned char)constant_time_select(mask, a, b);
336
23.5M
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_8
Unexecuted instantiation: bn_lib.c:constant_time_select_8
Unexecuted instantiation: err.c:constant_time_select_8
Unexecuted instantiation: rsa_ossl.c:constant_time_select_8
rsa_pk1.c:constant_time_select_8
Line
Count
Source
334
55.7k
{
335
55.7k
    return (unsigned char)constant_time_select(mask, a, b);
336
55.7k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_select_8
Unexecuted instantiation: rsa_enc.c:constant_time_select_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_8
ssl3_cbc.c:constant_time_select_8
Line
Count
Source
334
14.2M
{
335
14.2M
    return (unsigned char)constant_time_select(mask, a, b);
336
14.2M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_8
tls_pad.c:constant_time_select_8
Line
Count
Source
334
1.45M
{
335
1.45M
    return (unsigned char)constant_time_select(mask, a, b);
336
1.45M
}
Unexecuted instantiation: bn_exp.c:constant_time_select_8
Unexecuted instantiation: bn_gcd.c:constant_time_select_8
Unexecuted instantiation: rsaz_exp.c:constant_time_select_8
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_8
Unexecuted instantiation: set_key.c:constant_time_select_8
curve448.c:constant_time_select_8
Line
Count
Source
334
7.74M
{
335
7.74M
    return (unsigned char)constant_time_select(mask, a, b);
336
7.74M
}
Unexecuted instantiation: curve448_tables.c:constant_time_select_8
Unexecuted instantiation: eddsa.c:constant_time_select_8
Unexecuted instantiation: f_generic.c:constant_time_select_8
Unexecuted instantiation: scalar.c:constant_time_select_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_8
Unexecuted instantiation: rsa_oaep.c:constant_time_select_8
Unexecuted instantiation: f_impl64.c:constant_time_select_8
337
338
static ossl_inline int constant_time_select_int(unsigned int mask, int a,
339
                                                int b)
340
137k
{
341
137k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
342
137k
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_int
bn_lib.c:constant_time_select_int
Line
Count
Source
340
135k
{
341
135k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
342
135k
}
err.c:constant_time_select_int
Line
Count
Source
340
1.16k
{
341
1.16k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
342
1.16k
}
Unexecuted instantiation: rsa_ossl.c:constant_time_select_int
Unexecuted instantiation: rsa_pk1.c:constant_time_select_int
Unexecuted instantiation: rsa_pmeth.c:constant_time_select_int
rsa_enc.c:constant_time_select_int
Line
Count
Source
340
1.16k
{
341
1.16k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
342
1.16k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_int
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_int
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_int
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_int
Unexecuted instantiation: tls_pad.c:constant_time_select_int
Unexecuted instantiation: bn_exp.c:constant_time_select_int
Unexecuted instantiation: bn_gcd.c:constant_time_select_int
Unexecuted instantiation: rsaz_exp.c:constant_time_select_int
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_int
Unexecuted instantiation: set_key.c:constant_time_select_int
Unexecuted instantiation: curve448.c:constant_time_select_int
Unexecuted instantiation: curve448_tables.c:constant_time_select_int
Unexecuted instantiation: eddsa.c:constant_time_select_int
Unexecuted instantiation: f_generic.c:constant_time_select_int
Unexecuted instantiation: scalar.c:constant_time_select_int
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_int
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_int
Unexecuted instantiation: rsa_oaep.c:constant_time_select_int
Unexecuted instantiation: f_impl64.c:constant_time_select_int
343
344
static ossl_inline int constant_time_select_int_s(size_t mask, int a, int b)
345
0
{
346
0
    return (int)constant_time_select((unsigned)mask, (unsigned)(a),
347
0
                                      (unsigned)(b));
348
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_int_s
Unexecuted instantiation: bn_lib.c:constant_time_select_int_s
Unexecuted instantiation: err.c:constant_time_select_int_s
Unexecuted instantiation: rsa_ossl.c:constant_time_select_int_s
Unexecuted instantiation: rsa_pk1.c:constant_time_select_int_s
Unexecuted instantiation: rsa_pmeth.c:constant_time_select_int_s
Unexecuted instantiation: rsa_enc.c:constant_time_select_int_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_int_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_int_s
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_int_s
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_int_s
Unexecuted instantiation: tls_pad.c:constant_time_select_int_s
Unexecuted instantiation: bn_exp.c:constant_time_select_int_s
Unexecuted instantiation: bn_gcd.c:constant_time_select_int_s
Unexecuted instantiation: rsaz_exp.c:constant_time_select_int_s
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_int_s
Unexecuted instantiation: set_key.c:constant_time_select_int_s
Unexecuted instantiation: curve448.c:constant_time_select_int_s
Unexecuted instantiation: curve448_tables.c:constant_time_select_int_s
Unexecuted instantiation: eddsa.c:constant_time_select_int_s
Unexecuted instantiation: f_generic.c:constant_time_select_int_s
Unexecuted instantiation: scalar.c:constant_time_select_int_s
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_int_s
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_int_s
Unexecuted instantiation: rsa_oaep.c:constant_time_select_int_s
Unexecuted instantiation: f_impl64.c:constant_time_select_int_s
349
350
static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a,
351
                                                    uint32_t b)
352
0
{
353
0
    return (value_barrier_32(mask) & a) | (value_barrier_32(~mask) & b);
354
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_32
Unexecuted instantiation: bn_lib.c:constant_time_select_32
Unexecuted instantiation: err.c:constant_time_select_32
Unexecuted instantiation: rsa_ossl.c:constant_time_select_32
Unexecuted instantiation: rsa_pk1.c:constant_time_select_32
Unexecuted instantiation: rsa_pmeth.c:constant_time_select_32
Unexecuted instantiation: rsa_enc.c:constant_time_select_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_32
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_32
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_32
Unexecuted instantiation: tls_pad.c:constant_time_select_32
Unexecuted instantiation: bn_exp.c:constant_time_select_32
Unexecuted instantiation: bn_gcd.c:constant_time_select_32
Unexecuted instantiation: rsaz_exp.c:constant_time_select_32
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_32
Unexecuted instantiation: set_key.c:constant_time_select_32
Unexecuted instantiation: curve448.c:constant_time_select_32
Unexecuted instantiation: curve448_tables.c:constant_time_select_32
Unexecuted instantiation: eddsa.c:constant_time_select_32
Unexecuted instantiation: f_generic.c:constant_time_select_32
Unexecuted instantiation: scalar.c:constant_time_select_32
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_32
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_32
Unexecuted instantiation: rsa_oaep.c:constant_time_select_32
Unexecuted instantiation: f_impl64.c:constant_time_select_32
355
356
static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a,
357
                                                    uint64_t b)
358
20.1k
{
359
20.1k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
360
20.1k
}
Unexecuted instantiation: statem_srvr.c:constant_time_select_64
Unexecuted instantiation: bn_lib.c:constant_time_select_64
Unexecuted instantiation: err.c:constant_time_select_64
Unexecuted instantiation: rsa_ossl.c:constant_time_select_64
Unexecuted instantiation: rsa_pk1.c:constant_time_select_64
Unexecuted instantiation: rsa_pmeth.c:constant_time_select_64
Unexecuted instantiation: rsa_enc.c:constant_time_select_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_64
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_64
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_64
Unexecuted instantiation: tls_pad.c:constant_time_select_64
Unexecuted instantiation: bn_exp.c:constant_time_select_64
Unexecuted instantiation: bn_gcd.c:constant_time_select_64
Unexecuted instantiation: rsaz_exp.c:constant_time_select_64
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_select_64
Unexecuted instantiation: set_key.c:constant_time_select_64
curve448.c:constant_time_select_64
Line
Count
Source
358
20.1k
{
359
20.1k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
360
20.1k
}
Unexecuted instantiation: curve448_tables.c:constant_time_select_64
Unexecuted instantiation: eddsa.c:constant_time_select_64
Unexecuted instantiation: f_generic.c:constant_time_select_64
Unexecuted instantiation: scalar.c:constant_time_select_64
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_select_64
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_select_64
Unexecuted instantiation: rsa_oaep.c:constant_time_select_64
Unexecuted instantiation: f_impl64.c:constant_time_select_64
361
362
/*
363
 * mask must be 0xFFFFFFFF or 0x00000000.
364
 *
365
 * if (mask) {
366
 *     uint32_t tmp = *a;
367
 *
368
 *     *a = *b;
369
 *     *b = tmp;
370
 * }
371
 */
372
static ossl_inline void constant_time_cond_swap_32(uint32_t mask, uint32_t *a,
373
                                                   uint32_t *b)
374
0
{
375
0
    uint32_t xor = *a ^ *b;
376
0
377
0
    xor &= mask;
378
0
    *a ^= xor;
379
0
    *b ^= xor;
380
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_cond_swap_32
Unexecuted instantiation: bn_lib.c:constant_time_cond_swap_32
Unexecuted instantiation: err.c:constant_time_cond_swap_32
Unexecuted instantiation: rsa_ossl.c:constant_time_cond_swap_32
Unexecuted instantiation: rsa_pk1.c:constant_time_cond_swap_32
Unexecuted instantiation: rsa_pmeth.c:constant_time_cond_swap_32
Unexecuted instantiation: rsa_enc.c:constant_time_cond_swap_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_cond_swap_32
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_cond_swap_32
Unexecuted instantiation: ssl3_cbc.c:constant_time_cond_swap_32
Unexecuted instantiation: ciphercommon_block.c:constant_time_cond_swap_32
Unexecuted instantiation: tls_pad.c:constant_time_cond_swap_32
Unexecuted instantiation: bn_exp.c:constant_time_cond_swap_32
Unexecuted instantiation: bn_gcd.c:constant_time_cond_swap_32
Unexecuted instantiation: rsaz_exp.c:constant_time_cond_swap_32
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_cond_swap_32
Unexecuted instantiation: set_key.c:constant_time_cond_swap_32
Unexecuted instantiation: curve448.c:constant_time_cond_swap_32
Unexecuted instantiation: curve448_tables.c:constant_time_cond_swap_32
Unexecuted instantiation: eddsa.c:constant_time_cond_swap_32
Unexecuted instantiation: f_generic.c:constant_time_cond_swap_32
Unexecuted instantiation: scalar.c:constant_time_cond_swap_32
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_cond_swap_32
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_cond_swap_32
Unexecuted instantiation: rsa_oaep.c:constant_time_cond_swap_32
Unexecuted instantiation: f_impl64.c:constant_time_cond_swap_32
381
382
/*
383
 * mask must be 0xFFFFFFFF or 0x00000000.
384
 *
385
 * if (mask) {
386
 *     uint64_t tmp = *a;
387
 *
388
 *     *a = *b;
389
 *     *b = tmp;
390
 * }
391
 */
392
static ossl_inline void constant_time_cond_swap_64(uint64_t mask, uint64_t *a,
393
                                                   uint64_t *b)
394
20.1k
{
395
20.1k
    uint64_t xor = *a ^ *b;
396
397
20.1k
    xor &= mask;
398
20.1k
    *a ^= xor;
399
20.1k
    *b ^= xor;
400
20.1k
}
Unexecuted instantiation: statem_srvr.c:constant_time_cond_swap_64
Unexecuted instantiation: bn_lib.c:constant_time_cond_swap_64
Unexecuted instantiation: err.c:constant_time_cond_swap_64
Unexecuted instantiation: rsa_ossl.c:constant_time_cond_swap_64
Unexecuted instantiation: rsa_pk1.c:constant_time_cond_swap_64
Unexecuted instantiation: rsa_pmeth.c:constant_time_cond_swap_64
Unexecuted instantiation: rsa_enc.c:constant_time_cond_swap_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_cond_swap_64
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_cond_swap_64
Unexecuted instantiation: ssl3_cbc.c:constant_time_cond_swap_64
Unexecuted instantiation: ciphercommon_block.c:constant_time_cond_swap_64
Unexecuted instantiation: tls_pad.c:constant_time_cond_swap_64
Unexecuted instantiation: bn_exp.c:constant_time_cond_swap_64
Unexecuted instantiation: bn_gcd.c:constant_time_cond_swap_64
Unexecuted instantiation: rsaz_exp.c:constant_time_cond_swap_64
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_cond_swap_64
Unexecuted instantiation: set_key.c:constant_time_cond_swap_64
curve448.c:constant_time_cond_swap_64
Line
Count
Source
394
20.1k
{
395
20.1k
    uint64_t xor = *a ^ *b;
396
397
20.1k
    xor &= mask;
398
20.1k
    *a ^= xor;
399
20.1k
    *b ^= xor;
400
20.1k
}
Unexecuted instantiation: curve448_tables.c:constant_time_cond_swap_64
Unexecuted instantiation: eddsa.c:constant_time_cond_swap_64
Unexecuted instantiation: f_generic.c:constant_time_cond_swap_64
Unexecuted instantiation: scalar.c:constant_time_cond_swap_64
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_cond_swap_64
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_cond_swap_64
Unexecuted instantiation: rsa_oaep.c:constant_time_cond_swap_64
Unexecuted instantiation: f_impl64.c:constant_time_cond_swap_64
401
402
/*
403
 * mask must be 0xFF or 0x00.
404
 * "constant time" is per len.
405
 *
406
 * if (mask) {
407
 *     unsigned char tmp[len];
408
 *
409
 *     memcpy(tmp, a, len);
410
 *     memcpy(a, b);
411
 *     memcpy(b, tmp);
412
 * }
413
 */
414
static ossl_inline void constant_time_cond_swap_buff(unsigned char mask,
415
                                                     unsigned char *a,
416
                                                     unsigned char *b,
417
                                                     size_t len)
418
0
{
419
0
    size_t i;
420
0
    unsigned char tmp;
421
0
422
0
    for (i = 0; i < len; i++) {
423
0
        tmp = a[i] ^ b[i];
424
0
        tmp &= mask;
425
0
        a[i] ^= tmp;
426
0
        b[i] ^= tmp;
427
0
    }
428
0
}
Unexecuted instantiation: statem_srvr.c:constant_time_cond_swap_buff
Unexecuted instantiation: bn_lib.c:constant_time_cond_swap_buff
Unexecuted instantiation: err.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsa_ossl.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsa_pk1.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsa_pmeth.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsa_enc.c:constant_time_cond_swap_buff
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_cond_swap_buff
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_cond_swap_buff
Unexecuted instantiation: ssl3_cbc.c:constant_time_cond_swap_buff
Unexecuted instantiation: ciphercommon_block.c:constant_time_cond_swap_buff
Unexecuted instantiation: tls_pad.c:constant_time_cond_swap_buff
Unexecuted instantiation: bn_exp.c:constant_time_cond_swap_buff
Unexecuted instantiation: bn_gcd.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsaz_exp.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_cond_swap_buff
Unexecuted instantiation: set_key.c:constant_time_cond_swap_buff
Unexecuted instantiation: curve448.c:constant_time_cond_swap_buff
Unexecuted instantiation: curve448_tables.c:constant_time_cond_swap_buff
Unexecuted instantiation: eddsa.c:constant_time_cond_swap_buff
Unexecuted instantiation: f_generic.c:constant_time_cond_swap_buff
Unexecuted instantiation: scalar.c:constant_time_cond_swap_buff
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_cond_swap_buff
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_cond_swap_buff
Unexecuted instantiation: rsa_oaep.c:constant_time_cond_swap_buff
Unexecuted instantiation: f_impl64.c:constant_time_cond_swap_buff
429
430
/*
431
 * table is a two dimensional array of bytes. Each row has rowsize elements.
432
 * Copies row number idx into out. rowsize and numrows are not considered
433
 * private.
434
 */
435
static ossl_inline void constant_time_lookup(void *out,
436
                                             const void *table,
437
                                             size_t rowsize,
438
                                             size_t numrows,
439
                                             size_t idx)
440
2.52k
{
441
2.52k
    size_t i, j;
442
2.52k
    const unsigned char *tablec = (const unsigned char *)table;
443
2.52k
    unsigned char *outc = (unsigned char *)out;
444
2.52k
    unsigned char mask;
445
446
2.52k
    memset(out, 0, rowsize);
447
448
    /* Note idx may underflow - but that is well defined */
449
42.8k
    for (i = 0; i < numrows; i++, idx--) {
450
40.3k
        mask = (unsigned char)constant_time_is_zero_s(idx);
451
7.78M
        for (j = 0; j < rowsize; j++)
452
7.74M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
453
40.3k
    }
454
2.52k
}
Unexecuted instantiation: statem_srvr.c:constant_time_lookup
Unexecuted instantiation: bn_lib.c:constant_time_lookup
Unexecuted instantiation: err.c:constant_time_lookup
Unexecuted instantiation: rsa_ossl.c:constant_time_lookup
Unexecuted instantiation: rsa_pk1.c:constant_time_lookup
Unexecuted instantiation: rsa_pmeth.c:constant_time_lookup
Unexecuted instantiation: rsa_enc.c:constant_time_lookup
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lookup
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lookup
Unexecuted instantiation: ssl3_cbc.c:constant_time_lookup
Unexecuted instantiation: ciphercommon_block.c:constant_time_lookup
Unexecuted instantiation: tls_pad.c:constant_time_lookup
Unexecuted instantiation: bn_exp.c:constant_time_lookup
Unexecuted instantiation: bn_gcd.c:constant_time_lookup
Unexecuted instantiation: rsaz_exp.c:constant_time_lookup
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_lookup
Unexecuted instantiation: set_key.c:constant_time_lookup
curve448.c:constant_time_lookup
Line
Count
Source
440
2.52k
{
441
2.52k
    size_t i, j;
442
2.52k
    const unsigned char *tablec = (const unsigned char *)table;
443
2.52k
    unsigned char *outc = (unsigned char *)out;
444
2.52k
    unsigned char mask;
445
446
2.52k
    memset(out, 0, rowsize);
447
448
    /* Note idx may underflow - but that is well defined */
449
42.8k
    for (i = 0; i < numrows; i++, idx--) {
450
40.3k
        mask = (unsigned char)constant_time_is_zero_s(idx);
451
7.78M
        for (j = 0; j < rowsize; j++)
452
7.74M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
453
40.3k
    }
454
2.52k
}
Unexecuted instantiation: curve448_tables.c:constant_time_lookup
Unexecuted instantiation: eddsa.c:constant_time_lookup
Unexecuted instantiation: f_generic.c:constant_time_lookup
Unexecuted instantiation: scalar.c:constant_time_lookup
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lookup
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_lookup
Unexecuted instantiation: rsa_oaep.c:constant_time_lookup
Unexecuted instantiation: f_impl64.c:constant_time_lookup
455
456
/*
457
 * Expected usage pattern is to unconditionally set error and then
458
 * wipe it if there was no actual error. |clear| is 1 or 0.
459
 */
460
void err_clear_last_constant_time(int clear);
461
462
#endif                          /* OSSL_INTERNAL_CONSTANT_TIME_H */