================================================================================ v2.24 Intel Intelligent Storage Acceleration Library Crypto Release Notes ================================================================================ ================================================================================ RELEASE NOTE CONTENTS ================================================================================ 1. KNOWN ISSUES 2. FIXED ISSUES 3. CHANGE LOG & FEATURES ADDED ================================================================================ 1. KNOWN ISSUES ================================================================================ * Perf tests do not run in Windows environment. * 32-bit lib is not supported in Windows. ================================================================================ 2. FIXED ISSUES ================================================================================ v2.21 * Put correct vec instruction versions in aes_cbc_enc_{128,192,256}(). May help performance on some systems. v2.20 * Fix issue with new aes_gcm API, aes_gcm_pre_256 was incorrect. * Multi-buffer hash max length extended. Previous max length for {sha1,sha256,sha512,md5}_mb was 4095MB. While there is still a 4GB limit for each submit, the total hashed length can now be larger then 4GB. v2.18 * Fix for multi-buffer hash when total length is above 512MB. v2.14 * Building in unit directories is no longer supported removing the issue of leftover object files causing the top-level make build to fail. v2.9 * Multi-buffer MD5 AVX2 tests fixed to work on FreeBSD 9.1 by explicitly aligning structures. v2.7 * Unit tests and examples are now supported in Windows environment ================================================================================ 3. CHANGE LOG & FEATURES ADDED ================================================================================ v2.24 * New optimized version of AES-CBC decode * New AVX2, 8 lane version of multi-buffer SM3 * Added support for big-endian architectures v2.23 * New optimized versions of block ciphers AES-GCM and AES-XTS. * New optimized versions of multi-buffer SM3 hashing. Removed experimental status. v2.22 * New multi-buffer SM3 functions. Experimental base functions only. * New multi-arch support. v2.21 * Multi-buffer hash performance improvement for Intel(R) Atom(tm) processors. New by-2 shani versions for multi-buffer sha1 & sha256. * New base functions for multi-buffer hashes. md5_mb, sha1_mb, sha256_mb, sha512_mb. v2.20 * New functions - Non-temporal versions of aes_gcm added. * Multi-buffer hash improvement - Increase max length of hash in {sha1,sha256,sha512,md5}_mb to > 4GB. v2.19 * Multi-buffer hash (sha1_mb, sha256_mb) - Choose fast single buffer routine to do flush operation if lanes aren't full. - Add SHA-NI support for Goldmont and Cannonlake. * AES-GCM interface updates. - New interface separates the expanded keys and other context into two structures. The old interface is maintained for backward compatibility. - User no longer has to append the GCM_IV_END_MARK manually to then end of iv as this is now done automatically. This update should also improve performance of small packets. * Rolling hash is released. v2.18 * New multi-hash SHA256-based version. v2.16 * Split lib from non-crypto functions. v2.15 * Multi-buffer hash updates. New AVX512 versions for multi-buffer SHA1, SHA256, SHA512, MD5 and SHA1+murmur3_x64_128 stitched. * Removes restrictions on AAD length in AES-GCM. Previously AAD length was limited to a multiple of 4 bytes. Now any AAD length is allowed. * Nasm support. ISA-L ported to build with nasm or yasm assembler. * Windows DLL support. Windows builds DLL by default. * The older, deprecated multi-buffer API has been removed. v2.14 * New multi-hash sha1 function and multi-hash sha1 + murmur3_x64_128 stitched. Multi-hash is designed to give the performance of multi-buffer cryptographic hashes with a synchronous single buffer interface. * New AES-GCM and AES-CBC functions added. * Autoconf and autotools build allows easier porting to additional systems. Previous make system still available to embedded users with Makefile.unx. * The AES key expand functions that were used for AES-XTS with pre-expanded keys now expand the decrypt keys in a different order. The order that decrypt keys are stored and used by XTS_AES_128_dec_expanded_key() is reversed from previous versions to be compatable with CBC and GCM key expansion. The aes_keyexp_*() and XTS_AES_128_dec_expanded_key() functions should work the same when paired together. * Includes update for building on Mac OS X/darwin systems. Add --target=darwin to ./configure step. v2.10 * Added multi-buffer MD5 in the new hash API. Includes multi-binary capability, no restriction on update length and other benefits of the CTX API. v2.9 * New multi-buffer hash API. The new API brings the following new features to multi-buffer hashes. The older API is still included but may be deprecated in future releases. - Multibinary functionality. Call one function and the appropriate architecture-specific version is fixed up at runtime. - No restriction on update length. Submitting an update block no longer has to have length a multiple of the fundamental block size. * New expanded key tests added for AES-XTS 128 and 256 v2.7 * New AVX2 versions for mb_md5 and mb_sha512 hashing code have been added. v2.6 * Update buffer functionality added to mb_md5, mb_sha256 and mb_sha512 hashing code. Requires API changes to current interface to specify job type and total length of hash. * New AVX2 versions for mb_sha1 and mb_sha256 hashing code have been added. v2.5 * New feature for multi-buffer SHA-1, update buffer. mb_sha1 non-finalize jobs can now be submitted by setting flags in job structure. Requires API changes to current interface to specify job type and total length of hash. v2.4 * Added new multi-buffer SHA-512: mb_sha512. SSE, AVX versions. v2.3 * Added improved AES XTS versions. v2.2 * Added new AVX versions of multi-buffer hashes * Changed type in the interface struct for multi-buffer hashes the len field in the following structures :JOB_SHA1,JOB_MD5, JOB_SHA256 is now a 32-bit int. v2.0 * Added AES XTS units aes_xts_128, aes_xts_256 v1.3 * Added new multi-buffer units for SHA-256 and MD5: mb_sha256, mb_md5.