@chuckx chuckx released this Aug 10, 2018 · 59 commits to master since this release

Assets 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.

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.