| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/bf/bf_enc.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||
|---|---|---|---|---|---|---|---|---|
| 1 | void BF_encrypt(unsigned int *data, const BF_KEY *key) | - | ||||||
| 2 | { | - | ||||||
| 3 | register unsigned int l, r; | - | ||||||
| 4 | register const unsigned int *p, *s; | - | ||||||
| 5 | - | |||||||
| 6 | p = key->P; | - | ||||||
| 7 | s = &(key->S[0]); | - | ||||||
| 8 | l = data[0]; | - | ||||||
| 9 | r = data[1]; | - | ||||||
| 10 | - | |||||||
| 11 | l ^= p[0]; | - | ||||||
| 12 | ( r^=p[1], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 13 | ( l^=p[2], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 14 | ( r^=p[3], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 15 | ( l^=p[4], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 16 | ( r^=p[5], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 17 | ( l^=p[6], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 18 | ( r^=p[7], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 19 | ( l^=p[8], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 20 | ( r^=p[9], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 21 | ( l^=p[10], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 22 | ( r^=p[11], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 23 | ( l^=p[12], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 24 | ( r^=p[13], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 25 | ( l^=p[14], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 26 | ( r^=p[15], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 27 | ( l^=p[16], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 28 | - | |||||||
| 29 | - | |||||||
| 30 | - | |||||||
| 31 | - | |||||||
| 32 | - | |||||||
| 33 | - | |||||||
| 34 | r ^= p[16 + 1]; | - | ||||||
| 35 | - | |||||||
| 36 | data[1] = l & 0xffffffffU; | - | ||||||
| 37 | data[0] = r & 0xffffffffU; | - | ||||||
| 38 | } executed 55319 times by 1 test: end of blockExecuted by:
| 55319 | ||||||
| 39 | - | |||||||
| 40 | void BF_decrypt(unsigned int *data, const BF_KEY *key) | - | ||||||
| 41 | { | - | ||||||
| 42 | register unsigned int l, r; | - | ||||||
| 43 | register const unsigned int *p, *s; | - | ||||||
| 44 | - | |||||||
| 45 | p = key->P; | - | ||||||
| 46 | s = &(key->S[0]); | - | ||||||
| 47 | l = data[0]; | - | ||||||
| 48 | r = data[1]; | - | ||||||
| 49 | - | |||||||
| 50 | l ^= p[16 + 1]; | - | ||||||
| 51 | - | |||||||
| 52 | - | |||||||
| 53 | - | |||||||
| 54 | - | |||||||
| 55 | - | |||||||
| 56 | - | |||||||
| 57 | ( r^=p[16], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 58 | ( l^=p[15], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 59 | ( r^=p[14], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 60 | ( l^=p[13], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 61 | ( r^=p[12], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 62 | ( l^=p[11], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 63 | ( r^=p[10], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 64 | ( l^=p[9], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 65 | ( r^=p[8], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 66 | ( l^=p[7], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 67 | ( r^=p[6], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 68 | ( l^=p[5], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 69 | ( r^=p[4], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 70 | ( l^=p[3], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 71 | ( r^=p[2], r^=((( s[ ((l>>24)&0xff)] + s[0x0100+((l>>16)&0xff)])^ s[0x0200+((l>> 8)&0xff)])+ s[0x0300+((l )&0xff)])&0xffffffffU ); | - | ||||||
| 72 | ( l^=p[1], l^=((( s[ ((r>>24)&0xff)] + s[0x0100+((r>>16)&0xff)])^ s[0x0200+((r>> 8)&0xff)])+ s[0x0300+((r )&0xff)])&0xffffffffU ); | - | ||||||
| 73 | r ^= p[0]; | - | ||||||
| 74 | - | |||||||
| 75 | data[1] = l & 0xffffffffU; | - | ||||||
| 76 | data[0] = r & 0xffffffffU; | - | ||||||
| 77 | } executed 2644 times by 1 test: end of blockExecuted by:
| 2644 | ||||||
| 78 | - | |||||||
| 79 | void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, | - | ||||||
| 80 | const BF_KEY *schedule, unsigned char *ivec, int encrypt) | - | ||||||
| 81 | { | - | ||||||
| 82 | register unsigned int tin0, tin1; | - | ||||||
| 83 | register unsigned int tout0, tout1, xor0, xor1; | - | ||||||
| 84 | register long l = length; | - | ||||||
| 85 | unsigned int tin[2]; | - | ||||||
| 86 | - | |||||||
| 87 | if (encrypt
| 108-155 | ||||||
| 88 | (tout0 =((unsigned long)(*((ivec)++)))<<24L, tout0|=((unsigned long)(*((ivec)++)))<<16L, tout0|=((unsigned long)(*((ivec)++)))<< 8L, tout0|=((unsigned long)(*((ivec)++)))); | - | ||||||
| 89 | (tout1 =((unsigned long)(*((ivec)++)))<<24L, tout1|=((unsigned long)(*((ivec)++)))<<16L, tout1|=((unsigned long)(*((ivec)++)))<< 8L, tout1|=((unsigned long)(*((ivec)++)))); | - | ||||||
| 90 | ivec -= 8; | - | ||||||
| 91 | for (l -= 8; l >= 0
| 155-1821 | ||||||
| 92 | (tin0 =((unsigned long)(*((in)++)))<<24L, tin0|=((unsigned long)(*((in)++)))<<16L, tin0|=((unsigned long)(*((in)++)))<< 8L, tin0|=((unsigned long)(*((in)++)))); | - | ||||||
| 93 | (tin1 =((unsigned long)(*((in)++)))<<24L, tin1|=((unsigned long)(*((in)++)))<<16L, tin1|=((unsigned long)(*((in)++)))<< 8L, tin1|=((unsigned long)(*((in)++)))); | - | ||||||
| 94 | tin0 ^= tout0; | - | ||||||
| 95 | tin1 ^= tout1; | - | ||||||
| 96 | tin[0] = tin0; | - | ||||||
| 97 | tin[1] = tin1; | - | ||||||
| 98 | BF_encrypt(tin, schedule); | - | ||||||
| 99 | tout0 = tin[0]; | - | ||||||
| 100 | tout1 = tin[1]; | - | ||||||
| 101 | (*((out)++)=(unsigned char)(((tout0)>>24L)&0xff), *((out)++)=(unsigned char)(((tout0)>>16L)&0xff), *((out)++)=(unsigned char)(((tout0)>> 8L)&0xff), *((out)++)=(unsigned char)(((tout0) )&0xff)); | - | ||||||
| 102 | (*((out)++)=(unsigned char)(((tout1)>>24L)&0xff), *((out)++)=(unsigned char)(((tout1)>>16L)&0xff), *((out)++)=(unsigned char)(((tout1)>> 8L)&0xff), *((out)++)=(unsigned char)(((tout1) )&0xff)); | - | ||||||
| 103 | } executed 1821 times by 1 test: end of blockExecuted by:
| 1821 | ||||||
| 104 | if (l != -8
| 1-154 | ||||||
| 105 | { in+=l + 8; tin0=tin1=0; switch (l + 8) { case never executed: 8:case 8:never executed: tin1 =((unsigned long)(*(--(in)))) ; casecase 8:never executed: 7:case 7:never executed: case 7:code before this statement never executed: tin1|=((unsigned long)(*(--(in))))<< 8; casecase 7:never executed: 6:case 6:never executed: case 6:code before this statement never executed: tin1|=((unsigned long)(*(--(in))))<<16; casecase 6:executed 1 time by 1 test: case 5:Executed by:
code before this statement never executed: case 5:executed 1 time by 1 test: 5:case 5:Executed by:
code before this statement never executed: case 5:executed 1 time by 1 test: tin1|=((unsigned long)(*(--(in))))<<24; casecase 5:Executed by:
never executed: case 4:code before this statement executed 1 time by 1 test: case 4:Executed by:
never executed: 4:case 4:code before this statement executed 1 time by 1 test: case 4:Executed by:
never executed: tin0 =((unsigned long)(*(--(in)))) ; casecase 4:never executed: case 3:code before this statement executed 1 time by 1 test: case 3:Executed by:
never executed: 3:case 3:code before this statement executed 1 time by 1 test: case 3:Executed by:
never executed: tin0|=((unsigned long)(*(--(in))))<< 8; casecase 3:never executed: case 2:code before this statement executed 1 time by 1 test: case 2:Executed by:
never executed: 2:case 2:code before this statement executed 1 time by 1 test: case 2:Executed by:
never executed: tin0|=((unsigned long)(*(--(in))))<<16; casecase 2:executed 1 time by 1 test: 1:case 1:Executed by:
executed 1 time by 1 test: case 1:Executed by:
code before this statement executed 1 time by 1 test: tin0|=((unsigned long)(*(--(in))))<<24; }case 1:Executed by:
executed 1 time by 1 test: };end of blockExecuted by:
| 0-1 | ||||||
| 106 | tin0 ^= tout0; | - | ||||||
| 107 | tin1 ^= tout1; | - | ||||||
| 108 | tin[0] = tin0; | - | ||||||
| 109 | tin[1] = tin1; | - | ||||||
| 110 | BF_encrypt(tin, schedule); | - | ||||||
| 111 | tout0 = tin[0]; | - | ||||||
| 112 | tout1 = tin[1]; | - | ||||||
| 113 | (*((out)++)=(unsigned char)(((tout0)>>24L)&0xff), *((out)++)=(unsigned char)(((tout0)>>16L)&0xff), *((out)++)=(unsigned char)(((tout0)>> 8L)&0xff), *((out)++)=(unsigned char)(((tout0) )&0xff)); | - | ||||||
| 114 | (*((out)++)=(unsigned char)(((tout1)>>24L)&0xff), *((out)++)=(unsigned char)(((tout1)>>16L)&0xff), *((out)++)=(unsigned char)(((tout1)>> 8L)&0xff), *((out)++)=(unsigned char)(((tout1) )&0xff)); | - | ||||||
| 115 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||
| 116 | (*((ivec)++)=(unsigned char)(((tout0)>>24L)&0xff), *((ivec)++)=(unsigned char)(((tout0)>>16L)&0xff), *((ivec)++)=(unsigned char)(((tout0)>> 8L)&0xff), *((ivec)++)=(unsigned char)(((tout0) )&0xff)); | - | ||||||
| 117 | (*((ivec)++)=(unsigned char)(((tout1)>>24L)&0xff), *((ivec)++)=(unsigned char)(((tout1)>>16L)&0xff), *((ivec)++)=(unsigned char)(((tout1)>> 8L)&0xff), *((ivec)++)=(unsigned char)(((tout1) )&0xff)); | - | ||||||
| 118 | } executed 155 times by 1 test: else {end of blockExecuted by:
| 155 | ||||||
| 119 | (xor0 =((unsigned long)(*((ivec)++)))<<24L, xor0|=((unsigned long)(*((ivec)++)))<<16L, xor0|=((unsigned long)(*((ivec)++)))<< 8L, xor0|=((unsigned long)(*((ivec)++)))); | - | ||||||
| 120 | (xor1 =((unsigned long)(*((ivec)++)))<<24L, xor1|=((unsigned long)(*((ivec)++)))<<16L, xor1|=((unsigned long)(*((ivec)++)))<< 8L, xor1|=((unsigned long)(*((ivec)++)))); | - | ||||||
| 121 | ivec -= 8; | - | ||||||
| 122 | for (l -= 8; l >= 0
| 108-1821 | ||||||
| 123 | (tin0 =((unsigned long)(*((in)++)))<<24L, tin0|=((unsigned long)(*((in)++)))<<16L, tin0|=((unsigned long)(*((in)++)))<< 8L, tin0|=((unsigned long)(*((in)++)))); | - | ||||||
| 124 | (tin1 =((unsigned long)(*((in)++)))<<24L, tin1|=((unsigned long)(*((in)++)))<<16L, tin1|=((unsigned long)(*((in)++)))<< 8L, tin1|=((unsigned long)(*((in)++)))); | - | ||||||
| 125 | tin[0] = tin0; | - | ||||||
| 126 | tin[1] = tin1; | - | ||||||
| 127 | BF_decrypt(tin, schedule); | - | ||||||
| 128 | tout0 = tin[0] ^ xor0; | - | ||||||
| 129 | tout1 = tin[1] ^ xor1; | - | ||||||
| 130 | (*((out)++)=(unsigned char)(((tout0)>>24L)&0xff), *((out)++)=(unsigned char)(((tout0)>>16L)&0xff), *((out)++)=(unsigned char)(((tout0)>> 8L)&0xff), *((out)++)=(unsigned char)(((tout0) )&0xff)); | - | ||||||
| 131 | (*((out)++)=(unsigned char)(((tout1)>>24L)&0xff), *((out)++)=(unsigned char)(((tout1)>>16L)&0xff), *((out)++)=(unsigned char)(((tout1)>> 8L)&0xff), *((out)++)=(unsigned char)(((tout1) )&0xff)); | - | ||||||
| 132 | xor0 = tin0; | - | ||||||
| 133 | xor1 = tin1; | - | ||||||
| 134 | } executed 1821 times by 1 test: end of blockExecuted by:
| 1821 | ||||||
| 135 | if (l != -8
| 1-107 | ||||||
| 136 | (tin0 =((unsigned long)(*((in)++)))<<24L, tin0|=((unsigned long)(*((in)++)))<<16L, tin0|=((unsigned long)(*((in)++)))<< 8L, tin0|=((unsigned long)(*((in)++)))); | - | ||||||
| 137 | (tin1 =((unsigned long)(*((in)++)))<<24L, tin1|=((unsigned long)(*((in)++)))<<16L, tin1|=((unsigned long)(*((in)++)))<< 8L, tin1|=((unsigned long)(*((in)++)))); | - | ||||||
| 138 | tin[0] = tin0; | - | ||||||
| 139 | tin[1] = tin1; | - | ||||||
| 140 | BF_decrypt(tin, schedule); | - | ||||||
| 141 | tout0 = tin[0] ^ xor0; | - | ||||||
| 142 | tout1 = tin[1] ^ xor1; | - | ||||||
| 143 | { out+=l + 8; switch (l + 8) { case never executed: 8:case 8:never executed: *(--(out))=(unsigned char)(((tout1) )&0xff); casecase 8:never executed: 7:case 7:never executed: case 7:code before this statement never executed: *(--(out))=(unsigned char)(((tout1)>> 8)&0xff); casecase 7:never executed: 6:case 6:never executed: case 6:code before this statement never executed: *(--(out))=(unsigned char)(((tout1)>>16)&0xff); casecase 6:executed 1 time by 1 test: case 5:Executed by:
code before this statement never executed: case 5:executed 1 time by 1 test: 5:case 5:Executed by:
code before this statement never executed: case 5:executed 1 time by 1 test: *(--(out))=(unsigned char)(((tout1)>>24)&0xff); casecase 5:Executed by:
never executed: case 4:code before this statement executed 1 time by 1 test: case 4:Executed by:
never executed: 4:case 4:code before this statement executed 1 time by 1 test: case 4:Executed by:
never executed: *(--(out))=(unsigned char)(((tout0) )&0xff); casecase 4:never executed: case 3:code before this statement executed 1 time by 1 test: case 3:Executed by:
never executed: 3:case 3:code before this statement executed 1 time by 1 test: case 3:Executed by:
never executed: *(--(out))=(unsigned char)(((tout0)>> 8)&0xff); casecase 3:never executed: case 2:code before this statement executed 1 time by 1 test: case 2:Executed by:
never executed: 2:case 2:code before this statement executed 1 time by 1 test: case 2:Executed by:
never executed: *(--(out))=(unsigned char)(((tout0)>>16)&0xff); casecase 2:executed 1 time by 1 test: 1:case 1:Executed by:
executed 1 time by 1 test: case 1:Executed by:
code before this statement executed 1 time by 1 test: *(--(out))=(unsigned char)(((tout0)>>24)&0xff); }case 1:Executed by:
executed 1 time by 1 test: };end of blockExecuted by:
| 0-1 | ||||||
| 144 | xor0 = tin0; | - | ||||||
| 145 | xor1 = tin1; | - | ||||||
| 146 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||
| 147 | (*((ivec)++)=(unsigned char)(((xor0)>>24L)&0xff), *((ivec)++)=(unsigned char)(((xor0)>>16L)&0xff), *((ivec)++)=(unsigned char)(((xor0)>> 8L)&0xff), *((ivec)++)=(unsigned char)(((xor0) )&0xff)); | - | ||||||
| 148 | (*((ivec)++)=(unsigned char)(((xor1)>>24L)&0xff), *((ivec)++)=(unsigned char)(((xor1)>>16L)&0xff), *((ivec)++)=(unsigned char)(((xor1)>> 8L)&0xff), *((ivec)++)=(unsigned char)(((xor1) )&0xff)); | - | ||||||
| 149 | } executed 108 times by 1 test: end of blockExecuted by:
| 108 | ||||||
| 150 | tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0; | - | ||||||
| 151 | tin[0] = tin[1] = 0; | - | ||||||
| 152 | } executed 263 times by 1 test: end of blockExecuted by:
| 263 | ||||||
| Switch to Source code | Preprocessed file |