Coverage Report

Created: 2026-10-28 06:28

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
337M
{
101
337M
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
337M
}
bn_lib.c:constant_time_msb
Line
Count
Source
100
58.1M
{
101
58.1M
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
58.1M
}
err.c:constant_time_msb
Line
Count
Source
100
10.2k
{
101
10.2k
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
10.2k
}
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.2k
{
101
10.2k
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
10.2k
}
rsa_pk1.c:constant_time_msb
Line
Count
Source
100
2.14M
{
101
2.14M
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
2.14M
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_msb
rsa_enc.c:constant_time_msb
Line
Count
Source
100
10.2k
{
101
10.2k
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
10.2k
}
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_msb
Line
Count
Source
100
230
{
101
230
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
230
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_msb
Line
Count
Source
100
232
{
101
232
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
232
}
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
5.12M
{
101
5.12M
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
5.12M
}
bn_exp.c:constant_time_msb
Line
Count
Source
100
271M
{
101
271M
    return 0 - (a >> (sizeof(a) * 8 - 1));
102
271M
}
Unexecuted instantiation: bn_intern.c:constant_time_msb
Unexecuted instantiation: rsaz_exp.c:constant_time_msb
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_msb
Unexecuted instantiation: set_key.c:constant_time_msb
Unexecuted instantiation: curve448.c:constant_time_msb
Unexecuted instantiation: curve448_tables.c:constant_time_msb
Unexecuted instantiation: eddsa.c:constant_time_msb
Unexecuted instantiation: f_generic.c:constant_time_msb
Unexecuted instantiation: scalar.c:constant_time_msb
Unexecuted instantiation: 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: bn_intern.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
2.60k
{
111
2.60k
    return 0 - (a >> 63);
112
2.60k
}
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: bn_intern.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
436
{
111
436
    return 0 - (a >> 63);
112
436
}
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.84k
{
111
1.84k
    return 0 - (a >> 63);
112
1.84k
}
scalar.c:constant_time_msb_64
Line
Count
Source
110
321
{
111
321
    return 0 - (a >> 63);
112
321
}
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
261M
{
116
261M
    return 0 - (a >> (sizeof(a) * 8 - 1));
117
261M
}
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.2k
{
116
10.2k
    return 0 - (a >> (sizeof(a) * 8 - 1));
117
10.2k
}
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
206M
{
116
206M
    return 0 - (a >> (sizeof(a) * 8 - 1));
117
206M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_msb_s
tls_pad.c:constant_time_msb_s
Line
Count
Source
115
55.2M
{
116
55.2M
    return 0 - (a >> (sizeof(a) * 8 - 1));
117
55.2M
}
Unexecuted instantiation: bn_exp.c:constant_time_msb_s
Unexecuted instantiation: bn_intern.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
446k
{
116
446k
    return 0 - (a >> (sizeof(a) * 8 - 1));
117
446k
}
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
462
{
122
462
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
123
462
}
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
230
{
122
230
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
123
230
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_lt
Line
Count
Source
121
232
{
122
232
    return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b)));
123
232
}
Unexecuted instantiation: ssl3_cbc.c:constant_time_lt
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt
Unexecuted instantiation: tls_pad.c:constant_time_lt
Unexecuted instantiation: bn_exp.c:constant_time_lt
Unexecuted instantiation: bn_intern.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
245M
{
127
245M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
128
245M
}
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
203M
{
127
203M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
128
203M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_lt_s
tls_pad.c:constant_time_lt_s
Line
Count
Source
126
42.5M
{
127
42.5M
    return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b)));
128
42.5M
}
Unexecuted instantiation: bn_exp.c:constant_time_lt_s
Unexecuted instantiation: bn_intern.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: bn_intern.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: bn_intern.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
18.6G
{
144
18.6G
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
145
18.6G
    BN_ULONG r;
146
18.6G
    __asm__("" : "=r"(r) : "0"(a));
147
#else
148
    volatile BN_ULONG r = a;
149
#endif
150
18.6G
    return r;
151
18.6G
}
bn_lib.c:value_barrier_bn
Line
Count
Source
143
17.8G
{
144
17.8G
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
145
17.8G
    BN_ULONG r;
146
17.8G
    __asm__("" : "=r"(r) : "0"(a));
147
#else
148
    volatile BN_ULONG r = a;
149
#endif
150
17.8G
    return r;
151
17.8G
}
Unexecuted instantiation: err.c:value_barrier_bn
bn_gcd.c:value_barrier_bn
Line
Count
Source
143
407k
{
144
407k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
145
407k
    BN_ULONG r;
146
407k
    __asm__("" : "=r"(r) : "0"(a));
147
#else
148
    volatile BN_ULONG r = a;
149
#endif
150
407k
    return r;
151
407k
}
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
bn_exp.c:value_barrier_bn
Line
Count
Source
143
811M
{
144
811M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
145
811M
    BN_ULONG r;
146
811M
    __asm__("" : "=r"(r) : "0"(a));
147
#else
148
    volatile BN_ULONG r = a;
149
#endif
150
811M
    return r;
151
811M
}
bn_intern.c:value_barrier_bn
Line
Count
Source
143
174k
{
144
174k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
145
174k
    BN_ULONG r;
146
174k
    __asm__("" : "=r"(r) : "0"(a));
147
#else
148
    volatile BN_ULONG r = a;
149
#endif
150
174k
    return r;
151
174k
}
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
15.9M
{
155
15.9M
    return 0 - (a >> (sizeof(a) * 8 - 1));
156
15.9M
}
bn_lib.c:constant_time_msb_bn
Line
Count
Source
154
15.5M
{
155
15.5M
    return 0 - (a >> (sizeof(a) * 8 - 1));
156
15.5M
}
Unexecuted instantiation: err.c:constant_time_msb_bn
bn_gcd.c:constant_time_msb_bn
Line
Count
Source
154
407k
{
155
407k
    return 0 - (a >> (sizeof(a) * 8 - 1));
156
407k
}
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: bn_intern.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
15.3M
{
160
15.3M
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
161
15.3M
}
bn_lib.c:constant_time_lt_bn
Line
Count
Source
159
15.3M
{
160
15.3M
    return constant_time_msb_bn(a ^ ((a ^ b) | ((a - b) ^ b)));
161
15.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: bn_intern.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
566k
{
165
566k
    return constant_time_msb_bn(~a & (a - 1));
166
566k
}
bn_lib.c:constant_time_is_zero_bn
Line
Count
Source
164
159k
{
165
159k
    return constant_time_msb_bn(~a & (a - 1));
166
159k
}
Unexecuted instantiation: err.c:constant_time_is_zero_bn
bn_gcd.c:constant_time_is_zero_bn
Line
Count
Source
164
407k
{
165
407k
    return constant_time_msb_bn(~a & (a - 1));
166
407k
}
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: bn_intern.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
7.09k
{
171
7.09k
    return constant_time_is_zero_bn(a ^ b);
172
7.09k
}
bn_lib.c:constant_time_eq_bn
Line
Count
Source
170
7.09k
{
171
7.09k
    return constant_time_is_zero_bn(a ^ b);
172
7.09k
}
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: bn_intern.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
203k
{
178
203k
    return (value_barrier_bn(mask) & a) | (value_barrier_bn(~mask) & b);
179
203k
}
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
203k
{
178
203k
    return (value_barrier_bn(mask) & a) | (value_barrier_bn(~mask) & b);
179
203k
}
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: bn_intern.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
462
{
185
462
    return ~constant_time_lt(a, b);
186
462
}
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
230
{
185
230
    return ~constant_time_lt(a, b);
186
230
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_ge
Line
Count
Source
184
232
{
185
232
    return ~constant_time_lt(a, b);
186
232
}
Unexecuted instantiation: ssl3_cbc.c:constant_time_ge
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge
Unexecuted instantiation: tls_pad.c:constant_time_ge
Unexecuted instantiation: bn_exp.c:constant_time_ge
Unexecuted instantiation: bn_intern.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
215M
{
190
215M
    return ~constant_time_lt_s(a, b);
191
215M
}
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
203M
{
190
203M
    return ~constant_time_lt_s(a, b);
191
203M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_s
tls_pad.c:constant_time_ge_s
Line
Count
Source
189
12.5M
{
190
12.5M
    return ~constant_time_lt_s(a, b);
191
12.5M
}
Unexecuted instantiation: bn_exp.c:constant_time_ge_s
Unexecuted instantiation: bn_intern.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: bn_intern.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
215M
{
201
215M
    return (unsigned char)constant_time_ge_s(a, b);
202
215M
}
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
203M
{
201
203M
    return (unsigned char)constant_time_ge_s(a, b);
202
203M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_ge_8_s
tls_pad.c:constant_time_ge_8_s
Line
Count
Source
200
12.3M
{
201
12.3M
    return (unsigned char)constant_time_ge_s(a, b);
202
12.3M
}
Unexecuted instantiation: bn_exp.c:constant_time_ge_8_s
Unexecuted instantiation: bn_intern.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
336M
{
206
336M
    return constant_time_msb(~a & (a - 1));
207
336M
}
bn_lib.c:constant_time_is_zero
Line
Count
Source
205
57.0M
{
206
57.0M
    return constant_time_msb(~a & (a - 1));
207
57.0M
}
err.c:constant_time_is_zero
Line
Count
Source
205
10.2k
{
206
10.2k
    return constant_time_msb(~a & (a - 1));
207
10.2k
}
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.14M
{
206
2.14M
    return constant_time_msb(~a & (a - 1));
207
2.14M
}
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
5.12M
{
206
5.12M
    return constant_time_msb(~a & (a - 1));
207
5.12M
}
bn_exp.c:constant_time_is_zero
Line
Count
Source
205
271M
{
206
271M
    return constant_time_msb(~a & (a - 1));
207
271M
}
Unexecuted instantiation: bn_intern.c:constant_time_is_zero
Unexecuted instantiation: rsaz_exp.c:constant_time_is_zero
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_is_zero
Unexecuted instantiation: set_key.c:constant_time_is_zero
Unexecuted instantiation: curve448.c:constant_time_is_zero
Unexecuted instantiation: curve448_tables.c:constant_time_is_zero
Unexecuted instantiation: eddsa.c:constant_time_is_zero
Unexecuted instantiation: f_generic.c:constant_time_is_zero
Unexecuted instantiation: scalar.c:constant_time_is_zero
Unexecuted instantiation: 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
16.1M
{
211
16.1M
    return constant_time_msb_s(~a & (a - 1));
212
16.1M
}
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
3.05M
{
211
3.05M
    return constant_time_msb_s(~a & (a - 1));
212
3.05M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_s
tls_pad.c:constant_time_is_zero_s
Line
Count
Source
210
12.6M
{
211
12.6M
    return constant_time_msb_s(~a & (a - 1));
212
12.6M
}
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_s
Unexecuted instantiation: bn_intern.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
446k
{
211
446k
    return constant_time_msb_s(~a & (a - 1));
212
446k
}
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.10M
{
216
2.10M
    return (unsigned char)constant_time_is_zero(a);
217
2.10M
}
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.10M
{
216
2.10M
    return (unsigned char)constant_time_is_zero(a);
217
2.10M
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_is_zero_8
Unexecuted instantiation: rsa_enc.c:constant_time_is_zero_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_is_zero_8
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_is_zero_8
Unexecuted instantiation: ssl3_cbc.c:constant_time_is_zero_8
Unexecuted instantiation: ciphercommon_block.c:constant_time_is_zero_8
Unexecuted instantiation: tls_pad.c:constant_time_is_zero_8
Unexecuted instantiation: bn_exp.c:constant_time_is_zero_8
Unexecuted instantiation: bn_intern.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: bn_intern.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
2.60k
{
226
2.60k
    return constant_time_msb_64(~a & (a - 1));
227
2.60k
}
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: bn_intern.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
436
{
226
436
    return constant_time_msb_64(~a & (a - 1));
227
436
}
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.84k
{
226
1.84k
    return constant_time_msb_64(~a & (a - 1));
227
1.84k
}
scalar.c:constant_time_is_zero_64
Line
Count
Source
225
321
{
226
321
    return constant_time_msb_64(~a & (a - 1));
227
321
}
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
334M
{
232
334M
    return constant_time_is_zero(a ^ b);
233
334M
}
bn_lib.c:constant_time_eq
Line
Count
Source
231
57.0M
{
232
57.0M
    return constant_time_is_zero(a ^ b);
233
57.0M
}
err.c:constant_time_eq
Line
Count
Source
231
10.2k
{
232
10.2k
    return constant_time_is_zero(a ^ b);
233
10.2k
}
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
30.6k
{
232
30.6k
    return constant_time_is_zero(a ^ b);
233
30.6k
}
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
5.12M
{
232
5.12M
    return constant_time_is_zero(a ^ b);
233
5.12M
}
bn_exp.c:constant_time_eq
Line
Count
Source
231
271M
{
232
271M
    return constant_time_is_zero(a ^ b);
233
271M
}
Unexecuted instantiation: bn_intern.c:constant_time_eq
Unexecuted instantiation: rsaz_exp.c:constant_time_eq
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq
Unexecuted instantiation: set_key.c:constant_time_eq
Unexecuted instantiation: curve448.c:constant_time_eq
Unexecuted instantiation: curve448_tables.c:constant_time_eq
Unexecuted instantiation: eddsa.c:constant_time_eq
Unexecuted instantiation: f_generic.c:constant_time_eq
Unexecuted instantiation: scalar.c:constant_time_eq
Unexecuted instantiation: 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
15.7M
{
237
15.7M
    return constant_time_is_zero_s(a ^ b);
238
15.7M
}
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
3.05M
{
237
3.05M
    return constant_time_is_zero_s(a ^ b);
238
3.05M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_s
tls_pad.c:constant_time_eq_s
Line
Count
Source
236
12.6M
{
237
12.6M
    return constant_time_is_zero_s(a ^ b);
238
12.6M
}
Unexecuted instantiation: bn_exp.c:constant_time_eq_s
Unexecuted instantiation: bn_intern.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
5.12M
{
243
5.12M
    return (unsigned char)constant_time_eq(a, b);
244
5.12M
}
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
5.12M
{
243
5.12M
    return (unsigned char)constant_time_eq(a, b);
244
5.12M
}
Unexecuted instantiation: bn_exp.c:constant_time_eq_8
Unexecuted instantiation: bn_intern.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
3.05M
{
248
3.05M
    return (unsigned char)constant_time_eq_s(a, b);
249
3.05M
}
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
3.05M
{
248
3.05M
    return (unsigned char)constant_time_eq_s(a, b);
249
3.05M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_eq_8_s
Unexecuted instantiation: tls_pad.c:constant_time_eq_8_s
Unexecuted instantiation: bn_exp.c:constant_time_eq_8_s
Unexecuted instantiation: bn_intern.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
329M
{
253
329M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
254
329M
}
bn_lib.c:constant_time_eq_int
Line
Count
Source
252
57.0M
{
253
57.0M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
254
57.0M
}
err.c:constant_time_eq_int
Line
Count
Source
252
10.2k
{
253
10.2k
    return constant_time_eq((unsigned)(a), (unsigned)(b));
254
10.2k
}
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
271M
{
253
271M
    return constant_time_eq((unsigned)(a), (unsigned)(b));
254
271M
}
Unexecuted instantiation: bn_intern.c:constant_time_eq_int
Unexecuted instantiation: rsaz_exp.c:constant_time_eq_int
Unexecuted instantiation: rsaz_exp_x2.c:constant_time_eq_int
Unexecuted instantiation: set_key.c:constant_time_eq_int
Unexecuted instantiation: curve448.c:constant_time_eq_int
Unexecuted instantiation: curve448_tables.c:constant_time_eq_int
Unexecuted instantiation: eddsa.c:constant_time_eq_int
Unexecuted instantiation: f_generic.c:constant_time_eq_int
Unexecuted instantiation: scalar.c:constant_time_eq_int
Unexecuted instantiation: 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: bn_intern.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
454M
{
270
454M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
454M
    unsigned int r;
272
454M
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
454M
    return r;
277
454M
}
bn_lib.c:value_barrier
Line
Count
Source
269
33.2M
{
270
33.2M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
33.2M
    unsigned int r;
272
33.2M
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
33.2M
    return r;
277
33.2M
}
err.c:value_barrier
Line
Count
Source
269
20.4k
{
270
20.4k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
20.4k
    unsigned int r;
272
20.4k
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
20.4k
    return r;
277
20.4k
}
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
981k
{
270
981k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
981k
    unsigned int r;
272
981k
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
981k
    return r;
277
981k
}
Unexecuted instantiation: rsa_pmeth.c:value_barrier
rsa_enc.c:value_barrier
Line
Count
Source
269
20.4k
{
270
20.4k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
20.4k
    unsigned int r;
272
20.4k
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
20.4k
    return r;
277
20.4k
}
cipher_aes_cbc_hmac_sha1_hw.c:value_barrier
Line
Count
Source
269
460
{
270
460
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
460
    unsigned int r;
272
460
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
460
    return r;
277
460
}
cipher_aes_cbc_hmac_sha256_hw.c:value_barrier
Line
Count
Source
269
464
{
270
464
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
464
    unsigned int r;
272
464
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
464
    return r;
277
464
}
ssl3_cbc.c:value_barrier
Line
Count
Source
269
228M
{
270
228M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
228M
    unsigned int r;
272
228M
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
228M
    return r;
277
228M
}
Unexecuted instantiation: ciphercommon_block.c:value_barrier
tls_pad.c:value_barrier
Line
Count
Source
269
20.5M
{
270
20.5M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
20.5M
    unsigned int r;
272
20.5M
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
20.5M
    return r;
277
20.5M
}
Unexecuted instantiation: bn_exp.c:value_barrier
Unexecuted instantiation: bn_intern.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
171M
{
270
171M
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
271
171M
    unsigned int r;
272
171M
    __asm__("" : "=r"(r) : "0"(a));
273
#else
274
    volatile unsigned int r = a;
275
#endif
276
171M
    return r;
277
171M
}
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: bn_intern.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
912k
{
294
912k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
295
912k
    uint64_t r;
296
912k
    __asm__("" : "=r"(r) : "0"(a));
297
#else
298
    volatile uint64_t r = a;
299
#endif
300
912k
    return r;
301
912k
}
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
Unexecuted instantiation: bn_intern.c:value_barrier_64
rsaz_exp.c:value_barrier_64
Line
Count
Source
293
9.37k
{
294
9.37k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
295
9.37k
    uint64_t r;
296
9.37k
    __asm__("" : "=r"(r) : "0"(a));
297
#else
298
    volatile uint64_t r = a;
299
#endif
300
9.37k
    return r;
301
9.37k
}
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
902k
{
294
902k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
295
902k
    uint64_t r;
296
902k
    __asm__("" : "=r"(r) : "0"(a));
297
#else
298
    volatile uint64_t r = a;
299
#endif
300
902k
    return r;
301
902k
}
Unexecuted instantiation: curve448_tables.c:value_barrier_64
Unexecuted instantiation: eddsa.c:value_barrier_64
Unexecuted instantiation: f_generic.c:value_barrier_64
scalar.c:value_barrier_64
Line
Count
Source
293
635
{
294
635
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
295
635
    uint64_t r;
296
635
    __asm__("" : "=r"(r) : "0"(a));
297
#else
298
    volatile uint64_t r = a;
299
#endif
300
635
    return r;
301
635
}
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.4k
{
306
20.4k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
307
20.4k
    size_t r;
308
20.4k
    __asm__("" : "=r"(r) : "0"(a));
309
#else
310
    volatile size_t r = a;
311
#endif
312
20.4k
    return r;
313
20.4k
}
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.4k
{
306
20.4k
#if !defined(OPENSSL_NO_ASM) && defined(__GNUC__)
307
20.4k
    size_t r;
308
20.4k
    __asm__("" : "=r"(r) : "0"(a));
309
#else
310
    volatile size_t r = a;
311
#endif
312
20.4k
    return r;
313
20.4k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:value_barrier_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:value_barrier_s
Unexecuted instantiation: ssl3_cbc.c:value_barrier_s
Unexecuted instantiation: ciphercommon_block.c:value_barrier_s
Unexecuted instantiation: tls_pad.c:value_barrier_s
Unexecuted instantiation: bn_exp.c:value_barrier_s
Unexecuted instantiation: bn_intern.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: bn_intern.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
227M
{
331
227M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
227M
}
bn_lib.c:constant_time_select
Line
Count
Source
330
16.6M
{
331
16.6M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
16.6M
}
err.c:constant_time_select
Line
Count
Source
330
10.2k
{
331
10.2k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
10.2k
}
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
490k
{
331
490k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
490k
}
Unexecuted instantiation: rsa_pmeth.c:constant_time_select
rsa_enc.c:constant_time_select
Line
Count
Source
330
10.2k
{
331
10.2k
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
10.2k
}
cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select
Line
Count
Source
330
230
{
331
230
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
230
}
cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select
Line
Count
Source
330
232
{
331
232
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
232
}
ssl3_cbc.c:constant_time_select
Line
Count
Source
330
114M
{
331
114M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
114M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select
tls_pad.c:constant_time_select
Line
Count
Source
330
10.2M
{
331
10.2M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
10.2M
}
Unexecuted instantiation: bn_exp.c:constant_time_select
Unexecuted instantiation: bn_intern.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
85.7M
{
331
85.7M
    return (value_barrier(mask) & a) | (value_barrier(~mask) & b);
332
85.7M
}
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.2k
{
338
10.2k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
339
10.2k
}
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.2k
{
338
10.2k
    return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b);
339
10.2k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_s
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_s
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_s
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_s
Unexecuted instantiation: tls_pad.c:constant_time_select_s
Unexecuted instantiation: bn_exp.c:constant_time_select_s
Unexecuted instantiation: bn_intern.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
210M
{
345
210M
    return (unsigned char)constant_time_select(mask, a, b);
346
210M
}
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
490k
{
345
490k
    return (unsigned char)constant_time_select(mask, a, b);
346
490k
}
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
114M
{
345
114M
    return (unsigned char)constant_time_select(mask, a, b);
346
114M
}
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_8
tls_pad.c:constant_time_select_8
Line
Count
Source
344
10.2M
{
345
10.2M
    return (unsigned char)constant_time_select(mask, a, b);
346
10.2M
}
Unexecuted instantiation: bn_exp.c:constant_time_select_8
Unexecuted instantiation: bn_intern.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
85.7M
{
345
85.7M
    return (unsigned char)constant_time_select(mask, a, b);
346
85.7M
}
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
16.6M
{
351
16.6M
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
352
16.6M
}
bn_lib.c:constant_time_select_int
Line
Count
Source
350
16.6M
{
351
16.6M
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
352
16.6M
}
err.c:constant_time_select_int
Line
Count
Source
350
10.2k
{
351
10.2k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
352
10.2k
}
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.2k
{
351
10.2k
    return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b));
352
10.2k
}
Unexecuted instantiation: cipher_aes_cbc_hmac_sha1_hw.c:constant_time_select_int
Unexecuted instantiation: cipher_aes_cbc_hmac_sha256_hw.c:constant_time_select_int
Unexecuted instantiation: ssl3_cbc.c:constant_time_select_int
Unexecuted instantiation: ciphercommon_block.c:constant_time_select_int
Unexecuted instantiation: tls_pad.c:constant_time_select_int
Unexecuted instantiation: bn_exp.c:constant_time_select_int
Unexecuted instantiation: bn_intern.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: bn_intern.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: bn_intern.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
229k
{
369
229k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
370
229k
}
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
Unexecuted instantiation: bn_intern.c:constant_time_select_64
rsaz_exp.c:constant_time_select_64
Line
Count
Source
368
4.68k
{
369
4.68k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
370
4.68k
}
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
224k
{
369
224k
    return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b);
370
224k
}
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: bn_intern.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
453k
{
405
453k
    uint64_t xor = *a ^ *b;
406
407
453k
    xor&= value_barrier_64(mask);
408
453k
    *a ^= xor;
409
453k
    *b ^= xor;
410
453k
}
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: bn_intern.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
453k
{
405
453k
    uint64_t xor = *a ^ *b;
406
407
453k
    xor&= value_barrier_64(mask);
408
453k
    *a ^= xor;
409
453k
    *b ^= xor;
410
453k
}
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: bn_intern.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
27.9k
{
451
27.9k
    size_t i, j;
452
27.9k
    const unsigned char *tablec = (const unsigned char *)table;
453
27.9k
    unsigned char *outc = (unsigned char *)out;
454
27.9k
    unsigned char mask;
455
456
27.9k
    memset(out, 0, rowsize);
457
458
    /* Note idx may underflow - but that is well defined */
459
474k
    for (i = 0; i < numrows; i++, idx--) {
460
446k
        mask = (unsigned char)constant_time_is_zero_s(idx);
461
86.1M
        for (j = 0; j < rowsize; j++)
462
85.7M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
463
446k
    }
464
27.9k
}
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: bn_intern.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
27.9k
{
451
27.9k
    size_t i, j;
452
27.9k
    const unsigned char *tablec = (const unsigned char *)table;
453
27.9k
    unsigned char *outc = (unsigned char *)out;
454
27.9k
    unsigned char mask;
455
456
27.9k
    memset(out, 0, rowsize);
457
458
    /* Note idx may underflow - but that is well defined */
459
474k
    for (i = 0; i < numrows; i++, idx--) {
460
446k
        mask = (unsigned char)constant_time_is_zero_s(idx);
461
86.1M
        for (j = 0; j < rowsize; j++)
462
85.7M
            *(outc + j) |= constant_time_select_8(mask, *(tablec++), 0);
463
446k
    }
464
27.9k
}
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 */