OpenCoverage

fcrypt_b.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/des/fcrypt_b.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include <stdio.h>-
11-
12#define DES_FCRYPT-
13#include "des_locl.h"-
14#undef DES_FCRYPT-
15-
16#undef PERM_OP-
17#define PERM_OP(a,b,t,n,m) ((t)=((((a)>>(n))^(b))&(m)),\-
18 (b)^=(t),\-
19 (a)^=((t)<<(n)))-
20-
21#undef HPERM_OP-
22#define HPERM_OP(a,t,n,m) ((t)=((((a)<<(16-(n)))^(a))&(m)),\-
23 (a)=(a)^(t)^(t>>(16-(n))))\-
24-
25void fcrypt_body(DES_LONG *out, DES_key_schedule *ks, DES_LONG Eswap0,-
26 DES_LONG Eswap1)-
27{-
28 register DES_LONG l, r, t, u;-
29 register DES_LONG *s;-
30 register int j;-
31 register DES_LONG E0, E1;-
32-
33 l = 0;-
34 r = 0;-
35-
36 s = (DES_LONG *)ks;-
37 E0 = Eswap0;-
38 E1 = Eswap1;-
39-
40 for (j = 0; j < 25; j++) {
j < 25Description
TRUEevaluated 100 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
4-100
41 D_ENCRYPT(l, r, 0); /* 1 */-
42 D_ENCRYPT(r, l, 2); /* 2 */-
43 D_ENCRYPT(l, r, 4); /* 3 */-
44 D_ENCRYPT(r, l, 6); /* 4 */-
45 D_ENCRYPT(l, r, 8); /* 5 */-
46 D_ENCRYPT(r, l, 10); /* 6 */-
47 D_ENCRYPT(l, r, 12); /* 7 */-
48 D_ENCRYPT(r, l, 14); /* 8 */-
49 D_ENCRYPT(l, r, 16); /* 9 */-
50 D_ENCRYPT(r, l, 18); /* 10 */-
51 D_ENCRYPT(l, r, 20); /* 11 */-
52 D_ENCRYPT(r, l, 22); /* 12 */-
53 D_ENCRYPT(l, r, 24); /* 13 */-
54 D_ENCRYPT(r, l, 26); /* 14 */-
55 D_ENCRYPT(l, r, 28); /* 15 */-
56 D_ENCRYPT(r, l, 30); /* 16 */-
57 t = l;-
58 l = r;-
59 r = t;-
60 }
executed 100 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
100
61 l = ROTATE(l, 3) & 0xffffffffL;-
62 r = ROTATE(r, 3) & 0xffffffffL;-
63-
64 PERM_OP(l, r, t, 1, 0x55555555L);-
65 PERM_OP(r, l, t, 8, 0x00ff00ffL);-
66 PERM_OP(l, r, t, 2, 0x33333333L);-
67 PERM_OP(r, l, t, 16, 0x0000ffffL);-
68 PERM_OP(l, r, t, 4, 0x0f0f0f0fL);-
69-
70 out[0] = r;-
71 out[1] = l;-
72}
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2