Coverage Report

Created: 2026-02-14 07:20

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