📄 sec2.h
字号:
/* * MOD_2OP_REQ * */typedef struct{ COMMON_REQ_PREAMBLE unsigned long bDataBytes; unsigned char *bData; unsigned long aDataBytes; unsigned char *aData; unsigned long modBytes; unsigned char *modData; unsigned long outBytes; unsigned char *outData;} MOD_2OP_REQ;#endif#define NUM_MOD_2OP_DESC (52)#define DPD_MOD_LDCTX_2OP_ULCTX_GROUP (0x5400)#define DPD_MOD_LDCTX_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 0)#define DPD_MOD_LDCTX_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 1)#define DPD_MOD_LDCTX_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 2)#define DPD_MOD_LDCTX_SUB_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 3)/* equivalents for obsolete names */#define DPD_MM_LDCTX_MUL1_ULCTX DPD_MOD_LDCTX_MUL1_ULCTX#define DPD_MM_LDCTX_MUL2_ULCTX DPD_MOD_LDCTX_MUL2_ULCTX#define DPD_MM_LDCTX_ADD_ULCTX DPD_MOD_LDCTX_ADD_ULCTX#define DPD_MM_LDCTX_SUB_ULCTX DPD_MOD_LDCTX_SUB_ULCTX/* These constants will likely be removed in a future release in favor *//* of a different internal register allocation scheme */#define DPD_POLY_LDCTX_A0_B0_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 4)#define DPD_POLY_LDCTX_A0_B0_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 5)#define DPD_POLY_LDCTX_A0_B0_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 6)#define DPD_POLY_LDCTX_A1_B0_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 7)#define DPD_POLY_LDCTX_A1_B0_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 8)#define DPD_POLY_LDCTX_A1_B0_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 9)#define DPD_POLY_LDCTX_A2_B0_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 10)#define DPD_POLY_LDCTX_A2_B0_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 11)#define DPD_POLY_LDCTX_A2_B0_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 12)#define DPD_POLY_LDCTX_A3_B0_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 13)#define DPD_POLY_LDCTX_A3_B0_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 14)#define DPD_POLY_LDCTX_A3_B0_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 15)#define DPD_POLY_LDCTX_A0_B1_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 16)#define DPD_POLY_LDCTX_A0_B1_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 17)#define DPD_POLY_LDCTX_A0_B1_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 18)#define DPD_POLY_LDCTX_A1_B1_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 19)#define DPD_POLY_LDCTX_A1_B1_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 20)#define DPD_POLY_LDCTX_A1_B1_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 21)#define DPD_POLY_LDCTX_A2_B1_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 22)#define DPD_POLY_LDCTX_A2_B1_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 23)#define DPD_POLY_LDCTX_A2_B1_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 24)#define DPD_POLY_LDCTX_A3_B1_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 25)#define DPD_POLY_LDCTX_A3_B1_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 26)#define DPD_POLY_LDCTX_A3_B1_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 27)#define DPD_POLY_LDCTX_A0_B2_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 28)#define DPD_POLY_LDCTX_A0_B2_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 29)#define DPD_POLY_LDCTX_A0_B2_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 30)#define DPD_POLY_LDCTX_A1_B2_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 31)#define DPD_POLY_LDCTX_A1_B2_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 32)#define DPD_POLY_LDCTX_A1_B2_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 33)#define DPD_POLY_LDCTX_A2_B2_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 34)#define DPD_POLY_LDCTX_A2_B2_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 35)#define DPD_POLY_LDCTX_A2_B2_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 36)#define DPD_POLY_LDCTX_A3_B2_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 37)#define DPD_POLY_LDCTX_A3_B2_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 38)#define DPD_POLY_LDCTX_A3_B2_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 39)#define DPD_POLY_LDCTX_A0_B3_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 40)#define DPD_POLY_LDCTX_A0_B3_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 41)#define DPD_POLY_LDCTX_A0_B3_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 42)#define DPD_POLY_LDCTX_A1_B3_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 43)#define DPD_POLY_LDCTX_A1_B3_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 44)#define DPD_POLY_LDCTX_A1_B3_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 45)#define DPD_POLY_LDCTX_A2_B3_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 46)#define DPD_POLY_LDCTX_A2_B3_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 47)#define DPD_POLY_LDCTX_A2_B3_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 48)#define DPD_POLY_LDCTX_A3_B3_MUL1_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 49)#define DPD_POLY_LDCTX_A3_B3_MUL2_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 50)#define DPD_POLY_LDCTX_A3_B3_ADD_ULCTX (DPD_MOD_LDCTX_2OP_ULCTX_GROUP + 51)#if 0/* * ECC_POINT_REQ - elliptic curve point processing * */typedef struct{ COMMON_REQ_PREAMBLE unsigned long nDataBytes; unsigned char *nData; unsigned long eDataBytes; unsigned char *eData; unsigned long buildDataBytes; unsigned char *buildData; unsigned long b1DataBytes; unsigned char *b1Data; unsigned long b2DataBytes; unsigned char *b2Data; unsigned long b3DataBytes; unsigned char *b3Data;} ECC_POINT_REQ;#endif#define NUM_EC_POINT_DESC (8)#define DPD_EC_LDCTX_kP_ULCTX_GROUP (0x5800)#define DPD_EC_FP_AFF_PT_MULT (DPD_EC_LDCTX_kP_ULCTX_GROUP + 0)#define DPD_EC_FP_PROJ_PT_MULT (DPD_EC_LDCTX_kP_ULCTX_GROUP + 1)#define DPD_EC_F2M_AFF_PT_MULT (DPD_EC_LDCTX_kP_ULCTX_GROUP + 2)#define DPD_EC_F2M_PROJ_PT_MULT (DPD_EC_LDCTX_kP_ULCTX_GROUP + 3)#define DPD_EC_FP_LDCTX_ADD_ULCTX (DPD_EC_LDCTX_kP_ULCTX_GROUP + 4)#define DPD_EC_FP_LDCTX_DOUBLE_ULCTX (DPD_EC_LDCTX_kP_ULCTX_GROUP + 5)#define DPD_EC_F2M_LDCTX_ADD_ULCTX (DPD_EC_LDCTX_kP_ULCTX_GROUP + 6)#define DPD_EC_F2M_LDCTX_DOUBLE_ULCTX (DPD_EC_LDCTX_kP_ULCTX_GROUP + 7)/* legacy name definitions */#define DPD_EC_FP_AFF_LDCTX_kP_ULCTX DPD_EC_FP_AFF_PT_MULT#define DPD_EC_FP_PROJ_LDCTX_kP_ULCTX DPD_EC_FP_PROJ_PT_MULT#define DPD_EC_F2M_AFF_LDCTX_kP_ULCTX DPD_EC_F2M_AFF_PT_MULT#define DPD_EC_F2M_PROJ_LDCTX_kP_ULCTX DPD_EC_F2M_PROJ_PT_MULT/* * ECC_2OP_REQ - F2M elliptic curve operations * */#if 0typedef struct{ COMMON_REQ_PREAMBLE unsigned long bDataBytes; unsigned char *bData; unsigned long aDataBytes; unsigned char *aData; unsigned long modBytes; unsigned char *modData; unsigned long outBytes; unsigned char *outData;} ECC_2OP_REQ;#endif#define NUM_EC_2OP_DESC (1)#define DPD_EC_2OP_GROUP (0x5900)#define DPD_EC_F2M_LDCTX_MUL1_ULCTX (DPD_EC_2OP_GROUP + 0)/* * ECC_SPKBUILD_REQ - elliptic curve request builder * */#if 0typedef struct{ COMMON_REQ_PREAMBLE unsigned long a0DataBytes; unsigned char *a0Data; unsigned long a1DataBytes; unsigned char *a1Data; unsigned long a2DataBytes; unsigned char *a2Data; unsigned long a3DataBytes; unsigned char *a3Data; unsigned long b0DataBytes; unsigned char *b0Data; unsigned long b1DataBytes; unsigned char *b1Data; unsigned long buildDataBytes; unsigned char *buildData;} ECC_SPKBUILD_REQ;#endif#define NUM_EC_SPKBUILD_DESC (1)#define DPD_EC_SPKBUILD_GROUP (0x5c00)#define DPD_EC_SPKBUILD (DPD_EC_SPKBUILD_GROUP + 0)/* * ECC_PTADD_DBL_REQ - elliptic curve point add */#if 0typedef struct{ COMMON_REQ_PREAMBLE unsigned long modBytes; unsigned char *modData; unsigned long buildDataBytes; unsigned char *buildData; unsigned long b2InDataBytes; unsigned char *b2InData; unsigned long b3InDataBytes; unsigned char *b3InData; unsigned long b1DataBytes; unsigned char *b1Data; unsigned long b2DataBytes; unsigned char *b2Data; unsigned long b3DataBytes; unsigned char *b3Data;} ECC_PTADD_DBL_REQ;#endif#define NUM_EC_PTADD_DBL_DESC (4)#define DPD_EC_PTADD_DBL_GROUP (0x5d00)#define DPD_EC_FPADD (DPD_EC_PTADD_DBL_GROUP + 0)#define DPD_EC_FPDBL (DPD_EC_PTADD_DBL_GROUP + 0)#define DPD_EC_F2MADD (DPD_EC_PTADD_DBL_GROUP + 0)#define DPD_EC_F2MDBL (DPD_EC_PTADD_DBL_GROUP + 0)/* * IPSEC_CBC_REQ - common IPSec/DES-CBC compound request operations * */#if 0typedef struct{ COMMON_REQ_PREAMBLE unsigned long hashKeyBytes; unsigned char *hashKeyData; unsigned long cryptKeyBytes; unsigned char *cryptKeyData; unsigned long cryptCtxInBytes; unsigned char *cryptCtxInData; unsigned long hashInDataBytes; unsigned char *hashInData; unsigned long inDataBytes; unsigned char *inData; unsigned char *cryptDataOut; unsigned long hashDataOutBytes; unsigned char *hashDataOut;} IPSEC_CBC_REQ;#endif#define NUM_IPSEC_CBC_DESC (24)#define DPD_IPSEC_CBC_GROUP (0x7000)#define DPD_IPSEC_CBC_SDES_ENCRYPT_MD5_PAD (DPD_IPSEC_CBC_GROUP + 0)#define DPD_IPSEC_CBC_SDES_ENCRYPT_SHA_PAD (DPD_IPSEC_CBC_GROUP + 1)#define DPD_IPSEC_CBC_SDES_ENCRYPT_SHA256_PAD (DPD_IPSEC_CBC_GROUP + 2)#define DPD_IPSEC_CBC_SDES_DECRYPT_MD5_PAD (DPD_IPSEC_CBC_GROUP + 3)#define DPD_IPSEC_CBC_SDES_DECRYPT_SHA_PAD (DPD_IPSEC_CBC_GROUP + 4)#define DPD_IPSEC_CBC_SDES_DECRYPT_SHA256_PAD (DPD_IPSEC_CBC_GROUP + 5)#define DPD_IPSEC_CBC_TDES_ENCRYPT_MD5_PAD (DPD_IPSEC_CBC_GROUP + 6)#define DPD_IPSEC_CBC_TDES_ENCRYPT_SHA_PAD (DPD_IPSEC_CBC_GROUP + 7)#define DPD_IPSEC_CBC_TDES_ENCRYPT_SHA256_PAD (DPD_IPSEC_CBC_GROUP + 8)#define DPD_IPSEC_CBC_TDES_DECRYPT_MD5_PAD (DPD_IPSEC_CBC_GROUP + 9)#define DPD_IPSEC_CBC_TDES_DECRYPT_SHA_PAD (DPD_IPSEC_CBC_GROUP + 10)#define DPD_IPSEC_CBC_TDES_DECRYPT_SHA256_PAD (DPD_IPSEC_CBC_GROUP + 11)/* All "standard" legacy request types will autopad, no reason *//* to do otherwise */#define DPD_IPSEC_CBC_SDES_ENCRYPT_MD5 DPD_IPSEC_CBC_SDES_ENCRYPT_MD5_PAD#define DPD_IPSEC_CBC_SDES_ENCRYPT_SHA DPD_IPSEC_CBC_SDES_ENCRYPT_SHA_PAD#define DPD_IPSEC_CBC_SDES_ENCRYPT_SHA256 DPD_IPSEC_CBC_SDES_ENCRYPT_SHA256_PAD#define DPD_IPSEC_CBC_SDES_DECRYPT_MD5 DPD_IPSEC_CBC_SDES_DECRYPT_MD5_PAD#define DPD_IPSEC_CBC_SDES_DECRYPT_SHA DPD_IPSEC_CBC_SDES_DECRYPT_SHA_PAD#define DPD_IPSEC_CBC_SDES_DECRYPT_SHA256 DPD_IPSEC_CBC_SDES_DECRYPT_SHA256_PAD#define DPD_IPSEC_CBC_TDES_ENCRYPT_MD5 DPD_IPSEC_CBC_TDES_ENCRYPT_MD5_PAD#define DPD_IPSEC_CBC_TDES_ENCRYPT_SHA DPD_IPSEC_CBC_TDES_ENCRYPT_SHA_PAD#define DPD_IPSEC_CBC_TDES_ENCRYPT_SHA256 DPD_IPSEC_CBC_TDES_ENCRYPT_SHA256_PAD#define DPD_IPSEC_CBC_TDES_DECRYPT_MD5 DPD_IPSEC_CBC_TDES_DECRYPT_MD5_PAD#define DPD_IPSEC_CBC_TDES_DECRYPT_SHA DPD_IPSEC_CBC_TDES_DECRYPT_SHA_PAD#define DPD_IPSEC_CBC_TDES_DECRYPT_SHA256 DPD_IPSEC_CBC_TDES_DECRYPT_SHA256_PAD/* * IPSEC_ECB_REQ - common IPSec/DES-ECB compound request operations * */#if 0typedef struct{ COMMON_REQ_PREAMBLE unsigned long hashKeyBytes; unsigned char *hashKeyData; unsigned long cryptKeyBytes; unsigned char *cryptKeyData; unsigned long hashInDataBytes; unsigned char *hashInData; unsigned long inDataBytes; unsigned char *inData; unsigned long hashDataOutBytes; unsigned char *hashDataOut; unsigned char *cryptDataOut;} IPSEC_ECB_REQ; #endif#define NUM_IPSEC_ECB_DESC (24)#define DPD_IPSEC_ECB_GROUP (0x7100)#define DPD_IPSEC_ECB_SDES_ENCRYPT_MD5_PAD (DPD_IPSEC_ECB_GROUP + 0)#define DPD_IPSEC_ECB_SDES_ENCRYPT_SHA_PAD (DPD_IPSEC_ECB_GROUP + 1)#define DPD_IPSEC_ECB_SDES_ENCRYPT_SHA256_PAD (DPD_IPSEC_ECB_GROUP + 2)#define DPD_IPSEC_ECB_SDES_DECRYPT_MD5_PAD (DPD_IPSEC_ECB_GROUP + 3)#define DPD_IPSEC_ECB_SDES_DECRYPT_SHA_PAD (DPD_IPSEC_ECB_GROUP + 4)#define DPD_IPSEC_ECB_SDES_DECRYPT_SHA256_PAD (DPD_IPSEC_ECB_GROUP + 5)#define DPD_IPSEC_ECB_TDES_ENCRYPT_MD5_PAD (DPD_IPSEC_ECB_GROUP + 6)#define DPD_IPSEC_ECB_TDES_ENCRYPT_SHA_PAD (DPD_IPSEC_ECB_GROUP + 7)#define DPD_IPSEC_ECB_TDES_ENCRYPT_SHA256_PAD (DPD_IPSEC_ECB_GROUP + 8)#define DPD_IPSEC_ECB_TDES_DECRYPT_MD5_PAD (DPD_IPSEC_ECB_GROUP + 9)#define DPD_IPSEC_ECB_TDES_DECRYPT_SHA_PAD (DPD_IPSEC_ECB_GROUP + 10)#define DPD_IPSEC_ECB_TDES_DECRYPT_SHA256_PAD (DPD_IPSEC_ECB_GROUP + 11)#define DPD_IPSEC_ECB_SDES_ENCRYPT_MD5 DPD_IPSEC_ECB_SDES_ENCRYPT_MD5_PAD#define DPD_IPSEC_ECB_SDES_ENCRYPT_SHA DPD_IPSEC_ECB_SDES_ENCRYPT_SHA_PAD#define DPD_IPSEC_ECB_SDES_ENCRYPT_SHA256 DPD_IPSEC_ECB_SDES_ENCRYPT_SHA256_PAD#define DPD_IPSEC_ECB_SDES_DECRYPT_MD5 DPD_IPSEC_ECB_SDES_DECRYPT_MD5_PAD#define DPD_IPSEC_ECB_SDES_DECRYPT_SHA DPD_IPSEC_ECB_SDES_DECRYPT_SHA_PAD#define DPD_IPSEC_ECB_SDES_DECRYPT_SHA256 DPD_IPSEC_ECB_SDES_DECRYPT_SHA256_PAD#define DPD_IPSEC_ECB_TDES_ENCRYPT_MD5 DPD_IPSEC_ECB_TDES_ENCRYPT_MD5_PAD#define DPD_IPSEC_ECB_TDES_ENCRYPT_SHA DPD_IPSEC_ECB_TDES_ENCRYPT_SHA_PAD#define DPD_IPSEC_ECB_TDES_ENCRYPT_SHA256 DPD_IPSEC_ECB_TDES_ENCRYPT_SHA256_PAD#define DPD_IPSEC_ECB_TDES_DECRYPT_MD5 DPD_IPSEC_ECB_TDES_DECRYPT_MD5_PAD#define DPD_IPSEC_ECB_TDES_DECRYPT_SHA DPD_IPSEC_ECB_TDES_DECRYPT_SHA_PAD#define DPD_IPSEC_ECB_TDES_DECRYPT_SHA256 DPD_IPSEC_ECB_TDES_DECRYPT_SHA256_PAD/* * IPSEC_AES_CBC_REQ - common IPSec/AES-CBC compound request operations * */#if 0typedef struct{ COMMON_REQ_PREAMBLE unsigned long hashKeyBytes; unsigned char *hashKeyData; unsigned long cryptKeyBytes; unsigned char *cryptKeyData; unsigned long cryptCtxInBytes;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -