Coverage Report

Created: 2024-07-27 06:39

/src/openssl31/include/internal/constant_time.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2014-2024 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
138M
{
102
138M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
138M
}
bn_lib.c:constant_time_msb
Line
Count
Source
101
47.6M
{
102
47.6M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
47.6M
}
err.c:constant_time_msb
Line
Count
Source
101
5.17k
{
102
5.17k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
5.17k
}
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
5.17k
{
102
5.17k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
5.17k
}
rsa_pk1.c:constant_time_msb
Line
Count
Source
101
1.08M
{
102
1.08M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
1.08M
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb
rsa_enc.c:constant_time_msb
Line
Count
Source
101
5.17k
{
102
5.17k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
5.17k
}
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb
Line
Count
Source
101
166
{
102
166
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
166
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb
Line
Count
Source
101
128
{
102
128
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
128
}
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
791k
{
102
791k
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
791k
}
bn_exp.c:constant_time_msb
Line
Count
Source
101
88.5M
{
102
88.5M
    return 0 - (a >> (sizeof(a) * 8 - 1));
103
88.5M
}
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: bn_lib.c:constant_time_msb_32
Unexecuted instantiation: err.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
228
{
113
228
    return 0 - (a >> 63);
114
228
}
Unexecuted instantiation: bn_lib.c:constant_time_msb_64
Unexecuted instantiation: err.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
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
189
{
113
189
    return 0 - (a >> 63);
114
189
}
scalar.c:constant_time_msb_64
Line
Count
Source
112
39
{
113
39
    return 0 - (a >> 63);
114
39
}
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
10.0M
{
118
10.0M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
10.0M
}
Unexecuted instantiation: bn_lib.c:constant_time_msb_s
Unexecuted instantiation: err.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
5.17k
{
118
5.17k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
5.17k
}
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
348k
{
118
348k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
348k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_s
tls_pad.c:constant_time_msb_s
Line
Count
Source
117
9.49M
{
118
9.49M
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
9.49M
}
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
197k
{
118
197k
    return 0 - (a >> (sizeof(a) * 8 - 1));
119
197k
}
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
294
{
124
294
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
294
}
Unexecuted instantiation: bn_lib.c:constant_time_lt
Unexecuted instantiation: err.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
166
{
124
166
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
166
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt
Line
Count
Source
123
128
{
124
128
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
125
128
}
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
7.61M
{
129
7.61M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
7.61M
}
Unexecuted instantiation: bn_lib.c:constant_time_lt_s
Unexecuted instantiation: err.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
343k
{
129
343k
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
343k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_s
tls_pad.c:constant_time_lt_s
Line
Count
Source
128
7.27M
{
129
7.27M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
130
7.27M
}
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: bn_lib.c:constant_time_lt_8
Unexecuted instantiation: err.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: bn_lib.c:constant_time_lt_64
Unexecuted instantiation: err.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
13.5M
{
146
13.5M
    return 0 - (a >> (sizeof(a) * 8 - 1));
147
13.5M
}
bn_lib.c:constant_time_msb_bn
Line
Count
Source
145
13.5M
{
146
13.5M
    return 0 - (a >> (sizeof(a) * 8 - 1));
147
13.5M
}
Unexecuted instantiation: err.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
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
13.5M
{
151
13.5M
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
152
13.5M
}
bn_lib.c:constant_time_lt_bn
Line
Count
Source
150
13.5M
{
151
13.5M
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
152
13.5M
}
Unexecuted instantiation: err.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
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
11.2k
{
156
11.2k
    return constant_time_msb_bn(~a & (a - 1));
157
11.2k
}
bn_lib.c:constant_time_is_zero_bn
Line
Count
Source
155
11.2k
{
156
11.2k
    return constant_time_msb_bn(~a & (a - 1));
157
11.2k
}
Unexecuted instantiation: err.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
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
2.80k
{
162
2.80k
    return constant_time_is_zero_bn(a ^ b);
163
2.80k
}
bn_lib.c:constant_time_eq_bn
Line
Count
Source
161
2.80k
{
162
2.80k
    return constant_time_is_zero_bn(a ^ b);
163
2.80k
}
Unexecuted instantiation: err.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
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
294
{
169
294
    return ~constant_time_lt(a, b);
170
294
}
Unexecuted instantiation: bn_lib.c:constant_time_ge
Unexecuted instantiation: err.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
166
{
169
166
    return ~constant_time_lt(a, b);
170
166
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge
Line
Count
Source
168
128
{
169
128
    return ~constant_time_lt(a, b);
170
128
}
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
2.43M
{
174
2.43M
    return ~constant_time_lt_s(a, b);
175
2.43M
}
Unexecuted instantiation: bn_lib.c:constant_time_ge_s
Unexecuted instantiation: err.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
343k
{
174
343k
    return ~constant_time_lt_s(a, b);
175
343k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_s
tls_pad.c:constant_time_ge_s
Line
Count
Source
173
2.09M
{
174
2.09M
    return ~constant_time_lt_s(a, b);
175
2.09M
}
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: bn_lib.c:constant_time_ge_8
Unexecuted instantiation: err.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
2.40M
{
185
2.40M
    return (unsigned char)constant_time_ge_s(a, b);
186
2.40M
}
Unexecuted instantiation: bn_lib.c:constant_time_ge_8_s
Unexecuted instantiation: err.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
343k
{
185
343k
    return (unsigned char)constant_time_ge_s(a, b);
186
343k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_8_s
tls_pad.c:constant_time_ge_8_s
Line
Count
Source
184
2.06M
{
185
2.06M
    return (unsigned char)constant_time_ge_s(a, b);
186
2.06M
}
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
137M
{
190
137M
    return constant_time_msb(~a & (a - 1));
191
137M
}
bn_lib.c:constant_time_is_zero
Line
Count
Source
189
47.0M
{
190
47.0M
    return constant_time_msb(~a & (a - 1));
191
47.0M
}
err.c:constant_time_is_zero
Line
Count
Source
189
5.17k
{
190
5.17k
    return constant_time_msb(~a & (a - 1));
191
5.17k
}
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
1.08M
{
190
1.08M
    return constant_time_msb(~a & (a - 1));
191
1.08M
}
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
791k
{
190
791k
    return constant_time_msb(~a & (a - 1));
191
791k
}
bn_exp.c:constant_time_is_zero
Line
Count
Source
189
88.5M
{
190
88.5M
    return constant_time_msb(~a & (a - 1));
191
88.5M
}
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
2.42M
{
195
2.42M
    return constant_time_msb_s(~a & (a - 1));
196
2.42M
}
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_s
Unexecuted instantiation: err.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
5.09k
{
195
5.09k
    return constant_time_msb_s(~a & (a - 1));
196
5.09k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_s
tls_pad.c:constant_time_is_zero_s
Line
Count
Source
194
2.22M
{
195
2.22M
    return constant_time_msb_s(~a & (a - 1));
196
2.22M
}
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
197k
{
195
197k
    return constant_time_msb_s(~a & (a - 1));
196
197k
}
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
1.06M
{
200
1.06M
    return (unsigned char)constant_time_is_zero(a);
201
1.06M
}
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_8
Unexecuted instantiation: err.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
1.06M
{
200
1.06M
    return (unsigned char)constant_time_is_zero(a);
201
1.06M
}
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: bn_lib.c:constant_time_is_zero_32
Unexecuted instantiation: err.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
228
{
210
228
    return constant_time_msb_64(~a & (a - 1));
211
228
}
Unexecuted instantiation: bn_lib.c:constant_time_is_zero_64
Unexecuted instantiation: err.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
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
209
189
{
210
189
    return constant_time_msb_64(~a & (a - 1));
211
189
}
scalar.c:constant_time_is_zero_64
Line
Count
Source
209
39
{
210
39
    return constant_time_msb_64(~a & (a - 1));
211
39
}
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
136M
{
216
136M
    return constant_time_is_zero(a ^ b);
217
136M
}
bn_lib.c:constant_time_eq
Line
Count
Source
215
47.0M
{
216
47.0M
    return constant_time_is_zero(a ^ b);
217
47.0M
}
err.c:constant_time_eq
Line
Count
Source
215
5.17k
{
216
5.17k
    return constant_time_is_zero(a ^ b);
217
5.17k
}
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
15.5k
{
216
15.5k
    return constant_time_is_zero(a ^ b);
217
15.5k
}
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
791k
{
216
791k
    return constant_time_is_zero(a ^ b);
217
791k
}
bn_exp.c:constant_time_eq
Line
Count
Source
215
88.5M
{
216
88.5M
    return constant_time_is_zero(a ^ b);
217
88.5M
}
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
2.22M
{
221
2.22M
    return constant_time_is_zero_s(a ^ b);
222
2.22M
}
Unexecuted instantiation: bn_lib.c:constant_time_eq_s
Unexecuted instantiation: err.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
5.09k
{
221
5.09k
    return constant_time_is_zero_s(a ^ b);
222
5.09k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_s
tls_pad.c:constant_time_eq_s
Line
Count
Source
220
2.22M
{
221
2.22M
    return constant_time_is_zero_s(a ^ b);
222
2.22M
}
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
791k
{
227
791k
    return (unsigned char)constant_time_eq(a, b);
228
791k
}
Unexecuted instantiation: bn_lib.c:constant_time_eq_8
Unexecuted instantiation: err.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
791k
{
227
791k
    return (unsigned char)constant_time_eq(a, b);
228
791k
}
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
5.09k
{
232
5.09k
    return (unsigned char)constant_time_eq_s(a, b);
233
5.09k
}
Unexecuted instantiation: bn_lib.c:constant_time_eq_8_s
Unexecuted instantiation: err.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
5.09k
{
232
5.09k
    return (unsigned char)constant_time_eq_s(a, b);
233
5.09k
}
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
135M
{
237
135M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
135M
}
bn_lib.c:constant_time_eq_int
Line
Count
Source
236
47.0M
{
237
47.0M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
47.0M
}
err.c:constant_time_eq_int
Line
Count
Source
236
5.17k
{
237
5.17k
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
5.17k
}
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
88.5M
{
237
88.5M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
238
88.5M
}
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: bn_lib.c:constant_time_eq_int_8
Unexecuted instantiation: err.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
107M
{
254
107M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
107M
    unsigned int r;
256
107M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
107M
    return r;
261
107M
}
bn_lib.c:value_barrier
Line
Count
Source
253
28.1M
{
254
28.1M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
28.1M
    unsigned int r;
256
28.1M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
28.1M
    return r;
261
28.1M
}
err.c:value_barrier
Line
Count
Source
253
10.3k
{
254
10.3k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
10.3k
    unsigned int r;
256
10.3k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
10.3k
    return r;
261
10.3k
}
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
496k
{
254
496k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
496k
    unsigned int r;
256
496k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
496k
    return r;
261
496k
}
Unexecuted instantiation: rsa_pmeth.c:value_barrier
rsa_enc.c:value_barrier
Line
Count
Source
253
10.3k
{
254
10.3k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
10.3k
    unsigned int r;
256
10.3k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
10.3k
    return r;
261
10.3k
}
cipher_aes_cbc_hmac_sha1_hw.c:value_barrier
Line
Count
Source
253
332
{
254
332
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
332
    unsigned int r;
256
332
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
332
    return r;
261
332
}
cipher_aes_cbc_hmac_sha256_hw.c:value_barrier
Line
Count
Source
253
256
{
254
256
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
256
    unsigned int r;
256
256
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
256
    return r;
261
256
}
s3_cbc.c:value_barrier
Line
Count
Source
253
386k
{
254
386k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
386k
    unsigned int r;
256
386k
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
386k
    return r;
261
386k
}
Unexecuted instantiation: ciphercommon_block.c:value_barrier
tls_pad.c:value_barrier
Line
Count
Source
253
3.16M
{
254
3.16M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
3.16M
    unsigned int r;
256
3.16M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
3.16M
    return r;
261
3.16M
}
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
75.7M
{
254
75.7M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
255
75.7M
    unsigned int r;
256
75.7M
    __asm__("" : "=r"(r) : "0"(a));
257
#else
258
    volatile unsigned int r = a;
259
#endif
260
75.7M
    return r;
261
75.7M
}
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: bn_lib.c:value_barrier_32
Unexecuted instantiation: err.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
203k
{
278
203k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
279
203k
    uint64_t r;
280
203k
    __asm__("" : "=r"(r) : "0"(a));
281
#else
282
    volatile uint64_t r = a;
283
#endif
284
203k
    return r;
285
203k
}
Unexecuted instantiation: bn_lib.c:value_barrier_64
Unexecuted instantiation: err.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
6.30k
{
278
6.30k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
279
6.30k
    uint64_t r;
280
6.30k
    __asm__("" : "=r"(r) : "0"(a));
281
#else
282
    volatile uint64_t r = a;
283
#endif
284
6.30k
    return r;
285
6.30k
}
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
197k
{
278
197k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
279
197k
    uint64_t r;
280
197k
    __asm__("" : "=r"(r) : "0"(a));
281
#else
282
    volatile uint64_t r = a;
283
#endif
284
197k
    return r;
285
197k
}
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
10.3k
{
290
10.3k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
291
10.3k
    size_t r;
292
10.3k
    __asm__("" : "=r"(r) : "0"(a));
293
#else
294
    volatile size_t r = a;
295
#endif
296
10.3k
    return r;
297
10.3k
}
Unexecuted instantiation: bn_lib.c:value_barrier_s
Unexecuted instantiation: err.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
10.3k
{
290
10.3k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
291
10.3k
    size_t r;
292
10.3k
    __asm__("" : "=r"(r) : "0"(a));
293
#else
294
    volatile size_t r = a;
295
#endif
296
10.3k
    return r;
297
10.3k
}
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
static ossl_inline unsigned int constant_time_select(unsigned int mask,
300
                                                     unsigned int a,
301
                                                     unsigned int b)
302
53.9M
{
303
53.9M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
53.9M
}
bn_lib.c:constant_time_select
Line
Count
Source
302
14.0M
{
303
14.0M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
14.0M
}
err.c:constant_time_select
Line
Count
Source
302
5.17k
{
303
5.17k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
5.17k
}
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
302
248k
{
303
248k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
248k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_select
rsa_enc.c:constant_time_select
Line
Count
Source
302
5.17k
{
303
5.17k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
5.17k
}
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select
Line
Count
Source
302
166
{
303
166
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
166
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select
Line
Count
Source
302
128
{
303
128
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
128
}
s3_cbc.c:constant_time_select
Line
Count
Source
302
193k
{
303
193k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
193k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select
tls_pad.c:constant_time_select
Line
Count
Source
302
1.58M
{
303
1.58M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
1.58M
}
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
302
37.8M
{
303
37.8M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
304
37.8M
}
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
305
306
static ossl_inline size_t constant_time_select_s(size_t mask,
307
                                                 size_t a,
308
                                                 size_t b)
309
5.17k
{
310
5.17k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
311
5.17k
}
Unexecuted instantiation: bn_lib.c:constant_time_select_s
Unexecuted instantiation: err.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
309
5.17k
{
310
5.17k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
311
5.17k
}
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
312
313
static ossl_inline unsigned char constant_time_select_8(unsigned char mask,
314
                                                        unsigned char a,
315
                                                        unsigned char b)
316
39.9M
{
317
39.9M
    return (unsigned char)constant_time_select(mask, a, b);
318
39.9M
}
Unexecuted instantiation: bn_lib.c:constant_time_select_8
Unexecuted instantiation: err.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
316
248k
{
317
248k
    return (unsigned char)constant_time_select(mask, a, b);
318
248k
}
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
316
193k
{
317
193k
    return (unsigned char)constant_time_select(mask, a, b);
318
193k
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_8
tls_pad.c:constant_time_select_8
Line
Count
Source
316
1.58M
{
317
1.58M
    return (unsigned char)constant_time_select(mask, a, b);
318
1.58M
}
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
316
37.8M
{
317
37.8M
    return (unsigned char)constant_time_select(mask, a, b);
318
37.8M
}
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
319
320
static ossl_inline int constant_time_select_int(unsigned int mask, int a,
321
                                                int b)
322
14.0M
{
323
14.0M
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
324
14.0M
}
bn_lib.c:constant_time_select_int
Line
Count
Source
322
14.0M
{
323
14.0M
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
324
14.0M
}
err.c:constant_time_select_int
Line
Count
Source
322
5.17k
{
323
5.17k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
324
5.17k
}
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
322
5.17k
{
323
5.17k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
324
5.17k
}
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
325
326
static ossl_inline int constant_time_select_int_s(size_t mask, int a, int b)
327
0
{
328
0
    return (int)constant_time_select((unsigned)mask, (unsigned)(a),
329
0
                                      (unsigned)(b));
330
0
}
Unexecuted instantiation: bn_lib.c:constant_time_select_int_s
Unexecuted instantiation: err.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
331
332
static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a,
333
                                                    uint32_t b)
334
0
{
335
0
    return (value_barrier_32(mask) & a) | (value_barrier_32(~mask) & b);
336
0
}
Unexecuted instantiation: bn_lib.c:constant_time_select_32
Unexecuted instantiation: err.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
337
338
static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a,
339
                                                    uint64_t b)
340
101k
{
341
101k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
342
101k
}
Unexecuted instantiation: bn_lib.c:constant_time_select_64
Unexecuted instantiation: err.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
340
3.15k
{
341
3.15k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
342
3.15k
}
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
340
98.6k
{
341
98.6k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
342
98.6k
}
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
343
344
/*
345
 * mask must be 0xFFFFFFFF or 0x00000000.
346
 *
347
 * if (mask) {
348
 *     uint32_t tmp = *a;
349
 *
350
 *     *a = *b;
351
 *     *b = tmp;
352
 * }
353
 */
354
static ossl_inline void constant_time_cond_swap_32(uint32_t mask, uint32_t *a,
355
                                                   uint32_t *b)
356
0
{
357
0
    uint32_t xor = *a ^ *b;
358
0
359
0
    xor &= mask;
360
0
    *a ^= xor;
361
0
    *b ^= xor;
362
0
}
Unexecuted instantiation: bn_lib.c:constant_time_cond_swap_32
Unexecuted instantiation: err.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
363
364
/*
365
 * mask must be 0xFFFFFFFF or 0x00000000.
366
 *
367
 * if (mask) {
368
 *     uint64_t tmp = *a;
369
 *
370
 *     *a = *b;
371
 *     *b = tmp;
372
 * }
373
 */
374
static ossl_inline void constant_time_cond_swap_64(uint64_t mask, uint64_t *a,
375
                                                   uint64_t *b)
376
192k
{
377
192k
    uint64_t xor = *a ^ *b;
378
379
192k
    xor &= mask;
380
192k
    *a ^= xor;
381
192k
    *b ^= xor;
382
192k
}
Unexecuted instantiation: bn_lib.c:constant_time_cond_swap_64
Unexecuted instantiation: err.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
376
192k
{
377
192k
    uint64_t xor = *a ^ *b;
378
379
192k
    xor &= mask;
380
192k
    *a ^= xor;
381
192k
    *b ^= xor;
382
192k
}
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
383
384
/*
385
 * mask must be 0xFF or 0x00.
386
 * "constant time" is per len.
387
 *
388
 * if (mask) {
389
 *     unsigned char tmp[len];
390
 *
391
 *     memcpy(tmp, a, len);
392
 *     memcpy(a, b);
393
 *     memcpy(b, tmp);
394
 * }
395
 */
396
static ossl_inline void constant_time_cond_swap_buff(unsigned char mask,
397
                                                     unsigned char *a,
398
                                                     unsigned char *b,
399
                                                     size_t len)
400
0
{
401
0
    size_t i;
402
0
    unsigned char tmp;
403
0
404
0
    for (i = 0; i < len; i++) {
405
0
        tmp = a[i] ^ b[i];
406
0
        tmp &= mask;
407
0
        a[i] ^= tmp;
408
0
        b[i] ^= tmp;
409
0
    }
410
0
}
Unexecuted instantiation: bn_lib.c:constant_time_cond_swap_buff
Unexecuted instantiation: err.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
411
412
/*
413
 * table is a two dimensional array of bytes. Each row has rowsize elements.
414
 * Copies row number idx into out. rowsize and numrows are not considered
415
 * private.
416
 */
417
static ossl_inline void constant_time_lookup(void *out,
418
                                             const void *table,
419
                                             size_t rowsize,
420
                                             size_t numrows,
421
                                             size_t idx)
422
12.3k
{
423
12.3k
    size_t i, j;
424
12.3k
    const unsigned char *tablec = (const unsigned char *)table;
425
12.3k
    unsigned char *outc = (unsigned char *)out;
426
12.3k
    unsigned char mask;
427
428
12.3k
    memset(out, 0, rowsize);
429
430
    /* Note idx may underflow - but that is well defined */
431
209k
    for (i = 0; i < numrows; i++, idx--) {
432
197k
        mask = (unsigned char)constant_time_is_zero_s(idx);
433
38.0M
        for (j = 0; j < rowsize; j++)
434
37.8M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
435
197k
    }
436
12.3k
}
Unexecuted instantiation: bn_lib.c:constant_time_lookup
Unexecuted instantiation: err.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
422
12.3k
{
423
12.3k
    size_t i, j;
424
12.3k
    const unsigned char *tablec = (const unsigned char *)table;
425
12.3k
    unsigned char *outc = (unsigned char *)out;
426
12.3k
    unsigned char mask;
427
428
12.3k
    memset(out, 0, rowsize);
429
430
    /* Note idx may underflow - but that is well defined */
431
209k
    for (i = 0; i < numrows; i++, idx--) {
432
197k
        mask = (unsigned char)constant_time_is_zero_s(idx);
433
38.0M
        for (j = 0; j < rowsize; j++)
434
37.8M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
435
197k
    }
436
12.3k
}
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
437
438
/*
439
 * Expected usage pattern is to unconditionally set error and then
440
 * wipe it if there was no actual error. |clear| is 1 or 0.
441
 */
442
void err_clear_last_constant_time(int clear);
443
444
#endif                          /* OSSL_INTERNAL_CONSTANT_TIME_H */