1.4.0 - Customize CFB segment size (cfb8, cfb128). - Adapt Swift @inlineable for better code optimization 1.3.8 - Revert xcframework revolution. Back to build from sources. (I'm sorry) 1.3.7 - Re-release to workaround Swift Package Manager release 1.3.6 - Fix macOS binary - Windows support 1.3.5 - Re-release binary framework due to codesign issue 1.3.4 - Distribute optimized binary (xcframework) via SPM for apple platforms 1.3.3 - Adds OCB Authenticated-Encryption Algorithm (RFC7253) - build-framework.sh output CryptoSwift.xcframework - Xcode 12.2 maintenance updates - Removed CryptoSwift.playground (couldn't make it work since Xcode 12 update) 1.3.2 - Swift 5.3 update (Xcode 12) - Bump target platform (iOS 9, macOS 10.12) - Allow CMAC with any Cipher - Remove CMAC key limit 1.3.1 - Fix tests - Swift 5.2 update - Address possible timing issue 1.3.0 - Adds ISO-78164 padding - Performance improvements - Swift 5.1 update 1.2.0 - Performance improvements - Workaround Xcode test builds with Xcode 11 1.1.3 - Fix build crash: https://bugs.swift.org/browse/SR-11630 - Fixes Xcode project tests build - SwiftFormat all the things - Increase/fix SHA2 data length for big input by use Int64 for calculation 1.1.2 - Fix Swift 5.0 build (for real this time) 1.1.1 - Fix Swift 5.0 build 1.1.0 - Replace RandomBytesSequence with Swift.RandomNumberGenerator - Fix CBC-MAC - Update SPM support - Update for Xcode 11 and Swift 5.1 - Xcode: BUILD_LIBRARY_FOR_DISTRIBUTION = YES 1.0.0 - Swift 5 - Let's - Celebrate - This - Event - With - 1.0.0 release - After - 4 years - Thank you 0.15.0 - Adds The scrypt Password-Based Key Derivation Function (https://tools.ietf.org/html/rfc7914) - Minor improvements 0.14.0 - Fixed decryption of AES-GCM ciphertexts with custom tag length 0.13.1 - Adds AES-GCM tag length configuration. - Fixes count check for initializing UInt64 from Data. 0.13.0 - Adds CBC-MAC authenticator. - Adds AES-CCM operation mode. 0.12.0 - Swift 4.2 maintenance update. 0.11.0 - API: Cryptor.seek() is throwable - Adds proper stream support for CTR encryption with Updaptable interface. - Refactor internals for the stream cipher modes. - Set minimum deployment target to 8.0 (again). 0.10.0 - API: BlockMode is no longer an enum. Please migrate to eg. CBC() etc... - Adds AES-GCM support. #97 - Feature sponsored by GesundheitsCloud (http://www.gesundheitscloud.de/) - Adds CRC32c support. - Improves AES variant validation. - Fixes empty password in PBKDF2. 0.9.0 - Swift 4.1 compatibility - Added CMAC message authenticator https://tools.ietf.org/html/rfc4493 - Added AEADChaCha20Poly1305 (AEAD_CHACHA20_POLY1305) https://tools.ietf.org/html/rfc7539#section-2.8.1 0.8.3 - Fixes SHA3 padding. - Fixes Carthage builds. 0.8.2 - Fixes SHA3 partial updates calculations. - Makes ChaCha20 processing faster again. 0.8.1 - Adds Data(hex:) helper. - Adds HKDF (HMAC-based Extract-and-Expand Key Derivation Function) - Prevent ChaCha overflow error 0.8.0 - Adds SHA3 Keccak variants - Adds String.bytes helper to convert String to array of bytes - Improves AES performance - Speeds up compilation times with Swift 4 - Fixes: Blowfish minimum key size is 5 - Removes Ciphers "iv" parameter (value moved to BlockMode) - BlockMode uses associated value for IV value where apply e.g. .CBC(iv: ivbytes) - Refactors internal hacks no longer needed with Swift 4 0.7.2 - Adds Padding enum (.pkcs5, .pkcs7, .noPadding, .zeroPadding) - Removes Generics from the public API. - Slightly improves SHA1, SHA2, SHA3 performance. - Update SPM configuration for Swift 4 0.7.1 - Swift 4.0 compatibility release 0.7.0 - Swift 3.2 compatibility release 0.6.9 - Fixed padding issue where padding was not properly added in CTR mode. - Fixed thrown error on decrypting empty string, - Fixed CI build script. - Added String.encryptToBase64() 0.6.8 - Speed up MD5() - Faster Array(hex:) - Improve AES performance - Fix tvOS bitcode - Fix Blowfish CFB, OFB, CTR block modes. - Fix Blowfish for 32-bit arch. - Fix ChaCha20 preconditions 0.6.7 - Release for Xcode 8.2 - Fix playground example 0.6.6 - Rework ChaCha20 - Fix Poly1305 0.6.5 - Significant performance improvement when processing lange amount of data. - Degeneric functions and change Sequence -> Collection in generic constraints. 0.6.4 - More performance improvements - Add convenient Digest.sha2(bytes:variant) - New: Blowfish cipher 0.6.3 - Hotfix release - Fixes bitPadding() that breaks Digests calculations, introduced in 0.6.2 0.6.2 - SHA performance improvements by using less Swift in Swift - Fix public access to all digests classes 0.6.1 - Update tests. - New: RandomBytesSequence urandom values on Linux. - Throw appropriate error for AES with invalid input where padding is needed. - Improve performance, especially to SHA-1, SHA-2, PBKDF and related. - Set deployment targets for all platform. Fixes Carthage builds. - New: SHA-3 implementation (request #291) - SHA-1 conforms to Updatable protocol and may be calculated incrementally. - SHA-2 conforms to Updatable protocol and may be calculated incrementally. 0.6.0 - Remove bridge() workaround for Linux (not needed) - make MD5() public - Update README - Convenience HMAC initializer for String input 0.6.0-beta2 - SHA-2 fix #319 - HashProtocol -> Digest and refactor - MD5 conforms to Updatable protocol and may be calculated incrementally - Cipher protocol accepts Collection input now 0.6.0-beta1 - Swift 3 compatibility - Multiplatform, Single-scheme Xcode Project - Swift Package Manager fully supported (build and tests) - Improved Linux support - Travis configuration added - Public interface tests added - enum Authenticator -> protocol Authenticator - CRC -> Checksum - String.encrypt() returns hex string instead of Array - removed String.decrypt() - enum Hash -> struct Hash - Convenience initializer of Array of bytes with Hex string. Array(hex: "0xb1b1b2b2") - Fix reusability of ChaCha20 instance - Replace optional initializers with throwable initializers - Allow to set initial counter explicitly (AES block modes). RandomAccessCryptor.seek() 0.5.2 - Fix AES-CTR incremental updates. #287 - Fixed PBKDF2 tests. #295 - Fixed assertion check in PKCS7. #288 - Updatable protocol accept SequenceType in place of Array 0.5.1 - Fixed PBKDF2 not taking key length parameter into account - Switch to Array<> in code 0.5 - Added PBKDF1 https://tools.ietf.org/html/rfc2898#section-5.1 - Added PBKDF2 https://tools.ietf.org/html/rfc2898#section-5.2 - UpdatableCryptor protocol allows incremental encryption stream of data - CryptoSwift.playground - Docs update - Added reflection control to CRC-32 (Luís Silva) - Fix AES.init() (Pascal Pfiffner) 0.4.1 - fix NoPadding() 0.4 - Padding setup is now part of cipher constructor - Added PBKDF2 http://tools.ietf.org/html/rfc2898#section-5.2 - Add BlockCipher protocol - Rename Cipher -> CipherProtocol - Remove build-frameworks.sh script - Keep sensitive data in memory with SecureBytes - Allows direct use of HMAC and Poly1305 - README update - Fix missing Foundation import on Linux 0.3.1 - replace deprecated Bit with new enum. 0.3 - Swift 2.2 support - use generators for cipher block modes should reduce memory overload. - add OFB block mode - add PCBC block mode - String.decryptBase64ToString to decrypt Base64 encoded strings - broke up complicated expressions which were taking ages to compile 0.2.3 - enable bitcode setting for Debug on an Apple TV - faster compilation times - improve padding functions 0.2.2 - Fix ChaCha20 cipher - Replace for(;;) with for-in - Workaround for "NSString are not yet implicitly convertible to String" on Linux 0.2.1 - Fix linux build - re-add umbrella header 0.2 - Rabbit cipher (RFC4503) - Linux Swift support - Swift Package Manager support - tvOS support - Add optional seed to CRC - Add umbrella header (CryptoSwift.h) - Fix AES in CTR mode - Fix no padding support for CTR and CFB block modes - Fix access to AES.Error and ChaCha20.Error 0.1.1 - Fix Cococapods package (missing Foundation integration) 0.1.0 - Major performance improvements. - Transition from Optionals to throw error. - Replace enum Cipher with protocol for ciphers. - Added CRC16 - Fixed AES CFB decryption - Drop internal "Foundation" dependency, nonetheless it is supported as usual. 0.0.16 - Critical fix for private "md5" selector issue (#135) 0.0.15 - Fix 32-bit CTR block mode - Carthage support update - Mark as App-Extension-Safe API 0.0.14 - hexString -> toHextString() #105 - CTR (Counter mode) - Hex string is lowercase now - Carthage support - Tests update - Swift 2.0 support - overall update