API参考
载入中...
搜索中...
未找到
crypt_types.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
21
22#ifndef CRYPT_TYPES_H
23#define CRYPT_TYPES_H
24
25#include <stdint.h>
26#include <stddef.h>
27#include "crypt_algid.h"
28
29#ifdef __cplusplus
30extern "C" {
31#endif // __cplusplus
32
38typedef struct {
39 uint8_t *data;
40 uint32_t len;
42
48typedef struct {
49 const uint8_t *data;
50 uint32_t len;
52
58typedef struct {
59 uint32_t min;
60 uint32_t max;
62
71
77typedef enum {
78 // When the padding type is PSS, the salt data is obtained by the DRBG and the length is hashlen.
79 CRYPT_RSA_SALTLEN_TYPE_HASHLEN = -1,
80 // When the padding type is PSS, the salt data is obtained by the DRBG.
81 // and the length is padLen - mdMethod->GetDigestSize - 2
82 CRYPT_RSA_SALTLEN_TYPE_MAXLEN = -2,
83 // get salt length from signature, only used verify.
84 CRYPT_RSA_SALTLEN_TYPE_AUTOLEN = -3
86
97
102
103typedef enum {
104 CRYPT_RSA_BLINDING = 0x00000001,
105 CRYPT_RSA_BSSA = 0x00000002,
106 CRYPT_RSA_MAXFLAG
107} CRYPT_RSA_Flag;
108
109typedef enum {
110 CRYPT_DH_NO_PADZERO = 0x00000001,
112 CRYPT_DH_MAXFLAG
113} CRYPT_DH_Flag;
114
120typedef enum {
121 CRYPT_ECC_CACHE_PUBKEY = 0x00000001,
123 CRYPT_ECC_MAXFLAG
125
131typedef struct {
132 uint8_t *d;
133 uint8_t *n;
134 uint8_t *p;
135 uint8_t *q;
136 uint8_t *dP;
137 uint8_t *dQ;
138 uint8_t *qInv;
139 uint8_t *e;
140 uint32_t dLen;
141 uint32_t nLen;
142 uint32_t pLen;
143 uint32_t qLen;
144 uint32_t dPLen;
145 uint32_t dQLen;
146 uint32_t qInvLen;
147 uint32_t eLen;
149
155typedef struct {
156 uint8_t *p;
157 uint8_t *a;
158 uint8_t *b;
159 uint8_t *n;
160 uint8_t *h;
161 uint8_t *x;
162 uint8_t *y;
163 uint32_t pLen;
164 uint32_t aLen;
165 uint32_t bLen;
166 uint32_t nLen;
167 uint32_t hLen;
168 uint32_t xLen;
169 uint32_t yLen;
171
177typedef struct {
178 uint8_t *n;
179 uint8_t *lambda;
180 uint8_t *mu;
181 uint8_t *n2;
182 uint32_t nLen;
183 uint32_t lambdaLen;
184 uint32_t muLen;
185 uint32_t n2Len;
187
188typedef struct {
189 /* Initialization parameters of the noise source */
190 void *para;
191 /* Noise Source Initialization Interface */
192 void *(*init)(void *para);
193 /* Noise source read interface,can't be NULL */
194 int32_t (*read)(void *ctx, uint32_t timeout, uint8_t *buf, uint32_t bufLen);
195 /* Noise Source Deinitialization Interface */
196 void (*deinit)(void *ctx);
198
199typedef struct {
200 /* Repetition Count Test: the cutoff value C */
201 uint32_t rctCutoff;
202 /* Adaptive Proportion Test: the cutoff value C */
203 uint32_t aptCutoff;
204 /* Adaptive Proportion Test: the window size W
205 * see nist.sp.800-90b section 4.4.2
206 * The window size W is selected based on the alphabet size, and shall be assigned to 1024
207 * if the noise source is binary (that is, the noise source produces only two distinct values) and 512 if
208 * the noise source is not binary (that is, the noise source produces more than two distinct values).
209 */
210 uint32_t aptWinSize;
212
213typedef struct {
214 /* Noise source name, which must be unique. */
215 const char *name;
216 /* Whether the noise source automatically performs the health test */
217 bool autoTest;
218 /* Minimum entropy, that is, the number of bits of entropy for a byte */
219 uint32_t minEntropy;
220 CRYPT_EAL_NsMethod nsMeth;
223
234typedef uint32_t (*CRYPT_EAL_EntropyGet)(void *ctx, uint8_t *buf, uint32_t bufLen);
235
236typedef struct {
237 /* Whether Physical Entropy Source. */
238 bool isPhysical;
239 /* minimum entropy, (0, 8]. */
240 uint32_t minEntropy;
241 /* entropy source handle */
242 void *entropyCtx;
243 CRYPT_EAL_EntropyGet entropyGet;
245
246
252typedef struct {
253 uint8_t *p;
254 uint8_t *g;
255 uint8_t *x;
256
257 uint32_t pLen;
258 uint32_t gLen;
259 uint32_t xLen;
260
262
269
276
283
290
297
304
311
318
325
331typedef struct {
332 uint8_t *e;
333 uint8_t *n;
334 uint32_t eLen;
335 uint32_t nLen;
337
343typedef struct {
344 uint8_t *n;
345 uint8_t *g;
346 uint8_t *n2;
347 uint32_t nLen;
348 uint32_t gLen;
349 uint32_t n2Len;
351
352
356typedef struct {
357 uint8_t *seed; // Seed for generating keys
358 uint8_t *root; // Root node of the top XMSS tree
359 uint32_t len; // key length
361
365typedef struct {
366 uint8_t *seed; // Seed for generating keys
367 uint8_t *prf; // To generate randomization value
368 CRYPT_SlhDsaPub pub; // pubkey
370
374typedef CRYPT_SlhDsaPub CRYPT_XmssPub;
375
379typedef struct {
380 uint8_t *seed; // Seed for generating keys
381 uint8_t *prf; // To generate randomization value
382 uint64_t index; // ots key index
383 CRYPT_XmssPub pub; // pubkey
385
391typedef struct {
392 uint8_t *p;
393 uint8_t *g;
394 uint8_t *y;
395 uint8_t *q;
396 uint32_t pLen;
397 uint32_t gLen;
398 uint32_t yLen;
399 uint32_t qLen;
401
408
415
422
429
436
443
450
457
464
470typedef struct {
471 uint8_t *e;
472 uint32_t eLen;
473 uint32_t bits;
475
481typedef struct {
482 uint8_t *p;
483 uint8_t *q;
484 uint8_t *g;
485 uint32_t pLen;
486 uint32_t qLen;
487 uint32_t gLen;
489
495typedef struct {
496 uint8_t *p;
497 uint8_t *q;
498 uint8_t *g;
499 uint32_t pLen;
500 uint32_t qLen;
501 uint32_t gLen;
503
509typedef struct {
510 uint8_t *p;
511 uint8_t *q;
512 uint32_t pLen;
513 uint32_t qLen;
514 uint32_t bits;
516
522typedef struct {
523 uint8_t *q;
524 uint32_t qLen;
525 uint32_t bits;
526 uint32_t k_bits;
528
543typedef int32_t (*CRYPT_EAL_GetEntropyCb)(void *ctx, CRYPT_Data *entropy, uint32_t strength, CRYPT_Range *lenRange);
544
552typedef void (*CRYPT_EAL_CleanEntropyCb)(void *ctx, CRYPT_Data *entropy);
553
567typedef int32_t (*CRYPT_EAL_GetNonceCb)(void *ctx, CRYPT_Data *nonce, uint32_t strength, CRYPT_Range *lenRange);
568
576typedef void (*CRYPT_EAL_CleanNonceCb)(void *ctx, CRYPT_Data *nonce);
577
587typedef struct {
588 CRYPT_EAL_GetEntropyCb getEntropy;
589 CRYPT_EAL_CleanEntropyCb cleanEntropy;
590 CRYPT_EAL_GetNonceCb getNonce;
591 CRYPT_EAL_CleanNonceCb cleanNonce;
593
599typedef enum {
600 CRYPT_CTRL_SET_IV = 0,
601 CRYPT_CTRL_GET_IV,
602 CRYPT_CTRL_GET_BLOCKSIZE,
603 CRYPT_CTRL_SET_COUNT,
605 CRYPT_CTRL_SET_AAD,
606 CRYPT_CTRL_GET_TAG,
607 CRYPT_CTRL_SET_TAGLEN,
609 CRYPT_CTRL_SET_MSGLEN,
612 CRYPT_CTRL_SET_FEEDBACKSIZE,
613 CRYPT_CTRL_GET_FEEDBACKSIZE,
614 CRYPT_CTRL_DES_NOKEYCHECK,
615 CRYPT_CTRL_SET_PADDING,
616 CRYPT_CTRL_GET_PADDING,
617 CRYPT_CTRL_REINIT_STATUS,
618 CRYPT_CTRL_MAX
619} CRYPT_CipherCtrl;
620
626typedef enum {
627 // common
628 CRYPT_CTRL_UP_REFERENCES = 0,
630 CRYPT_CTRL_SET_PARA_BY_ID, /* Asymmetric cipher set para by id. */
631 CRYPT_CTRL_SET_NO_PADDING,
632
633 CRYPT_CTRL_GET_PARAID, /* Asymmetric cipher get id of para. */
634 CRYPT_CTRL_GET_BITS, /* Asymmetric cipher get bits . */
635 CRYPT_CTRL_GET_SIGNLEN, /* Asymmetric cipher get signlen . */
636 CRYPT_CTRL_GET_SECBITS, /* Asymmetric cipher get secure bits . */
637 CRYPT_CTRL_GET_SHARED_KEY_LEN,
638 CRYPT_CTRL_GET_PUBKEY_LEN,
639 CRYPT_CTRL_GET_PRVKEY_LEN,
640 CRYPT_CTRL_GET_CIPHERTEXT_LEN,
641 CRYPT_CTRL_SET_DETERMINISTIC_FLAG,
642 CRYPT_CTRL_SET_CTX_INFO,
643 CRYPT_CTRL_SET_PREHASH_FLAG,
644 CRYPT_CTRL_GEN_PARA,
645 CRYPT_CTRL_SET_GEN_FLAG,
646 CRYPT_CTRL_GET_PUB_KEY_BITS,
647 CRYPT_CTRL_SET_SIGN_MD,
648 CRYPT_CTRL_GET_ECC_POINT_FORMAT,
649 CRYPT_CTRL_CLEAN_PUB_KEY,
650 // dh
651 CRYPT_CTRL_SET_DH_FLAG = 150,
652
653 // rsa
654 CRYPT_CTRL_SET_RSA_EMSA_PKCSV15 = 200,
655 CRYPT_CTRL_GET_RSA_SALT,
656 CRYPT_CTRL_SET_RSA_EMSA_PSS,
657 CRYPT_CTRL_SET_RSA_SALT,
663 CRYPT_CTRL_SET_RSA_PADDING,
664 CRYPT_CTRL_SET_RSA_RSAES_OAEP,
665 CRYPT_CTRL_SET_RSA_OAEP_LABEL,
666 CRYPT_CTRL_SET_RSA_FLAG,
667 CRYPT_CTRL_SET_RSA_RSAES_PKCSV15,
668 CRYPT_CTRL_SET_RSA_RSAES_PKCSV15_TLS,
669 CRYPT_CTRL_GET_RSA_SALTLEN,
672 CRYPT_CTRL_GET_RSA_PADDING,
673 CRYPT_CTRL_GET_RSA_MD,
674 CRYPT_CTRL_GET_RSA_MGF,
675 CRYPT_CTRL_CLR_RSA_FLAG,
676 CRYPT_CTRL_SET_RSA_BSSA_FACTOR_R,
677 CRYPT_CTRL_SET_RSA_EMSA_ISO9796_2,
678
679 // ecc
680 CRYPT_CTRL_SET_SM2_USER_ID = 300,
681 CRYPT_CTRL_SET_SM2_SERVER, /* SM2 set the user status. */
682 CRYPT_CTRL_SET_SM2_R, /* SM2 set the R value. */
683 CRYPT_CTRL_SET_SM2_RANDOM, /* SM2 set the r value. */
684 CRYPT_CTRL_SET_SM2_PKG, /* SM2 uses the PKG process. */
685 CRYPT_CTRL_SET_SM2_K, /* SM2 set the K value. */
686
687 CRYPT_CTRL_SET_ECC_POINT_FORMAT,
689 CRYPT_CTRL_SET_ECC_USE_COFACTOR_MODE,
692
693 CRYPT_CTRL_SM2_GET_SEND_CHECK, /* SM2 obtain the check value sent from the local end to the peer end. */
694 CRYPT_CTRL_GENE_SM2_R, /* SM2 obtain the R value. */
695
696 CRYPT_CTRL_SM2_DO_CHECK, /* SM2 check the shared key. */
697 CRYPT_CTRL_GEN_ECC_PUBLICKEY,
698 CRYPT_CTRL_GET_ECC_PUB_X_BIN,
699 CRYPT_CTRL_GET_ECC_PUB_Y_BIN,
700 CRYPT_CTRL_GET_ECC_ORDER_BITS,
701 CRYPT_CTRL_GET_ECC_NAME,
702 CRYPT_CTRL_GEN_X25519_PUBLICKEY,
703 CRYPT_CTRL_GET_SM2_RANDOM,
704 CRYPT_CTRL_GET_FLAG,
705 CRYPT_CTRL_SET_FLAG,
706 CRYPT_CTRL_CLR_FLAG,
707
708 // slh-dsa
709 CRYPT_CTRL_GET_SLH_DSA_KEY_LEN = 600,
710 CRYPT_CTRL_SET_SLH_DSA_ADDRAND,
711 // mldsa
712 CRYPT_CTRL_SET_MLDSA_ENCODE_FLAG = 700,
713 CRYPT_CTRL_SET_MLDSA_MUMSG_FLAG,
714 CRYPT_CTRL_GET_MLDSA_SEED,
715 CRYPT_CTRL_SET_MLDSA_PRVKEY_FORMAT,
716 CRYPT_CTRL_GET_MLDSA_PRVKEY_FORMAT,
717
718 // mlkem
719 CRYPT_CTRL_GET_MLKEM_SEED = 750,
720 CRYPT_CTRL_SET_MLKEM_DK_FORMAT,
721 CRYPT_CTRL_GET_MLKEM_DK_FORMAT,
722
723 // xmss
724 CRYPT_CTRL_GET_XMSS_XDR_ALG_TYPE = 800,
725 CRYPT_CTRL_SET_XMSS_XDR_ALG_TYPE = 801,
726} CRYPT_PkeyCtrl;
727
728
729typedef enum {
730 CRYPT_CTRL_SET_GM_LEVEL,
731 CRYPT_CTRL_SET_RESEED_INTERVAL,
732 CRYPT_CTRL_SET_RESEED_TIME,
733 CRYPT_CTRL_GET_RESEED_INTERVAL,
734 CRYPT_CTRL_GET_RESEED_TIME,
735 CRYPT_CTRL_SET_PREDICTION_RESISTANCE,
736 CRYPT_CTRL_GET_WORKING_STATUS,
737 CRYPT_CTRL_RAND_MAX = 0xff,
738} CRYPT_RandCtrl;
739
745typedef enum {
746 CRYPT_CTRL_SET_CBC_MAC_PADDING = 0,
747 CRYPT_CTRL_GET_MACLEN, /* Mac get maxlen . */
748 CRYPT_CTRL_MAC_MAX
749} CRYPT_MacCtrl;
750
756typedef enum {
757 CRYPT_ENTROPY_SET_POOL_SIZE = 0,
758 CRYPT_ENTROPY_SET_CF,
759 CRYPT_ENTROPY_ADD_NS,
760 CRYPT_ENTROPY_REMOVE_NS,
761 CRYPT_ENTROPY_ENABLE_TEST,
762 CRYPT_ENTROPY_GET_STATE,
763 CRYPT_ENTROPY_GET_POOL_SIZE,
764 CRYPT_ENTROPY_POOL_GET_CURRSIZE,
765 CRYPT_ENTROPY_GET_CF_SIZE,
766 CRYPT_ENTROPY_GATHER_ENTROPY,
773 CRYPT_ENTROPY_SET_LOG_CALLBACK,
775 CRYPT_ENTROPY_MAX
776} CRYPT_ENTROPY_TYPE;
777
783typedef enum {
784 CRYPT_PADDING_NONE = 0,
785 CRYPT_PADDING_ZEROS,
786 CRYPT_PADDING_ISO7816,
787 CRYPT_PADDING_X923,
788 CRYPT_PADDING_PKCS5,
789 CRYPT_PADDING_PKCS7,
790 CRYPT_PADDING_MAX_COUNT
791} CRYPT_PaddingType;
792
793typedef enum {
794 CRYPT_EMSA_PKCSV15 = 1,
795 CRYPT_EMSA_PSS,
796 CRYPT_RSAES_OAEP,
797 CRYPT_RSAES_PKCSV15,
798 CRYPT_RSA_NO_PAD,
799 CRYPT_RSAES_PKCSV15_TLS, /* Specific RSA pkcs1.5 padding verification process to
800 prevent possible Bleichenbacher attacks */
801 CRYPT_EMSA_ISO9796_2,
802 CRYPT_RSA_PADDINGMAX,
803} CRYPT_RsaPadType;
804
837
843typedef enum {
844 CRYPT_ALGO_CIPHER = 0,
845 CRYPT_ALGO_PKEY,
846 CRYPT_ALGO_MD,
847 CRYPT_ALGO_MAC,
848 CRYPT_ALGO_KDF,
849 CRYPT_ALGO_RAND
851
852typedef enum {
853 CRYPT_ALGO_MLDSA_PRIV_FORMAT_NOT_SET = 0,
854 CRYPT_ALGO_MLDSA_PRIV_FORMAT_BOTH,
855 CRYPT_ALGO_MLDSA_PRIV_FORMAT_PRIV_ONLY,
856 CRYPT_ALGO_MLDSA_PRIV_FORMAT_SEED_ONLY,
857 CRYPT_ALGO_MLDSA_PRIV_FORMAT_END,
858} CRYPT_ALGO_MLDSA_PRIV_KEY_FORMAT_TYPE;
859
860typedef enum {
861 CRYPT_ALGO_MLKEM_DK_FORMAT_NOT_SET = 0,
862 CRYPT_ALGO_MLKEM_DK_FORMAT_BOTH,
863 CRYPT_ALGO_MLKEM_DK_FORMAT_DK_ONLY,
864 CRYPT_ALGO_MLKEM_DK_FORMAT_SEED_ONLY,
865 CRYPT_ALGO_MLKEM_DK_FORMAT_END,
866} CRYPT_ALGO_MLKEM_DK_FORMAT_TYPE;
867
880typedef void (*EventReport)(CRYPT_EVENT_TYPE oper, CRYPT_ALGO_TYPE type, int32_t id, int32_t err);
881
895
901typedef enum {
902 CRYPT_INFO_IS_AEAD = 0,
903 CRYPT_INFO_IS_STREAM,
904 CRYPT_INFO_IV_LEN,
905 CRYPT_INFO_KEY_LEN,
906 CRYPT_INFO_BLOCK_LEN,
907 CRYPT_INFO_MAX
908} CRYPT_INFO_TYPE;
909
910typedef enum {
911 CRYPT_KDF_HKDF_MODE_FULL = 0,
912 CRYPT_KDF_HKDF_MODE_EXTRACT,
913 CRYPT_KDF_HKDF_MODE_EXPAND,
914} CRYPT_HKDF_MODE;
915
916typedef enum {
917 CRYPT_ENCDEC_UNKNOW,
918 CRYPT_PRIKEY_PKCS8_UNENCRYPT,
919 CRYPT_PRIKEY_PKCS8_ENCRYPT,
920 CRYPT_PRIKEY_RSA,
921 CRYPT_PRIKEY_ECC,
922 CRYPT_PUBKEY_SUBKEY,
923 CRYPT_PUBKEY_RSA,
924 CRYPT_PUBKEY_SUBKEY_WITHOUT_SEQ,
925} CRYPT_ENCDEC_TYPE;
926
927typedef enum {
928 CRYPT_DERIVE_PBKDF2,
929} CRYPT_DERIVE_MODE;
930
931typedef struct {
932 uint32_t deriveMode;
933 void *param;
935
936typedef struct {
937 uint32_t pbesId;
938 uint32_t pbkdfId;
939 uint32_t hmacId;
940 uint32_t symId;
941 uint32_t saltLen;
942 uint8_t *pwd;
943 uint32_t pwdLen;
944 uint32_t itCnt;
946
947typedef struct EAL_LibCtx CRYPT_EAL_LibCtx;
948
949/* The hitls framework generates context for each provider */
950typedef struct EAL_ProviderMgrCtx CRYPT_EAL_ProvMgrCtx;
951
952typedef struct {
953 int32_t id;
954 void *func;
956
957typedef enum {
958 CRYPT_CMVP_PROVIDER_SELFTEST = 0x01,
959} CRYPT_CMVP_SELFTEST_AlgId;
960
961#ifdef __cplusplus
962}
963#endif // __cplusplus
964
965#endif // CRYPT_TYPES_H
CRYPT_MD_AlgId
定义 crypt_algid.h:68
void CRYPT_EAL_RegEventReport(EventReport func)
CRYPT_Data CRYPT_KemEncapsKey
定义 crypt_types.h:456
CRYPT_Data CRYPT_EccPub
定义 crypt_types.h:414
uint32_t(* CRYPT_EAL_EntropyGet)(void *ctx, uint8_t *buf, uint32_t bufLen)
Entropy source callback for obtaining entropy data.
定义 crypt_types.h:234
CRYPT_ECC_Flag
定义 crypt_types.h:120
CRYPT_Data CRYPT_Sm2Prv
定义 crypt_types.h:289
CRYPT_Data CRYPT_DsaPrv
定义 crypt_types.h:268
void(* EventReport)(CRYPT_EVENT_TYPE oper, CRYPT_ALGO_TYPE type, int32_t id, int32_t err)
event report.
定义 crypt_types.h:880
CRYPT_Data CRYPT_DsaPub
定义 crypt_types.h:407
void(* CRYPT_EAL_CleanEntropyCb)(void *ctx, CRYPT_Data *entropy)
The entropy source memory is cleared, this API is optional.
定义 crypt_types.h:552
CRYPT_Data CRYPT_MlDsaPrv
定义 crypt_types.h:324
CRYPT_RSA_SaltLenType
定义 crypt_types.h:77
CRYPT_ALGO_TYPE
定义 crypt_types.h:843
CRYPT_Data CRYPT_EcdsaPub
定义 crypt_types.h:421
CRYPT_Data CRYPT_KemDecapsKey
定义 crypt_types.h:317
CRYPT_EVENT_TYPE
定义 crypt_types.h:810
CRYPT_Data CRYPT_DhPrv
定义 crypt_types.h:296
CRYPT_Data CRYPT_Curve25519Prv
定义 crypt_types.h:310
void(* CRYPT_EAL_CleanNonceCb)(void *ctx, CRYPT_Data *nonce)
Random number memory clearance. this API is optional.
定义 crypt_types.h:576
CRYPT_Data CRYPT_EccPrv
定义 crypt_types.h:275
CRYPT_Data CRYPT_EcdsaPrv
定义 crypt_types.h:282
CRYPT_Data CRYPT_Curve25519Pub
定义 crypt_types.h:449
int32_t(* CRYPT_EAL_GetEntropyCb)(void *ctx, CRYPT_Data *entropy, uint32_t strength, CRYPT_Range *lenRange)
定义 crypt_types.h:543
CRYPT_Data CRYPT_EcdhPrv
定义 crypt_types.h:303
CRYPT_Data CRYPT_EcdhPub
定义 crypt_types.h:442
CRYPT_Data CRYPT_Sm2Pub
定义 crypt_types.h:428
CRYPT_Data CRYPT_MlDsaPub
定义 crypt_types.h:463
int32_t(* CRYPT_EAL_GetNonceCb)(void *ctx, CRYPT_Data *nonce, uint32_t strength, CRYPT_Range *lenRange)
Obtain the random number. This API is not need to registered. For registration, the output data must ...
定义 crypt_types.h:567
CRYPT_Data CRYPT_DhPub
定义 crypt_types.h:435
@ CRYPT_ECC_PRIKEY_NO_PUBKEY
定义 crypt_types.h:122
@ CRYPT_EVENT_ENCAPS
定义 crypt_types.h:825
@ CRYPT_EVENT_ES_HEALTH_TEST
定义 crypt_types.h:832
@ CRYPT_EVENT_ERR
定义 crypt_types.h:822
@ CRYPT_EVENT_KAT_TEST
定义 crypt_types.h:831
@ CRYPT_EVENT_KDF
定义 crypt_types.h:818
@ CRYPT_EVENT_GET_VERSION
定义 crypt_types.h:834
@ CRYPT_EVENT_RANDGEN
定义 crypt_types.h:820
@ CRYPT_EVENT_ZERO
定义 crypt_types.h:821
@ CRYPT_EVENT_PARAM_CHECK
定义 crypt_types.h:829
@ CRYPT_EVENT_BLIND
定义 crypt_types.h:827
@ CRYPT_EVENT_KEYAGGREMENT
定义 crypt_types.h:819
@ CRYPT_EVENT_SETSSP
定义 crypt_types.h:823
@ CRYPT_EVENT_MAC
定义 crypt_types.h:817
@ CRYPT_EVENT_SIGN
定义 crypt_types.h:814
@ CRYPT_EVENT_GEN
定义 crypt_types.h:813
@ CRYPT_EVENT_ENC
定义 crypt_types.h:811
@ CRYPT_EVENT_PCT_TEST
定义 crypt_types.h:830
@ CRYPT_EVENT_INTEGRITY_TEST
定义 crypt_types.h:833
@ CRYPT_EVENT_DECAPS
定义 crypt_types.h:826
@ CRYPT_EVENT_GETSSP
定义 crypt_types.h:824
@ CRYPT_EVENT_VERIFY
定义 crypt_types.h:815
@ CRYPT_EVENT_DEC
定义 crypt_types.h:812
@ CRYPT_EVENT_UNBLIND
定义 crypt_types.h:828
@ CRYPT_EVENT_MD
定义 crypt_types.h:816
定义 crypt_types.h:48
定义 crypt_types.h:38
uint32_t len
定义 crypt_types.h:40
uint8_t * data
定义 crypt_types.h:39
定义 crypt_types.h:495
uint8_t * g
定义 crypt_types.h:498
uint32_t pLen
定义 crypt_types.h:499
uint32_t qLen
定义 crypt_types.h:500
uint32_t gLen
定义 crypt_types.h:501
uint8_t * q
定义 crypt_types.h:497
uint8_t * p
定义 crypt_types.h:496
定义 crypt_types.h:481
uint32_t qLen
定义 crypt_types.h:486
uint8_t * g
定义 crypt_types.h:484
uint8_t * q
定义 crypt_types.h:483
uint32_t pLen
定义 crypt_types.h:485
uint32_t gLen
定义 crypt_types.h:487
uint8_t * p
定义 crypt_types.h:482
定义 crypt_types.h:236
定义 crypt_types.h:952
定义 crypt_types.h:188
定义 crypt_types.h:213
定义 crypt_types.h:199
定义 crypt_types.h:155
定义 crypt_types.h:522
uint32_t qLen
定义 crypt_types.h:524
uint32_t k_bits
定义 crypt_types.h:526
uint8_t * q
定义 crypt_types.h:523
uint32_t bits
定义 crypt_types.h:525
定义 crypt_types.h:252
uint8_t * g
定义 crypt_types.h:254
uint8_t * x
定义 crypt_types.h:255
uint32_t pLen
定义 crypt_types.h:257
uint32_t xLen
定义 crypt_types.h:259
uint32_t gLen
定义 crypt_types.h:258
uint8_t * p
定义 crypt_types.h:253
定义 crypt_types.h:391
uint32_t pLen
定义 crypt_types.h:396
uint8_t * q
定义 crypt_types.h:395
uint8_t * g
定义 crypt_types.h:393
uint8_t * p
定义 crypt_types.h:392
uint32_t gLen
定义 crypt_types.h:397
uint32_t yLen
定义 crypt_types.h:398
uint8_t * y
定义 crypt_types.h:394
uint32_t qLen
定义 crypt_types.h:399
定义 crypt_types.h:931
定义 crypt_types.h:509
uint8_t * p
定义 crypt_types.h:510
uint32_t pLen
定义 crypt_types.h:512
uint32_t bits
定义 crypt_types.h:514
uint8_t * q
定义 crypt_types.h:511
uint32_t qLen
定义 crypt_types.h:513
定义 crypt_types.h:177
uint8_t * mu
定义 crypt_types.h:180
uint32_t muLen
定义 crypt_types.h:184
uint8_t * n2
定义 crypt_types.h:181
uint8_t * n
定义 crypt_types.h:178
uint32_t nLen
定义 crypt_types.h:182
uint32_t n2Len
定义 crypt_types.h:185
uint8_t * lambda
定义 crypt_types.h:179
uint32_t lambdaLen
定义 crypt_types.h:183
定义 crypt_types.h:343
uint32_t nLen
定义 crypt_types.h:347
uint32_t n2Len
定义 crypt_types.h:349
uint8_t * g
定义 crypt_types.h:345
uint32_t gLen
定义 crypt_types.h:348
uint8_t * n
定义 crypt_types.h:344
uint8_t * n2
定义 crypt_types.h:346
定义 crypt_types.h:936
定义 crypt_types.h:98
CRYPT_MD_AlgId mdId
定义 crypt_types.h:99
CRYPT_MD_AlgId mgfId
定义 crypt_types.h:100
Pkcsv15 padding mode, when RSA is used for signature.
定义 crypt_types.h:68
CRYPT_MD_AlgId mdId
定义 crypt_types.h:69
定义 crypt_types.h:92
CRYPT_MD_AlgId mgfId
定义 crypt_types.h:95
CRYPT_MD_AlgId mdId
定义 crypt_types.h:94
int32_t saltLen
定义 crypt_types.h:93
定义 crypt_types.h:587
定义 crypt_types.h:58
uint32_t max
定义 crypt_types.h:60
uint32_t min
定义 crypt_types.h:59
定义 crypt_types.h:470
uint8_t * e
定义 crypt_types.h:471
uint32_t eLen
定义 crypt_types.h:472
uint32_t bits
定义 crypt_types.h:473
定义 crypt_types.h:131
uint8_t * q
定义 crypt_types.h:135
uint8_t * d
定义 crypt_types.h:132
uint8_t * e
定义 crypt_types.h:139
uint32_t qInvLen
定义 crypt_types.h:146
uint32_t qLen
定义 crypt_types.h:143
uint32_t dQLen
定义 crypt_types.h:145
uint32_t eLen
定义 crypt_types.h:147
uint8_t * n
定义 crypt_types.h:133
uint8_t * qInv
定义 crypt_types.h:138
uint32_t nLen
定义 crypt_types.h:141
uint32_t dPLen
定义 crypt_types.h:144
uint8_t * dP
定义 crypt_types.h:136
uint8_t * dQ
定义 crypt_types.h:137
uint8_t * p
定义 crypt_types.h:134
uint32_t dLen
定义 crypt_types.h:140
uint32_t pLen
定义 crypt_types.h:142
定义 crypt_types.h:331
uint32_t eLen
定义 crypt_types.h:334
uint8_t * e
定义 crypt_types.h:332
uint32_t nLen
定义 crypt_types.h:335
uint8_t * n
定义 crypt_types.h:333
SLH-DSA private key structure
定义 crypt_types.h:365
SLH-DSA public key structure
定义 crypt_types.h:356
XMSS private key structure
定义 crypt_types.h:379