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