1================================================================================ 2v2.25 Intel Intelligent Storage Acceleration Library Crypto Release Notes 3================================================================================ 4 5================================================================================ 6RELEASE NOTE CONTENTS 7================================================================================ 81. KNOWN ISSUES 92. FIXED ISSUES 103. CHANGE LOG & FEATURES ADDED 11 12================================================================================ 131. KNOWN ISSUES 14================================================================================ 15 16* Perf tests do not run in Windows environment. 17 18* 32-bit lib is not supported in Windows. 19 20* 32-bit lib is not validated. 21 22================================================================================ 232. FIXED ISSUES 24================================================================================ 25v2.25 26 27* Fixed build with gcc 11.1. 28 29* Fixed SHA512 internal reference function parameters. 30 31* Fixed SM3 lane handling for aarch64. 32 33* Replaced non-VEX encoded with VEX-encoded instructions in AES-XTS implementation. 34 35* Fixed clang compilation with older assemblers. 36 37* Fixed SHA512 calculation error on aarch64. 38 39* Fixed MD5/SHA1/SHA256/SHA512 base functions for small inputs (less than block size). 40 41* Fixed AES-XTS OpenSSL calls, limiting the input size, as per restrictions in 3.0 version. 42 43* Fixed Windows build on test applications. 44 45* Fixed SHA1 context structure to force alignment for lengths array. 46 47v2.21 48 49* Put correct vec instruction versions in aes_cbc_enc_{128,192,256}(). May help 50 performance on some systems. 51 52v2.20 53 54* Fix issue with new aes_gcm API, aes_gcm_pre_256 was incorrect. 55 56* Multi-buffer hash max length extended. Previous max length for 57 {sha1,sha256,sha512,md5}_mb was 4095MB. While there is still a 4GB limit for 58 each submit, the total hashed length can now be larger then 4GB. 59 60v2.18 61 62* Fix for multi-buffer hash when total length is above 512MB. 63 64v2.14 65 66* Building in unit directories is no longer supported removing the issue of 67 leftover object files causing the top-level make build to fail. 68 69v2.9 70 71* Multi-buffer MD5 AVX2 tests fixed to work on FreeBSD 9.1 by explicitly aligning 72 structures. 73 74v2.7 75 76* Unit tests and examples are now supported in Windows environment 77 78 79================================================================================ 803. CHANGE LOG & FEATURES ADDED 81================================================================================ 82v2.25 83 84* Added new API including parameter checking (starting with isal_ prefix). 85 86* Added new API returning the library version. 87 88* Added FIPS mode, including self tests in NIST approved algorithms (more information in https://github.com/intel/isa-l_crypto/blob/master/FIPS.md). 89 90* Deprecated previous API in favour of new API (more information in https://github.com/intel/isa-l_crypto/wiki/New-API-introduced-from-v2.25). 91 92* Optimized AES-GCM for AVX512-VAES x86 implementation. 93 94* Optimized SM3 for AVX512 x86 implementation. 95 96* Optimized MD5 and SM3 for aarch64. 97 98* New optimized version of AES-CBC and AES-XTS for aarch64. 99 100* Optimized multi-hash SHA1-Murmur for aarch64. 101 102* Optimized multi-hash SHA1 for aarch64. 103 104* Added ACVP test applications for AES-CBC, AES-GCM, AES-XTS and SHA1/256/512. 105 106* Removed YASM support, so only NASM assembler is supported for x86. 107 108* Bumped minimum NASM version to 2.14.01, which supports all x86 ISA used in this library. 109 110v2.24 111 112* New optimized version of AES-CBC decode 113 114* New AVX2, 8 lane version of multi-buffer SM3 115 116* Added support for big-endian architectures 117 118v2.23 119 120* New optimized versions of block ciphers AES-GCM and AES-XTS. 121 122* New optimized versions of multi-buffer SM3 hashing. Removed experimental 123 status. 124 125v2.22 126 127* New multi-buffer SM3 functions. Experimental base functions only. 128 129* New multi-arch support. 130 131v2.21 132 133* Multi-buffer hash performance improvement for Intel(R) Atom(tm) processors. 134 New by-2 shani versions for multi-buffer sha1 & sha256. 135 136* New base functions for multi-buffer hashes. 137 md5_mb, sha1_mb, sha256_mb, sha512_mb. 138 139v2.20 140 141* New functions 142 - Non-temporal versions of aes_gcm added. 143 144* Multi-buffer hash improvement 145 - Increase max length of hash in {sha1,sha256,sha512,md5}_mb to > 4GB. 146 147v2.19 148 149* Multi-buffer hash (sha1_mb, sha256_mb) 150 151 - Choose fast single buffer routine to do flush operation if lanes aren't full. 152 153 - Add SHA-NI support for Goldmont and Cannonlake. 154 155* AES-GCM interface updates. 156 157 - New interface separates the expanded keys and other context into two 158 structures. The old interface is maintained for backward compatibility. 159 160 - User no longer has to append the GCM_IV_END_MARK manually to then end of iv 161 as this is now done automatically. This update should also improve performance 162 of small packets. 163 164* Rolling hash is released. 165 166v2.18 167 168* New multi-hash SHA256-based version. 169 170v2.16 171 172* Split lib from non-crypto functions. 173 174v2.15 175 176* Multi-buffer hash updates. New AVX512 versions for multi-buffer SHA1, SHA256, 177 SHA512, MD5 and SHA1+murmur3_x64_128 stitched. 178 179* Removes restrictions on AAD length in AES-GCM. Previously AAD length was 180 limited to a multiple of 4 bytes. Now any AAD length is allowed. 181 182* Nasm support. ISA-L ported to build with nasm or yasm assembler. 183 184* Windows DLL support. Windows builds DLL by default. 185 186* The older, deprecated multi-buffer API has been removed. 187 188v2.14 189 190* New multi-hash sha1 function and multi-hash sha1 + murmur3_x64_128 stitched. 191 Multi-hash is designed to give the performance of multi-buffer cryptographic 192 hashes with a synchronous single buffer interface. 193 194* New AES-GCM and AES-CBC functions added. 195 196* Autoconf and autotools build allows easier porting to additional systems. 197 Previous make system still available to embedded users with Makefile.unx. 198 199* The AES key expand functions that were used for AES-XTS with pre-expanded keys 200 now expand the decrypt keys in a different order. The order that decrypt keys 201 are stored and used by XTS_AES_128_dec_expanded_key() is reversed from 202 previous versions to be compatible with CBC and GCM key expansion. The 203 aes_keyexp_*() and XTS_AES_128_dec_expanded_key() functions should work the 204 same when paired together. 205 206* Includes update for building on Mac OS X/darwin systems. Add --target=darwin 207 to ./configure step. 208 209v2.10 210 211* Added multi-buffer MD5 in the new hash API. Includes multi-binary capability, 212 no restriction on update length and other benefits of the CTX API. 213 214v2.9 215 216* New multi-buffer hash API. The new API brings the following new features to 217 multi-buffer hashes. The older API is still included but may be deprecated in 218 future releases. 219 220 - Multibinary functionality. Call one function and the appropriate 221 architecture-specific version is fixed up at runtime. 222 223 - No restriction on update length. Submitting an update block no longer has 224 to have length a multiple of the fundamental block size. 225 226* New expanded key tests added for AES-XTS 128 and 256 227 228v2.7 229 230* New AVX2 versions for mb_md5 and mb_sha512 hashing code have been added. 231 232v2.6 233 234* Update buffer functionality added to mb_md5, mb_sha256 and mb_sha512 hashing 235 code. Requires API changes to current interface to specify job type and total 236 length of hash. 237 238* New AVX2 versions for mb_sha1 and mb_sha256 hashing code have been added. 239 240v2.5 241 242* New feature for multi-buffer SHA-1, update buffer. mb_sha1 non-finalize jobs 243 can now be submitted by setting flags in job structure. Requires API changes 244 to current interface to specify job type and total length of hash. 245 246v2.4 247 248* Added new multi-buffer SHA-512: mb_sha512. SSE, AVX versions. 249 250v2.3 251 252* Added improved AES XTS versions. 253 254v2.2 255 256* Added new AVX versions of multi-buffer hashes 257* Changed type in the interface struct for multi-buffer hashes 258 the len field in the following structures :JOB_SHA1,JOB_MD5, 259 JOB_SHA256 is now a 32-bit int. 260 261v2.0 262 263* Added AES XTS units aes_xts_128, aes_xts_256 264 265v1.3 266 267* Added new multi-buffer units for SHA-256 and MD5: mb_sha256, mb_md5. 268