什么是(Google 的)Tink?
Google 开源密码学库 Tink 的官方说明文档。核心定位:让没有密码学背景的工程师也能安全完成加密、签名等常见任务。设计要点包括:(1) 在 BoringSSL、JCA 等成熟库之上增加防护,将高风险 API 单独分离便于审计;(2) 引入 keyset(密钥集)抽象,一个 keyset 关联一个原语,密钥同时绑定算法和全部参数,消除歧义;(3) 通过接口(如 AEAD、DeterministicAead)表达"安全性质"而非具体算法,使代码可支持算法/密钥轮换(密码学敏捷性),并让安全审查只需检查接口的安全保证,无需遍历整个代码库确认实现是否安全;(4) 密文与主流密码学库兼容,支持 Amazon KMS、Google Cloud KMS、Android Keystore、iOS Keychain 等外部密钥管理。 已部署于 Google 数百个产品,也被 Square、Citadel 及大量 Google Cloud 客户和 Google Pay 合作方使用,同时驱动 Jetpack Security 库,保护 Slack、Adidas、Airbnb、Nextdoor 等 Android 应用。 文档还用一个 IdEncrypter 代码示例说明 AEAD 接口如何让安全保证对调用方显式可见,以及为什么拒绝"几乎符合 AEAD"的算法会破坏安全性质。 









