Line | Source | Count |
1 | | - |
2 | | - |
3 | static BIGNUM *euclid(BIGNUM *a, BIGNUM *b); | - |
4 | static BIGNUM *BN_gcd_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, | - |
5 | BN_CTX *ctx); | - |
6 | | - |
7 | int | - |
8 | BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx) | - |
9 | { | - |
10 | BIGNUM *a, *b, *t; | - |
11 | int ret = 0; | - |
12 | | - |
13 | ; | - |
14 | ; | - |
15 | | - |
16 | BN_CTX_start(ctx); | - |
17 | if ((TRUE | never evaluated | FALSE | never evaluated |
a = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
18 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
19 | ) | - |
20 | goto never executed: goto err; err;never executed: goto err; | 0 |
21 | if ((TRUE | never evaluated | FALSE | never evaluated |
b = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
22 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
23 | ) | - |
24 | goto never executed: goto err; err;never executed: goto err; | 0 |
25 | | - |
26 | if (BN_copy(a, in_a) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
27 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
28 | ) | - |
29 | goto never executed: goto err; err;never executed: goto err; | 0 |
30 | if (BN_copy(b, in_b) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
31 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
32 | ) | - |
33 | goto never executed: goto err; err;never executed: goto err; | 0 |
34 | a->neg = 0; | - |
35 | b->neg = 0; | - |
36 | | - |
37 | if (BN_cmp(a, b) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
38 | t = a; | - |
39 | a = b; | - |
40 | b = t; | - |
41 | } never executed: end of block | 0 |
42 | t = euclid(a, b); | - |
43 | if (t == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
44 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
45 | ) | - |
46 | goto never executed: goto err; err;never executed: goto err; | 0 |
47 | | - |
48 | if (BN_copy(r, t) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
49 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
50 | ) | - |
51 | goto never executed: goto err; err;never executed: goto err; | 0 |
52 | ret = 1; | - |
53 | | - |
54 | err: code before this statement never executed: err: | 0 |
55 | BN_CTX_end(ctx); | - |
56 | ; | - |
57 | return never executed: return (ret); (ret);never executed: return (ret); | 0 |
58 | } | - |
59 | | - |
60 | int | - |
61 | BN_gcd_ct(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx) | - |
62 | { | - |
63 | if (BN_gcd_no_branch(r, in_a, in_b, ctx) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
64 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
65 | ) | - |
66 | return never executed: return 0; 0;never executed: return 0; | 0 |
67 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
68 | } | - |
69 | | - |
70 | int | - |
71 | BN_gcd_nonct(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx) | - |
72 | { | - |
73 | return never executed: return BN_gcd(r, in_a, in_b, ctx); BN_gcd(r, in_a, in_b, ctx);never executed: return BN_gcd(r, in_a, in_b, ctx); | 0 |
74 | } | - |
75 | | - |
76 | | - |
77 | static BIGNUM * | - |
78 | euclid(BIGNUM *a, BIGNUM *b) | - |
79 | { | - |
80 | BIGNUM *t; | - |
81 | int shifts = 0; | - |
82 | | - |
83 | ; | - |
84 | ; | - |
85 | | - |
86 | | - |
87 | while (!((b)->top == 0)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
88 | | - |
89 | | - |
90 | if ((((TRUE | never evaluated | FALSE | never evaluated |
a)->top > 0)TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
a)->d[0] & 1)TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
91 | if ((((TRUE | never evaluated | FALSE | never evaluated |
b)->top > 0)TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
b)->d[0] & 1)TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
92 | if (!BN_sub(a, a, b)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
93 | goto never executed: goto err; err;never executed: goto err; | 0 |
94 | if (!BN_rshift1(a, a)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
95 | goto never executed: goto err; err;never executed: goto err; | 0 |
96 | if (BN_cmp(a, b) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
97 | t = a; | - |
98 | a = b; | - |
99 | b = t; | - |
100 | } never executed: end of block | 0 |
101 | } never executed: end of block | 0 |
102 | else | - |
103 | { | - |
104 | if (!BN_rshift1(b, b)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
105 | goto never executed: goto err; err;never executed: goto err; | 0 |
106 | if (BN_cmp(a, b) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
107 | t = a; | - |
108 | a = b; | - |
109 | b = t; | - |
110 | } never executed: end of block | 0 |
111 | } never executed: end of block | 0 |
112 | } | - |
113 | else | - |
114 | { | - |
115 | if ((((TRUE | never evaluated | FALSE | never evaluated |
b)->top > 0)TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
b)->d[0] & 1)TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
116 | if (!BN_rshift1(a, a)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
117 | goto never executed: goto err; err;never executed: goto err; | 0 |
118 | if (BN_cmp(a, b) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
119 | t = a; | - |
120 | a = b; | - |
121 | b = t; | - |
122 | } never executed: end of block | 0 |
123 | } never executed: end of block | 0 |
124 | else | - |
125 | { | - |
126 | if (!BN_rshift1(a, a)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
127 | goto never executed: goto err; err;never executed: goto err; | 0 |
128 | if (!BN_rshift1(b, b)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
129 | goto never executed: goto err; err;never executed: goto err; | 0 |
130 | shifts++; | - |
131 | } never executed: end of block | 0 |
132 | } | - |
133 | | - |
134 | } | - |
135 | | - |
136 | if (shiftsTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
137 | if (!BN_lshift(a, a, shifts)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
138 | goto never executed: goto err; err;never executed: goto err; | 0 |
139 | } never executed: end of block | 0 |
140 | ; | - |
141 | return never executed: return (a); (a);never executed: return (a); | 0 |
142 | | - |
143 | err: | - |
144 | return never executed: return ( ((void *)0) ); (never executed: return ( ((void *)0) ); | 0 |
145 | ((void *)0) never executed: return ( ((void *)0) ); | 0 |
146 | ); never executed: return ( ((void *)0) ); | 0 |
147 | } | - |
148 | | - |
149 | | - |
150 | | - |
151 | static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, const BIGNUM *a, | - |
152 | const BIGNUM *n, BN_CTX *ctx); | - |
153 | | - |
154 | static BIGNUM * | - |
155 | BN_mod_inverse_internal(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx, | - |
156 | int ct) | - |
157 | { | - |
158 | BIGNUM *A, *B, *X, *Y, *M, *D, *T, *R = | - |
159 | ((void *)0) | - |
160 | ; | - |
161 | BIGNUM *ret = | - |
162 | ((void *)0) | - |
163 | ; | - |
164 | int sign; | - |
165 | | - |
166 | if (ctTRUE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
) | 0-4086 |
167 | returnexecuted 4086 times by 14 tests: return BN_mod_inverse_no_branch(in, a, n, ctx); Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
BN_mod_inverse_no_branch(in, a, n, ctx);executed 4086 times by 14 tests: return BN_mod_inverse_no_branch(in, a, n, ctx); Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 4086 |
168 | | - |
169 | ; | - |
170 | ; | - |
171 | | - |
172 | BN_CTX_start(ctx); | - |
173 | if ((TRUE | never evaluated | FALSE | never evaluated |
A = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
174 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
175 | ) | - |
176 | goto never executed: goto err; err;never executed: goto err; | 0 |
177 | if ((TRUE | never evaluated | FALSE | never evaluated |
B = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
178 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
179 | ) | - |
180 | goto never executed: goto err; err;never executed: goto err; | 0 |
181 | if ((TRUE | never evaluated | FALSE | never evaluated |
X = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
182 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
183 | ) | - |
184 | goto never executed: goto err; err;never executed: goto err; | 0 |
185 | if ((TRUE | never evaluated | FALSE | never evaluated |
D = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
186 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
187 | ) | - |
188 | goto never executed: goto err; err;never executed: goto err; | 0 |
189 | if ((TRUE | never evaluated | FALSE | never evaluated |
M = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
190 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
191 | ) | - |
192 | goto never executed: goto err; err;never executed: goto err; | 0 |
193 | if ((TRUE | never evaluated | FALSE | never evaluated |
Y = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
194 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
195 | ) | - |
196 | goto never executed: goto err; err;never executed: goto err; | 0 |
197 | if ((TRUE | never evaluated | FALSE | never evaluated |
T = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
198 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
199 | ) | - |
200 | goto never executed: goto err; err;never executed: goto err; | 0 |
201 | | - |
202 | if (in == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
203 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
204 | ) | - |
205 | R = BN_new(); never executed: R = BN_new(); | 0 |
206 | else | - |
207 | R = in; never executed: R = in; | 0 |
208 | if (R == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
209 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
210 | ) | - |
211 | goto never executed: goto err; err;never executed: goto err; | 0 |
212 | | - |
213 | (BN_set_word((X),1)); | - |
214 | (BN_set_word((Y),0)); | - |
215 | if (BN_copy(B, a) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
216 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
217 | ) | - |
218 | goto never executed: goto err; err;never executed: goto err; | 0 |
219 | if (BN_copy(A, n) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
220 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
221 | ) | - |
222 | goto never executed: goto err; err;never executed: goto err; | 0 |
223 | A->neg = 0; | - |
224 | if (B->negTRUE | never evaluated | FALSE | never evaluated |
|| (TRUE | never evaluated | FALSE | never evaluated |
BN_ucmp(B, A) >= 0)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
225 | if (!BN_nnmod(B, B, A, ctx)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
226 | goto never executed: goto err; err;never executed: goto err; | 0 |
227 | } never executed: end of block | 0 |
228 | sign = -1; | - |
229 | | - |
230 | | - |
231 | | - |
232 | | - |
233 | | - |
234 | | - |
235 | | - |
236 | if ((((TRUE | never evaluated | FALSE | never evaluated |
n)->top > 0)TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
n)->d[0] & 1)TRUE | never evaluated | FALSE | never evaluated |
) && (TRUE | never evaluated | FALSE | never evaluated |
BN_num_bits(n) <= (128 <= 32 ? 450 : 2048))TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
237 | | - |
238 | | - |
239 | | - |
240 | | - |
241 | int shift; | - |
242 | | - |
243 | while (!((B)->top == 0)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
244 | shift = 0; | - |
245 | while (!BN_is_bit_set(B, shift)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
246 | { | - |
247 | shift++; | - |
248 | | - |
249 | if ((((TRUE | never evaluated | FALSE | never evaluated |
X)->top > 0)TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
X)->d[0] & 1)TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
250 | if (!BN_uadd(X, X, n)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
251 | goto never executed: goto err; err;never executed: goto err; | 0 |
252 | } never executed: end of block | 0 |
253 | | - |
254 | if (!BN_rshift1(X, X)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
255 | goto never executed: goto err; err;never executed: goto err; | 0 |
256 | } never executed: end of block | 0 |
257 | if (shift > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
258 | if (!BN_rshift(B, B, shift)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
259 | goto never executed: goto err; err;never executed: goto err; | 0 |
260 | } never executed: end of block | 0 |
261 | | - |
262 | | - |
263 | | - |
264 | shift = 0; | - |
265 | while (!BN_is_bit_set(A, shift)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
266 | { | - |
267 | shift++; | - |
268 | | - |
269 | if ((((TRUE | never evaluated | FALSE | never evaluated |
Y)->top > 0)TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
Y)->d[0] & 1)TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
270 | if (!BN_uadd(Y, Y, n)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
271 | goto never executed: goto err; err;never executed: goto err; | 0 |
272 | } never executed: end of block | 0 |
273 | | - |
274 | if (!BN_rshift1(Y, Y)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
275 | goto never executed: goto err; err;never executed: goto err; | 0 |
276 | } never executed: end of block | 0 |
277 | if (shift > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
278 | if (!BN_rshift(A, A, shift)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
279 | goto never executed: goto err; err;never executed: goto err; | 0 |
280 | } never executed: end of block | 0 |
281 | if (BN_ucmp(B, A) >= 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
282 | | - |
283 | if (!BN_uadd(X, X, Y)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
284 | goto never executed: goto err; err;never executed: goto err; | 0 |
285 | | - |
286 | | - |
287 | if (!BN_usub(B, B, A)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
288 | goto never executed: goto err; err;never executed: goto err; | 0 |
289 | } never executed: end of block else { | 0 |
290 | | - |
291 | if (!BN_uadd(Y, Y, X)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
292 | goto never executed: goto err; err;never executed: goto err; | 0 |
293 | | - |
294 | if (!BN_usub(A, A, B)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
295 | goto never executed: goto err; err;never executed: goto err; | 0 |
296 | } never executed: end of block | 0 |
297 | } | - |
298 | } never executed: end of block else { | 0 |
299 | | - |
300 | | - |
301 | while (!((B)->top == 0)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
302 | BIGNUM *tmp; | - |
303 | if (BN_num_bits(A) == BN_num_bits(B)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
304 | if (!(BN_set_word((D),1))TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
305 | goto never executed: goto err; err;never executed: goto err; | 0 |
306 | if (!BN_sub(M, A, B)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
307 | goto never executed: goto err; err;never executed: goto err; | 0 |
308 | } never executed: end of block else if (BN_num_bits(A) == BN_num_bits(B) + 1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
309 | | - |
310 | if (!BN_lshift1(T, B)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
311 | goto never executed: goto err; err;never executed: goto err; | 0 |
312 | if (BN_ucmp(A, T) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
313 | | - |
314 | if (!(BN_set_word((D),1))TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
315 | goto never executed: goto err; err;never executed: goto err; | 0 |
316 | if (!BN_sub(M, A, B)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
317 | goto never executed: goto err; err;never executed: goto err; | 0 |
318 | } never executed: end of block else { | 0 |
319 | | - |
320 | if (!BN_sub(M, A, T)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
321 | goto never executed: goto err; err;never executed: goto err; | 0 |
322 | if (!BN_add(D,T,B)TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto err; err;never executed: goto err; | 0 |
323 | if (BN_ucmp(A, D) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
324 | | - |
325 | if (!BN_set_word(D, 2)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
326 | goto never executed: goto err; err;never executed: goto err; | 0 |
327 | | - |
328 | } never executed: end of block else { | 0 |
329 | | - |
330 | if (!BN_set_word(D, 3)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
331 | goto never executed: goto err; err;never executed: goto err; | 0 |
332 | | - |
333 | if (!BN_sub(M, M, B)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
334 | goto never executed: goto err; err;never executed: goto err; | 0 |
335 | } never executed: end of block | 0 |
336 | } | - |
337 | } else { | - |
338 | if (!BN_div_nonct(D, M, A, B, ctx)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
339 | goto never executed: goto err; err;never executed: goto err; | 0 |
340 | } never executed: end of block | 0 |
341 | | - |
342 | | - |
343 | | - |
344 | | - |
345 | | - |
346 | | - |
347 | tmp = A; | - |
348 | | - |
349 | | - |
350 | A = B; | - |
351 | B = M; | - |
352 | if (((((((TRUE | never evaluated | FALSE | never evaluated |
D))->top == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
D))->d[0] == (unsigned long)(1))TRUE | never evaluated | FALSE | never evaluated |
) || (((TRUE | never evaluated | FALSE | never evaluated |
1) == 0)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
D))->top == 0)TRUE | never evaluated | FALSE | never evaluated |
)) && !(D)->negTRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
353 | if (!BN_add(tmp, X, Y)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
354 | goto never executed: goto err; err;never executed: goto err; | 0 |
355 | } never executed: end of block else { | 0 |
356 | if (((((((TRUE | never evaluated | FALSE | never evaluated |
D))->top == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
D))->d[0] == (unsigned long)((2)))TRUE | never evaluated | FALSE | never evaluated |
) || ((((TRUE | never evaluated | FALSE | never evaluated |
2)) == 0)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
D))->top == 0)TRUE | never evaluated | FALSE | never evaluated |
)) && (!(2) || !(D)->negTRUE | never evaluated | FALSE | never evaluated |
))) { | 0 |
357 | if (!BN_lshift1(tmp, X)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
358 | goto never executed: goto err; err;never executed: goto err; | 0 |
359 | } never executed: end of block else if (((((((TRUE | never evaluated | FALSE | never evaluated |
D))->top == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
D))->d[0] == (unsigned long)((4)))TRUE | never evaluated | FALSE | never evaluated |
) || ((((TRUE | never evaluated | FALSE | never evaluated |
4)) == 0)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
D))->top == 0)TRUE | never evaluated | FALSE | never evaluated |
)) && (!(4) || !(D)->negTRUE | never evaluated | FALSE | never evaluated |
))) { | 0 |
360 | if (!BN_lshift(tmp, X, 2)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
361 | goto never executed: goto err; err;never executed: goto err; | 0 |
362 | } never executed: end of block else if (D->top == 1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
363 | if (!BN_copy(tmp, X)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
364 | goto never executed: goto err; err;never executed: goto err; | 0 |
365 | if (!BN_mul_word(tmp, D->d[0])TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
366 | goto never executed: goto err; err;never executed: goto err; | 0 |
367 | } never executed: end of block else { | 0 |
368 | if (!BN_mul(tmp, D,X, ctx)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
369 | goto never executed: goto err; err;never executed: goto err; | 0 |
370 | } never executed: end of block | 0 |
371 | if (!BN_add(tmp, tmp, Y)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
372 | goto never executed: goto err; err;never executed: goto err; | 0 |
373 | } never executed: end of block | 0 |
374 | | - |
375 | M = Y; | - |
376 | Y = X; | - |
377 | X = tmp; | - |
378 | sign = -sign; | - |
379 | } never executed: end of block | 0 |
380 | } never executed: end of block | 0 |
381 | if (sign < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
382 | if (!BN_sub(Y, n, Y)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
383 | goto never executed: goto err; err;never executed: goto err; | 0 |
384 | } never executed: end of block | 0 |
385 | | - |
386 | | - |
387 | if (((((((TRUE | never evaluated | FALSE | never evaluated |
A))->top == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
A))->d[0] == (unsigned long)(1))TRUE | never evaluated | FALSE | never evaluated |
) || (((TRUE | never evaluated | FALSE | never evaluated |
1) == 0)TRUE | never evaluated | FALSE | never evaluated |
&& (((TRUE | never evaluated | FALSE | never evaluated |
A))->top == 0)TRUE | never evaluated | FALSE | never evaluated |
)) && !(A)->negTRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
388 | | - |
389 | if (!Y->negTRUE | never evaluated | FALSE | never evaluated |
&& BN_ucmp(Y, n) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
390 | if (!BN_copy(R, Y)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
391 | goto never executed: goto err; err;never executed: goto err; | 0 |
392 | } never executed: end of block else { | 0 |
393 | if (!BN_nnmod(R, Y,n, ctx)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
394 | goto never executed: goto err; err;never executed: goto err; | 0 |
395 | } never executed: end of block | 0 |
396 | } else { | - |
397 | ERR_put_error(3,(0xfff),(108),__FILE__,530); | - |
398 | goto never executed: goto err; err;never executed: goto err; | 0 |
399 | } | - |
400 | ret = R; | - |
401 | | - |
402 | err: code before this statement never executed: err: | 0 |
403 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
404 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
405 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
in == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
406 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
407 | )TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
408 | BN_free(R); never executed: BN_free(R); | 0 |
409 | BN_CTX_end(ctx); | - |
410 | ; | - |
411 | return never executed: return (ret); (ret);never executed: return (ret); | 0 |
412 | } | - |
413 | | - |
414 | BIGNUM * | - |
415 | BN_mod_inverse(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx) | - |
416 | { | - |
417 | int ct = ((((TRUE | never evaluated | FALSE | never evaluated |
a)->flags&(0x04)) != 0)TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
418 | (((TRUE | never evaluated | FALSE | never evaluated |
n)->flags&(0x04)) != 0)TRUE | never evaluated | FALSE | never evaluated |
); | 0 |
419 | return never executed: return BN_mod_inverse_internal(in, a, n, ctx, ct); BN_mod_inverse_internal(in, a, n, ctx, ct);never executed: return BN_mod_inverse_internal(in, a, n, ctx, ct); | 0 |
420 | } | - |
421 | | - |
422 | BIGNUM * | - |
423 | BN_mod_inverse_nonct(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx) | - |
424 | { | - |
425 | return never executed: return BN_mod_inverse_internal(in, a, n, ctx, 0); BN_mod_inverse_internal(in, a, n, ctx, 0);never executed: return BN_mod_inverse_internal(in, a, n, ctx, 0); | 0 |
426 | } | - |
427 | | - |
428 | BIGNUM * | - |
429 | BN_mod_inverse_ct(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx) | - |
430 | { | - |
431 | returnexecuted 4086 times by 14 tests: return BN_mod_inverse_internal(in, a, n, ctx, 1); Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
BN_mod_inverse_internal(in, a, n, ctx, 1);executed 4086 times by 14 tests: return BN_mod_inverse_internal(in, a, n, ctx, 1); Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 4086 |
432 | } | - |
433 | | - |
434 | | - |
435 | | - |
436 | | - |
437 | static BIGNUM * | - |
438 | BN_mod_inverse_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, | - |
439 | BN_CTX *ctx) | - |
440 | { | - |
441 | BIGNUM *A, *B, *X, *Y, *M, *D, *T, *R = | - |
442 | ((void *)0) | - |
443 | ; | - |
444 | BIGNUM local_A, local_B; | - |
445 | BIGNUM *pA, *pB; | - |
446 | BIGNUM *ret = | - |
447 | ((void *)0) | - |
448 | ; | - |
449 | int sign; | - |
450 | | - |
451 | ; | - |
452 | ; | - |
453 | | - |
454 | BN_CTX_start(ctx); | - |
455 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
A = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
456 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
457 | ) | - |
458 | goto never executed: goto err; err;never executed: goto err; | 0 |
459 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
B = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
460 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
461 | ) | - |
462 | goto never executed: goto err; err;never executed: goto err; | 0 |
463 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
X = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
464 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
465 | ) | - |
466 | goto never executed: goto err; err;never executed: goto err; | 0 |
467 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
D = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
468 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
469 | ) | - |
470 | goto never executed: goto err; err;never executed: goto err; | 0 |
471 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
M = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
472 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
473 | ) | - |
474 | goto never executed: goto err; err;never executed: goto err; | 0 |
475 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
Y = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
476 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
477 | ) | - |
478 | goto never executed: goto err; err;never executed: goto err; | 0 |
479 | if ((TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
T = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
480 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
481 | ) | - |
482 | goto never executed: goto err; err;never executed: goto err; | 0 |
483 | | - |
484 | if (in == TRUE | evaluated 2 times by 2 testsEvaluated by:- dsatest
- libcrypto.so.44.0.1
| FALSE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 2-4084 |
485 | ((void *)0)TRUE | evaluated 2 times by 2 testsEvaluated by:- dsatest
- libcrypto.so.44.0.1
| FALSE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 2-4084 |
486 | ) | - |
487 | R = BN_new();executed 2 times by 2 tests: R = BN_new(); Executed by:- dsatest
- libcrypto.so.44.0.1
| 2 |
488 | else | - |
489 | R = in;executed 4084 times by 14 tests: R = in; Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 4084 |
490 | if (R == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
491 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
492 | ) | - |
493 | goto never executed: goto err; err;never executed: goto err; | 0 |
494 | | - |
495 | (BN_set_word((X),1)); | - |
496 | (BN_set_word((Y),0)); | - |
497 | if (BN_copy(B, a) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
498 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
499 | ) | - |
500 | goto never executed: goto err; err;never executed: goto err; | 0 |
501 | if (BN_copy(A, n) == TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
502 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 0-4086 |
503 | ) | - |
504 | goto never executed: goto err; err;never executed: goto err; | 0 |
505 | A->neg = 0; | - |
506 | | - |
507 | if (B->negTRUE | never evaluated | FALSE | evaluated 4086 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
|| (TRUE | evaluated 2959 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 1127 times by 10 testsEvaluated by:- dsatest
- ecdhtest
- ecdsatest
- ectest
- libcrypto.so.44.0.1
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
BN_ucmp(B, A) >= 0)TRUE | evaluated 2959 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 1127 times by 10 testsEvaluated by:- dsatest
- ecdhtest
- ecdsatest
- ectest
- libcrypto.so.44.0.1
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) { | 0-4086 |
508 | | - |
509 | | - |
510 | | - |
511 | pB = &local_B; | - |
512 | ((pB)->d=(B)->d, (pB)->top=(B)->top, (pB)->dmax=(B)->dmax, (pB)->neg=(B)->neg, (pB)->flags=(((pB)->flags & 0x01) | ((B)->flags & ~0x01) | 0x02 | (0x04))); | - |
513 | if (!BN_nnmod(B, pB, A, ctx)TRUE | evaluated 1 time by 1 test | FALSE | evaluated 2958 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) | 1-2958 |
514 | gotoexecuted 1 time by 1 test: goto err; err;executed 1 time by 1 test: goto err; | 1 |
515 | }executed 2958 times by 14 tests: end of block Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 2958 |
516 | sign = -1; | - |
517 | | - |
518 | | - |
519 | | - |
520 | | - |
521 | | - |
522 | | - |
523 | | - |
524 | while (!((B)->top == 0)TRUE | evaluated 334754 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 4085 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) { | 4085-334754 |
525 | BIGNUM *tmp; | - |
526 | pA = &local_A; | - |
527 | ((pA)->d=(A)->d, (pA)->top=(A)->top, (pA)->dmax=(A)->dmax, (pA)->neg=(A)->neg, (pA)->flags=(((pA)->flags & 0x01) | ((A)->flags & ~0x01) | 0x02 | (0x04))); | - |
528 | | - |
529 | | - |
530 | if (!BN_div_ct(D, M, pA, B, ctx)TRUE | never evaluated | FALSE | evaluated 334754 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) | 0-334754 |
531 | goto never executed: goto err; err;never executed: goto err; | 0 |
532 | | - |
533 | | - |
534 | | - |
535 | | - |
536 | | - |
537 | | - |
538 | tmp = A; | - |
539 | | - |
540 | | - |
541 | A = B; | - |
542 | B = M; | - |
543 | if (!BN_mul(tmp, D, X, ctx)TRUE | never evaluated | FALSE | evaluated 334754 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) | 0-334754 |
544 | goto never executed: goto err; err;never executed: goto err; | 0 |
545 | if (!BN_add(tmp, tmp, Y)TRUE | never evaluated | FALSE | evaluated 334754 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) | 0-334754 |
546 | goto never executed: goto err; err;never executed: goto err; | 0 |
547 | | - |
548 | M = Y; | - |
549 | Y = X; | - |
550 | X = tmp; | - |
551 | sign = -sign; | - |
552 | }executed 334754 times by 14 tests: end of block Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 334754 |
553 | if (sign < 0TRUE | evaluated 1935 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 2150 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) { | 1935-2150 |
554 | if (!BN_sub(Y, n, Y)TRUE | never evaluated | FALSE | evaluated 1935 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) | 0-1935 |
555 | goto never executed: goto err; err;never executed: goto err; | 0 |
556 | }executed 1935 times by 14 tests: end of block Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 1935 |
557 | | - |
558 | | - |
559 | if (((((((TRUE | evaluated 4085 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
A))->top == 1)TRUE | evaluated 4085 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
&& (((TRUE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 1 time by 1 test |
A))->d[0] == (unsigned long)(1))TRUE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 1 time by 1 test |
) || (((TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
1) == 0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
&& (((TRUE | never evaluated | FALSE | never evaluated |
A))->top == 0)TRUE | never evaluated | FALSE | never evaluated |
)) && !(A)->negTRUE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
)) { | 0-4085 |
560 | | - |
561 | if (!Y->negTRUE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | never evaluated |
&& BN_ucmp(Y, n) < 0TRUE | evaluated 4072 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| FALSE | evaluated 12 times by 3 tests |
) { | 0-4084 |
562 | if (!BN_copy(R, Y)TRUE | never evaluated | FALSE | evaluated 4072 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
) | 0-4072 |
563 | goto never executed: goto err; err;never executed: goto err; | 0 |
564 | }executed 4072 times by 14 tests: end of block Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
else { | 4072 |
565 | if (!BN_nnmod(R, Y, n, ctx)TRUE | never evaluated | FALSE | evaluated 12 times by 3 tests |
) | 0-12 |
566 | goto never executed: goto err; err;never executed: goto err; | 0 |
567 | }executed 12 times by 3 tests: end of block | 12 |
568 | } else { | - |
569 | ERR_put_error(3,(0xfff),(108),__FILE__,712); | - |
570 | gotoexecuted 1 time by 1 test: goto err; err;executed 1 time by 1 test: goto err; | 1 |
571 | } | - |
572 | ret = R; | - |
573 | | - |
574 | err:code before this statement executed 4084 times by 14 tests: err: Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 4084 |
575 | if ((TRUE | evaluated 2 times by 1 test | FALSE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
ret == TRUE | evaluated 2 times by 1 test | FALSE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 2-4084 |
576 | ((void *)0)TRUE | evaluated 2 times by 1 test | FALSE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
| 2-4084 |
577 | )TRUE | evaluated 2 times by 1 test | FALSE | evaluated 4084 times by 14 testsEvaluated by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
|
&& (TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
in == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-4084 |
578 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
579 | )TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
580 | BN_free(R); never executed: BN_free(R); | 0 |
581 | BN_CTX_end(ctx); | - |
582 | ; | - |
583 | returnexecuted 4086 times by 14 tests: return (ret); Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
(ret);executed 4086 times by 14 tests: return (ret); Executed by:- bntest
- dhtest
- dsatest
- ecdhtest
- ecdsatest
- ectest
- exptest
- libcrypto.so.44.0.1
- mont
- pkcs7test
- rsa_test
- servertest
- ssltest
- tlstest
| 4086 |
584 | } | - |
585 | | - |
586 | | - |
587 | | - |
588 | | - |
589 | | - |
590 | static BIGNUM * | - |
591 | BN_gcd_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, | - |
592 | BN_CTX *ctx) | - |
593 | { | - |
594 | BIGNUM *A, *B, *X, *Y, *M, *D, *T, *R = | - |
595 | ((void *)0) | - |
596 | ; | - |
597 | BIGNUM local_A, local_B; | - |
598 | BIGNUM *pA, *pB; | - |
599 | BIGNUM *ret = | - |
600 | ((void *)0) | - |
601 | ; | - |
602 | int sign; | - |
603 | | - |
604 | if (in == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
605 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
606 | ) | - |
607 | goto never executed: goto err; err;never executed: goto err; | 0 |
608 | R = in; | - |
609 | | - |
610 | ; | - |
611 | ; | - |
612 | | - |
613 | BN_CTX_start(ctx); | - |
614 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
A = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
615 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
616 | ) | - |
617 | goto never executed: goto err; err;never executed: goto err; | 0 |
618 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
B = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
619 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
620 | ) | - |
621 | goto never executed: goto err; err;never executed: goto err; | 0 |
622 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
X = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
623 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
624 | ) | - |
625 | goto never executed: goto err; err;never executed: goto err; | 0 |
626 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
D = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
627 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
628 | ) | - |
629 | goto never executed: goto err; err;never executed: goto err; | 0 |
630 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
M = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
631 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
632 | ) | - |
633 | goto never executed: goto err; err;never executed: goto err; | 0 |
634 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
Y = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
635 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
636 | ) | - |
637 | goto never executed: goto err; err;never executed: goto err; | 0 |
638 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
T = BN_CTX_get(ctx)) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
639 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
640 | ) | - |
641 | goto never executed: goto err; err;never executed: goto err; | 0 |
642 | | - |
643 | (BN_set_word((X),1)); | - |
644 | (BN_set_word((Y),0)); | - |
645 | if (BN_copy(B, a) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
646 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
647 | ) | - |
648 | goto never executed: goto err; err;never executed: goto err; | 0 |
649 | if (BN_copy(A, n) == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
650 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
651 | ) | - |
652 | goto never executed: goto err; err;never executed: goto err; | 0 |
653 | A->neg = 0; | - |
654 | | - |
655 | if (B->negTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
|| (TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
BN_ucmp(B, A) >= 0)TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
) { | 0-2 |
656 | | - |
657 | | - |
658 | | - |
659 | pB = &local_B; | - |
660 | ((pB)->d=(B)->d, (pB)->top=(B)->top, (pB)->dmax=(B)->dmax, (pB)->neg=(B)->neg, (pB)->flags=(((pB)->flags & 0x01) | ((B)->flags & ~0x01) | 0x02 | (0x04))); | - |
661 | if (!BN_nnmod(B, pB, A, ctx)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
662 | goto never executed: goto err; err;never executed: goto err; | 0 |
663 | }executed 2 times by 1 test: end of block | 2 |
664 | sign = -1; | - |
665 | | - |
666 | | - |
667 | | - |
668 | | - |
669 | | - |
670 | | - |
671 | | - |
672 | while (!((B)->top == 0)TRUE | evaluated 19 times by 1 test | FALSE | evaluated 2 times by 1 test |
) { | 2-19 |
673 | BIGNUM *tmp; | - |
674 | pA = &local_A; | - |
675 | ((pA)->d=(A)->d, (pA)->top=(A)->top, (pA)->dmax=(A)->dmax, (pA)->neg=(A)->neg, (pA)->flags=(((pA)->flags & 0x01) | ((A)->flags & ~0x01) | 0x02 | (0x04))); | - |
676 | | - |
677 | | - |
678 | if (!BN_div_ct(D, M, pA, B, ctx)TRUE | never evaluated | FALSE | evaluated 19 times by 1 test |
) | 0-19 |
679 | goto never executed: goto err; err;never executed: goto err; | 0 |
680 | | - |
681 | | - |
682 | | - |
683 | | - |
684 | | - |
685 | | - |
686 | tmp = A; | - |
687 | | - |
688 | | - |
689 | A = B; | - |
690 | B = M; | - |
691 | if (!BN_mul(tmp, D, X, ctx)TRUE | never evaluated | FALSE | evaluated 19 times by 1 test |
) | 0-19 |
692 | goto never executed: goto err; err;never executed: goto err; | 0 |
693 | if (!BN_add(tmp, tmp, Y)TRUE | never evaluated | FALSE | evaluated 19 times by 1 test |
) | 0-19 |
694 | goto never executed: goto err; err;never executed: goto err; | 0 |
695 | | - |
696 | M = Y; | - |
697 | Y = X; | - |
698 | X = tmp; | - |
699 | sign = -sign; | - |
700 | }executed 19 times by 1 test: end of block | 19 |
701 | | - |
702 | | - |
703 | | - |
704 | | - |
705 | | - |
706 | | - |
707 | if (!BN_copy(R, A)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
708 | goto never executed: goto err; err;never executed: goto err; | 0 |
709 | ret = R; | - |
710 | err:code before this statement executed 2 times by 1 test: err: | 2 |
711 | if ((TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
ret == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
712 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
713 | )TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
&& (TRUE | never evaluated | FALSE | never evaluated |
in == TRUE | never evaluated | FALSE | never evaluated |
| 0-2 |
714 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
715 | )TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
716 | BN_free(R); never executed: BN_free(R); | 0 |
717 | BN_CTX_end(ctx); | - |
718 | ; | - |
719 | returnexecuted 2 times by 1 test: return (ret); (ret);executed 2 times by 1 test: return (ret); | 2 |
720 | } | - |
| | |