OpenCoverage

str2key.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/des/str2key.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2void DES_string_to_key(const char *str, DES_cblock *key)-
3{-
4 DES_key_schedule ks;-
5 int i, length;-
6-
7 memset(key, 0, 8);-
8 length = strlen(str);-
9 for (i = 0; i < length
i < lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
10 register unsigned char j = str[i];-
11-
12 if ((
(i % 16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
i % 16) < 8
(i % 16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
13 (*
never executed: (*key)[i % 8] ^= (j << 1);
key)[i % 8] ^= (j << 1);
never executed: (*key)[i % 8] ^= (j << 1);
0
14 else {-
15-
16 j = ((j << 4) & 0xf0) | ((j >> 4) & 0x0f);-
17 j = ((j << 2) & 0xcc) | ((j >> 2) & 0x33);-
18 j = ((j << 1) & 0xaa) | ((j >> 1) & 0x55);-
19 (*key)[7 - (i % 8)] ^= j;-
20 }
never executed: end of block
0
21 }-
22 DES_set_odd_parity(key);-
23 DES_set_key_unchecked(key, &ks);-
24 DES_cbc_cksum((const unsigned char *)str, key, length, &ks, key);-
25 OPENSSL_cleanse(&ks, sizeof(ks));-
26 DES_set_odd_parity(key);-
27}
never executed: end of block
0
28-
29void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2)-
30{-
31 DES_key_schedule ks;-
32 int i, length;-
33-
34 memset(key1, 0, 8);-
35 memset(key2, 0, 8);-
36 length = strlen(str);-
37 for (i = 0; i < length
i < lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
38 register unsigned char j = str[i];-
39-
40 if ((
(i % 32) < 16Description
TRUEnever evaluated
FALSEnever evaluated
i % 32) < 16
(i % 32) < 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
41 if ((
(i % 16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
i % 16) < 8
(i % 16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
42 (*
never executed: (*key1)[i % 8] ^= (j << 1);
key1)[i % 8] ^= (j << 1);
never executed: (*key1)[i % 8] ^= (j << 1);
0
43 else-
44 (*
never executed: (*key2)[i % 8] ^= (j << 1);
key2)[i % 8] ^= (j << 1);
never executed: (*key2)[i % 8] ^= (j << 1);
0
45 } else {-
46 j = ((j << 4) & 0xf0) | ((j >> 4) & 0x0f);-
47 j = ((j << 2) & 0xcc) | ((j >> 2) & 0x33);-
48 j = ((j << 1) & 0xaa) | ((j >> 1) & 0x55);-
49 if ((
(i % 16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
i % 16) < 8
(i % 16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
50 (*
never executed: (*key1)[7 - (i % 8)] ^= j;
key1)[7 - (i % 8)] ^= j;
never executed: (*key1)[7 - (i % 8)] ^= j;
0
51 else-
52 (*
never executed: (*key2)[7 - (i % 8)] ^= j;
key2)[7 - (i % 8)] ^= j;
never executed: (*key2)[7 - (i % 8)] ^= j;
0
53 }-
54 }-
55 if (length <= 8
length <= 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
56 memcpy(key2, key1, 8);
never executed: memcpy(key2, key1, 8);
0
57 DES_set_odd_parity(key1);-
58 DES_set_odd_parity(key2);-
59 DES_set_key_unchecked(key1, &ks);-
60 DES_cbc_cksum((const unsigned char *)str, key1, length, &ks, key1);-
61 DES_set_key_unchecked(key2, &ks);-
62 DES_cbc_cksum((const unsigned char *)str, key2, length, &ks, key2);-
63 OPENSSL_cleanse(&ks, sizeof(ks));-
64 DES_set_odd_parity(key1);-
65 DES_set_odd_parity(key2);-
66}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2