Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
algorithm.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2024 TU Dresden
3
* Copyright (C) 2021 HAW Hamburg
4
*
5
* This file is subject to the terms and conditions of the GNU Lesser
6
* General Public License v2.1. See the file LICENSE in the top level
7
* directory for more details.
8
*/
9
22
#ifndef PSA_CRYPTO_PSA_AEAD_ALGORITHM_H
23
#define PSA_CRYPTO_PSA_AEAD_ALGORITHM_H
24
25
#ifdef __cplusplus
26
extern
"C"
{
27
#endif
28
29
#include "
psa/algorithm.h
"
30
34
#define PSA_ALG_CATEGORY_AEAD ((psa_algorithm_t)0x05000000)
35
45
#define PSA_ALG_IS_AEAD(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_AEAD)
46
55
#define PSA_ALG_IS_AEAD_ON_BLOCK_CIPHER(alg) (((alg) & 0x7f400000) == 0x05400000)
56
98
#define PSA_ALG_CCM ((psa_algorithm_t)0x05500100)
99
125
#define PSA_ALG_GCM ((psa_algorithm_t)0x05500200)
126
154
#define PSA_ALG_CHACHA20_POLY1305 ((psa_algorithm_t)0x05100500)
155
178
#define PSA_ALG_AEAD_WITH_SHORTENED_TAG(aead_alg, tag_length) \
179
((psa_algorithm_t)(((aead_alg) & ~0x003f0000) | (((tag_length) & 0x3f) << 16)))
180
191
#define PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(aead_alg) \
192
((((aead_alg) & ~0x003f0000) == 0x05400100) ? PSA_ALG_CCM : \
193
(((aead_alg) & ~0x003f0000) == 0x05400200) ? PSA_ALG_GCM : \
194
(((aead_alg) & ~0x003f0000) == 0x05000500) ? PSA_ALG_CHACHA20_POLY1305 : \
195
PSA_ALG_NONE)
196
221
#define PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(aead_alg, min_tag_length) \
222
/* specification-defined value */
223
224
#ifdef __cplusplus
225
}
226
#endif
227
228
#endif
/* PSA_CRYPTO_PSA_AEAD_ALGORITHM_H */
algorithm.h
Algorithm definitions for the PSA Crypto API.
Generated on Sat Dec 21 2024 20:58:04 by
1.9.8