Coverage Report

Created: 2026-09-28 06:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/strongswan/src/libstrongswan/crypto/xofs/xof.c
Line
Count
Source
1
/*
2
 * Copyright (C) 2017 Tobias Brunner
3
 * Copyright (C) 2016-2023 Andreas Steffen
4
 *
5
 * Copyright (C) secunet Security Networks AG
6
 *
7
 * This program is free software; you can redistribute it and/or modify it
8
 * under the terms of the GNU General Public License as published by the
9
 * Free Software Foundation; either version 2 of the License, or (at your
10
 * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
11
 *
12
 * This program is distributed in the hope that it will be useful, but
13
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15
 * for more details.
16
 */
17
18
#include "xof.h"
19
20
ENUM(ext_out_function_names, XOF_UNDEFINED, XOF_CHACHA20,
21
  "XOF_UNDEFINED",
22
  "XOF_MGF1_SHA1",
23
  "XOF_MGF1_SHA224",
24
  "XOF_MGF1_SHA256",
25
  "XOF_MGF1_SHA384",
26
  "XOF_MGF1_SHA512",
27
  "XOF_MGF1_SHA3_224",
28
  "XOF_MGF1_SHA3_256",
29
  "XOF_MGF1_SHA3_384",
30
  "XOF_MGF1_SHA3_512",
31
  "XOF_SHAKE128",
32
  "XOF_SHAKE256",
33
  "XOF_CHACHA20"
34
);
35
36
/*
37
 * Described in header
38
 */
39
ext_out_function_t xof_mgf1_from_hash_algorithm(hash_algorithm_t alg)
40
37
{
41
37
  switch (alg)
42
37
  {
43
37
    case HASH_SHA1:
44
37
      return XOF_MGF1_SHA1;
45
0
    case HASH_SHA224:
46
0
      return XOF_MGF1_SHA224;
47
0
    case HASH_SHA256:
48
0
      return XOF_MGF1_SHA256;
49
0
    case HASH_SHA384:
50
0
      return XOF_MGF1_SHA384;
51
0
    case HASH_SHA512:
52
0
      return XOF_MGF1_SHA512;
53
0
    case HASH_SHA3_224:
54
0
      return XOF_MGF1_SHA3_224;
55
0
    case HASH_SHA3_256:
56
0
      return XOF_MGF1_SHA3_256;
57
0
    case HASH_SHA3_384:
58
0
      return XOF_MGF1_SHA3_384;
59
0
    case HASH_SHA3_512:
60
0
      return XOF_MGF1_SHA3_512;
61
0
    case HASH_IDENTITY:
62
0
    case HASH_UNKNOWN:
63
0
    case HASH_MD4:
64
0
    case HASH_MD5:
65
0
      break;
66
37
  }
67
0
  return XOF_UNDEFINED;
68
37
}