Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.
This is Tink 1.3.0 Release Candidate 1
Changes
The complete list of changes since 1.2.2 can be found here.
The main changes include:
- new language: Tink in Go, with primitives MAC, AEAD (incl. KMS envelope), deterministic AEAD, hybrid encryption and digital signatures (see supported primitives and GOLANG HOWTO for details)
- C++ deterministic AEAD (AES-SIV) and streaming AEAD (AES-GCM-HKDF-STREAMING)
- C++ KMS-AEAD and KMS-envelope-AEAD, incl. integration with AWS KMS and GCP KMS.
- RSA-signatures for Java and C++ (RSA-SSA-PKCS1, RSA-SSA-PSS)
- ED25519 signatures for C++, Obj-C, and Go
Please note that Tink JavaScript and Tink Python are not a part of this release. Moreover, streaming envelope encryption (for Java and C++) has been de-prioritized and also is not a part of this release.
Installation
C++ with prebuilt binaries
OS="$(uname | tr '[:upper:]' '[:lower:]')"
TARGET_DIR="/usr/local"
curl -L \
"https://storage.googleapis.com/tink/releases/libtink-${OS}-x86_64-1.3.0-rc1.tar.gz" |
sudo tar -xz -C ${TARGET_DIR}
Obj-C with CocoaPods
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.3.0-rc1'
pod install
Golang
To install Tink locally run:
go get github.com/google/tink/go/...
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.3.0-rc1</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.3.0-rc1'
}
What's next
There may be a few more release candidates before we get to the final 1.3.0 release. It should be out by the end of July 2019.