Bouffalo SDK  1.0
Bouffalolab Software Development Kit
bflb_sec_pka.h File Reference
#include "bflb_core.h"
Include dependency graph for bflb_sec_pka.h:

Go to the source code of this file.

Macros

#define SEC_ENG_PKA_REG_SIZE_8   1
 
#define SEC_ENG_PKA_REG_SIZE_16   2
 
#define SEC_ENG_PKA_REG_SIZE_32   3
 
#define SEC_ENG_PKA_REG_SIZE_64   4
 
#define SEC_ENG_PKA_REG_SIZE_96   5
 
#define SEC_ENG_PKA_REG_SIZE_128   6
 
#define SEC_ENG_PKA_REG_SIZE_192   7
 
#define SEC_ENG_PKA_REG_SIZE_256   8
 
#define SEC_ENG_PKA_REG_SIZE_384   9
 
#define SEC_ENG_PKA_REG_SIZE_512   10
 
#define SEC_ENG_PKA_OP_PPSEL   0x00
 
#define SEC_ENG_PKA_OP_LMOD2N   0x11
 
#define SEC_ENG_PKA_OP_LDIV2N   0x12
 
#define SEC_ENG_PKA_OP_LMUL2N   0x13
 
#define SEC_ENG_PKA_OP_LDIV   0x14
 
#define SEC_ENG_PKA_OP_LSQR   0x15
 
#define SEC_ENG_PKA_OP_LMUL   0x16
 
#define SEC_ENG_PKA_OP_LSUB   0x17
 
#define SEC_ENG_PKA_OP_LADD   0x18
 
#define SEC_ENG_PKA_OP_LCMP   0x19
 
#define SEC_ENG_PKA_OP_MDIV2   0x21
 
#define SEC_ENG_PKA_OP_MINV   0x22
 
#define SEC_ENG_PKA_OP_MEXP   0x23
 
#define SEC_ENG_PKA_OP_MSQR   0x24
 
#define SEC_ENG_PKA_OP_MMUL   0x25
 
#define SEC_ENG_PKA_OP_MREM   0x26
 
#define SEC_ENG_PKA_OP_MSUB   0x27
 
#define SEC_ENG_PKA_OP_MADD   0x28
 
#define SEC_ENG_PKA_OP_RESIZE   0x31
 
#define SEC_ENG_PKA_OP_MOVDAT   0x32
 
#define SEC_ENG_PKA_OP_NLIR   0x33
 
#define SEC_ENG_PKA_OP_SLIR   0x34
 
#define SEC_ENG_PKA_OP_CLIR   0x35
 
#define SEC_ENG_PKA_OP_CFLIRI_BUFFER   0x36
 
#define SEC_ENG_PKA_OP_CTLIRI_PLD   0x37
 
#define SEC_ENG_PKA_OP_CFLIR_BUFFER   0x38
 
#define SEC_ENG_PKA_OP_CTLIR_PLD   0x39
 

Functions

void bflb_pka_init (struct bflb_device_s *dev)
 
void bflb_pka_deinit (struct bflb_device_s *dev)
 
void bflb_pka_lmod2n (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint16_t bit_shift, uint8_t lastop)
 
void bflb_pka_ldiv2n (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint16_t bit_shift, uint8_t lastop)
 
void bflb_pka_lmul2n (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint16_t bit_shift, uint8_t lastop)
 
void bflb_pka_ldiv (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_lsqr (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
 
void bflb_pka_lmul (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t lastop)
 
void bflb_pka_lsub (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t lastop)
 
void bflb_pka_ladd (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t lastop)
 
uint8_t bflb_pka_lcmp (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t s1_regindex, uint8_t s1_regsize)
 
void bflb_pka_minv (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_mexp (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_msqr (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_mmul (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_mrem (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_msub (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_madd (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
 
void bflb_pka_regsize (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
 
void bflb_pka_movdat (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
 
void bflb_pka_nlir (struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
 
void bflb_pka_slir (struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, uint32_t data, uint8_t lastop)
 
void bflb_pka_clir (struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, uint16_t size, uint8_t lastop)
 
void bflb_pka_write (struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, const uint32_t *data, uint16_t size, uint8_t lastop)
 
void bflb_pka_read (struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, uint32_t *data, uint16_t size)
 
void bflb_pka_gf2mont (struct bflb_device_s *dev, uint8_t s_regindex, uint8_t s_regsize, uint8_t d_regindex, uint8_t d_regsize, uint8_t t_regindex, uint8_t t_regsize, uint8_t p_regindex, uint8_t p_regsize, uint32_t size)
 
void bflb_pka_mont2gf (struct bflb_device_s *dev, uint8_t s_regindex, uint8_t s_regsize, uint8_t d_regindex, uint8_t d_regsize, uint8_t invt_regindex, uint8_t invt_regsize, uint8_t t_regindex, uint8_t t_regsize, uint8_t p_regindex, uint8_t p_regsize)