public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io
Cc: Sami Mujawar <sami.mujawar@arm.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Rebecca Cran <rebecca@bsdio.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Edward Pickup <Edward.Pickup@arm.com>
Subject: [PATCH RESEND v1 0/7] Add AesLib and ArmAesLib
Date: Wed, 29 Jun 2022 21:13:48 +0200	[thread overview]
Message-ID: <20220629191355.2618844-1-Pierre.Gondois@arm.com> (raw)

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


             reply	other threads:[~2022-06-29 19:14 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-29 19:13 PierreGondois [this message]
2022-06-29 19:13 ` [PATCH RESEND v1 1/7] ArmPkg: Update Armpkg.ci.yaml PierreGondois
2022-06-29 19:13 ` [PATCH RESEND v1 2/7] ArmPkg/ArmDisassemblerLib: Replace RotateRight() PierreGondois
2022-06-29 19:13 ` [PATCH RESEND v1 3/7] ArmPkg/ArmLib: Add ArmReadIdIsaR5() helper PierreGondois
2022-06-29 19:13 ` [PATCH RESEND v1 4/7] ArmPkg/ArmLib: Add ArmHasAesExt() PierreGondois
2022-06-29 19:13 ` [PATCH RESEND v1 5/7] MdePkg/AesLib: Definition for AES library class interface PierreGondois
2022-06-30  0:29   ` [edk2-devel] " Yao, Jiewen
2022-07-01  9:48     ` PierreGondois
2022-07-01 11:55       ` Yao, Jiewen
2022-07-01 13:58         ` PierreGondois
2022-07-01 14:40           ` Yao, Jiewen
2022-07-01 15:22             ` PierreGondois
2022-07-01 16:11               ` Yao, Jiewen
2022-07-04 13:16                 ` PierreGondois
2022-06-29 19:13 ` [PATCH RESEND v1 6/7] MdePkg/AesLib: Add NULL instance of AesLib PierreGondois
2022-06-29 19:13 ` [PATCH RESEND v1 7/7] ArmPkg/ArmAesLib: Add ArmAesLib PierreGondois

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=20220629191355.2618844-1-Pierre.Gondois@arm.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