OpenCoverage

c_skey.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/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 32000368 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
FALSEevaluated 2000023 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
; i++) x[i]=0;
executed 32000368 times by 2 tests: x[i]=0;
Executed by:
  • casttest
  • libcrypto.so.44.0.1
2000023-32000368
11 if (len > 16
len > 16Description
TRUEnever evaluated
FALSEevaluated 2000023 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
) len=16;
never executed: len=16;
0-2000023
12 for (i=0; i<len
i<lenDescription
TRUEevaluated 32000351 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
FALSEevaluated 2000023 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
; i++)
2000023-32000351
13 x[i]=data[i];
executed 32000351 times by 2 tests: x[i]=data[i];
Executed by:
  • casttest
  • libcrypto.so.44.0.1
32000351
14 if(len <= 10
len <= 10Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • casttest
FALSEevaluated 2000021 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
)
2-2000021
15 key->short_key=1;
executed 2 times by 1 test: key->short_key=1;
Executed by:
  • casttest
2
16 else-
17 key->short_key=0;
executed 2000021 times by 2 tests: key->short_key=0;
Executed by:
  • casttest
  • libcrypto.so.44.0.1
2000021
18-
19 K= &k[0];-
20 X[0]=((x[ 0]<<24)|(x[ 1]<<16)|(x[ 2]<<8)|x[ 3])&0xffffffffL;-
21 X[1]=((x[ 4]<<24)|(x[ 5]<<16)|(x[ 6]<<8)|x[ 7])&0xffffffffL;-
22 X[2]=((x[ 8]<<24)|(x[ 9]<<16)|(x[10]<<8)|x[11])&0xffffffffL;-
23 X[3]=((x[12]<<24)|(x[13]<<16)|(x[14]<<8)|x[15])&0xffffffffL;-
24-
25 for (;;)-
26 {-
27 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]];-
28 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;;-
29 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]];-
30 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;;-
31 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]];-
32 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;;-
33 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]];-
34 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;;-
35-
36 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]];-
37 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]];-
38 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]];-
39 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]];-
40-
41 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]];-
42 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;;-
43 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]];-
44 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;;-
45 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]];-
46 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;;-
47 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]];-
48 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;;-
49-
50 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]];-
51 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]];-
52 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]];-
53 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]];-
54-
55 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]];-
56 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;;-
57 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]];-
58 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;;-
59 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]];-
60 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;;-
61 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]];-
62 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;;-
63-
64 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]];-
65 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]];-
66 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]];-
67 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]];-
68-
69 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]];-
70 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;;-
71 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]];-
72 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;;-
73 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]];-
74 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;;-
75 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]];-
76 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;;-
77-
78 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]];-
79 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]];-
80 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]];-
81 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]];-
82 if (K != k
K != kDescription
TRUEevaluated 2000023 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
FALSEevaluated 2000023 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
) break;
executed 2000023 times by 2 tests: break;
Executed by:
  • casttest
  • libcrypto.so.44.0.1
2000023
83 K+=16;-
84 }
executed 2000023 times by 2 tests: end of block
Executed by:
  • casttest
  • libcrypto.so.44.0.1
2000023
85-
86 for (i=0; i<16
i<16Description
TRUEevaluated 32000368 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
FALSEevaluated 2000023 times by 2 tests
Evaluated by:
  • casttest
  • libcrypto.so.44.0.1
; i++)
2000023-32000368
87 {-
88 key->data[i*2]=k[i];-
89 key->data[i*2+1]=((k[i+16])+16)&0x1f;-
90 }
executed 32000368 times by 2 tests: end of block
Executed by:
  • casttest
  • libcrypto.so.44.0.1
32000368
91 }
executed 2000023 times by 2 tests: end of block
Executed by:
  • casttest
  • libcrypto.so.44.0.1
2000023
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2