Use POWER8 and POWER9 ISA enhancements to improve the performance of AES. Demonstrate why achieved performance is close to optimal for the platform. Optimized implementations in the Cryptogams repository may serve as useful references. Financial bounty upon completion and community acceptance of patches.
- Differential Revisions
- D490: PowerPC optimized routines for AES and SHA2 using PowerISA 2.07 instructions.
D494: rijndael/ppc: re-implement single-block mode, and implement OCB block cipher
D493: AES block modes for PPC
D491: Support for PowerPC's AES acceleration.
- rC81d555d34730: rijndael-ppc: add bulk modes for CBC, CFB, CTR and XTS
rCbd1367bb6078: rijndael-ppc: add bulk mode for ocb_auth
rC821602c60c7d: rijndael-ppc: enable PowerPC AES-OCB implemention
rC9dca65ef71b4: rijndael-ppc: add key setup and enable single block PowerPC AES
rC92f38a619b1c: rijndael/ppc: implement single-block mode, and implement OCB block cipher
rCb4a3c76fabfa: hwf: add detection of PowerPC hardware features
I don't know. That would make it a relatively easy transplant. We've also used the Cryptogams code as a reference for Golang enhancements, if that helps. I'd welcome guidance on the matter from a maintainer.
Patches for PowerPC AES acceleration sent to mailing-list, based partly on initial work by Shawn Landden (@slandden): https://lists.gnupg.org/pipermail/gcrypt-devel/2019-August/004788.html
Because there was license concerns with Cryptogams code (https://lists.gnupg.org/pipermail/gcrypt-devel/2019-July/004774.html), I decided to implemented missing parts for this myself.