选择您的使用场景以确定正确的原语,然后点击相应链接,获取有关使用该原语的指南。
加密数据…
原初 | 详细信息 | |
---|---|---|
...采用标准尺寸 | 关联数据加密的身份验证 (AEAD) | - 适合大多数需求 - 接受最大 232 字节的明文 - 提供明文机密性,并验证完整性和真实性 |
...在大型文件或数据流中 | 流式 AEAD | - 对于过大而无法在单个步骤中处理的数据 |
...确定性地 | 确定性 AEAD | - 对于给定的纯文本和密钥,生成相同的密文 |
...使用受 KMS 保护的密钥 | Key Management System (KMS) Envelope AEAD | - 使用新的 AEAD 密钥 加密每个明文- 使用 KMS 加密每个 AEAD 密钥 |
...使用公钥加密,使用私钥解密 | 混合加密 |
- 未经过身份验证 - 当发送者无法存储密钥(私钥)时很有用 |
所有这些原语都能够将密文绑定到其上下文。
通过以下方式确保数据的真实性和完整性:
原初 | 详细信息 | |
---|---|---|
...使用一个密钥创建和验证 MAC | 消息身份验证码 (MAC) | - 速度非常快 - 只能由可以创建 MAC 的相关方进行验证 |
...使用私钥创建签名,使用公钥进行验证 | 数字签名 | - 可由无法创建签名的各方验证 |
其他
原初 | 详细信息 | |
---|---|---|
创建和验证 JWT | JSON Web 令牌 (JWT) | - 还可以转换为 JSON Web 密钥 (JWK) 格式或从该格式转换 |
使用 KMS 加密任何原语的密钥集 | KMS 加密的基元 | - 不需要每次使用原语时都与 KMS 互动(例如,加密明文),这与 KMS Envelope AEAD 不同 |
有问题吗?
在 Tink 组织页面上链接的特定语言 GitHub 代码库中创建问题。