<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman",serif;
color:black;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi Vladimir<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Can I sponsor and push the patch since you and Valerie have reviewed the patch?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Vivek<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"> Valerie Peng [mailto:valerie.peng@oracle.com]
<br>
<b>Sent:</b> Friday, August 2, 2019 5:09 PM<br>
<b>To:</b> Vladimir Kozlov <vladimir.kozlov@oracle.com>; Rukmannagari, Shravya <shravya.rukmannagari@intel.com>; Kamath, Smita <smita.kamath@intel.com>; 'Anthony Scarpino' <anthony.scarpino@oracle.com><br>
<b>Cc:</b> OpenJDK Security <security-dev@openjdk.java.net>; Viswanathan, Sandhya <sandhya.viswanathan@intel.com>; Deshpande, Vivek R <vivek.r.deshpande@intel.com>; Shemy, Regev <regev.shemy@intel.com><br>
<b>Subject:</b> Re: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>Changes to the ElectronicCodeBook.java looks fine to me.<o:p></o:p></p>
<p>Thanks,<o:p></o:p></p>
<p>Valerie<o:p></o:p></p>
<div>
<p class="MsoNormal">On 7/31/2019 2:38 PM, Vladimir Kozlov wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Good. Lets wait review from security team. <br>
<br>
Thank you <br>
Vladimir <br>
<br>
On 7/31/19 2:20 PM, Rukmannagari, Shravya wrote: <br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hi Vladimir, <br>
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.
<br>
<a href="http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.02/">http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.02/</a>
<br>
<br>
Thanks, <br>
Shravya. <br>
<br>
-----Original Message----- <br>
From: Vladimir Kozlov [<a href="mailto:vladimir.kozlov@oracle.com">mailto:vladimir.kozlov@oracle.com</a>]
<br>
Sent: Sunday, July 28, 2019 3:31 PM <br>
To: Rukmannagari, Shravya <a href="mailto:shravya.rukmannagari@intel.com"><shravya.rukmannagari@intel.com></a>; Kamath, Smita
<a href="mailto:smita.kamath@intel.com"><smita.kamath@intel.com></a>; 'Anthony Scarpino'
<a href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a> <br>
Cc: Viswanathan, Sandhya <a href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>; Deshpande, Vivek R
<a href="mailto:vivek.r.deshpande@intel.com"><vivek.r.deshpande@intel.com></a>; 'hotspot compiler'
<a href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy, Regev
<a href="mailto:regev.shemy@intel.com"><regev.shemy@intel.com></a>; OpenJDK Security
<a href="mailto:security-dev@openjdk.java.net"><security-dev@openjdk.java.net></a>
<br>
Subject: Re: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
<br>
<br>
CCing to security-dev since you touched their class. <br>
<br>
Please answer Sean's question in the bug report. <br>
<br>
I don't think .jcheck/conf change should be part of this. <br>
<br>
Thanks, <br>
Vladimir <br>
<br>
On 7/23/19 1:44 PM, Rukmannagari, Shravya wrote: <br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hi Vladimir, <br>
I have updated the patch as per your suggestions. The JMH test <br>
test/micro/org/openjdk/bench/javax/crypto/full/AESBench.java has been <br>
modified to add support for different key lengths. Please take a look <br>
and let me know if you have any questions or comments. <br>
<a href="http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.01/">http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.01/</a>
<br>
<br>
Thanks, <br>
Shravya. <br>
<br>
-----Original Message----- <br>
From: Rukmannagari, Shravya <br>
Sent: Monday, July 22, 2019 7:52 AM <br>
To: Vladimir Kozlov <a href="mailto:vladimir.kozlov@oracle.com"><vladimir.kozlov@oracle.com></a>; Kamath, Smita
<br>
<a href="mailto:smita.kamath@intel.com"><smita.kamath@intel.com></a>; 'Anthony Scarpino'
<br>
<a href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a> <br>
Cc: Viswanathan, Sandhya <a href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>; Deshpande,
<br>
Vivek R <a href="mailto:vivek.r.deshpande@intel.com"><vivek.r.deshpande@intel.com></a>; 'hotspot compiler'
<br>
<a href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy, Regev
<br>
<a href="mailto:regev.shemy@intel.com"><regev.shemy@intel.com></a> <br>
Subject: RE: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
<br>
<br>
Hi Vladimir, <br>
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. <br>
<br>
Thanks, <br>
Shravya. <br>
<br>
-----Original Message----- <br>
From: Vladimir Kozlov [<a href="mailto:vladimir.kozlov@oracle.com">mailto:vladimir.kozlov@oracle.com</a>]
<br>
Sent: Thursday, July 18, 2019 4:02 PM <br>
To: Kamath, Smita <a href="mailto:smita.kamath@intel.com"><smita.kamath@intel.com></a>; 'Anthony Scarpino'
<br>
<a href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a> <br>
Cc: Viswanathan, Sandhya <a href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>;
<br>
Rukmannagari, Shravya <a href="mailto:shravya.rukmannagari@intel.com"><shravya.rukmannagari@intel.com></a>; Deshpande,
<br>
Vivek R <a href="mailto:vivek.r.deshpande@intel.com"><vivek.r.deshpande@intel.com></a>; 'hotspot compiler'
<br>
<a href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy, Regev
<br>
<a href="mailto:regev.shemy@intel.com"><regev.shemy@intel.com></a> <br>
Subject: Re: RFR(S) JDK-8225625: AES Electronic Codebook (ECB) encryption and decryption optimizations using AVX512 + VAES instructions.
<br>
<br>
Hi Smita <br>
<br>
I looked on changes and they seem fine in general (mostrly copy/past of cipherBlockChaining code).
<br>
<br>
Few comments: <br>
<br>
Don't use _AVX3 in macroasm method names because you have only avx512 implementation.
<br>
<br>
Indentions are bad in inline_electronicCodeBook_AESCrypt(). <br>
<br>
Add test to check results of optimization. <br>
<br>
Would be nice to have JMH test to see performance benefits. <br>
<br>
You also need to add checks to Graal's test [1] to prevent failure until this intrinsic is implemented in Graal.
<br>
<br>
Thanks, <br>
Vladimir <br>
<br>
[1] <br>
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspo <br>
t.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java <br>
<br>
On 6/26/19 4:27 PM, Kamath, Smita wrote: <br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi All, <br>
<br>
Could you please review AES-ECB implemented using AVX512+VAES instructions. <br>
<br>
Thanks and Regards, <br>
<br>
Smita Kamath <br>
<br>
*From:* Kamath, Smita <br>
*Sent:* Tuesday, June 11, 2019 4:23 PM <br>
*To:* 'Vladimir Kozlov' <a href="mailto:vladimir.kozlov@oracle.com"><vladimir.kozlov@oracle.com></a>; Anthony
<br>
Scarpino <a href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a>
<br>
*Cc:* Viswanathan, Sandhya <a href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>; Shravya
<br>
Rukmannagari <br>
(<a href="mailto:shravya.rukmannagari@intel.com">shravya.rukmannagari@intel.com</a>)
<a href="mailto:shravya.rukmannagari@intel.com"><shravya.rukmannagari@intel.com></a>;
<br>
hotspot compiler <a href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy,
<br>
Regev <a href="mailto:regev.shemy@intel.com"><regev.shemy@intel.com></a> <br>
*Subject:* RFR(S) JDK-8225625: AES Electronic Codebook (ECB) <br>
encryption and decryption optimizations using AVX512 + VAES instructions. <br>
<br>
Hi Vladimir, <br>
<br>
As per Intel Architecture Instruction Set Reference [1] Vector AES <br>
Encrypt and Decrypt Operations will be supported in future Intel ISA. <br>
We would like to contribute optimizations for AES-ECB algorithm to <br>
support encryption and decryption operations using AVX512+VAES instructions. These optimizations are for x86_64 architecture that have AVX512-VAES enabled.
<br>
<br>
Shravya(cc'ed) and I are co-contributors. Shay <br>
Gueron(<a href="mailto:shay.gueron@intel.com">shay.gueron@intel.com</a> <br>
<a href="mailto:shay.gueron@intel.com"><mailto:shay.gueron@intel.com></a>) and Regev Shemy
<br>
(<a href="mailto:regev.shemy@intel.com">regev.shemy@intel.com</a> <br>
<a href="mailto:regev.shemy@intel.com"><mailto:regev.shemy@intel.com></a>) are the authors of the algorithm.
<br>
<br>
I have tested the algorithm with Intel SDE [2] to confirm encoding <br>
and semantics are correctly implemented. <br>
<br>
Please take a look and let me know if you have any questions or comments. <br>
<br>
<a href="http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.00/">http://cr.openjdk.java.net/~vdeshpande/AES-ECB/webrev.00/</a>
<br>
<br>
Bug Id: <a href="https://bugs.openjdk.java.net/browse/JDK-8225625">https://bugs.openjdk.java.net/browse/JDK-8225625</a>
<br>
<br>
[1] <br>
<a href="https://software.intel.com/sites/default/files/managed/ad/01/253666-s">https://software.intel.com/sites/default/files/managed/ad/01/253666-s</a>
<br>
d <br>
m-vol-2a.pdf (Page 152 - 159) <br>
<br>
[2] <br>
<a href="https://software.intel.com/en-us/articles/intel-software-development">https://software.intel.com/en-us/articles/intel-software-development</a>-
<br>
e <br>
mulator <br>
<br>
Regards, <br>
<br>
Smita Kamath <o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</div>
</body>
</html>