Uploaded image for project: 'Commons Crypto'
  1. Commons Crypto
  2. CRYPTO-59

Support Galois/Counter Mode (GCM)

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.1.0
    • None
    • None

    Description

      Galois/Counter Mode (GCM) is a mode of operation for symmetric key cryptographic block ciphers, It is an authenticated encryption algorithm designed to provide both data authenticity (integrity) and confidentiality.

      1) GCM becomes the most popular AE(AD) mode

      Galois Counter Mode(GCM) has become the most popular Authenticated Encryption with Associated Data (AEAD) mode today.
      The popularity is due in part to the fact that GCM is extremely fast, but mostly it's because the mode is patent-free.

      2) Java implemenation of GCM has poor performance.

      (environment: Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz)
      GCM performance in Java 7/8 is very poor, only 3.8 MB/s.
      GCM throughput can be up to 200+ MB/s in Java 9, but still fall behind OpenSSL(more than 1 GB/s).

      3) Good performance of OpenSSL based on hardware acceleration

      GCM can take full advantage of parallel processing and implementing GCM can make efficient use of an instruction pipeline or a hardware pipeline.Intel has also introduced a new processor instruction PCLMULQDQ for computing the Galois Hash, which is the underlying computation of the Galois Counter Mode (GCM).
      Recent versions of OpenSSL has provided good implementations with hardware acceleration(OpenSSL ticket).
      GCM performance on Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz

      $ openssl speed -evp aes-128-gcm
      
      The 'numbers' are in 1000s of bytes per second processed.
      type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
      aes-128-gcm     340821.25k   833407.19k  1064581.38k  1162904.23k  1181409.69k
      

      It would be better to support GCM in Apache Commons Crypto. Based on OpenSSL, Apache Commons Crypto can have good performance.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kexianda Xianda Ke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 10m
                10m