| 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 blockExecuted 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 blockExecuted by: 
 | 32000368 | ||||||
| 91 | } executed 2000023 times by 2 tests:  end of blockExecuted by: 
 | 2000023 | ||||||
| Switch to Source code | Preprocessed file |