This repository has been archived by the owner on Apr 17, 2024. It is now read-only.
Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.
This is Tink 1.7.0.
To get started using Tink, see the installation instructions.
To see what we're working towards, check our project roadmap.
What's new
The complete list of changes since 1.6.1 can be found here.
General
- Hybrid Public Key Encryption (HPKE)
- Added support for HPKE as defined in RFC 9180
- Implemented in C++, Java, Go, and Python.
- NOTE: In C++, HPKE is not present when using OpenSSL or when FIPS-only mode is enabled.
- JSON Web Token (JWT)
- Protocol buffer definitions and test data are now embedded within each Bazel workspace.
C++
- Post-Quantum Cryptography
- Experimental only implementations of Dilithium, Falcon, and Sphincs.
- CMake build options
- Added option to use pre-installed OpenSSL (v1.1.1), gTest, and Abseil (v1.1.1) src
- Added option to propagate client
CMAKE_CXX_STANDARD
, see the CMAKE HOW-TO
- Optional migration to
absl::Status
andabsl::StatusOr
Java
- Upgraded dependencies with vulnerabilities
- gson 2.8.6 => 2.8.9 (solves CVE-2022-25647) [src]
- protobuf-java 3.14.0 => 3.19.3 (solves CVE-2021-22569) [src]
Go
- GCP KMS
- Added more flexible client instantiation via
NewClientWithOptions
which takesoption.ClientOptions
arguments.
- Added more flexible client instantiation via
- Fix memory utilization bug in streaming AEAD (#594)
Python
- Python 3.10 support
Objective-C
NOTE: Pending publication to CocoaPods.
- arm64 (M1) support