OpenCoverage

i_skey.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/idea/i_skey.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2static IDEA_INT inverse(unsigned int xin);-
3void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)-
4{-
5 int i;-
6 register IDEA_INT *kt, *kf, r0, r1, r2;-
7-
8 kt = &(ks->data[0][0]);-
9 (kt[0] =((IDEA_INT)(*((key)++)))<< 8L, kt[0]|=((IDEA_INT)(*((key)++))) );-
10 (kt[1] =((IDEA_INT)(*((key)++)))<< 8L, kt[1]|=((IDEA_INT)(*((key)++))) );-
11 (kt[2] =((IDEA_INT)(*((key)++)))<< 8L, kt[2]|=((IDEA_INT)(*((key)++))) );-
12 (kt[3] =((IDEA_INT)(*((key)++)))<< 8L, kt[3]|=((IDEA_INT)(*((key)++))) );-
13 (kt[4] =((IDEA_INT)(*((key)++)))<< 8L, kt[4]|=((IDEA_INT)(*((key)++))) );-
14 (kt[5] =((IDEA_INT)(*((key)++)))<< 8L, kt[5]|=((IDEA_INT)(*((key)++))) );-
15 (kt[6] =((IDEA_INT)(*((key)++)))<< 8L, kt[6]|=((IDEA_INT)(*((key)++))) );-
16 (kt[7] =((IDEA_INT)(*((key)++)))<< 8L, kt[7]|=((IDEA_INT)(*((key)++))) );-
17-
18 kf = kt;-
19 kt += 8;-
20 for (i = 0; i < 6
i < 6Description
TRUEevaluated 1362 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
; i++) {
0-1362
21 r2 = kf[1];-
22 r1 = kf[2];-
23 *(kt++) = ((r2 << 9) | (r1 >> 7)) & 0xffff;-
24 r0 = kf[3];-
25 *(kt++) = ((r1 << 9) | (r0 >> 7)) & 0xffff;-
26 r1 = kf[4];-
27 *(kt++) = ((r0 << 9) | (r1 >> 7)) & 0xffff;-
28 r0 = kf[5];-
29 *(kt++) = ((r1 << 9) | (r0 >> 7)) & 0xffff;-
30 r1 = kf[6];-
31 *(kt++) = ((r0 << 9) | (r1 >> 7)) & 0xffff;-
32 r0 = kf[7];-
33 *(kt++) = ((r1 << 9) | (r0 >> 7)) & 0xffff;-
34 r1 = kf[0];-
35 if (i >= 5
i >= 5Description
TRUEevaluated 227 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1135 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
227-1135
36 break;
executed 227 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
227
37 *(kt++) = ((r0 << 9) | (r1 >> 7)) & 0xffff;-
38 *(kt++) = ((r1 << 9) | (r2 >> 7)) & 0xffff;-
39 kf += 8;-
40 }
executed 1135 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1135
41}
executed 227 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
227
42-
43void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk)-
44{-
45 int r;-
46 register IDEA_INT *fp, *tp, t;-
47-
48 tp = &(dk->data[0][0]);-
49 fp = &(ek->data[8][0]);-
50 for (r = 0; r < 9
r < 9Description
TRUEevaluated 720 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
; r++) {
0-720
51 *(tp++) = inverse(fp[0]);-
52 *(tp++) = ((int)(0x10000L - fp[2]) & 0xffff);-
53 *(tp++) = ((int)(0x10000L - fp[1]) & 0xffff);-
54 *(tp++) = inverse(fp[3]);-
55 if (r == 8
r == 8Description
TRUEevaluated 80 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 640 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
80-640
56 break;
executed 80 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
80
57 fp -= 6;-
58 *(tp++) = fp[4];-
59 *(tp++) = fp[5];-
60 }
executed 640 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
640
61-
62 tp = &(dk->data[0][0]);-
63 t = tp[1];-
64 tp[1] = tp[2];-
65 tp[2] = t;-
66-
67 t = tp[49];-
68 tp[49] = tp[50];-
69 tp[50] = t;-
70}
executed 80 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
80
71-
72-
73static IDEA_INT inverse(unsigned int xin)-
74{-
75 long n1, n2, q, r, b1, b2, t;-
76-
77 if (xin == 0
xin == 0Description
TRUEevaluated 19 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
19-1421
78 b2 = 0;
executed 19 times by 1 test: b2 = 0;
Executed by:
  • libcrypto.so.1.1
19
79 else {-
80 n1 = 0x10001;-
81 n2 = xin;-
82 b2 = 1;-
83 b1 = 0;-
84-
85 do {-
86 r = (n1 % n2);-
87 q = (n1 - r) / n2;-
88 if (r == 0
r == 0Description
TRUEevaluated 1421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 11841 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
1421-11841
89 if (b2 < 0
b2 < 0Description
TRUEevaluated 753 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 668 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
668-753
90 b2 = 0x10001 + b2;
executed 753 times by 1 test: b2 = 0x10001 + b2;
Executed by:
  • libcrypto.so.1.1
753
91 }
executed 1421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
1421
92 n1 = n2;-
93 n2 = r;-
94 t = b2;-
95 b2 = b1 - q * b2;-
96 b1 = t;-
97 }
executed 11841 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
11841
98 } while (r != 0
r != 0Description
TRUEevaluated 11841 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
);
1421-11841
99 }
executed 1421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1421
100 return
executed 1440 times by 1 test: return (IDEA_INT)b2;
Executed by:
  • libcrypto.so.1.1
(IDEA_INT)b2;
executed 1440 times by 1 test: return (IDEA_INT)b2;
Executed by:
  • libcrypto.so.1.1
1440
101}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2