Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/cast/c_skey.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
1 | void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data) | - | ||||||
2 | { | - | ||||||
3 | unsigned int x[16]; | - | ||||||
4 | unsigned int z[16]; | - | ||||||
5 | unsigned int k[32]; | - | ||||||
6 | unsigned int X[4], Z[4]; | - | ||||||
7 | unsigned int l, *K; | - | ||||||
8 | int i; | - | ||||||
9 | - | |||||||
10 | for (i = 0; i < 16
| 2000039-32000624 | ||||||
11 | x[i] = 0; executed 32000624 times by 1 test: x[i] = 0; Executed by:
| 32000624 | ||||||
12 | if (len > 16
| 0-2000039 | ||||||
13 | len = 16; never executed: len = 16; | 0 | ||||||
14 | for (i = 0; i < len
| 2000039-32000607 | ||||||
15 | x[i] = data[i]; executed 32000607 times by 1 test: x[i] = data[i]; Executed by:
| 32000607 | ||||||
16 | if (len <= 10
| 2-2000037 | ||||||
17 | key->short_key = 1; executed 2 times by 1 test: key->short_key = 1; Executed by:
| 2 | ||||||
18 | else | - | ||||||
19 | key->short_key = 0; executed 2000037 times by 1 test: key->short_key = 0; Executed by:
| 2000037 | ||||||
20 | - | |||||||
21 | K = &k[0]; | - | ||||||
22 | X[0] = ((x[0] << 24) | (x[1] << 16) | (x[2] << 8) | x[3]) & 0xffffffffL; | - | ||||||
23 | X[1] = ((x[4] << 24) | (x[5] << 16) | (x[6] << 8) | x[7]) & 0xffffffffL; | - | ||||||
24 | X[2] = ((x[8] << 24) | (x[9] << 16) | (x[10] << 8) | x[11]) & 0xffffffffL; | - | ||||||
25 | X[3] = | - | ||||||
26 | ((x[12] << 24) | (x[13] << 16) | (x[14] << 8) | x[15]) & 0xffffffffL; | - | ||||||
27 | - | |||||||
28 | for (;;) { | - | ||||||
29 | l = X[0] ^ CAST_S_table4[x[13]] ^ CAST_S_table5[x[15]] ^ CAST_S_table6[x[12]] ^ CAST_S_table7[x[14]] ^ CAST_S_table6[x[8]]; | - | ||||||
30 | Z[0/4]=l; z[0 +3]=(l )&0xff; z[0 +2]=(l>> 8)&0xff; z[0 +1]=(l>>16)&0xff; z[0 +0]=(l>>24)&0xff;; | - | ||||||
31 | l = X[2] ^ CAST_S_table4[z[0]] ^ CAST_S_table5[z[2]] ^ CAST_S_table6[z[1]] ^ CAST_S_table7[z[3]] ^ CAST_S_table7[x[10]]; | - | ||||||
32 | Z[4/4]=l; z[4 +3]=(l )&0xff; z[4 +2]=(l>> 8)&0xff; z[4 +1]=(l>>16)&0xff; z[4 +0]=(l>>24)&0xff;; | - | ||||||
33 | l = X[3] ^ CAST_S_table4[z[7]] ^ CAST_S_table5[z[6]] ^ CAST_S_table6[z[5]] ^ CAST_S_table7[z[4]] ^ CAST_S_table4[x[9]]; | - | ||||||
34 | Z[8/4]=l; z[8 +3]=(l )&0xff; z[8 +2]=(l>> 8)&0xff; z[8 +1]=(l>>16)&0xff; z[8 +0]=(l>>24)&0xff;; | - | ||||||
35 | l = X[1] ^ CAST_S_table4[z[10]] ^ CAST_S_table5[z[9]] ^ CAST_S_table6[z[11]] ^ CAST_S_table7[z[8]] ^ CAST_S_table5[x[11]]; | - | ||||||
36 | Z[12/4]=l; z[12 +3]=(l )&0xff; z[12 +2]=(l>> 8)&0xff; z[12 +1]=(l>>16)&0xff; z[12 +0]=(l>>24)&0xff;; | - | ||||||
37 | - | |||||||
38 | K[0] = CAST_S_table4[z[8]] ^ CAST_S_table5[z[9]] ^ CAST_S_table6[z[7]] ^ CAST_S_table7[z[6]] ^ CAST_S_table4[z[2]]; | - | ||||||
39 | K[1] = CAST_S_table4[z[10]] ^ CAST_S_table5[z[11]] ^ CAST_S_table6[z[5]] ^ CAST_S_table7[z[4]] ^ CAST_S_table5[z[6]]; | - | ||||||
40 | K[2] = CAST_S_table4[z[12]] ^ CAST_S_table5[z[13]] ^ CAST_S_table6[z[3]] ^ CAST_S_table7[z[2]] ^ CAST_S_table6[z[9]]; | - | ||||||
41 | K[3] = CAST_S_table4[z[14]] ^ CAST_S_table5[z[15]] ^ CAST_S_table6[z[1]] ^ CAST_S_table7[z[0]] ^ CAST_S_table7[z[12]]; | - | ||||||
42 | - | |||||||
43 | l = Z[2] ^ CAST_S_table4[z[5]] ^ CAST_S_table5[z[7]] ^ CAST_S_table6[z[4]] ^ CAST_S_table7[z[6]] ^ CAST_S_table6[z[0]]; | - | ||||||
44 | X[0/4]=l; x[0 +3]=(l )&0xff; x[0 +2]=(l>> 8)&0xff; x[0 +1]=(l>>16)&0xff; x[0 +0]=(l>>24)&0xff;; | - | ||||||
45 | l = Z[0] ^ CAST_S_table4[x[0]] ^ CAST_S_table5[x[2]] ^ CAST_S_table6[x[1]] ^ CAST_S_table7[x[3]] ^ CAST_S_table7[z[2]]; | - | ||||||
46 | X[4/4]=l; x[4 +3]=(l )&0xff; x[4 +2]=(l>> 8)&0xff; x[4 +1]=(l>>16)&0xff; x[4 +0]=(l>>24)&0xff;; | - | ||||||
47 | l = Z[1] ^ CAST_S_table4[x[7]] ^ CAST_S_table5[x[6]] ^ CAST_S_table6[x[5]] ^ CAST_S_table7[x[4]] ^ CAST_S_table4[z[1]]; | - | ||||||
48 | X[8/4]=l; x[8 +3]=(l )&0xff; x[8 +2]=(l>> 8)&0xff; x[8 +1]=(l>>16)&0xff; x[8 +0]=(l>>24)&0xff;; | - | ||||||
49 | l = Z[3] ^ CAST_S_table4[x[10]] ^ CAST_S_table5[x[9]] ^ CAST_S_table6[x[11]] ^ CAST_S_table7[x[8]] ^ CAST_S_table5[z[3]]; | - | ||||||
50 | X[12/4]=l; x[12 +3]=(l )&0xff; x[12 +2]=(l>> 8)&0xff; x[12 +1]=(l>>16)&0xff; x[12 +0]=(l>>24)&0xff;; | - | ||||||
51 | - | |||||||
52 | K[4] = CAST_S_table4[x[3]] ^ CAST_S_table5[x[2]] ^ CAST_S_table6[x[12]] ^ CAST_S_table7[x[13]] ^ CAST_S_table4[x[8]]; | - | ||||||
53 | K[5] = CAST_S_table4[x[1]] ^ CAST_S_table5[x[0]] ^ CAST_S_table6[x[14]] ^ CAST_S_table7[x[15]] ^ CAST_S_table5[x[13]]; | - | ||||||
54 | K[6] = CAST_S_table4[x[7]] ^ CAST_S_table5[x[6]] ^ CAST_S_table6[x[8]] ^ CAST_S_table7[x[9]] ^ CAST_S_table6[x[3]]; | - | ||||||
55 | K[7] = CAST_S_table4[x[5]] ^ CAST_S_table5[x[4]] ^ CAST_S_table6[x[10]] ^ CAST_S_table7[x[11]] ^ CAST_S_table7[x[7]]; | - | ||||||
56 | - | |||||||
57 | l = X[0] ^ CAST_S_table4[x[13]] ^ CAST_S_table5[x[15]] ^ CAST_S_table6[x[12]] ^ CAST_S_table7[x[14]] ^ CAST_S_table6[x[8]]; | - | ||||||
58 | Z[0/4]=l; z[0 +3]=(l )&0xff; z[0 +2]=(l>> 8)&0xff; z[0 +1]=(l>>16)&0xff; z[0 +0]=(l>>24)&0xff;; | - | ||||||
59 | l = X[2] ^ CAST_S_table4[z[0]] ^ CAST_S_table5[z[2]] ^ CAST_S_table6[z[1]] ^ CAST_S_table7[z[3]] ^ CAST_S_table7[x[10]]; | - | ||||||
60 | Z[4/4]=l; z[4 +3]=(l )&0xff; z[4 +2]=(l>> 8)&0xff; z[4 +1]=(l>>16)&0xff; z[4 +0]=(l>>24)&0xff;; | - | ||||||
61 | l = X[3] ^ CAST_S_table4[z[7]] ^ CAST_S_table5[z[6]] ^ CAST_S_table6[z[5]] ^ CAST_S_table7[z[4]] ^ CAST_S_table4[x[9]]; | - | ||||||
62 | Z[8/4]=l; z[8 +3]=(l )&0xff; z[8 +2]=(l>> 8)&0xff; z[8 +1]=(l>>16)&0xff; z[8 +0]=(l>>24)&0xff;; | - | ||||||
63 | l = X[1] ^ CAST_S_table4[z[10]] ^ CAST_S_table5[z[9]] ^ CAST_S_table6[z[11]] ^ CAST_S_table7[z[8]] ^ CAST_S_table5[x[11]]; | - | ||||||
64 | Z[12/4]=l; z[12 +3]=(l )&0xff; z[12 +2]=(l>> 8)&0xff; z[12 +1]=(l>>16)&0xff; z[12 +0]=(l>>24)&0xff;; | - | ||||||
65 | - | |||||||
66 | K[8] = CAST_S_table4[z[3]] ^ CAST_S_table5[z[2]] ^ CAST_S_table6[z[12]] ^ CAST_S_table7[z[13]] ^ CAST_S_table4[z[9]]; | - | ||||||
67 | K[9] = CAST_S_table4[z[1]] ^ CAST_S_table5[z[0]] ^ CAST_S_table6[z[14]] ^ CAST_S_table7[z[15]] ^ CAST_S_table5[z[12]]; | - | ||||||
68 | K[10] = CAST_S_table4[z[7]] ^ CAST_S_table5[z[6]] ^ CAST_S_table6[z[8]] ^ CAST_S_table7[z[9]] ^ CAST_S_table6[z[2]]; | - | ||||||
69 | K[11] = CAST_S_table4[z[5]] ^ CAST_S_table5[z[4]] ^ CAST_S_table6[z[10]] ^ CAST_S_table7[z[11]] ^ CAST_S_table7[z[6]]; | - | ||||||
70 | - | |||||||
71 | l = Z[2] ^ CAST_S_table4[z[5]] ^ CAST_S_table5[z[7]] ^ CAST_S_table6[z[4]] ^ CAST_S_table7[z[6]] ^ CAST_S_table6[z[0]]; | - | ||||||
72 | X[0/4]=l; x[0 +3]=(l )&0xff; x[0 +2]=(l>> 8)&0xff; x[0 +1]=(l>>16)&0xff; x[0 +0]=(l>>24)&0xff;; | - | ||||||
73 | l = Z[0] ^ CAST_S_table4[x[0]] ^ CAST_S_table5[x[2]] ^ CAST_S_table6[x[1]] ^ CAST_S_table7[x[3]] ^ CAST_S_table7[z[2]]; | - | ||||||
74 | X[4/4]=l; x[4 +3]=(l )&0xff; x[4 +2]=(l>> 8)&0xff; x[4 +1]=(l>>16)&0xff; x[4 +0]=(l>>24)&0xff;; | - | ||||||
75 | l = Z[1] ^ CAST_S_table4[x[7]] ^ CAST_S_table5[x[6]] ^ CAST_S_table6[x[5]] ^ CAST_S_table7[x[4]] ^ CAST_S_table4[z[1]]; | - | ||||||
76 | X[8/4]=l; x[8 +3]=(l )&0xff; x[8 +2]=(l>> 8)&0xff; x[8 +1]=(l>>16)&0xff; x[8 +0]=(l>>24)&0xff;; | - | ||||||
77 | l = Z[3] ^ CAST_S_table4[x[10]] ^ CAST_S_table5[x[9]] ^ CAST_S_table6[x[11]] ^ CAST_S_table7[x[8]] ^ CAST_S_table5[z[3]]; | - | ||||||
78 | X[12/4]=l; x[12 +3]=(l )&0xff; x[12 +2]=(l>> 8)&0xff; x[12 +1]=(l>>16)&0xff; x[12 +0]=(l>>24)&0xff;; | - | ||||||
79 | - | |||||||
80 | K[12] = CAST_S_table4[x[8]] ^ CAST_S_table5[x[9]] ^ CAST_S_table6[x[7]] ^ CAST_S_table7[x[6]] ^ CAST_S_table4[x[3]]; | - | ||||||
81 | K[13] = CAST_S_table4[x[10]] ^ CAST_S_table5[x[11]] ^ CAST_S_table6[x[5]] ^ CAST_S_table7[x[4]] ^ CAST_S_table5[x[7]]; | - | ||||||
82 | K[14] = CAST_S_table4[x[12]] ^ CAST_S_table5[x[13]] ^ CAST_S_table6[x[3]] ^ CAST_S_table7[x[2]] ^ CAST_S_table6[x[8]]; | - | ||||||
83 | K[15] = CAST_S_table4[x[14]] ^ CAST_S_table5[x[15]] ^ CAST_S_table6[x[1]] ^ CAST_S_table7[x[0]] ^ CAST_S_table7[x[13]]; | - | ||||||
84 | if (K != k
| 2000039 | ||||||
85 | break; executed 2000039 times by 1 test: break; Executed by:
| 2000039 | ||||||
86 | K += 16; | - | ||||||
87 | } executed 2000039 times by 1 test: end of block Executed by:
| 2000039 | ||||||
88 | - | |||||||
89 | for (i = 0; i < 16
| 2000039-32000624 | ||||||
90 | key->data[i * 2] = k[i]; | - | ||||||
91 | key->data[i * 2 + 1] = ((k[i + 16]) + 16) & 0x1f; | - | ||||||
92 | } executed 32000624 times by 1 test: end of block Executed by:
| 32000624 | ||||||
93 | } executed 2000039 times by 1 test: end of block Executed by:
| 2000039 | ||||||
Switch to Source code | Preprocessed file |