[edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib

yi1 li posted 7 patches 1 year, 7 months ago
Failed in applying to current master (apply log)
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
[edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib
Posted by yi1 li 1 year, 7 months ago
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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#93362): https://edk2.groups.io/g/devel/message/93362
Mute This Topic: https://groups.io/mt/93520780/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib
Posted by Yao, Jiewen 1 year, 7 months ago
Thanks for the patch. Please:
1) Separate BN and EC. Please submit 2 different patch sets. One for EC, the other for BN.
2) Please squash uncrustify tool update into previous patch. No need to submit a standalone one.
3) Please increase EDKII_CRYPTO_VERSION.

With that change, reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>

> -----Original Message-----
> From: Li, Yi1 <yi1.li@intel.com>
> 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: [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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94005): https://edk2.groups.io/g/devel/message/94005
Mute This Topic: https://groups.io/mt/93520780/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib
Posted by yi1 li 1 year, 7 months ago
Hi Jiewen,
Thanks for review, changes done.
Since both BN and EC extend many structures, splitting them will cause git conflicts,
I've adjusted the order of patches: Ec commits are based on Bn commits. Just convenient for merge.

Thanks,
Yi
-----Original Message-----
From: Yao, Jiewen <jiewen.yao@intel.com> 
Sent: Wednesday, September 21, 2022 12:02 AM
To: Li, Yi1 <yi1.li@intel.com>; devel@edk2.groups.io
Cc: Wang, Jian J <jian.j.wang@intel.com>; Xiaoyu Lu <xiaoyux.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>
Subject: RE: [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib

Thanks for the patch. Please:
1) Separate BN and EC. Please submit 2 different patch sets. One for EC, the other for BN.
2) Please squash uncrustify tool update into previous patch. No need to submit a standalone one.
3) Please increase EDKII_CRYPTO_VERSION.

With that change, reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>

> -----Original Message-----
> From: Li, Yi1 <yi1.li@intel.com>
> 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: [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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94038): https://edk2.groups.io/g/devel/message/94038
Mute This Topic: https://groups.io/mt/93520780/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib
Posted by Yao, Jiewen 1 year, 7 months ago
Thank you! I will take care of it.

> -----Original Message-----
> From: Li, Yi1 <yi1.li@intel.com>
> Sent: Wednesday, September 21, 2022 12:56 PM
> To: Yao, Jiewen <jiewen.yao@intel.com>; devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Lu, Xiaoyu1
> <xiaoyu1.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>
> Subject: RE: [PATCH 0/7] CryptoPkg: Add BigNum and EC support to
> BaseCryptLib
> 
> Hi Jiewen,
> Thanks for review, changes done.
> Since both BN and EC extend many structures, splitting them will cause git
> conflicts,
> I've adjusted the order of patches: Ec commits are based on Bn commits.
> Just convenient for merge.
> 
> Thanks,
> Yi
> -----Original Message-----
> From: Yao, Jiewen <jiewen.yao@intel.com>
> Sent: Wednesday, September 21, 2022 12:02 AM
> To: Li, Yi1 <yi1.li@intel.com>; devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Xiaoyu Lu
> <xiaoyux.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>
> Subject: RE: [PATCH 0/7] CryptoPkg: Add BigNum and EC support to
> BaseCryptLib
> 
> Thanks for the patch. Please:
> 1) Separate BN and EC. Please submit 2 different patch sets. One for EC, the
> other for BN.
> 2) Please squash uncrustify tool update into previous patch. No need to
> submit a standalone one.
> 3) Please increase EDKII_CRYPTO_VERSION.
> 
> With that change, reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
> 
> > -----Original Message-----
> > From: Li, Yi1 <yi1.li@intel.com>
> > 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: [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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94061): https://edk2.groups.io/g/devel/message/94061
Mute This Topic: https://groups.io/mt/93520780/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-