API参考
载入中...
搜索中...
未找到
es_cf.h
1/*
2 * This file is part of the openHiTLS project.
3 *
4 * openHiTLS is licensed under the Mulan PSL v2.
5 * You can use this software according to the terms and conditions of the Mulan PSL v2.
6 * You may obtain a copy of Mulan PSL v2 at:
7 *
8 * http://license.coscl.org.cn/MulanPSL2
9 *
10 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13 * See the Mulan PSL v2 for more details.
14 */
15
16#ifndef ES_CF_H
17#define ES_CF_H
18
19#include "hitls_build.h"
20#if defined(HITLS_CRYPTO_ENTROPY) && defined(HITLS_CRYPTO_ENTROPY_SYS)
21
22#include <stdint.h>
23#include "crypt_local_types.h"
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28typedef struct {
29 uint32_t algId;
30 union {
31 EAL_MdMethod mdMeth;
32 EAL_SymMethod ciMeth;
33 EAL_MacMethod macMeth;
34 } meth;
35 uint8_t *ctx;
36 /* Conditioning function initialization. */
37 void *(*init)(void *mdMeth);
38 /* Conditioning Function Conditioning Raw Entropy Output. */
39 int32_t (*update)(void *ctx, uint8_t *data, uint32_t dataLen);
40 /* Deinitialize the conditioning function. */
41 void (*deinit)(void *ctx);
42 /* Output length of each conditioning function. */
43 uint32_t (*getCfOutLen)(void *ctx);
44 /* Obtaining the Entropy Data After Conditioning. */
45 uint8_t *(*getEntropyData)(void *ctx, uint32_t *len);
46 /* Obtains the entropy required for full entropy output. */
47 uint32_t (*getNeedEntropy)(void *ctx);
48} ES_CfMethod;
49
50ES_CfMethod *ES_CFGetMethod(uint32_t algId, void *md);
51
52ES_CfMethod *ES_CFGetDfMethod(EAL_MdMethod *mdMeth);
53
54#ifdef __cplusplus
55}
56#endif
57
58#endif
59
60#endif
定义 crypt_local_types.h:303
定义 crypt_local_types.h:63
定义 crypt_local_types.h:241