Bouffalo SDK  1.0
Bouffalolab Software Development Kit
bflb_sec_dsa.h
Go to the documentation of this file.
1 #ifndef _BFLB_SEC_DSA_H
2 #define _BFLB_SEC_DSA_H
3 
4 #include "bflb_core.h"
5 
15  uint32_t *dP;
16  uint32_t *dQ;
17  uint32_t *qInv;
18  uint32_t *p;
19  uint32_t *invR_p;
20  uint32_t *primeN_p;
21  uint32_t *q;
22  uint32_t *invR_q;
23  uint32_t *primeN_q;
24 };
25 
26 struct bflb_dsa_s {
27  uint32_t size;
28  uint32_t crtSize;
29  uint32_t *n;
30  uint32_t *e;
31  uint32_t *d;
32  struct bflb_dsa_crt_s crtCfg;
33 };
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
46 int bflb_sec_dsa_init(struct bflb_dsa_s *handle, uint32_t size);
47 
57 int bflb_sec_dsa_sign(struct bflb_dsa_s *handle, const uint32_t *hash, uint32_t hashLenInWord, uint32_t *s);
58 
68 int bflb_sec_dsa_verify(struct bflb_dsa_s *handle, const uint32_t *hash, uint32_t hashLenInWord, const uint32_t *s);
69 
70 #ifdef __cplusplus
71 }
72 #endif
73 
82 #endif
uint32_t * primeN_p
Definition: bflb_sec_dsa.h:20
uint32_t size
Definition: bflb_sec_dsa.h:27
uint32_t * dP
Definition: bflb_sec_dsa.h:15
uint32_t * primeN_q
Definition: bflb_sec_dsa.h:23
uint32_t * d
Definition: bflb_sec_dsa.h:31
uint32_t * invR_p
Definition: bflb_sec_dsa.h:19
uint32_t * q
Definition: bflb_sec_dsa.h:21
uint32_t * dQ
Definition: bflb_sec_dsa.h:16
uint32_t * qInv
Definition: bflb_sec_dsa.h:17
uint32_t crtSize
Definition: bflb_sec_dsa.h:28
uint32_t * n
Definition: bflb_sec_dsa.h:29
int bflb_sec_dsa_init(struct bflb_dsa_s *handle, uint32_t size)
int bflb_sec_dsa_verify(struct bflb_dsa_s *handle, const uint32_t *hash, uint32_t hashLenInWord, const uint32_t *s)
uint32_t * e
Definition: bflb_sec_dsa.h:30
uint32_t * invR_q
Definition: bflb_sec_dsa.h:22
uint32_t * p
Definition: bflb_sec_dsa.h:18
int bflb_sec_dsa_sign(struct bflb_dsa_s *handle, const uint32_t *hash, uint32_t hashLenInWord, uint32_t *s)