
多言語対応の暗号ライブラリで、AEAD、MAC、デジタル署名、ハイブリッド暗号化APIを提供し、一般的な暗号の誤用を減らすように設計されています。
注記: Tink は github.com/tink-crypto に移転しました。このリポジトリはもはや アクティブではありません。
計画どおり、Tink は 複数の GitHub リポジトリ に分割され、 github.com/tink-crypto でホストされています。その結果、 このリポジトリは読み取り専用となり、今後はメンテナンスされません。
*多言語・クロスプラットフォーム対応の暗号ライブラリで、安全で、正しく使いやすく、誤用しにくい(誤用がより困難な)暗号 API を提供します。関連情報: https://developers.google.com/tink*。
アプリケーションで暗号を使用することは、暗闇でチェーンソーをジャグリングするように感じるべきではありません。Tink は、Google の暗号研究者とセキュリティエンジニアのグループによって書かれた暗号ライブラリです。これは、Google の製品チームと協力してきた豊富な経験、実装の弱点の修正、そして暗号のバックグラウンドがなくても安全に使用できるシンプルな API の提供から生まれました。
Tink は、正しく使いやすく、誤用しにくい(誤用がより困難な)安全な API を提供します。ユーザー中心の設計、慎重な実装とコードレビュー、そして広範なテストにより、一般的な暗号の落とし穴を減らします。Google では、Tink は標準的な暗号ライブラリの 1 つであり、何百もの製品やシステムに導入されています。
Tink の設計の概要をすばやく把握するには、Real World Crypto 2019 で発表された Tink に関する講演 のスライド をご覧ください。
Java/Android、C++、 Obj-C、Go、 Python はフィールドテスト済みで、本番環境で使用できます。 最新バージョンは 1.7.0 で、2022-08-09 にリリースされました。
Javascript/Typescript はアルファ状態であり、テスト目的でのみ使用してください。 削除の意図に関する声明はこちら を参照してください。
プロジェクトのドキュメントは https://developers.google.com/tink にあります。 現在、さまざまな一般的な使用シナリオを詳しく説明しており、Java と Python の実装をカバーしています。サイトには今後さらに多くのコンテンツが追加される予定です。
あるいは、さまざまな言語で Tink を使用して単純なタスクを実行する方法を示す examples をすべて見ることもできます。
pip3 install tink
go get github.com/google/tink/go/...
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>tink</artifactId>
<version>1.7.0</version>
</dependency>
dependencies {
implementation 'com.google.crypto.tink:tink-android:1.7.0'
}
cd /path/to/your/Xcode project/
pod init
pod 'Tink', '1.7.0'
pod install
Tink は標準で幅広い言語をサポートしていますが、それでもすべての言語をサポートしているわけではありません。幸いなことに、Tink をとても気に入った一部のユーザーが、お気に入りの言語に移植してくれています。以下に注目すべきポートを示します。
警告 通常これらのポートはレビューしますが、それ以降の通知があるまで、これらを維持したり、近い将来にサポートする計画はありません。
貢献したい場合は、CONTRIBUTING を読んで、プルリクエストを送ってください。バグを報告したり、機能リクエストを提出したりすることもできます。
開発者と話したい場合や、主要な製品アップデートの通知を受け取りたい場合は、メーリングリスト に登録するとよいでしょう。
Tink は以下のメンバーによってメンテナンスされています (A-Z):
Alumni(元メンバー):