Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.
This is Tink 1.2.0.
Changes
The complete list of changes since Release Candidate 4 can be found here.
Please ignore RSA-related changes; RSA is not part of 1.2.0 release.
New languages: C++ and Obj-C
Tink 1.2.0 adds support for C++ and Obj-C. Both have been running in production at Google for a few months, and support the following algorithms:
- AEAD: AES-EAX, AES-GCM, AES-CTR-HMAC-AEAD
- MAC: HMAC-SHA2
- Digital Signature: ECDSA over NIST curves
- Hybrid Encryption: ECIES over NIST curves with AEAD (AES-GCM and AES-CTR-HMAC-AEAD) and HKDF
Support for AWS KMS will be added to the Tink C++ library in future release candidates. Support for Google Cloud KMS has to wait post 1.2.0 because of lack of Cloud KMS client library.
The Tink Obj-C library supports reading/writing key material to/from iOS Keychain.
Please see the C++ HOWTO and the Obj-C HOWTO for usage.
Installation
C++ with prebuilt binaries
OS="linux" # Change to "darwin" for macOS
TARGET_DIR="/usr/local"
curl -L \
"https://storage.googleapis.com/tink/releases/libtink-${OS}-x86_64-1.2.0.tar.gz" |
sudo tar -xz -C ${TARGET_DIR}
Obj-C with Cocoapods
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.2.0'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.0</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.0'
}
What's next
See the project road map for future plans.