Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.

Releases: tink-crypto/tink

Tink 1.3.0-rc2

20 Dec 06:40
Compare
Choose a tag to compare
Tink 1.3.0-rc2 Pre-release
Pre-release

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

01 Jul 13:15
Compare
Choose a tag to compare
Pre-release

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

25 Jan 00:07
Compare
Choose a tag to compare

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

16 Nov 20:42
Compare
Choose a tag to compare

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

10 Aug 05:54
Compare
Choose a tag to compare

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

01 Aug 21:33
Compare
Choose a tag to compare
Pre-release

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

27 Jul 20:01
Compare
Choose a tag to compare
Pre-release

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

13 Jul 23:52
Compare
Choose a tag to compare
Pre-release

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

26 May 01:20
Compare
Choose a tag to compare

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

19 Apr 01:21
Compare
Choose a tag to compare

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>

Javadoc