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
10#pragma once
11
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#include "psa/algorithm.h"
29
33#define PSA_ALG_CATEGORY_KEY_AGREEMENT ((psa_algorithm_t)0x09000000)
34
43#define PSA_ALG_IS_KEY_AGREEMENT(alg) \
44 (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_KEY_AGREEMENT)
45
58#define PSA_ALG_KEY_AGREEMENT_GET_BASE(alg) \
59 ((psa_algorithm_t)((alg) & 0xffff0000))
60
73#define PSA_ALG_KEY_AGREEMENT_GET_KDF(alg) \
74 ((psa_algorithm_t)((alg) & 0xfe00ffff))
75
92#define PSA_ALG_IS_RAW_KEY_AGREEMENT(alg) \
93 (((alg) & 0x7f00ffff) == 0x09000000)
94
106#define PSA_ALG_IS_FFDH(alg) \
107 (((alg) & 0x7fff0000) == 0x09010000)
108
120#define PSA_ALG_IS_ECDH(alg) \
121 (((alg) & 0x7fff0000) == 0x09020000)
122
153#define PSA_ALG_FFDH ((psa_algorithm_t)0x09010000)
154
222#define PSA_ALG_ECDH ((psa_algorithm_t)0x09020000)
223
246#define PSA_ALG_KEY_AGREEMENT(ka_alg, kdf_alg) \
247 ((ka_alg) | (kdf_alg))
248
249#ifdef __cplusplus
250}
251#endif
252
Algorithm definitions for the PSA Crypto API.