CryptoPkg: Add EC APIs to DXE and protocol

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3828

The implementation provides CryptEc library functions
for EFI Driveer and EFI BaseCrypt Protocol.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>

Signed-off-by: Yi Li <yi1.li@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
Yi Li
2022-09-25 17:26:19 +08:00
committed by mergify[bot]
parent 988e4d8f5e
commit 3b382f5b38
5 changed files with 1622 additions and 200 deletions

View File

@@ -356,6 +356,31 @@ typedef struct {
} Services;
UINT32 Family;
} Bn;
union {
struct {
UINT8 GroupInit : 1;
UINT8 GroupGetCurve : 1;
UINT8 GroupGetOrder : 1;
UINT8 GroupFree : 1;
UINT8 PointInit : 1;
UINT8 PointDeInit : 1;
UINT8 PointGetAffineCoordinates : 1;
UINT8 PointSetAffineCoordinates : 1;
UINT8 PointAdd : 1;
UINT8 PointMul : 1;
UINT8 PointInvert : 1;
UINT8 PointIsOnCurve : 1;
UINT8 PointIsAtInfinity : 1;
UINT8 PointEqual : 1;
UINT8 PointSetCompressedCoordinates : 1;
UINT8 NewByNid : 1;
UINT8 Free : 1;
UINT8 GenerateKey : 1;
UINT8 GetPubKey : 1;
UINT8 DhComputeKey : 1;
} Services;
UINT32 Family;
} Ec;
} PCD_CRYPTO_SERVICE_FAMILY_ENABLE;
#endif