OpenCoverage

str2key.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/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 unsigned char j;-
7-
8 memset(key,0,8);-
9 length=strlen(str);-
10-
11-
12-
13-
14 for (i=0; i<length
i<lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
15 {-
16 j=str[i];-
17 if ((
(i%16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
i%16) < 8
(i%16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
18 (*
never executed: (*key)[i%8]^=(j<<1);
key)[i%8]^=(j<<1);
never executed: (*key)[i%8]^=(j<<1);
0
19 else-
20 {-
21-
22 j=((j<<4)&0xf0)|((j>>4)&0x0f);-
23 j=((j<<2)&0xcc)|((j>>2)&0x33);-
24 j=((j<<1)&0xaa)|((j>>1)&0x55);-
25 (*key)[7-(i%8)]^=j;-
26 }
never executed: end of block
0
27 }-
28-
29 DES_set_odd_parity(key);-
30-
31-
32-
33-
34-
35 DES_set_key_unchecked(key,&ks);-
36-
37 DES_cbc_cksum((const unsigned char*)str,key,length,&ks,key);-
38 explicit_bzero(&ks,sizeof(ks));-
39 DES_set_odd_parity(key);-
40 }
never executed: end of block
0
41-
42void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2)-
43 {-
44 DES_key_schedule ks;-
45 int i,length;-
46 unsigned char j;-
47-
48 memset(key1,0,8);-
49 memset(key2,0,8);-
50 length=strlen(str);-
51 for (i=0; i<length
i<lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
52 {-
53 j=str[i];-
54 if ((
(i%32) < 16Description
TRUEnever evaluated
FALSEnever evaluated
i%32) < 16
(i%32) < 16Description
TRUEnever evaluated
FALSEnever evaluated
)
0
55 {-
56 if ((
(i%16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
i%16) < 8
(i%16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
57 (*
never executed: (*key1)[i%8]^=(j<<1);
key1)[i%8]^=(j<<1);
never executed: (*key1)[i%8]^=(j<<1);
0
58 else-
59 (*
never executed: (*key2)[i%8]^=(j<<1);
key2)[i%8]^=(j<<1);
never executed: (*key2)[i%8]^=(j<<1);
0
60 }-
61 else-
62 {-
63 j=((j<<4)&0xf0)|((j>>4)&0x0f);-
64 j=((j<<2)&0xcc)|((j>>2)&0x33);-
65 j=((j<<1)&0xaa)|((j>>1)&0x55);-
66 if ((
(i%16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
i%16) < 8
(i%16) < 8Description
TRUEnever evaluated
FALSEnever evaluated
)
0
67 (*
never executed: (*key1)[7-(i%8)]^=j;
key1)[7-(i%8)]^=j;
never executed: (*key1)[7-(i%8)]^=j;
0
68 else-
69 (*
never executed: (*key2)[7-(i%8)]^=j;
key2)[7-(i%8)]^=j;
never executed: (*key2)[7-(i%8)]^=j;
0
70 }-
71 }-
72 if (length <= 8
length <= 8Description
TRUEnever evaluated
FALSEnever evaluated
) memcpy(key2,key1,8);
never executed: memcpy(key2,key1,8);
0
73-
74 DES_set_odd_parity(key1);-
75 DES_set_odd_parity(key2);-
76-
77-
78-
79-
80-
81 DES_set_key_unchecked(key1,&ks);-
82-
83 DES_cbc_cksum((const unsigned char*)str,key1,length,&ks,key1);-
84-
85-
86-
87-
88-
89 DES_set_key_unchecked(key2,&ks);-
90-
91 DES_cbc_cksum((const unsigned char*)str,key2,length,&ks,key2);-
92 explicit_bzero(&ks,sizeof(ks));-
93 DES_set_odd_parity(key1);-
94 DES_set_odd_parity(key2);-
95 }
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2