Skip to content

Wuhan Yangtze River Tunnel

Compare
Choose a tag to compare
@tkanteck tkanteck released this 17 Apr 16:06

General

  • ZUC-EEA3 and ZUC-EIA3
    • ZUC-EEA3 and ZUC-EIA3 algorithms added in job API (using cipher mode IMB_CIPHER_ZUC_EEA3 and hash_alg IMB_AUTH_ZUC_EIA3_BITLEN)
    • ZUC-EIA3 Multi-buffer API added and implemented for SSE and AVX.
    • ZUC-EEA3 and ZUC-EIA3 Multi-buffer implemented for AVX2 and AVX512
      • For AVX512, using latter GFNI and VAES instructions where these are present in the CPU
    • ZUC-EEA3 and ZUC-EIA3 Multi-buffer implemented with AESNI emulation instructions.
  • SNOW3G-UEA2 and SNOW3G-UIA2
    • SNOW3G-UEA2 and SNOW3G-UIA2 algorithms added in job API (using cipher type IMB_CIPHER_SNOW3G_UEA2_BITLEN and hash type IMB_AUTH_SNOW3G_UIA2_BITLEN)
    • SNOW3G-UIA2 and SNOW3G-UEA2 reimplemented for increased security and performance.
  • KASUMI-UEA1 and KASUMI-UIA1 algorithms added in job API (using cipher type IMB_CIPHER_KASUMI_UEA1_BITLEN and hash type IMB_AUTH_KASUMI_UIA1)
  • DOCSIS
    • AVX512 implementation of stitched DOCSIS cipher with CRC32 calculations
    • AES256-DOCSIS algorithm added.
  • New GHASH API added
  • Added support for any IV size in AES-GCM, through the job API and new direct API
  • VAES related
    • AES-CMAC implementation for VAES added
    • AES-CBC improvement for VAES
    • AES-CCM implementation for VAES added
  • SSE AES by8/x8 implementations added
    • AES128-CTR, AES192-CTR, AES256-CTR and AES128-CCM (by8)
    • AES128-CBC, AES192-CBC, AES256-CBC, DOCSIS SEC BPI and AES-CMAC (x8)
    • AES-CCM (by8 and x8)
  • Build
    • Check for new flag NO_COMPAT_IMB_API_053, which exposes only new API, removing backwards compatibility with version v0.53
    • Minimum required version for NASM is now 2.14.
    • Removed NO_GCM compile flag
    • Removed GCM_BIG_DATA compile flag

LibTestApp

  • Extended ZUC tests to validate ZUC-EEA3 and ZUC-EIA3 algorithms through job API
  • Extended SNOW3G tests to validate SNOW3G-UEA2 and SNOW3G-UIA2 algorithms through job API
  • Extended DOCSIS tests with combined CRC32 calculation cases
  • Extended KASUMI tests to validate KASUMI-UEA1 and KASUMI-UIA1 algorithms through job API
  • Extended ZUC tests to validate ZUC-EIA3 multi-buffer implementation through direct and job API
  • Extended AES-DOCSIS tests with 256-bit keys

LibPerfApp

  • Added support for ZUC-EEA3 and ZUC-EIA3 algorithms
  • Added support for SNOW3G-UEA2 and SNOW3G-UIA2 algorithms
  • Added support for DOCSIS combined with CRC32
  • Added support for KASUMI-UEA1 and KASUMI-UIA1 algorithms

Performance

  • ZUC performance improvements
  • AES-CCM, AES-CMAC implemented for VAES
  • AES-CBC improvement for VAES
  • SSE by8/x8 implementations of AES-CBC, AES-CTR, AES-CCM, AES-CMAC and AES-DOCSIS

Resolved Issues

#40 CentOS 7 & gcc4.8 compilation problem
#41 uint128_t definition in /usr/include/intel-ipsec-mb.h clashes with /usr/include/bluetooth/bluetooth.h
#43 Block count may be incremented incorrectly in AES-CTR bug