Releases: tink-crypto/tink
Tink 1.3.0-rc2
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 2
Changes
The complete list of changes since 1.3.0-rc1 can be found here.
Changes of note include (from rc1 to rc2):
- The recommended version of Bazel is documented in the
.bazelversion
file in the root of the repository. This approach is compatible with Bazelisk, a wrapper for Bazel maintained by the Bazel team.
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-rc2.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-rc2'
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-rc2</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.3.0-rc2'
}
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 December 2019.
Tink 1.3.0 Release Candidate 1
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.
Tink 1.2.2
Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.
This is Tink 1.2.2.
Changes
This release fixes an issue with the Obj-C build distributed via CocoaPods. In particular, the BoringSSL library is statically linked to prevent namespace clashes in projects which depend on OpenSSL.
The complete list of changes since 1.2.1 can be found here.
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.2.2.tar.gz" |
sudo tar -xz -C ${TARGET_DIR}
Obj-C with CocoaPods
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.2.2'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.2</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.2'
}
What's next
See the project road map for future plans.
Tink 1.2.1
Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.
This is Tink 1.2.1.
Changes
This release fixes a bunch of (non-security) bugs. There is no change in the public APIs.
The complete list of changes since 1.2.0 can be found here.
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.2.1.tar.gz" |
sudo tar -xz -C ${TARGET_DIR}
Obj-C with Cocoapods
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.2.1'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.1</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.1'
}
What's next
See the project road map for future plans.
Tink 1.2.0
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.
Tink 1.2.0 Release Candidate 4
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 Release Candidate 4.
Changes
The complete list of changes since Release Candidate 3 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-rc4.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-rc4'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.0-rc4</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.0-rc4'
}
What's next
This is intended to be the last release candidate before the final 1.2.0 release.
Tink 1.2.0 Release Candidate 3
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 Release Candidate 3.
Changes
The complete list of changes since Release Candidate 2 can be found here. Please ignore RSA-related changes; RSA is not part of 1.2.0 release.
This candidate adds C++/Obj-C APIs to generate keys and to get public keys from private keys. We thank Sreejith Krishnan R for reporting these bugs.
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-rc3.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-rc3'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.0-rc3</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.0-rc3'
}
What's next
There may be a few more release candidates before we get to the final 1.2.0 release. It should be out by the end of July 2018.
Tink 1.2.0 Release Candidate 2
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 Release Candidate 2.
Note: Release Candidate 1 was private and used to test the Obj-C publishing process.
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-rc2.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-rc2'
pod install
Java with Maven
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.2.0-rc2</version>
</dependency>
Android with Gradle
dependencies {
compile 'com.google.crypto.tink:tink-android:1.2.0-rc2'
}
What's next
There may be a few more release candidates before we get to the final 1.2.0 release. It should be out by the end of July 2018.
Tink v1.1.1
Tink is a multi-language, cross-platform library that provides an easy, simple, secure, and agile API for common cryptographic tasks.
This is a minor release which includes a fix for a build error (#94) and documentation cleanup.
Installation
Java developers can install Tink using Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.1.1</version>
</dependency>
Android developers can install Tink using Gradle:
dependencies {
compile 'com.google.crypto.tink:tink-android:1.1.1'
}
For usage, please see the Java HOWTO. A list of known issues is provided here.
Javadoc
Tink 1.1.0
Tink is a multi-language, cross-platform library that provides an easy, simple, secure, and agile API for common cryptographic tasks.
This is the second release. Like the first release, Java is still the only officially supported language. Tink for C++, Objective-C and Go are working (C++ has been running in production at Google for a while), and we’re working hard to bring these languages in 1.2.0. See our feature roadmap for more details.
Installation
Java developers can install Tink using Maven:
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.1.0</version>
</dependency>
Android developers can install Tink using Gradle:
dependencies {
compile 'com.google.crypto.tink:tink-android:1.1.0'
}
For usage, please see the Java HOWTO. A list of known issues is provided here.
New primitives and algorithms
-
AEAD: CHACHA20-POLY1305
-
Digital Signature: ED25519
-
Deterministic AEAD: AES-SIV
-
Streaming AEAD: AES-GCM-HKDF-STREAMING and AES-CTR-HMAC-STREAMING
New apps
Aside from the core APIs, Tink provides apps that implement common standards or protocols. The apps depend on Tink, but are built separately.
Google Pay Token
This app is an implementation of Google Pay Token Cryptography Standard. Version 1.1.0 adds supports for the ECv2 protocol.
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-paymentmethodtoken</artifactId>
<version>1.1.0</version>
</dependency>
Web Push Message Encryption
This app is an implementation of RFC 8291 - Message Encryption for Web Push.
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-webpush</artifactId>
<version>1.1.0</version>
</dependency>