Virgil Security Crypto Library v2.0.0
SergeySeroshtan
released this
05 Jul 14:24
·
553 commits
to master
since this release
Bugfix
- Fix: Use of the same Nonce for chunks is insecure (VirgilChunkCipher)
Features
- [Lib] Implement Ed25519 and X25519 key parse and key write [draft-ietf-curdle-pkix-01]
- [Lib] Implement EdDSA [draft-irtf-cfrg-eddsa-08]
- [Lib] Implement X25519 [RFC7748]
Changes
- [Lib] Move codebase to the C++11 standard
- [Lib] Implement new error handling model
- [Lib] VirgilPBE -> replace named constructors with constructor that accepts enumeration
- [Lib] VirgilKDF -> replace named constructors with constructor that accepts enumeration
- [Lib] VirgilHash -> replace named constructors with constructor that accepts enumeration
- [Lib] VirgilSymmetricCipher -> replace named constructors with constructor that accepts enumeration
- [Lib] Replace enums with scoped enums
- [Lib] Remove AS3 support
- [Lib] Drop C# class CryptoHelper
- [Lib] Remove unimplemented elliptic curves
- [Lib] Remove enumeration value: VirgilKeyPair::Type::Default
- [Lib] Add functions: 'encryptPrivateKey()' and 'decryptPrivateKey()' (VirgilKeyPair)
- [Lib] Embed ContentInfo to the cryptogram by default
- [Lib] Use enum VirgilHash::Algorithm in VirgilPBKDF
- [Lib] Generate Ed25519 keys as recommended
- [Lib] Make wrappers compatible with C++11 and API v2.0
- [Lib] Convert C++ exceptions to JS exceptions
- [Lib] Add keys format converter PEM to DER and vice versa
- [Lib] Change minimum required chunk size for VirgilBytesDataSource
- [Lib] Redesign VirgilChunkCipher interface
- [Lib] Change name for Apple frameworks: VirgilCrypto.framework to VSCCrypto.framework
- [Build] Set CMake option: ANDROID_DEFAULT_NDK_API_LEVEL to 9
- [Build] Remove support of OS X universal binaries
- [Doc] Created migration guide from version 1.8 to 2.0
- [CI] Use gcc-5 on Travis CI
- [CI] Use clang-3.6 on Travis CI
Improvements
- [Lib] Add AMD64 optimizations for Ed25519 library for *nix systems
- [Build] Fix GCC warning: specialization in different namespace [-fpermissive]
- [Build] Add wrapper's include directories as SYSTEM
- [CI] Minimize build matrix in Travis CI
Migration
- Inspect file migration-2.0.md in the project root