Announcement

Collapse
No announcement yet.

Intel Is Working On Faster Linux Encryption For AVX2 CPUs, Up To 5.8x Throughput

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Intel Is Working On Faster Linux Encryption For AVX2 CPUs, Up To 5.8x Throughput

    Phoronix: Intel Is Working On Faster Linux Encryption For AVX2 CPUs, Up To 5.8x Throughput

    Intel has published a new set of patches fpr speeding up AES-CBC encryption for processors having the AVX2 instruction set extension...

    http://www.phoronix.com/scan.php?pag...Buffer-Encrypt

  • #2
    Now with 5.8x the chance to burn out your Haswell CPU.

    Comment


    • #3
      Well, that's a nice speedup !

      Talking of Haswell:

      # Tests are approximate using memory only (no storage IO).
      PBKDF2-sha1 1978445 iterations per second
      PBKDF2-sha256 1491573 iterations per second
      PBKDF2-sha512 1078781 iterations per second
      PBKDF2-ripemd160 1261824 iterations per second
      PBKDF2-whirlpool 501231 iterations per second
      # Algorithm | Key | Encryption | Decryption
      aes-cbc 128b 701,0 MiB/s 2875,4 MiB/s
      serpent-cbc 128b 95,6 MiB/s 605,9 MiB/s
      twofish-cbc 128b 203,1 MiB/s 383,8 MiB/s
      aes-cbc 256b 524,9 MiB/s 2243,1 MiB/s
      serpent-cbc 256b 95,7 MiB/s 605,3 MiB/s
      twofish-cbc 256b 204,3 MiB/s 384,0 MiB/s
      aes-xts 256b 2509,5 MiB/s 2407,3 MiB/s
      serpent-xts 256b 608,7 MiB/s 581,4 MiB/s
      twofish-xts 256b 378,0 MiB/s 372,5 MiB/s
      aes-xts 512b 1952,6 MiB/s 1924,8 MiB/s
      serpent-xts 512b 600,7 MiB/s 590,2 MiB/s
      twofish-xts 512b 375,4 MiB/s 381,9 MiB/s
      So I guess CBC only makes sense for weaker encryptions ?

      or they should extend CBC also to 512bit

      Xeon 1245v3, 4.2.0 kernel
      Last edited by kernelOfTruth; 10-29-2015, 08:20 PM.

      Comment


      • #4
        Originally posted by kernelOfTruth View Post
        Well, that's a nice speedup !

        Talking of Haswell:



        So I guess CBC only makes sense for weaker encryptions ?

        or they should extend CBC also to 512bit

        Xeon 1245v3, 4.2.0 kernel
        Could I trouble you to post your own reference values (without the patches)? I would like to know for sure if the patches have any benefit for aes-xts-512 at all.
        Thanks

        Comment


        • #5
          Originally posted by kernelOfTruth View Post
          Well, that's a nice speedup !

          Talking of Haswell:



          So I guess CBC only makes sense for weaker encryptions ?

          or they should extend CBC also to 512bit

          Xeon 1245v3, 4.2.0 kernel
          "It is important that any driver uses this algorithm properly for scenarios
          where we have many data streams that can fill up the data lanes most of
          the time. It shouldn't be used when only a single data stream is expected
          mostly. Otherwise we may incurr extra delays when we have frequent gaps in
          data lanes, causing us to wait till data come in to fill the data lanes
          before initiating encryption."

          Comment


          • #6
            Originally posted by kernelOfTruth View Post
            Well, that's a nice speedup !

            Talking of Haswell:



            So I guess CBC only makes sense for weaker encryptions ?

            or they should extend CBC also to 512bit

            Xeon 1245v3, 4.2.0 kernel
            as the patch says:

            "It is important that any driver uses this algorithm properly for scenarios
            where we have many data streams that can fill up the data lanes most of
            the time. It shouldn't be used when only a single data stream is expected
            mostly. Otherwise we may incurr extra delays when we have frequent gaps in
            data lanes, causing us to wait till data come in to fill the data lanes
            before initiating encryption."

            Comment


            • #7
              Plain unpatched gentoo on linux 4.1:

              AMD FX(tm)-4300 Quad-Core Processor:
              # Tests are approximate using memory only (no storage IO).
              PBKDF2-sha1 331827 iterations per second
              PBKDF2-sha256 195629 iterations per second
              PBKDF2-sha512 126762 iterations per second
              PBKDF2-ripemd160 299935 iterations per second
              PBKDF2-whirlpool 112993 iterations per second
              # Algorithm | Key | Encryption | Decryption
              aes-cbc 128b 524.7 MiB/s 1619.5 MiB/s
              serpent-cbc 128b 84.1 MiB/s 299.1 MiB/s
              twofish-cbc 128b 178.0 MiB/s 230.7 MiB/s
              aes-cbc 256b 396.1 MiB/s 1350.7 MiB/s
              serpent-cbc 256b 84.2 MiB/s 299.1 MiB/s
              twofish-cbc 256b 177.9 MiB/s 230.8 MiB/s
              aes-xts 256b 1156.8 MiB/s 1169.8 MiB/s
              serpent-xts 256b 291.7 MiB/s 296.0 MiB/s
              twofish-xts 256b 227.5 MiB/s 229.7 MiB/s
              aes-xts 512b 998.7 MiB/s 1008.1 MiB/s
              serpent-xts 512b 291.6 MiB/s 295.9 MiB/s
              twofish-xts 512b 227.5 MiB/s 229.7 MiB/s



              Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz:
              # Tests are approximate using memory only (no storage IO).
              PBKDF2-sha1 1008246 iterations per second
              PBKDF2-sha256 621194 iterations per second
              PBKDF2-sha512 490906 iterations per second
              PBKDF2-ripemd160 605413 iterations per second
              PBKDF2-whirlpool 235741 iterations per second
              # Algorithm | Key | Encryption | Decryption
              aes-cbc 128b 622.2 MiB/s 2074.2 MiB/s
              serpent-cbc 128b 78.6 MiB/s 310.0 MiB/s
              twofish-cbc 128b 179.8 MiB/s 335.0 MiB/s
              aes-cbc 256b 464.2 MiB/s 1634.9 MiB/s
              serpent-cbc 256b 79.1 MiB/s 311.3 MiB/s
              twofish-cbc 256b 179.6 MiB/s 336.1 MiB/s
              aes-xts 256b 1860.9 MiB/s 1858.8 MiB/s
              serpent-xts 256b 322.7 MiB/s 306.0 MiB/s
              twofish-xts 256b 332.7 MiB/s 333.1 MiB/s
              aes-xts 512b 1423.7 MiB/s 1440.3 MiB/s
              serpent-xts 512b 319.4 MiB/s 307.2 MiB/s
              twofish-xts 512b 328.9 MiB/s 334.7 MiB/s

              Comment


              • #8
                Originally posted by calrama View Post

                Could I trouble you to post your own reference values (without the patches)? I would like to know for sure if the patches have any benefit for aes-xts-512 at all.
                Thanks

                These were unpatched values,

                since I'm using xts based encryption in all partitions - so, for now, it's useless for me

                Comment


                • #9
                  Last time I heard about something like this .... it was generously sponsored by the NSA.

                  Comment

                  Working...
                  X