Skip to content

Lunar Lava Tube

Compare
Choose a tag to compare
@tkanteck tkanteck released this 28 Oct 14:32

General

  • Restructured project to move all library code into new lib directory
  • Renamed LibPerfApp directory to perf
  • Renamed LibTestApp directory to test
  • Improved FreeBSD support (port)
  • Faster Windows rebuild time (dependencies)

Library

  • AES-CCM-256 implementation for SSE, AVX and AVX512 (VAES)
  • AES-CMAC-256 implementation for SSE, AVX and AVX512 (VAES)
  • 32bit and 64bit HEC compute API added
  • AES-GMAC direct API added to support Scatter-Gather list (SGL)
  • CALC_AAD_HASH macro improved for AVX512 (VAES), boosting performance
    for AES-GMAC, GHASH and hash calculation for AAD in AES-GCM
  • ZUC-EEA3 and ZUC-EIA3 Multi-buffer implemented for SSE using GFNI instructions
  • AES-XCBC-128 implementation for AVX512 (VAES)
  • AES-CBCS-128 implementation for SSE, AVX and AVX512 VAES (1:9 crypt:skip pattern)
  • Chacha20 SSE, AVX and AVX512 implementations
  • Automatic multi-buffer manager initialization API added (auto feature detection)
  • Error handling API added
  • Improved input parameter checking
  • Build with SAFE_DATA and SAFE_PARAM options by default (can be turned off if required)
  • Poly1305 scalar implementation
  • AEAD Chacha20-Poly1305 implementation
  • CRC implementation for RNC, LTE, WiMAX, SCTP, Ethernet and CRC16 CCIT
  • Optimizations for ZUC, AVX512 VAES AES-CBC encryption and SNOW3G authentication
  • Optimizations of DOCSIS + CRC32 for AVX512 VAES
  • Faster PCLMULQDQ emulation for platforms that don't support it

Test Applications

  • CCM tests extended to test AES-CCM-256
  • CMAC tests extended to test AES-CMAC-256
  • HEC tests added to test app
  • AES-GMAC SGL tests added to test app
  • AES-XCBC-128 tests added to test app
  • AES-CBCS-128 tests added to test app
  • AES-CBCS-128 support added to cross validation app
  • Chacha20 tests added to test and cross validation app
  • Poly1305 tests added to test and cross validation app
  • AEAD Chacha20-Poly1305 tests added to test and cross validation app
  • CRC tests added
  • Automatic architecture detection done by default
  • Unified test result reporting
  • Extended negative tests

Performance Application

  • AES-CCM-256 support added
  • AES-CMAC-256 support added
  • AES-CBCS-128 support added
  • Chacha20 support added
  • Poly1305 support added
  • AEAD Chacha20-Poly1305 support added
  • Packet mix option added

Resolved Issues

  • #47 Wrong tag calculation on GCM/GMAC when AAD size >= 512 MB
  • #48 Potentially unsupported MOVBE instruction used in HEC compute API
  • #49 redundant assignment of bytes_left
  • #51 Many errors when building with gcc-10
  • #54 Uninitialized pointer reads on arrays pSrcData and pDstData
  • #55 Memory leak of allocations pointed to by variant_list[i].avg_times
  • #56 Suggestion: maybe memset'ing job_template in do_test in /perf/ipsec_perf.c is a good idea
  • #57 Possible cut-n-paste typo in snow3g_test.c
  • #58 Windows compilation broken with DEBUG=y
  • #59 IMB_SNOW3G_F8_4_BUFFER() Direct API failing on Windows with VS2017+
  • #63 Found a bunch of spelling mistakes.
  • #69 freebsd: error: duplicate symbol: imb_errno
  • #70 VAES DOCSIS encryption combined with CRC32 flush problem (13 or more jobs)