riot_hashes.h
1 /*
2  * Copyright (C) 2022 HAW Hamburg
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #include "kernel_defines.h"
26 
27 #if (IS_USED(MODULE_PSA_RIOT_HASHES_MD5))
28 #include "hashes/md5.h"
29 
30 typedef md5_ctx_t psa_hashes_md5_ctx_t;
31 #endif
32 
33 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_1))
34 #include "hashes/sha1.h"
35 
37 #endif
38 
39 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_224))
40 #include "hashes/sha224.h"
41 
43 #endif
44 
45 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_256))
46 #include "hashes/sha256.h"
47 
49 #endif
50 
51 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_384))
52 #include "hashes/sha384.h"
53 
54 typedef sha384_context_t psa_hashes_sha384_ctx_t;
55 #endif
56 
57 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_512))
58 #include "hashes/sha512.h"
59 
61 #endif
62 
63 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_512_224))
64 #include "hashes/sha512_224.h"
65 
66 typedef sha512_224_context_t psa_hashes_sha512_224_ctx_t;
67 #endif
68 
69 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_512_256))
70 #include "hashes/sha512_256.h"
71 
72 typedef sha512_256_context_t psa_hashes_sha512_256_ctx_t;
73 #endif
74 
75 #if (IS_USED(MODULE_PSA_RIOT_HASHES_HMAC_SHA256))
76 #include "hashes/sha256.h"
77 #endif
78 
79 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA3_256) \
80 || IS_USED(MODULE_PSA_RIOT_HASHES_SHA3_384) \
81 || IS_USED(MODULE_PSA_RIOT_HASHES_SHA3_512))
82 #include "hashes/sha3.h"
83 
84 typedef keccak_state_t psa_hashes_sha3_ctx_t;
85 #endif
86 
87 #ifdef __cplusplus
88 }
89 #endif
90 
Common macros and compiler attributes/pragmas configuration.
MD5 interface definition.
CRYS_HASHUserContext_t psa_hashes_sha224_ctx_t
Map driver specific SHA224 context to PSA context.
CRYS_HASHUserContext_t psa_hashes_sha256_ctx_t
Map driver specific SHA256 context to PSA context.
CRYS_HASHUserContext_t psa_hashes_sha512_ctx_t
Map driver specific SHA512 context to PSA context.
CRYS_HASHUserContext_t psa_hashes_sha1_ctx_t
Map driver specific SHA1 context to PSA context.
SHA-1 interface definition.
Header definitions for the SHA224 hash function.
Header definitions for the SHA256 hash function.
Header definitions for the SHA384 hash function.
Header definitions for the SHA-3 hash function.
Header definitions for the SHA512 hash function.
Header definitions for the SHA512/224 hash function.
Header definitions for the SHA512/256 hash function.
Context for operations on a sponge with keccak permutation.
Definition: sha3.h:54
MD5 calculation context.
Definition: md5.h:71
SHA-1 algorithm context.
Definition: sha1.h:48
Structure to hold the SHA-2XX context.
Definition: sha2xx_common.h:61
Structure to hold the SHA-512 context.
Definition: sha512_common.h:33