From: "yi1 li" <yi1.li@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"Li, Yi1" <yi1.li@intel.com>
Cc: "Yao, Jiewen" <jiewen.yao@intel.com>,
"Wang, Jian J" <jian.j.wang@intel.com>,
"Lu, Xiaoyu1" <xiaoyu1.lu@intel.com>,
"Jiang, Guomin" <guomin.jiang@intel.com>,
"Luo, Heng" <heng.luo@intel.com>
Subject: Re: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib
Date: Mon, 19 Sep 2022 01:41:24 +0000 [thread overview]
Message-ID: <SJ1PR11MB6227C53E7FFC31847CECD00EC54D9@SJ1PR11MB6227.namprd11.prod.outlook.com> (raw)
In-Reply-To: <171286C220C8F423.27506@groups.io>
Hi all,
Is there any comment on this patch? Thanks.
Regards,
Yi
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of yi1 li
Sent: Wednesday, September 7, 2022 4:29 PM
To: devel@edk2.groups.io
Cc: Li, Yi1 <yi1.li@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Xiaoyu Lu <xiaoyux.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>
Subject: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3828
Review PR: https://github.com/tianocore/edk2/pull/3309
This patch sequence is used to add CryptBn and CryptEc library, which are wrapped over OpenSSL. The implementation provides library functions for EFI BaseCrypt protocol and EFI BaseCrypt Configuration Protocol.
All APIs passed unit test and fuzzing test, detail as:
1. Unit test:
The purpose of unit testing is to ensure that the function obtains the expected result under specific input, that is, to ensure the correctness of APIs.
All test case show in patch 5 and patch 6:
CryptoPkg/Test: Add unit test for CryptoBn
CryptoPkg/Test: Add unit test for CryptoEc 2. Fuzzing test:
Various Fuzz Testing are employed across the all introduced APIs, and the test is used AFL (2.52b) and Libfuzzer (clang+llvm-11.0.0) as the fuzzer, based on HBFA.
Fuzzing Pass Rate is 100%;
The Code Coverage of CryptBn is 100%;
The Code Coverage of CryptEc is 90.3%.
All test case show in:
https://github.com/liyi77/edk2-staging/tree/HBFA/HBFA/UefiHostFuzzTestCasePkg/TestCase/CryptoPkg
Tested-by: Yi Li <yi1.li@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Signed-off-by: Yi Li <yi1.li@intel.com>
Yi Li (7):
CryptoPkg: Add BigNum support
CryptoPkg: Add BigNum API to DXE and protocol
CryptoPkg: Add EC support
CryptoPkg: Add EC APIs to DXE and protocol
CryptoPkg/Test: Add unit test for CryptoBn
CryptoPkg/Test: Add unit test for CryptoEc
CryptoPkg: Run uncrustify tools on EC and BN change
CryptoPkg/CryptoPkg.dsc | 2 +
CryptoPkg/Driver/Crypto.c | 1016 +++++++++++++-
CryptoPkg/Include/Library/BaseCryptLib.h | 842 ++++++++++++
.../Pcd/PcdCryptoServiceFamilyEnable.h | 55 +
.../Library/BaseCryptLib/BaseCryptLib.inf | 3 +
CryptoPkg/Library/BaseCryptLib/Bn/CryptBn.c | 581 ++++++++
.../Library/BaseCryptLib/Bn/CryptBnNull.c | 520 ++++++++
.../Library/BaseCryptLib/PeiCryptLib.inf | 2 +
CryptoPkg/Library/BaseCryptLib/Pk/CryptEc.c | 765 +++++++++++
.../Library/BaseCryptLib/Pk/CryptEcNull.c | 496 +++++++
.../Library/BaseCryptLib/SmmCryptLib.inf | 2 +
.../BaseCryptLib/UnitTestHostBaseCryptLib.inf | 3 +
.../BaseCryptLibNull/BaseCryptLibNull.inf | 2 +
.../Library/BaseCryptLibNull/Bn/CryptBnNull.c | 520 ++++++++ .../Library/BaseCryptLibNull/Pk/CryptEcNull.c | 496 +++++++
.../BaseCryptLibOnProtocolPpi/CryptLib.c | 961 ++++++++++++++
CryptoPkg/Private/Protocol/Crypto.h | 1176 ++++++++++++++---
CryptoPkg/Test/CryptoPkgHostUnitTest.dsc | 3 +
.../BaseCryptLib/BaseCryptLibUnitTests.c | 2 +
.../UnitTest/Library/BaseCryptLib/BnTests.c | 266 ++++
.../UnitTest/Library/BaseCryptLib/EcTests.c | 290 ++++
.../Library/BaseCryptLib/TestBaseCryptLib.h | 5 +
.../BaseCryptLib/TestBaseCryptLibHost.inf | 2 +
.../BaseCryptLib/TestBaseCryptLibShell.inf | 2 +
24 files changed, 7852 insertions(+), 160 deletions(-) create mode 100644 CryptoPkg/Library/BaseCryptLib/Bn/CryptBn.c
create mode 100644 CryptoPkg/Library/BaseCryptLib/Bn/CryptBnNull.c
create mode 100644 CryptoPkg/Library/BaseCryptLib/Pk/CryptEc.c
create mode 100644 CryptoPkg/Library/BaseCryptLib/Pk/CryptEcNull.c
create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Bn/CryptBnNull.c
create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Pk/CryptEcNull.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BnTests.c
create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/EcTests.c
--
2.31.1.windows.1
parent reply other threads:[~2022-09-19 1:41 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <171286C220C8F423.27506@groups.io>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=SJ1PR11MB6227C53E7FFC31847CECD00EC54D9@SJ1PR11MB6227.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox