OpenCoverage

c_skey.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/cast/c_skey.c
Switch to Source codePreprocessed file
LineSourceCount
1void 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
i < 16Description
TRUEevaluated 32000624 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2000039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
2000039-32000624
11 x[i] = 0;
executed 32000624 times by 1 test: x[i] = 0;
Executed by:
  • libcrypto.so.1.1
32000624
12 if (len > 16
len > 16Description
TRUEnever evaluated
FALSEevaluated 2000039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-2000039
13 len = 16;
never executed: len = 16;
0
14 for (i = 0; i < len
i < lenDescription
TRUEevaluated 32000607 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2000039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
2000039-32000607
15 x[i] = data[i];
executed 32000607 times by 1 test: x[i] = data[i];
Executed by:
  • libcrypto.so.1.1
32000607
16 if (len <= 10
len <= 10Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2000037 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
2-2000037
17 key->short_key = 1;
executed 2 times by 1 test: key->short_key = 1;
Executed by:
  • libcrypto.so.1.1
2
18 else-
19 key->short_key = 0;
executed 2000037 times by 1 test: key->short_key = 0;
Executed by:
  • libcrypto.so.1.1
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
K != kDescription
TRUEevaluated 2000039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2000039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
2000039
85 break;
executed 2000039 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
2000039
86 K += 16;-
87 }
executed 2000039 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2000039
88-
89 for (i = 0; i < 16
i < 16Description
TRUEevaluated 32000624 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2000039 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++) {
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:
  • libcrypto.so.1.1
32000624
93}
executed 2000039 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2000039
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2