Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/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
executed 32000368 times by 2 tests: x[i]=0; Executed by:
| 2000023-32000368 | ||||||
11 | if (len > 16
never executed: len=16; | 0-2000023 | ||||||
12 | for (i=0; i<len
| 2000023-32000351 | ||||||
13 | x[i]=data[i]; executed 32000351 times by 2 tests: x[i]=data[i]; Executed by:
| 32000351 | ||||||
14 | if(len <= 10
| 2-2000021 | ||||||
15 | key->short_key=1; executed 2 times by 1 test: key->short_key=1; Executed by:
| 2 | ||||||
16 | else | - | ||||||
17 | key->short_key=0; executed 2000021 times by 2 tests: key->short_key=0; Executed by:
| 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
executed 2000023 times by 2 tests: break; Executed by:
| 2000023 | ||||||
83 | K+=16; | - | ||||||
84 | } executed 2000023 times by 2 tests: end of block Executed by:
| 2000023 | ||||||
85 | - | |||||||
86 | for (i=0; i<16
| 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:
| 32000368 | ||||||
91 | } executed 2000023 times by 2 tests: end of block Executed by:
| 2000023 | ||||||
Switch to Source code | Preprocessed file |