Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/dsa/dsa_gen.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
7 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | DSA_generate_parameters_ex(DSA *ret, int bits, const unsigned char *seed_in, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 | int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
10 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
11 | if (ret->meth->dsa_paramgen
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
12 | return never executed: ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len,return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, counter_ret, h_ret, cb); never executed: return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, counter_ret, h_ret, cb); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
13 | counter_ret, h_ret, cb); never executed: return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, counter_ret, h_ret, cb); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
14 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
15 | const EVP_MD *evpmd; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 | size_t qbits; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
17 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
18 | if (bits >= 2048
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
19 | qbits = 256; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
20 | evpmd = EVP_sha256(); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 | } never executed: else {end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
22 | qbits = 160; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
23 | evpmd = EVP_sha1(); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
24 | } executed 2 times by 2 tests: end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
25 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
26 | return executed 2 times by 2 tests: dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in,return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb); Executed by:
executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb); Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
27 | seed_len, executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb); Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
28 | ((void *)0) executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb); Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
29 | , counter_ret, h_ret, cb); executed 2 times by 2 tests: return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, ((void *)0) , counter_ret, h_ret, cb); Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
30 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
31 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
32 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
33 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
34 | dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, const EVP_MD *evpmd, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
35 | const unsigned char *seed_in, size_t seed_len, unsigned char *seed_out, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
36 | int *counter_ret, unsigned long *h_ret, BN_GENCB *cb) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
37 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
38 | int ok = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
39 | unsigned char seed[32]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
40 | unsigned char md[32]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
41 | unsigned char buf[32], buf2[32]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
42 | BIGNUM *r0, *W, *X, *c, *test; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
43 | BIGNUM *g = | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
44 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
45 | , *q = | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
46 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
47 | , *p = | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
48 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
49 | ; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
50 | BN_MONT_CTX *mont = | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
51 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
52 | ; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
53 | int i, k, n = 0, m = 0, qsize = qbits >> 3; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
54 | int counter = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
55 | int r = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
56 | BN_CTX *ctx = | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
57 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
58 | ; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
59 | unsigned int h = 2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
60 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
61 | if (qsize != 20
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
62 | qsize != 32
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
63 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
64 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
65 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
66 | if (evpmd ==
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
67 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
68 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
69 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
70 | evpmd = EVP_sha1(); never executed: evpmd = EVP_sha1(); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
71 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
72 | if (bits < 512
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
73 | bits = 512; never executed: bits = 512; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
74 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
75 | bits = (bits + 63) / 64 * 64; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
76 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
77 | if (seed_len < (size_t)qsize
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
78 | seed_in = | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
79 | ((void *)0) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
80 | ; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
81 | seed_len = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
82 | } executed 1 time by 1 test: end of block Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
83 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
84 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
85 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
86 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
87 | if (seed_len > (size_t)qsize
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
88 | seed_len = qsize; never executed: seed_len = qsize; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
89 | if (seed_in !=
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
90 | ((void *)0)
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
91 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
92 | memcpy(seed, seed_in, seed_len); executed 1 time by 1 test: memcpy(seed, seed_in, seed_len); Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
93 | else if (seed_len != 0
| 0-1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
94 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
95 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
96 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
97 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
98 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
99 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
100 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
101 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
102 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
103 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
104 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
105 | BN_CTX_start(ctx); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
106 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
107 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
108 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
109 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
110 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
111 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
112 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
113 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
114 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
115 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
116 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
117 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
118 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
119 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
120 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
121 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
122 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
123 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
124 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
125 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
126 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
127 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
128 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
129 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
130 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
131 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
132 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
133 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
134 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
135 | if ((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
136 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
137 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
138 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
139 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
140 | if (!BN_lshift(test, BN_value_one(), bits - 1)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
141 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
142 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
143 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
144 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
145 | int seed_is_random; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
146 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
147 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
148 | if (!BN_GENCB_call(cb, 0, m++)
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
149 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
150 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
151 | if (seed_len == 0
| 1-294 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
152 | arc4random_buf(seed, qsize); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
153 | seed_is_random = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
154 | } executed 294 times by 1 test: else {end of block Executed by:
| 294 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
155 | seed_is_random = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
156 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
157 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
158 | seed_len = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
159 | } executed 1 time by 1 test: end of block Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
160 | memcpy(buf, seed, qsize); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
161 | memcpy(buf2, seed, qsize); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
162 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
163 | for (i = qsize - 1; i >= 0
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
164 | buf[i]++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
165 | if (buf[i] != 0
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
166 | break; executed 295 times by 2 tests: break; Executed by:
| 295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
167 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
168 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
169 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
170 | if (!EVP_Digest(seed, qsize, md,
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
171 | ((void *)0)
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
172 | , evpmd,
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
173 | ((void *)0)
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
174 | )
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
175 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
176 | if (!EVP_Digest(buf, qsize, buf2,
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
177 | ((void *)0)
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
178 | , evpmd,
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
179 | ((void *)0)
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
180 | )
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
181 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
182 | for (i = 0; i < qsize
| 295-5900 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
183 | md[i] ^= buf2[i]; executed 5900 times by 2 tests: md[i] ^= buf2[i]; Executed by:
| 5900 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
184 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
185 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
186 | md[0] |= 0x80; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
187 | md[qsize - 1] |= 0x01; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
188 | if (!BN_bin2bn(md, qsize, q)
| 0-295 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
189 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
190 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
191 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
192 | r = BN_is_prime_fasttest_ex(q, 50, ctx, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
193 | seed_is_random, cb); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
194 | if (r > 0
| 2-293 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
195 | break; executed 2 times by 2 tests: break; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
196 | if (r != 0
| 0-293 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
197 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
198 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
199 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
200 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
201 | } executed 293 times by 1 test: end of block Executed by:
| 293 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
202 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
203 | if (!BN_GENCB_call(cb, 2, 0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
204 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
205 | if (!BN_GENCB_call(cb, 3, 0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
206 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
207 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
208 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
209 | counter = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
210 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
211 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
212 | n = (bits - 1) / 160; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
213 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
214 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
215 | if (counter != 0
| 0-152 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
216 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
217 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
218 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
219 | (BN_set_word((W),0)); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
220 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
221 | for (k = 0; k <= n
| 154-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
222 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
223 | for (i = qsize - 1; i >= 0
| 0-618 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
224 | buf[i]++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
225 | if (buf[i] != 0
| 2-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
226 | break; executed 616 times by 2 tests: break; Executed by:
| 616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
227 | } executed 2 times by 1 test: end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
228 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
229 | if (!EVP_Digest(buf, qsize, md ,
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
230 | ((void *)0)
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
231 | , evpmd,
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
232 |
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
233 | ((void *)0)
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
234 | )
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
235 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
236 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
237 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
238 | if (!BN_bin2bn(md, qsize, r0)
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
239 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
240 | if (!BN_lshift(r0, r0, (qsize << 3) * k)
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
241 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
242 | if (!BN_add(W, W, r0)
| 0-616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
243 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
244 | } executed 616 times by 2 tests: end of block Executed by:
| 616 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
245 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
246 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
247 | if (!BN_mask_bits(W, bits - 1)
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
248 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
249 | if (!BN_copy(X, W)
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
250 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
251 | if (!BN_add(X, X, test)
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
252 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
253 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
254 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
255 | if (!BN_lshift1(r0, q)
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
256 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
257 | if (!BN_div_ct(
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
258 | ((void *)0)
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
259 | ,(c),(X),(r0),(ctx))
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
260 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
261 | if (!BN_sub(r0, c, BN_value_one())
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
262 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
263 | if (!BN_sub(p, X, r0)
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
264 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
265 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
266 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
267 | if (BN_cmp(p, test) >= 0
| 0-154 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
268 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
269 | r = BN_is_prime_fasttest_ex(p, 50, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
270 | ctx, 1, cb); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
271 | if (r > 0
| 2-152 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
272 | goto executed 2 times by 2 tests: end;goto end; Executed by:
executed 2 times by 2 tests: goto end; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
273 | if (r != 0
| 0-152 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
274 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
275 | } executed 152 times by 2 tests: end of block Executed by:
| 152 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
276 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
277 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
278 | counter++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
279 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
280 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
281 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
282 | if (counter >= 4096
| 0-152 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
283 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
284 | } executed 152 times by 2 tests: end of block Executed by:
| 152 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
285 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
286 | end: code before this statement never executed: end: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
287 | if (!BN_GENCB_call(cb, 2, 1)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
288 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
289 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
290 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
291 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
292 | if (!BN_sub(test, p, BN_value_one())
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
293 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
294 | if (!BN_div_ct(r0,
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
295 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
296 | , test, q, ctx)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
297 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
298 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
299 | if (!BN_set_word(test, h)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
300 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
301 | if (!BN_MONT_CTX_set(mont, p, ctx)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
302 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
303 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
304 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
305 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
306 | if (!BN_mod_exp_mont_ct(g, test, r0, p, ctx, mont)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
307 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
308 | if (!((((((
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
309 | break; executed 2 times by 2 tests: break; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
310 | if (!BN_add(test, test, BN_value_one())
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
311 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
312 | h++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
313 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
314 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
315 | if (!BN_GENCB_call(cb, 3, 1)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
316 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
317 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
318 | ok = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
319 | err: code before this statement executed 2 times by 2 tests: err: Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
320 | if (ok
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
321 | BN_free(ret->p); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
322 | BN_free(ret->q); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
323 | BN_free(ret->g); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
324 | ret->p = BN_dup(p); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
325 | ret->q = BN_dup(q); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
326 | ret->g = BN_dup(g); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
327 | if (ret->p ==
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
328 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
329 | || ret->q ==
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
330 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
331 | || ret->g ==
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
332 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
333 | ) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
334 | ok = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
335 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
336 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
337 | if (counter_ret !=
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
338 | ((void *)0)
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
339 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
340 | * executed 1 time by 1 test: counter_ret = counter;*counter_ret = counter; Executed by:
executed 1 time by 1 test: *counter_ret = counter; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
341 | if (h_ret !=
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
342 | ((void *)0)
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
343 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
344 | * executed 1 time by 1 test: h_ret = h;*h_ret = h; Executed by:
executed 1 time by 1 test: *h_ret = h; Executed by:
| 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
345 | if (seed_out !=
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
346 | ((void *)0)
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
347 | ) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
348 | memcpy(seed_out, seed, qsize); never executed: memcpy(seed_out, seed, qsize); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
349 | } executed 2 times by 2 tests: end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
350 | if (ctx
| 0-2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
351 | BN_CTX_end(ctx); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
352 | BN_CTX_free(ctx); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
353 | } executed 2 times by 2 tests: end of block Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
354 | BN_MONT_CTX_free(mont); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
355 | return executed 2 times by 2 tests: ok;return ok; Executed by:
executed 2 times by 2 tests: return ok; Executed by:
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
356 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Switch to Source code | Preprocessed file |