Coverage Report

Created: 2025-08-28 07:07

/src/openssl30/include/internal/constant_time.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2014-2025 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
242M
{
102
242M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
242M
}
err.c:constant_time_msb
Line
Count
Source
101
10.8k
{
102
10.8k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
10.8k
}
bn_lib.c:constant_time_msb
Line
Count
Source
101
61.6M
{
102
61.6M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
61.6M
}
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:constant_time_msb
rsa_ossl.c:constant_time_msb
Line
Count
Source
101
10.8k
{
102
10.8k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
10.8k
}
rsa_pk1.c:constant_time_msb
Line
Count
Source
101
2.26M
{
102
2.26M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
2.26M
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb
rsa_enc.c:constant_time_msb
Line
Count
Source
101
10.7k
{
102
10.7k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
10.7k
}
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb
Line
Count
Source
101
195
{
102
195
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
195
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb
Line
Count
Source
101
215
{
102
215
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
215
}
Unexecuted instantiation: s3_cbc.c:constant_time_msb
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb
tls_pad.c:constant_time_msb
Line
Count
Source
101
3.42M
{
102
3.42M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
3.42M
}
bn_exp.c:constant_time_msb
Line
Count
Source
101
174M
{
102
174M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
174M
}
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: rsa_oaep.c:constant_time_msb
Unexecuted instantiation: f_impl64.c:constant_time_msb
Unexecuted instantiation: statem_srvr.c:constant_time_msb
Unexecuted instantiation: crmf_lib.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: err.c:constant_time_msb_32
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_msb_32
Unexecuted instantiation: f_impl64.c:constant_time_msb_32
Unexecuted instantiation: statem_srvr.c:constant_time_msb_32
Unexecuted instantiation: crmf_lib.c:constant_time_msb_32
110
111
static ossl_inline uint64_t constant_time_msb_64(uint64_t a)
112
2.33k
{
113
2.33k
    return 0 - (a >> 63);
114
2.33k
}
Unexecuted instantiation: err.c:constant_time_msb_64
Unexecuted instantiation: bn_lib.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_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: s3_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: 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
curve448.c:constant_time_msb_64
Line
Count
Source
112
354
{
113
354
    return 0 - (a >> 63);
114
354
}
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
1.69k
{
113
1.69k
    return 0 - (a >> 63);
114
1.69k
}
scalar.c:constant_time_msb_64
Line
Count
Source
112
282
{
113
282
    return 0 - (a >> 63);
114
282
}
Unexecuted instantiation: rsa_oaep.c:constant_time_msb_64
Unexecuted instantiation: f_impl64.c:constant_time_msb_64
Unexecuted instantiation: statem_srvr.c:constant_time_msb_64
Unexecuted instantiation: crmf_lib.c:constant_time_msb_64
115
116
static ossl_inline size_t constant_time_msb_s(size_t a)
117
45.3M
{
118
45.3M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
45.3M
}
Unexecuted instantiation: err.c:constant_time_msb_s
Unexecuted instantiation: bn_lib.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_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
10.7k
{
118
10.7k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
10.7k
}
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
s3_cbc.c:constant_time_msb_s
Line
Count
Source
117
154k
{
118
154k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
154k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_s
tls_pad.c:constant_time_msb_s
Line
Count
Source
117
44.4M
{
118
44.4M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
44.4M
}
Unexecuted instantiation: bn_exp.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
708k
{
118
708k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
708k
}
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: rsa_oaep.c:constant_time_msb_s
Unexecuted instantiation: f_impl64.c:constant_time_msb_s
Unexecuted instantiation: statem_srvr.c:constant_time_msb_s
Unexecuted instantiation: crmf_lib.c:constant_time_msb_s
120
121
static ossl_inline unsigned int constant_time_lt(unsigned int a,
122
                                                 unsigned int b)
123
410
{
124
410
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
410
}
Unexecuted instantiation: err.c:constant_time_lt
Unexecuted instantiation: bn_lib.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_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
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_lt
Line
Count
Source
123
195
{
124
195
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
195
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt
Line
Count
Source
123
215
{
124
215
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
215
}
Unexecuted instantiation: s3_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: 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: rsa_oaep.c:constant_time_lt
Unexecuted instantiation: f_impl64.c:constant_time_lt
Unexecuted instantiation: statem_srvr.c:constant_time_lt
Unexecuted instantiation: crmf_lib.c:constant_time_lt
126
127
static ossl_inline size_t constant_time_lt_s(size_t a, size_t b)
128
34.2M
{
129
34.2M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
34.2M
}
Unexecuted instantiation: err.c:constant_time_lt_s
Unexecuted instantiation: bn_lib.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_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
s3_cbc.c:constant_time_lt_s
Line
Count
Source
128
152k
{
129
152k
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
152k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_s
tls_pad.c:constant_time_lt_s
Line
Count
Source
128
34.0M
{
129
34.0M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
34.0M
}
Unexecuted instantiation: bn_exp.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: rsa_oaep.c:constant_time_lt_s
Unexecuted instantiation: f_impl64.c:constant_time_lt_s
Unexecuted instantiation: statem_srvr.c:constant_time_lt_s
Unexecuted instantiation: crmf_lib.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: err.c:constant_time_lt_8
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_lt_8
Unexecuted instantiation: f_impl64.c:constant_time_lt_8
Unexecuted instantiation: statem_srvr.c:constant_time_lt_8
Unexecuted instantiation: crmf_lib.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: err.c:constant_time_lt_64
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_lt_64
Unexecuted instantiation: f_impl64.c:constant_time_lt_64
Unexecuted instantiation: statem_srvr.c:constant_time_lt_64
Unexecuted instantiation: crmf_lib.c:constant_time_lt_64
142
143
#ifdef BN_ULONG
144
static ossl_inline BN_ULONG constant_time_msb_bn(BN_ULONG a)
145
18.2M
{
146
18.2M
    return 0 - (a >> (sizeof(a) * 8 - 1));
147
18.2M
}
Unexecuted instantiation: err.c:constant_time_msb_bn
bn_lib.c:constant_time_msb_bn
Line
Count
Source
145
18.2M
{
146
18.2M
    return 0 - (a >> (sizeof(a) * 8 - 1));
147
18.2M
}
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_msb_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.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: 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: 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: statem_srvr.c:constant_time_msb_bn
Unexecuted instantiation: crmf_lib.c:constant_time_msb_bn
148
149
static ossl_inline BN_ULONG constant_time_lt_bn(BN_ULONG a, BN_ULONG b)
150
18.2M
{
151
18.2M
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
152
18.2M
}
Unexecuted instantiation: err.c:constant_time_lt_bn
bn_lib.c:constant_time_lt_bn
Line
Count
Source
150
18.2M
{
151
18.2M
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
152
18.2M
}
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_lt_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.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: 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: 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: statem_srvr.c:constant_time_lt_bn
Unexecuted instantiation: crmf_lib.c:constant_time_lt_bn
153
154
static ossl_inline BN_ULONG constant_time_is_zero_bn(BN_ULONG a)
155
17.6k
{
156
17.6k
    return constant_time_msb_bn(~a & (a - 1));
157
17.6k
}
Unexecuted instantiation: err.c:constant_time_is_zero_bn
bn_lib.c:constant_time_is_zero_bn
Line
Count
Source
155
17.6k
{
156
17.6k
    return constant_time_msb_bn(~a & (a - 1));
157
17.6k
}
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
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: 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: 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: statem_srvr.c:constant_time_is_zero_bn
Unexecuted instantiation: crmf_lib.c:constant_time_is_zero_bn
158
159
static ossl_inline BN_ULONG constant_time_eq_bn(BN_ULONG a,
160
                                                BN_ULONG b)
161
4.41k
{
162
4.41k
    return constant_time_is_zero_bn(a ^ b);
163
4.41k
}
Unexecuted instantiation: err.c:constant_time_eq_bn
bn_lib.c:constant_time_eq_bn
Line
Count
Source
161
4.41k
{
162
4.41k
    return constant_time_is_zero_bn(a ^ b);
163
4.41k
}
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:constant_time_eq_bn
Unexecuted instantiation: e_aes_cbc_hmac_sha256.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: 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: 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: statem_srvr.c:constant_time_eq_bn
Unexecuted instantiation: crmf_lib.c:constant_time_eq_bn
164
#endif
165
166
static ossl_inline unsigned int constant_time_ge(unsigned int a,
167
                                                 unsigned int b)
168
410
{
169
410
    return ~constant_time_lt(a, b);
170
410
}
Unexecuted instantiation: err.c:constant_time_ge
Unexecuted instantiation: bn_lib.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_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
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_ge
Line
Count
Source
168
195
{
169
195
    return ~constant_time_lt(a, b);
170
195
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge
Line
Count
Source
168
215
{
169
215
    return ~constant_time_lt(a, b);
170
215
}
Unexecuted instantiation: s3_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: 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: rsa_oaep.c:constant_time_ge
Unexecuted instantiation: f_impl64.c:constant_time_ge
Unexecuted instantiation: statem_srvr.c:constant_time_ge
Unexecuted instantiation: crmf_lib.c:constant_time_ge
171
172
static ossl_inline size_t constant_time_ge_s(size_t a, size_t b)
173
10.2M
{
174
10.2M
    return ~constant_time_lt_s(a, b);
175
10.2M
}
Unexecuted instantiation: err.c:constant_time_ge_s
Unexecuted instantiation: bn_lib.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_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
s3_cbc.c:constant_time_ge_s
Line
Count
Source
173
152k
{
174
152k
    return ~constant_time_lt_s(a, b);
175
152k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_s
tls_pad.c:constant_time_ge_s
Line
Count
Source
173
10.0M
{
174
10.0M
    return ~constant_time_lt_s(a, b);
175
10.0M
}
Unexecuted instantiation: bn_exp.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: rsa_oaep.c:constant_time_ge_s
Unexecuted instantiation: f_impl64.c:constant_time_ge_s
Unexecuted instantiation: statem_srvr.c:constant_time_ge_s
Unexecuted instantiation: crmf_lib.c:constant_time_ge_s
176
177
static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
178
                                                    unsigned int b)
179
0
{
180
0
    return (unsigned char)constant_time_ge(a, b);
181
0
}
Unexecuted instantiation: err.c:constant_time_ge_8
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_ge_8
Unexecuted instantiation: f_impl64.c:constant_time_ge_8
Unexecuted instantiation: statem_srvr.c:constant_time_ge_8
Unexecuted instantiation: crmf_lib.c:constant_time_ge_8
182
183
static ossl_inline unsigned char constant_time_ge_8_s(size_t a, size_t b)
184
10.0M
{
185
10.0M
    return (unsigned char)constant_time_ge_s(a, b);
186
10.0M
}
Unexecuted instantiation: err.c:constant_time_ge_8_s
Unexecuted instantiation: bn_lib.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_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
s3_cbc.c:constant_time_ge_8_s
Line
Count
Source
184
152k
{
185
152k
    return (unsigned char)constant_time_ge_s(a, b);
186
152k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_8_s
tls_pad.c:constant_time_ge_8_s
Line
Count
Source
184
9.90M
{
185
9.90M
    return (unsigned char)constant_time_ge_s(a, b);
186
9.90M
}
Unexecuted instantiation: bn_exp.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: rsa_oaep.c:constant_time_ge_8_s
Unexecuted instantiation: f_impl64.c:constant_time_ge_8_s
Unexecuted instantiation: statem_srvr.c:constant_time_ge_8_s
Unexecuted instantiation: crmf_lib.c:constant_time_ge_8_s
187
188
static ossl_inline unsigned int constant_time_is_zero(unsigned int a)
189
241M
{
190
241M
    return constant_time_msb(~a & (a - 1));
191
241M
}
err.c:constant_time_is_zero
Line
Count
Source
189
10.8k
{
190
10.8k
    return constant_time_msb(~a & (a - 1));
191
10.8k
}
bn_lib.c:constant_time_is_zero
Line
Count
Source
189
60.6M
{
190
60.6M
    return constant_time_msb(~a & (a - 1));
191
60.6M
}
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_ossl.c:constant_time_is_zero
rsa_pk1.c:constant_time_is_zero
Line
Count
Source
189
2.26M
{
190
2.26M
    return constant_time_msb(~a & (a - 1));
191
2.26M
}
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: s3_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
189
3.42M
{
190
3.42M
    return constant_time_msb(~a & (a - 1));
191
3.42M
}
bn_exp.c:constant_time_is_zero
Line
Count
Source
189
174M
{
190
174M
    return constant_time_msb(~a & (a - 1));
191
174M
}
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: rsa_oaep.c:constant_time_is_zero
Unexecuted instantiation: f_impl64.c:constant_time_is_zero
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero
Unexecuted instantiation: crmf_lib.c:constant_time_is_zero
192
193
static ossl_inline size_t constant_time_is_zero_s(size_t a)
194
11.1M
{
195
11.1M
    return constant_time_msb_s(~a & (a - 1));
196
11.1M
}
Unexecuted instantiation: err.c:constant_time_is_zero_s
Unexecuted instantiation: bn_lib.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_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
s3_cbc.c:constant_time_is_zero_s
Line
Count
Source
194
2.25k
{
195
2.25k
    return constant_time_msb_s(~a & (a - 1));
196
2.25k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_s
tls_pad.c:constant_time_is_zero_s
Line
Count
Source
194
10.4M
{
195
10.4M
    return constant_time_msb_s(~a & (a - 1));
196
10.4M
}
Unexecuted instantiation: bn_exp.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
194
708k
{
195
708k
    return constant_time_msb_s(~a & (a - 1));
196
708k
}
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: rsa_oaep.c:constant_time_is_zero_s
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_s
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_s
Unexecuted instantiation: crmf_lib.c:constant_time_is_zero_s
197
198
static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a)
199
2.22M
{
200
2.22M
    return (unsigned char)constant_time_is_zero(a);
201
2.22M
}
Unexecuted instantiation: err.c:constant_time_is_zero_8
Unexecuted instantiation: bn_lib.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_ossl.c:constant_time_is_zero_8
rsa_pk1.c:constant_time_is_zero_8
Line
Count
Source
199
2.22M
{
200
2.22M
    return (unsigned char)constant_time_is_zero(a);
201
2.22M
}
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: s3_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: 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: rsa_oaep.c:constant_time_is_zero_8
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_8
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_8
Unexecuted instantiation: crmf_lib.c:constant_time_is_zero_8
202
203
static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a)
204
0
{
205
0
    return constant_time_msb_32(~a & (a - 1));
206
0
}
Unexecuted instantiation: err.c:constant_time_is_zero_32
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_is_zero_32
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_32
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_32
Unexecuted instantiation: crmf_lib.c:constant_time_is_zero_32
207
208
static ossl_inline uint64_t constant_time_is_zero_64(uint64_t a)
209
2.33k
{
210
2.33k
    return constant_time_msb_64(~a & (a - 1));
211
2.33k
}
Unexecuted instantiation: err.c:constant_time_is_zero_64
Unexecuted instantiation: bn_lib.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_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: s3_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: 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
curve448.c:constant_time_is_zero_64
Line
Count
Source
209
354
{
210
354
    return constant_time_msb_64(~a & (a - 1));
211
354
}
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
209
1.69k
{
210
1.69k
    return constant_time_msb_64(~a & (a - 1));
211
1.69k
}
scalar.c:constant_time_is_zero_64
Line
Count
Source
209
282
{
210
282
    return constant_time_msb_64(~a & (a - 1));
211
282
}
Unexecuted instantiation: rsa_oaep.c:constant_time_is_zero_64
Unexecuted instantiation: f_impl64.c:constant_time_is_zero_64
Unexecuted instantiation: statem_srvr.c:constant_time_is_zero_64
Unexecuted instantiation: crmf_lib.c:constant_time_is_zero_64
212
213
static ossl_inline unsigned int constant_time_eq(unsigned int a,
214
                                                 unsigned int b)
215
239M
{
216
239M
    return constant_time_is_zero(a ^ b);
217
239M
}
err.c:constant_time_eq
Line
Count
Source
215
10.8k
{
216
10.8k
    return constant_time_is_zero(a ^ b);
217
10.8k
}
bn_lib.c:constant_time_eq
Line
Count
Source
215
60.6M
{
216
60.6M
    return constant_time_is_zero(a ^ b);
217
60.6M
}
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_ossl.c:constant_time_eq
rsa_pk1.c:constant_time_eq
Line
Count
Source
215
32.3k
{
216
32.3k
    return constant_time_is_zero(a ^ b);
217
32.3k
}
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: s3_cbc.c:constant_time_eq
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq
tls_pad.c:constant_time_eq
Line
Count
Source
215
3.42M
{
216
3.42M
    return constant_time_is_zero(a ^ b);
217
3.42M
}
bn_exp.c:constant_time_eq
Line
Count
Source
215
174M
{
216
174M
    return constant_time_is_zero(a ^ b);
217
174M
}
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: rsa_oaep.c:constant_time_eq
Unexecuted instantiation: f_impl64.c:constant_time_eq
Unexecuted instantiation: statem_srvr.c:constant_time_eq
Unexecuted instantiation: crmf_lib.c:constant_time_eq
218
219
static ossl_inline size_t constant_time_eq_s(size_t a, size_t b)
220
10.4M
{
221
10.4M
    return constant_time_is_zero_s(a ^ b);
222
10.4M
}
Unexecuted instantiation: err.c:constant_time_eq_s
Unexecuted instantiation: bn_lib.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_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
s3_cbc.c:constant_time_eq_s
Line
Count
Source
220
2.25k
{
221
2.25k
    return constant_time_is_zero_s(a ^ b);
222
2.25k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_s
tls_pad.c:constant_time_eq_s
Line
Count
Source
220
10.4M
{
221
10.4M
    return constant_time_is_zero_s(a ^ b);
222
10.4M
}
Unexecuted instantiation: bn_exp.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: rsa_oaep.c:constant_time_eq_s
Unexecuted instantiation: f_impl64.c:constant_time_eq_s
Unexecuted instantiation: statem_srvr.c:constant_time_eq_s
Unexecuted instantiation: crmf_lib.c:constant_time_eq_s
223
224
static ossl_inline unsigned char constant_time_eq_8(unsigned int a,
225
                                                    unsigned int b)
226
3.42M
{
227
3.42M
    return (unsigned char)constant_time_eq(a, b);
228
3.42M
}
Unexecuted instantiation: err.c:constant_time_eq_8
Unexecuted instantiation: bn_lib.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_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: s3_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
226
3.42M
{
227
3.42M
    return (unsigned char)constant_time_eq(a, b);
228
3.42M
}
Unexecuted instantiation: bn_exp.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: rsa_oaep.c:constant_time_eq_8
Unexecuted instantiation: f_impl64.c:constant_time_eq_8
Unexecuted instantiation: statem_srvr.c:constant_time_eq_8
Unexecuted instantiation: crmf_lib.c:constant_time_eq_8
229
230
static ossl_inline unsigned char constant_time_eq_8_s(size_t a, size_t b)
231
2.25k
{
232
2.25k
    return (unsigned char)constant_time_eq_s(a, b);
233
2.25k
}
Unexecuted instantiation: err.c:constant_time_eq_8_s
Unexecuted instantiation: bn_lib.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_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
s3_cbc.c:constant_time_eq_8_s
Line
Count
Source
231
2.25k
{
232
2.25k
    return (unsigned char)constant_time_eq_s(a, b);
233
2.25k
}
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: 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: rsa_oaep.c:constant_time_eq_8_s
Unexecuted instantiation: f_impl64.c:constant_time_eq_8_s
Unexecuted instantiation: statem_srvr.c:constant_time_eq_8_s
Unexecuted instantiation: crmf_lib.c:constant_time_eq_8_s
234
235
static ossl_inline unsigned int constant_time_eq_int(int a, int b)
236
235M
{
237
235M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
235M
}
err.c:constant_time_eq_int
Line
Count
Source
236
10.8k
{
237
10.8k
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
10.8k
}
bn_lib.c:constant_time_eq_int
Line
Count
Source
236
60.6M
{
237
60.6M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
60.6M
}
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_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: s3_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
236
174M
{
237
174M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
174M
}
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: rsa_oaep.c:constant_time_eq_int
Unexecuted instantiation: f_impl64.c:constant_time_eq_int
Unexecuted instantiation: statem_srvr.c:constant_time_eq_int
Unexecuted instantiation: crmf_lib.c:constant_time_eq_int
239
240
static ossl_inline unsigned char constant_time_eq_int_8(int a, int b)
241
0
{
242
0
    return constant_time_eq_8((unsigned)(a), (unsigned)(b));
243
0
}
Unexecuted instantiation: err.c:constant_time_eq_int_8
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_eq_int_8
Unexecuted instantiation: f_impl64.c:constant_time_eq_int_8
Unexecuted instantiation: statem_srvr.c:constant_time_eq_int_8
Unexecuted instantiation: crmf_lib.c:constant_time_eq_int_8
244
245
/*
246
 * Returns the value unmodified, but avoids optimizations.
247
 * The barriers prevent the compiler from narrowing down the
248
 * possible value range of the mask and ~mask in the select
249
 * statements, which avoids the recognition of the select
250
 * and turning it into a conditional load or branch.
251
 */
252
static ossl_inline unsigned int value_barrier(unsigned int a)
253
325M
{
254
325M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
325M
    unsigned int r;
256
325M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
325M
    return r;
261
325M
}
err.c:value_barrier
Line
Count
Source
253
21.6k
{
254
21.6k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
21.6k
    unsigned int r;
256
21.6k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
21.6k
    return r;
261
21.6k
}
bn_lib.c:value_barrier
Line
Count
Source
253
38.4M
{
254
38.4M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
38.4M
    unsigned int r;
256
38.4M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
38.4M
    return r;
261
38.4M
}
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier
Unexecuted instantiation: rsa_ossl.c:value_barrier
rsa_pk1.c:value_barrier
Line
Count
Source
253
1.03M
{
254
1.03M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
1.03M
    unsigned int r;
256
1.03M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
1.03M
    return r;
261
1.03M
}
Unexecuted instantiation: rsa_pmeth.c:value_barrier
rsa_enc.c:value_barrier
Line
Count
Source
253
21.5k
{
254
21.5k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
21.5k
    unsigned int r;
256
21.5k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
21.5k
    return r;
261
21.5k
}
cipher_aes_cbc_hmac_sha1_hw.c:value_barrier
Line
Count
Source
253
390
{
254
390
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
390
    unsigned int r;
256
390
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
390
    return r;
261
390
}
cipher_aes_cbc_hmac_sha256_hw.c:value_barrier
Line
Count
Source
253
430
{
254
430
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
430
    unsigned int r;
256
430
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
430
    return r;
261
430
}
s3_cbc.c:value_barrier
Line
Count
Source
253
171k
{
254
171k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
171k
    unsigned int r;
256
171k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
171k
    return r;
261
171k
}
Unexecuted instantiation: ciphercommon_block.c:value_barrier
tls_pad.c:value_barrier
Line
Count
Source
253
13.7M
{
254
13.7M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
13.7M
    unsigned int r;
256
13.7M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
13.7M
    return r;
261
13.7M
}
Unexecuted instantiation: bn_exp.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
253
272M
{
254
272M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
272M
    unsigned int r;
256
272M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
272M
    return r;
261
272M
}
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: rsa_oaep.c:value_barrier
Unexecuted instantiation: f_impl64.c:value_barrier
Unexecuted instantiation: statem_srvr.c:value_barrier
Unexecuted instantiation: crmf_lib.c:value_barrier
262
263
/* Convenience method for uint32_t. */
264
static ossl_inline uint32_t value_barrier_32(uint32_t a)
265
0
{
266
0
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
267
0
    uint32_t r;
268
0
    __asm__("" : "=r"(r) : "0"(a));
269
0
#else
270
0
    volatile uint32_t r = a;
271
0
#endif
272
0
    return r;
273
0
}
Unexecuted instantiation: err.c:value_barrier_32
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:value_barrier_32
Unexecuted instantiation: f_impl64.c:value_barrier_32
Unexecuted instantiation: statem_srvr.c:value_barrier_32
Unexecuted instantiation: crmf_lib.c:value_barrier_32
274
275
/* Convenience method for uint64_t. */
276
static ossl_inline uint64_t value_barrier_64(uint64_t a)
277
1.19M
{
278
1.19M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
279
1.19M
    uint64_t r;
280
1.19M
    __asm__("" : "=r"(r) : "0"(a));
281
#else
282
    volatile uint64_t r = a;
283
#endif
284
1.19M
    return r;
285
1.19M
}
Unexecuted instantiation: err.c:value_barrier_64
Unexecuted instantiation: bn_lib.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_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: s3_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
rsaz_exp.c:value_barrier_64
Line
Count
Source
277
15.6k
{
278
15.6k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
279
15.6k
    uint64_t r;
280
15.6k
    __asm__("" : "=r"(r) : "0"(a));
281
#else
282
    volatile uint64_t r = a;
283
#endif
284
15.6k
    return r;
285
15.6k
}
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
277
1.18M
{
278
1.18M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
279
1.18M
    uint64_t r;
280
1.18M
    __asm__("" : "=r"(r) : "0"(a));
281
#else
282
    volatile uint64_t r = a;
283
#endif
284
1.18M
    return r;
285
1.18M
}
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: rsa_oaep.c:value_barrier_64
Unexecuted instantiation: f_impl64.c:value_barrier_64
Unexecuted instantiation: statem_srvr.c:value_barrier_64
Unexecuted instantiation: crmf_lib.c:value_barrier_64
286
287
/* Convenience method for size_t. */
288
static ossl_inline size_t value_barrier_s(size_t a)
289
21.5k
{
290
21.5k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
291
21.5k
    size_t r;
292
21.5k
    __asm__("" : "=r"(r) : "0"(a));
293
#else
294
    volatile size_t r = a;
295
#endif
296
21.5k
    return r;
297
21.5k
}
Unexecuted instantiation: err.c:value_barrier_s
Unexecuted instantiation: bn_lib.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_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
289
21.5k
{
290
21.5k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
291
21.5k
    size_t r;
292
21.5k
    __asm__("" : "=r"(r) : "0"(a));
293
#else
294
    volatile size_t r = a;
295
#endif
296
21.5k
    return r;
297
21.5k
}
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: s3_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: 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: rsa_oaep.c:value_barrier_s
Unexecuted instantiation: f_impl64.c:value_barrier_s
Unexecuted instantiation: statem_srvr.c:value_barrier_s
Unexecuted instantiation: crmf_lib.c:value_barrier_s
298
299
/* Convenience method for unsigned char. */
300
static ossl_inline unsigned char value_barrier_8(unsigned char a)
301
0
{
302
0
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
303
0
    unsigned char r;
304
0
    __asm__("" : "=r"(r) : "0"(a));
305
0
#else
306
0
    volatile unsigned char r = a;
307
0
#endif
308
0
    return r;
309
0
}
Unexecuted instantiation: err.c:value_barrier_8
Unexecuted instantiation: bn_lib.c:value_barrier_8
Unexecuted instantiation: e_aes_cbc_hmac_sha1.c:value_barrier_8
Unexecuted instantiation: e_aes_cbc_hmac_sha256.c:value_barrier_8
Unexecuted instantiation: rsa_ossl.c:value_barrier_8
Unexecuted instantiation: rsa_pk1.c:value_barrier_8
Unexecuted instantiation: rsa_pmeth.c:value_barrier_8
Unexecuted instantiation: rsa_enc.c:value_barrier_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier_8
Unexecuted instantiation: s3_cbc.c:value_barrier_8
Unexecuted instantiation: ciphercommon_block.c:value_barrier_8
Unexecuted instantiation: tls_pad.c:value_barrier_8
Unexecuted instantiation: bn_exp.c:value_barrier_8
Unexecuted instantiation: rsaz_exp.c:value_barrier_8
Unexecuted instantiation: rsaz_exp_x2.c:value_barrier_8
Unexecuted instantiation: set_key.c:value_barrier_8
Unexecuted instantiation: curve448.c:value_barrier_8
Unexecuted instantiation: curve448_tables.c:value_barrier_8
Unexecuted instantiation: eddsa.c:value_barrier_8
Unexecuted instantiation: f_generic.c:value_barrier_8
Unexecuted instantiation: scalar.c:value_barrier_8
Unexecuted instantiation: rsa_oaep.c:value_barrier_8
Unexecuted instantiation: f_impl64.c:value_barrier_8
Unexecuted instantiation: statem_srvr.c:value_barrier_8
Unexecuted instantiation: crmf_lib.c:value_barrier_8
310
311
static ossl_inline unsigned int constant_time_select(unsigned int mask,
312
                                                     unsigned int a,
313
                                                     unsigned int b)
314
162M
{
315
162M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
162M
}
err.c:constant_time_select
Line
Count
Source
314
10.8k
{
315
10.8k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
10.8k
}
bn_lib.c:constant_time_select
Line
Count
Source
314
19.2M
{
315
19.2M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
19.2M
}
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_ossl.c:constant_time_select
rsa_pk1.c:constant_time_select
Line
Count
Source
314
517k
{
315
517k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
517k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_select
rsa_enc.c:constant_time_select
Line
Count
Source
314
10.7k
{
315
10.7k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
10.7k
}
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select
Line
Count
Source
314
195
{
315
195
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
195
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select
Line
Count
Source
314
215
{
315
215
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
215
}
s3_cbc.c:constant_time_select
Line
Count
Source
314
85.5k
{
315
85.5k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
85.5k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select
tls_pad.c:constant_time_select
Line
Count
Source
314
6.85M
{
315
6.85M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
6.85M
}
Unexecuted instantiation: bn_exp.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
314
136M
{
315
136M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
316
136M
}
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: rsa_oaep.c:constant_time_select
Unexecuted instantiation: f_impl64.c:constant_time_select
Unexecuted instantiation: statem_srvr.c:constant_time_select
Unexecuted instantiation: crmf_lib.c:constant_time_select
317
318
static ossl_inline size_t constant_time_select_s(size_t mask,
319
                                                 size_t a,
320
                                                 size_t b)
321
10.7k
{
322
10.7k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
323
10.7k
}
Unexecuted instantiation: err.c:constant_time_select_s
Unexecuted instantiation: bn_lib.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_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
321
10.7k
{
322
10.7k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
323
10.7k
}
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: s3_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: 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: rsa_oaep.c:constant_time_select_s
Unexecuted instantiation: f_impl64.c:constant_time_select_s
Unexecuted instantiation: statem_srvr.c:constant_time_select_s
Unexecuted instantiation: crmf_lib.c:constant_time_select_s
324
325
static ossl_inline unsigned char constant_time_select_8(unsigned char mask,
326
                                                        unsigned char a,
327
                                                        unsigned char b)
328
143M
{
329
143M
    return (unsigned char)constant_time_select(mask, a, b);
330
143M
}
Unexecuted instantiation: err.c:constant_time_select_8
Unexecuted instantiation: bn_lib.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_ossl.c:constant_time_select_8
rsa_pk1.c:constant_time_select_8
Line
Count
Source
328
517k
{
329
517k
    return (unsigned char)constant_time_select(mask, a, b);
330
517k
}
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
s3_cbc.c:constant_time_select_8
Line
Count
Source
328
85.5k
{
329
85.5k
    return (unsigned char)constant_time_select(mask, a, b);
330
85.5k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_8
tls_pad.c:constant_time_select_8
Line
Count
Source
328
6.85M
{
329
6.85M
    return (unsigned char)constant_time_select(mask, a, b);
330
6.85M
}
Unexecuted instantiation: bn_exp.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
328
136M
{
329
136M
    return (unsigned char)constant_time_select(mask, a, b);
330
136M
}
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: rsa_oaep.c:constant_time_select_8
Unexecuted instantiation: f_impl64.c:constant_time_select_8
Unexecuted instantiation: statem_srvr.c:constant_time_select_8
Unexecuted instantiation: crmf_lib.c:constant_time_select_8
331
332
static ossl_inline int constant_time_select_int(unsigned int mask, int a,
333
                                                int b)
334
19.2M
{
335
19.2M
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
336
19.2M
}
err.c:constant_time_select_int
Line
Count
Source
334
10.8k
{
335
10.8k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
336
10.8k
}
bn_lib.c:constant_time_select_int
Line
Count
Source
334
19.2M
{
335
19.2M
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
336
19.2M
}
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_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
334
10.7k
{
335
10.7k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
336
10.7k
}
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: s3_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: 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: rsa_oaep.c:constant_time_select_int
Unexecuted instantiation: f_impl64.c:constant_time_select_int
Unexecuted instantiation: statem_srvr.c:constant_time_select_int
Unexecuted instantiation: crmf_lib.c:constant_time_select_int
337
338
static ossl_inline int constant_time_select_int_s(size_t mask, int a, int b)
339
0
{
340
0
    return (int)constant_time_select((unsigned)mask, (unsigned)(a),
341
0
                                      (unsigned)(b));
342
0
}
Unexecuted instantiation: err.c:constant_time_select_int_s
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_select_int_s
Unexecuted instantiation: f_impl64.c:constant_time_select_int_s
Unexecuted instantiation: statem_srvr.c:constant_time_select_int_s
Unexecuted instantiation: crmf_lib.c:constant_time_select_int_s
343
344
static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a,
345
                                                    uint32_t b)
346
0
{
347
0
    return (value_barrier_32(mask) & a) | (value_barrier_32(~mask) & b);
348
0
}
Unexecuted instantiation: err.c:constant_time_select_32
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_select_32
Unexecuted instantiation: f_impl64.c:constant_time_select_32
Unexecuted instantiation: statem_srvr.c:constant_time_select_32
Unexecuted instantiation: crmf_lib.c:constant_time_select_32
349
350
static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a,
351
                                                    uint64_t b)
352
363k
{
353
363k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
354
363k
}
Unexecuted instantiation: err.c:constant_time_select_64
Unexecuted instantiation: bn_lib.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_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: s3_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
rsaz_exp.c:constant_time_select_64
Line
Count
Source
352
7.84k
{
353
7.84k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
354
7.84k
}
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
352
355k
{
353
355k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
354
355k
}
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: rsa_oaep.c:constant_time_select_64
Unexecuted instantiation: f_impl64.c:constant_time_select_64
Unexecuted instantiation: statem_srvr.c:constant_time_select_64
Unexecuted instantiation: crmf_lib.c:constant_time_select_64
355
356
/*
357
 * mask must be 0xFFFFFFFF or 0x00000000.
358
 *
359
 * if (mask) {
360
 *     uint32_t tmp = *a;
361
 *
362
 *     *a = *b;
363
 *     *b = tmp;
364
 * }
365
 */
366
static ossl_inline void constant_time_cond_swap_32(uint32_t mask, uint32_t *a,
367
                                                   uint32_t *b)
368
0
{
369
0
    uint32_t xor = *a ^ *b;
370
0
371
0
    xor &= value_barrier_32(mask);
372
0
    *a ^= xor;
373
0
    *b ^= xor;
374
0
}
Unexecuted instantiation: err.c:constant_time_cond_swap_32
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_cond_swap_32
Unexecuted instantiation: f_impl64.c:constant_time_cond_swap_32
Unexecuted instantiation: statem_srvr.c:constant_time_cond_swap_32
Unexecuted instantiation: crmf_lib.c:constant_time_cond_swap_32
375
376
/*
377
 * mask must be 0xFFFFFFFF or 0x00000000.
378
 *
379
 * if (mask) {
380
 *     uint64_t tmp = *a;
381
 *
382
 *     *a = *b;
383
 *     *b = tmp;
384
 * }
385
 */
386
static ossl_inline void constant_time_cond_swap_64(uint64_t mask, uint64_t *a,
387
                                                   uint64_t *b)
388
469k
{
389
469k
    uint64_t xor = *a ^ *b;
390
391
469k
    xor &= value_barrier_64(mask);
392
469k
    *a ^= xor;
393
469k
    *b ^= xor;
394
469k
}
Unexecuted instantiation: err.c:constant_time_cond_swap_64
Unexecuted instantiation: bn_lib.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_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: s3_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: 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
388
469k
{
389
469k
    uint64_t xor = *a ^ *b;
390
391
469k
    xor &= value_barrier_64(mask);
392
469k
    *a ^= xor;
393
469k
    *b ^= xor;
394
469k
}
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: rsa_oaep.c:constant_time_cond_swap_64
Unexecuted instantiation: f_impl64.c:constant_time_cond_swap_64
Unexecuted instantiation: statem_srvr.c:constant_time_cond_swap_64
Unexecuted instantiation: crmf_lib.c:constant_time_cond_swap_64
395
396
/*
397
 * mask must be 0xFF or 0x00.
398
 * "constant time" is per len.
399
 *
400
 * if (mask) {
401
 *     unsigned char tmp[len];
402
 *
403
 *     memcpy(tmp, a, len);
404
 *     memcpy(a, b);
405
 *     memcpy(b, tmp);
406
 * }
407
 */
408
static ossl_inline void constant_time_cond_swap_buff(unsigned char mask,
409
                                                     unsigned char *a,
410
                                                     unsigned char *b,
411
                                                     size_t len)
412
0
{
413
0
    size_t i;
414
0
    unsigned char tmp;
415
0
416
0
    for (i = 0; i < len; i++) {
417
0
        tmp = a[i] ^ b[i];
418
0
        tmp &= value_barrier_8(mask);
419
0
        a[i] ^= tmp;
420
0
        b[i] ^= tmp;
421
0
    }
422
0
}
Unexecuted instantiation: err.c:constant_time_cond_swap_buff
Unexecuted instantiation: bn_lib.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_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: s3_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: 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: rsa_oaep.c:constant_time_cond_swap_buff
Unexecuted instantiation: f_impl64.c:constant_time_cond_swap_buff
Unexecuted instantiation: statem_srvr.c:constant_time_cond_swap_buff
Unexecuted instantiation: crmf_lib.c:constant_time_cond_swap_buff
423
424
/*
425
 * table is a two dimensional array of bytes. Each row has rowsize elements.
426
 * Copies row number idx into out. rowsize and numrows are not considered
427
 * private.
428
 */
429
static ossl_inline void constant_time_lookup(void *out,
430
                                             const void *table,
431
                                             size_t rowsize,
432
                                             size_t numrows,
433
                                             size_t idx)
434
44.2k
{
435
44.2k
    size_t i, j;
436
44.2k
    const unsigned char *tablec = (const unsigned char *)table;
437
44.2k
    unsigned char *outc = (unsigned char *)out;
438
44.2k
    unsigned char mask;
439
440
44.2k
    memset(out, 0, rowsize);
441
442
    /* Note idx may underflow - but that is well defined */
443
752k
    for (i = 0; i < numrows; i++, idx--) {
444
708k
        mask = (unsigned char)constant_time_is_zero_s(idx);
445
136M
        for (j = 0; j < rowsize; j++)
446
136M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
447
708k
    }
448
44.2k
}
Unexecuted instantiation: err.c:constant_time_lookup
Unexecuted instantiation: bn_lib.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_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: s3_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: 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
434
44.2k
{
435
44.2k
    size_t i, j;
436
44.2k
    const unsigned char *tablec = (const unsigned char *)table;
437
44.2k
    unsigned char *outc = (unsigned char *)out;
438
44.2k
    unsigned char mask;
439
440
44.2k
    memset(out, 0, rowsize);
441
442
    /* Note idx may underflow - but that is well defined */
443
752k
    for (i = 0; i < numrows; i++, idx--) {
444
708k
        mask = (unsigned char)constant_time_is_zero_s(idx);
445
136M
        for (j = 0; j < rowsize; j++)
446
136M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
447
708k
    }
448
44.2k
}
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: rsa_oaep.c:constant_time_lookup
Unexecuted instantiation: f_impl64.c:constant_time_lookup
Unexecuted instantiation: statem_srvr.c:constant_time_lookup
Unexecuted instantiation: crmf_lib.c:constant_time_lookup
449
450
/*
451
 * Expected usage pattern is to unconditionally set error and then
452
 * wipe it if there was no actual error. |clear| is 1 or 0.
453
 */
454
void err_clear_last_constant_time(int clear);
455
456
#endif                          /* OSSL_INTERNAL_CONSTANT_TIME_H */