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 
19 #ifndef HASHES_PSA_RIOT_HASHES_H
20 #define HASHES_PSA_RIOT_HASHES_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #include "kernel_defines.h"
27 
28 #if (IS_USED(MODULE_PSA_RIOT_HASHES_MD5))
29 #include "hashes/md5.h"
30 
31 typedef md5_ctx_t psa_hashes_md5_ctx_t;
32 #endif
33 
34 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_1))
35 #include "hashes/sha1.h"
36 
38 #endif
39 
40 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_224))
41 #include "hashes/sha224.h"
42 
44 #endif
45 
46 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_256))
47 #include "hashes/sha256.h"
48 
50 #endif
51 
52 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_384))
53 #include "hashes/sha384.h"
54 
55 typedef sha384_context_t psa_hashes_sha384_ctx_t;
56 #endif
57 
58 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_512))
59 #include "hashes/sha512.h"
60 
62 #endif
63 
64 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_512_224))
65 #include "hashes/sha512_224.h"
66 
67 typedef sha512_224_context_t psa_hashes_sha512_224_ctx_t;
68 #endif
69 
70 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA_512_256))
71 #include "hashes/sha512_256.h"
72 
73 typedef sha512_256_context_t psa_hashes_sha512_256_ctx_t;
74 #endif
75 
76 #if (IS_USED(MODULE_PSA_RIOT_HASHES_HMAC_SHA256))
77 #include "hashes/sha256.h"
78 #endif
79 
80 #if (IS_USED(MODULE_PSA_RIOT_HASHES_SHA3_256) \
81 || IS_USED(MODULE_PSA_RIOT_HASHES_SHA3_384) \
82 || IS_USED(MODULE_PSA_RIOT_HASHES_SHA3_512))
83 #include "hashes/sha3.h"
84 
85 typedef keccak_state_t psa_hashes_sha3_ctx_t;
86 #endif
87 
88 #ifdef __cplusplus
89 }
90 #endif
91 
92 #endif /* HASHES_PSA_RIOT_HASHES_H */
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:72
SHA-1 algorithm context.
Definition: sha1.h:49
Structure to hold the SHA-2XX context.
Definition: sha2xx_common.h:62
Structure to hold the SHA-512 context.
Definition: sha512_common.h:34