RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
Deshpande, Vivek R
vivek.r.deshpande at intel.com
Wed Aug 14 17:44:14 UTC 2019
Hi Vladimir
Can I sponsor and push the patch since you and Valerie have reviewed the patch?
Regards,
Vivek
From: Valerie Peng [mailto:valerie.peng at oracle.com]
Sent: Friday, August 2, 2019 5:09 PM
To: Vladimir Kozlov <vladimir.kozlov at oracle.com>; Rukmannagari, Shravya <shravya.rukmannagari at intel.com>; Kamath, Smita <smita.kamath at intel.com>; 'Anthony Scarpino' <anthony.scarpino at oracle.com>
Cc: OpenJDK Security <security-dev at openjdk.java.net>; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Deshpande, Vivek R <vivek.r.deshpande at intel.com>; Shemy, Regev <regev.shemy at intel.com>
Subject: Re: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
Changes to the ElectronicCodeBook.java looks fine to me.
Thanks,
Valerie
On 7/31/2019 2:38 PM, Vladimir Kozlov wrote:
Good. Lets wait review from security team.
Thank you
Vladimir
On 7/31/19 2:20 PM, Rukmannagari, Shravya wrote:
Hi Vladimir,
Thanks a lot for the review. I have responded to the JBS bug with the use cases for ECB. Please find the updated webrev with no changes to the config file.
http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.02/
Thanks,
Shravya.
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Sunday, July 28, 2019 3:31 PM
To: Rukmannagari, Shravya <shravya.rukmannagari at intel.com><mailto:shravya.rukmannagari at intel.com>; Kamath, Smita <smita.kamath at intel.com><mailto:smita.kamath at intel.com>; 'Anthony Scarpino' <anthony.scarpino at oracle.com><mailto:anthony.scarpino at oracle.com>
Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com><mailto:sandhya.viswanathan at intel.com>; Deshpande, Vivek R <vivek.r.deshpande at intel.com><mailto:vivek.r.deshpande at intel.com>; 'hotspot compiler' <hotspot-compiler-dev at openjdk.java.net><mailto:hotspot-compiler-dev at openjdk.java.net>; Shemy, Regev <regev.shemy at intel.com><mailto:regev.shemy at intel.com>; OpenJDK Security <security-dev at openjdk.java.net><mailto:security-dev at openjdk.java.net>
Subject: Re: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
CCing to security-dev since you touched their class.
Please answer Sean's question in the bug report.
I don't think .jcheck/conf change should be part of this.
Thanks,
Vladimir
On 7/23/19 1:44 PM, Rukmannagari, Shravya wrote:
Hi Vladimir,
I have updated the patch as per your suggestions. The JMH test
test/micro/org/openjdk/bench/javax/crypto/full/AESBench.java has been
modified to add support for different key lengths. Please take a look
and let me know if you have any questions or comments.
http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.01/
Thanks,
Shravya.
-----Original Message-----
From: Rukmannagari, Shravya
Sent: Monday, July 22, 2019 7:52 AM
To: Vladimir Kozlov <vladimir.kozlov at oracle.com><mailto:vladimir.kozlov at oracle.com>; Kamath, Smita
<smita.kamath at intel.com><mailto:smita.kamath at intel.com>; 'Anthony Scarpino'
<anthony.scarpino at oracle.com><mailto:anthony.scarpino at oracle.com>
Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com><mailto:sandhya.viswanathan at intel.com>; Deshpande,
Vivek R <vivek.r.deshpande at intel.com><mailto:vivek.r.deshpande at intel.com>; 'hotspot compiler'
<hotspot-compiler-dev at openjdk.java.net><mailto:hotspot-compiler-dev at openjdk.java.net>; Shemy, Regev
<regev.shemy at intel.com><mailto:regev.shemy at intel.com>
Subject: RE: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
Hi Vladimir,
For checking the correctness, we have run the hotspot/jtreg/compiler/codegen/aes/TestAESMain.java and the entire jtreg test suite. For the JMH benchmark tests, test/micro/org/openjdk/bench/javax/crypto/full/AESBench.java tests ECB for a key length of 128. I will extend the test for other key lengths and send out an updated patch.
Thanks,
Shravya.
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Thursday, July 18, 2019 4:02 PM
To: Kamath, Smita <smita.kamath at intel.com><mailto:smita.kamath at intel.com>; 'Anthony Scarpino'
<anthony.scarpino at oracle.com><mailto:anthony.scarpino at oracle.com>
Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com><mailto:sandhya.viswanathan at intel.com>;
Rukmannagari, Shravya <shravya.rukmannagari at intel.com><mailto:shravya.rukmannagari at intel.com>; Deshpande,
Vivek R <vivek.r.deshpande at intel.com><mailto:vivek.r.deshpande at intel.com>; 'hotspot compiler'
<hotspot-compiler-dev at openjdk.java.net><mailto:hotspot-compiler-dev at openjdk.java.net>; Shemy, Regev
<regev.shemy at intel.com><mailto:regev.shemy at intel.com>
Subject: Re: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
Hi Smita
I looked on changes and they seem fine in general (mostrly copy/past of cipherBlockChaining code).
Few comments:
Don't use _AVX3 in macroasm method names because you have only avx512 implementation.
Indentions are bad in inline_electronicCodeBook_AESCrypt().
Add test to check results of optimization.
Would be nice to have JMH test to see performance benefits.
You also need to add checks to Graal's test [1] to prevent failure until this intrinsic is implemented in Graal.
Thanks,
Vladimir
[1]
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspo
t.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java
On 6/26/19 4:27 PM, Kamath, Smita wrote:
Hi All,
Could you please review AES-ECB implemented using AVX512+VAES instructions.
Thanks and Regards,
Smita Kamath
*From:* Kamath, Smita
*Sent:* Tuesday, June 11, 2019 4:23 PM
*To:* 'Vladimir Kozlov' <vladimir.kozlov at oracle.com><mailto:vladimir.kozlov at oracle.com>; Anthony
Scarpino <anthony.scarpino at oracle.com><mailto:anthony.scarpino at oracle.com>
*Cc:* Viswanathan, Sandhya <sandhya.viswanathan at intel.com><mailto:sandhya.viswanathan at intel.com>; Shravya
Rukmannagari
(shravya.rukmannagari at intel.com<mailto:shravya.rukmannagari at intel.com>) <shravya.rukmannagari at intel.com><mailto:shravya.rukmannagari at intel.com>;
hotspot compiler <hotspot-compiler-dev at openjdk.java.net><mailto:hotspot-compiler-dev at openjdk.java.net>; Shemy,
Regev <regev.shemy at intel.com><mailto:regev.shemy at intel.com>
*Subject:* RFR(S) JDK-8225625: AES Electronic Codebook (ECB)
encryption and decryption optimizations using AVX512 + VAES instructions.
Hi Vladimir,
As per Intel Architecture Instruction Set Reference [1] Vector AES
Encrypt and Decrypt Operations will be supported in future Intel ISA.
We would like to contribute optimizations for AES-ECB algorithm to
support encryption and decryption operations using AVX512+VAES instructions. These optimizations are for x86_64 architecture that have AVX512-VAES enabled.
Shravya(cc'ed) and I are co-contributors. Shay
Gueron(shay.gueron at intel.com<mailto:shay.gueron at intel.com>
<mailto:shay.gueron at intel.com><mailto:shay.gueron at intel.com>) and Regev Shemy
(regev.shemy at intel.com<mailto:regev.shemy at intel.com>
<mailto:regev.shemy at intel.com><mailto:regev.shemy at intel.com>) are the authors of the algorithm.
I have tested the algorithm with Intel SDE [2] to confirm encoding
and semantics are correctly implemented.
Please take a look and let me know if you have any questions or comments.
http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.00/
Bug Id: https://bugs.openjdk.java.net/browse/JDK-8225625
[1]
https://software.intel.com/sites/default/files/managed/ad/01/253666-s
d
m-vol-2a.pdf (Page 152 - 159)
[2]
https://software.intel.com/en-us/articles/intel-software-development-
e
mulator
Regards,
Smita Kamath
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20190814/7cd015f3/attachment.htm>
More information about the security-dev
mailing list