Coverage Report

Created: 2023-09-25 06:45

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