From: Pierre Gondois <pierre.gondois@arm.com>
Bugzilla: Bug 3970 (https://bugzilla.tianocore.org/show_bug.cgi?id=3970)
To fasten AES encryption/decryption process or create a
Deterministic Random Bits Generator (Drbg), add a library using
Arm's AES instructions (AESE AESD, AESMC, AESIMC).
The test vectors available in the CTR_DRBG_AES256 sections of
https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/CTR_DRBG_noDF.pdf
were used for validation. Indeed, the Drbg implementation in a
following patch-set relies on the AES encryption.
This patch-set can seen at:
https://github.com/PierreARM/edk2/tree/Arm_Aes_v1
This patch has the following dependency:
- [PATCH v3 00/22] Add Raw algorithm support using Arm FW-TRNG interface
https://edk2.groups.io/g/devel/message/90845
Pierre Gondois (7):
ArmPkg: Update Armpkg.ci.yaml
ArmPkg/ArmDisassemblerLib: Replace RotateRight()
ArmPkg/ArmLib: Add ArmReadIdIsaR5() helper
ArmPkg/ArmLib: Add ArmHasAesExt()
MdePkg/AesLib: Definition for AES library class interface
MdePkg/AesLib: Add NULL instance of AesLib
ArmPkg/ArmAesLib: Add ArmAesLib
ArmPkg/ArmPkg.ci.yaml | 1 +
ArmPkg/ArmPkg.dsc | 3 +-
ArmPkg/Include/Library/ArmLib.h | 12 +-
.../Library/ArmAesLib/AArch64/AArch64AesLib.S | 183 ++++++++++++
ArmPkg/Library/ArmAesLib/Arm/ArmAesLib.S | 183 ++++++++++++
ArmPkg/Library/ArmAesLib/ArmAesLib.c | 261 ++++++++++++++++++
ArmPkg/Library/ArmAesLib/ArmAesLib.h | 96 +++++++
ArmPkg/Library/ArmAesLib/ArmAesLib.inf | 34 +++
.../ArmDisassemblerLib/ArmDisassembler.c | 11 +-
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c | 13 +
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h | 1 +
ArmPkg/Library/ArmLib/Arm/ArmLibSupport.S | 7 +-
ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c | 13 +
ArmPkg/Library/ArmLib/Arm/ArmV7Lib.h | 13 +
MdePkg/Include/Library/AesLib.h | 104 +++++++
MdePkg/Library/AesLibNull/AesLibNull.c | 87 ++++++
MdePkg/Library/AesLibNull/AesLibNull.inf | 24 ++
MdePkg/MdePkg.dec | 4 +
MdePkg/MdePkg.dsc | 1 +
19 files changed, 1038 insertions(+), 13 deletions(-)
create mode 100644 ArmPkg/Library/ArmAesLib/AArch64/AArch64AesLib.S
create mode 100644 ArmPkg/Library/ArmAesLib/Arm/ArmAesLib.S
create mode 100644 ArmPkg/Library/ArmAesLib/ArmAesLib.c
create mode 100644 ArmPkg/Library/ArmAesLib/ArmAesLib.h
create mode 100644 ArmPkg/Library/ArmAesLib/ArmAesLib.inf
create mode 100644 MdePkg/Include/Library/AesLib.h
create mode 100644 MdePkg/Library/AesLibNull/AesLibNull.c
create mode 100644 MdePkg/Library/AesLibNull/AesLibNull.inf
--
2.25.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#90878): https://edk2.groups.io/g/devel/message/90878
Mute This Topic: https://groups.io/mt/92066823/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-