<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Changes to the ElectronicCodeBook.java looks fine to me.</p>
    <p>Thanks,</p>
    <p>Valerie<b><br>
      </b></p>
    <div class="moz-cite-prefix">On 7/31/2019 2:38 PM, Vladimir Kozlov
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:680c3821-de1e-5f17-0e8b-765837eca888@oracle.com">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>
      <blockquote type="cite">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 class="moz-txt-link-freetext" 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 class="moz-txt-link-freetext" 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 class="moz-txt-link-rfc2396E" href="mailto:shravya.rukmannagari@intel.com"><shravya.rukmannagari@intel.com></a>; Kamath, Smita
        <a class="moz-txt-link-rfc2396E" href="mailto:smita.kamath@intel.com"><smita.kamath@intel.com></a>; 'Anthony Scarpino'
        <a class="moz-txt-link-rfc2396E" href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a>
        <br>
        Cc: Viswanathan, Sandhya <a class="moz-txt-link-rfc2396E" href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>;
        Deshpande, Vivek R <a class="moz-txt-link-rfc2396E" href="mailto:vivek.r.deshpande@intel.com"><vivek.r.deshpande@intel.com></a>; 'hotspot
        compiler' <a class="moz-txt-link-rfc2396E" href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy,
        Regev <a class="moz-txt-link-rfc2396E" href="mailto:regev.shemy@intel.com"><regev.shemy@intel.com></a>; OpenJDK Security
        <a class="moz-txt-link-rfc2396E" 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>
        <blockquote type="cite">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 class="moz-txt-link-freetext" 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 class="moz-txt-link-rfc2396E" href="mailto:vladimir.kozlov@oracle.com"><vladimir.kozlov@oracle.com></a>;
          Kamath, Smita
          <br>
          <a class="moz-txt-link-rfc2396E" href="mailto:smita.kamath@intel.com"><smita.kamath@intel.com></a>; 'Anthony Scarpino'
          <br>
          <a class="moz-txt-link-rfc2396E" href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a>
          <br>
          Cc: Viswanathan, Sandhya
          <a class="moz-txt-link-rfc2396E" href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>; Deshpande,
          <br>
          Vivek R <a class="moz-txt-link-rfc2396E" href="mailto:vivek.r.deshpande@intel.com"><vivek.r.deshpande@intel.com></a>; 'hotspot
          compiler'
          <br>
          <a class="moz-txt-link-rfc2396E" href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy, Regev
          <br>
          <a class="moz-txt-link-rfc2396E" 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 class="moz-txt-link-freetext" 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 class="moz-txt-link-rfc2396E" href="mailto:smita.kamath@intel.com"><smita.kamath@intel.com></a>; 'Anthony
          Scarpino'
          <br>
          <a class="moz-txt-link-rfc2396E" href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a>
          <br>
          Cc: Viswanathan, Sandhya
          <a class="moz-txt-link-rfc2396E" href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>;
          <br>
          Rukmannagari, Shravya <a class="moz-txt-link-rfc2396E" href="mailto:shravya.rukmannagari@intel.com"><shravya.rukmannagari@intel.com></a>;
          Deshpande,
          <br>
          Vivek R <a class="moz-txt-link-rfc2396E" href="mailto:vivek.r.deshpande@intel.com"><vivek.r.deshpande@intel.com></a>; 'hotspot
          compiler'
          <br>
          <a class="moz-txt-link-rfc2396E" href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy, Regev
          <br>
          <a class="moz-txt-link-rfc2396E" 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>
          <blockquote type="cite">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 class="moz-txt-link-rfc2396E" href="mailto:vladimir.kozlov@oracle.com"><vladimir.kozlov@oracle.com></a>;
            Anthony
            <br>
            Scarpino <a class="moz-txt-link-rfc2396E" href="mailto:anthony.scarpino@oracle.com"><anthony.scarpino@oracle.com></a>
            <br>
            *Cc:* Viswanathan, Sandhya
            <a class="moz-txt-link-rfc2396E" href="mailto:sandhya.viswanathan@intel.com"><sandhya.viswanathan@intel.com></a>; Shravya
            <br>
            Rukmannagari
            <br>
            (<a class="moz-txt-link-abbreviated" href="mailto:shravya.rukmannagari@intel.com">shravya.rukmannagari@intel.com</a>)
            <a class="moz-txt-link-rfc2396E" href="mailto:shravya.rukmannagari@intel.com"><shravya.rukmannagari@intel.com></a>;
            <br>
            hotspot compiler
            <a class="moz-txt-link-rfc2396E" href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>; Shemy,
            <br>
            Regev <a class="moz-txt-link-rfc2396E" 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 class="moz-txt-link-abbreviated" href="mailto:shay.gueron@intel.com">shay.gueron@intel.com</a>
            <br>
            <a class="moz-txt-link-rfc2396E" href="mailto:shay.gueron@intel.com"><mailto:shay.gueron@intel.com></a>) and Regev Shemy
            <br>
            (<a class="moz-txt-link-abbreviated" href="mailto:regev.shemy@intel.com">regev.shemy@intel.com</a>
            <br>
            <a class="moz-txt-link-rfc2396E" 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 class="moz-txt-link-freetext" 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 class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8225625">https://bugs.openjdk.java.net/browse/JDK-8225625</a>
            <br>
            <br>
            [1]
            <br>
<a class="moz-txt-link-freetext" 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 class="moz-txt-link-freetext" 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
            <br>
            <br>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </body>
</html>