Wuhan Yangtze River Tunnel
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