プリミティブの選択

ユースケースを選択して適切なプリミティブを特定し、リンク先でプリミティブの使用に関するガイダンスを確認します。

データを暗号化する

基本ロール 詳細
...標準サイズ 関連データを伴う認証付き暗号化(AEAD) - ほとんどのニーズに適しています
- 最大 232 バイトの平文を受け入れます
- 平文の機密性を確保し、完全性と真正性を検証します
...大規模なファイルまたはデータ ストリーム内 ストリーミング AEAD - 1 回のステップで処理できないほど大きいデータの場合
...決定論的に 決定論的 AEAD - 特定の平文と鍵に対して同じ暗号文を生成します。
...KMS で保護された鍵を使用 Key Management System(KMS)エンベロープ AEAD - すべての平文を新しい AEAD 鍵で暗号化
- すべての AEAD 鍵を KMS で暗号化
...公開鍵で、秘密鍵でデータを復号する ハイブリッド暗号化
- 未認証
- 送信者がシークレット(秘密鍵)を保存できない場合に便利

これらのプリミティブはすべて、暗号テキストをコンテキストにバインドできます。

次のようにして、データの真正性と完全性を確保します。

基本ロール 詳細
...1 つの鍵で MAC を作成して検証する メッセージ認証コード(MAC) - 非常に高速
- MAC を作成できる当事者のみ検証可能
...秘密鍵で署名を作成し、公開鍵で検証する デジタル署名 - 署名を作成できない当事者によって検証可能

その他

基本ロール 詳細
JWT を作成して検証する JSON Web Token(JWT) - JSON Web Key(JWK)形式との相互変換も可能
KMS を使用してプリミティブの鍵セットを暗号化する KMS で暗号化されたプリミティブ - KMS エンベロープ AEAD とは異なり、プリミティブを使用するたびに(平文を暗号化するなど)KMS を操作する必要はありません。

ご不明な点がある場合は、

Tink 組織ページにリンクされている言語固有の GitHub リポジトリで、問題を作成します。