Tink 路线图
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
(上次更新时间:2023 年 7 月)
本页详细介绍了 Tink 团队的简要目标。当目标的实现或更改时,它将定期更新。
多个 GitHub 代码库
我们正在将项目拆分为多个按语言分隔的 GitHub 代码库。这样做具有以下优势:
- 每种语言的分离版本(例如,C++ 中的问题不会阻止执行 Java 版本)
- 更频繁地发布
- 减少要为每个库下载的依赖项集(例如,多个云提供商的 SDK)
文档改进
我们正在努力改进 Tink 文档。这涉及整合 Tink 文档来源(使此网站成为 Tink 文档的可信来源)、提供易于遵循的更新示例,以及填补文档可能存在的任何缺口。欢迎提供文档改进建议。请使用下方链接的调查问卷,或按照贡献页面中的说明提交 bug 或功能请求。
重新设计密钥集和注册表
我们希望让用户能够更好地管理密钥集内的密钥。这样可以更轻松地实现密钥管理系统,并且能够更全面地支持以不同格式(如 PEM 或 JWK)导入和导出密钥(同时确保 API 可防止可能导致安全漏洞的常见错误)。相关工作正在进行中。
我们还在努力允许在 Tink 中使用多个注册表。这样,可以更轻松地开发基于 Tink 的库,并且可以轻松移除和弃用不安全的算法。如需了解详情,请参阅注册表页面。
监控支持
我们为 Tink 添加了监控钩子。用户可以使用这些钩子收集和分析有关其加密操作的非敏感数据,例如正在使用哪些类型的密钥,或使用特定密钥进行的加密调用的次数。
此类信息对于确保密钥轮替充足或创建可能容易受到量子计算机影响的密钥列表非常有用。我们将在适当时候提供关于如何使用这些钩子的教程。
后量子加密 (PQC)
我们正在积极努力实现 NIST 选定的 PQC 算法的低层级实现。其中包括密钥封装机制 (KEM)(具体是指 Kyber/ML-KEM)和数字签名(即 Dilithium/ML-DSA 和 SPHINCS+/SLH-DSA)。准备就绪后,我们将在 Tink 中为这些后量子算法提供官方 API。对于有意开始使用 PQC 的用户,Tink 已经提供了采用 C++ 的实验性 PQC 算法,其中包括 NIST 选择的数字签名,以及 NTRU-HRSS KEM(一种最终未选择的 NIST KEM 候选者)。
我们打算优化 Tink 性能测量值,并为用户提供适当的性能基准。我们还开始研究 Tink 可能的性能增强。
欢迎您提供反馈意见!
我们很乐意了解您如何使用 Tink,或哪些功能对您的实现最有用。请参与我们的问卷调查,将您的想法告诉我们。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eTink is being split into multiple GitHub repositories by language to allow for decoupled releases and more frequent updates.\u003c/p\u003e\n"],["\u003cp\u003eTink documentation is being improved and consolidated with updated examples and addressed gaps.\u003c/p\u003e\n"],["\u003cp\u003eKeyset and registry are undergoing a redesign to enhance key management and support importing/exporting keys in various formats.\u003c/p\u003e\n"],["\u003cp\u003eMonitoring support has been added, enabling users to collect data on cryptographic operations for key rotation and security analysis.\u003c/p\u003e\n"],["\u003cp\u003eTink is actively integrating post-quantum cryptography algorithms and provides experimental access to some PQC algorithms in C++.\u003c/p\u003e\n"]]],["The Tink team is restructuring the project into multiple language-specific GitHub repositories for decoupled and frequent releases. They are overhauling documentation, consolidating sources and creating examples. Key management is being redesigned within keysets, including better support for various key formats, and multiple registries are being enabled. Monitoring hooks have been added for cryptographic operation analysis. They're implementing NIST-selected post-quantum cryptography algorithms, and working to benchmark and enhance Tink's performance.\n"],null,["# Tink Roadmap\n\n*(Last updated July 2023)*\n\nThis page details the high-level goals of the Tink team. It will be periodically\nupdated as the goals are achieved or changed.\n\nMultiple GitHub repositories\n----------------------------\n\nWe are splitting the project into multiple GitHub repositories, separated by\nlanguage. This provides the following benefits:\n\n- decoupled releases for each language (meaning an issue in C++ doesn't prevent performing a release for Java, for example)\n- more frequent releases\n- a reduced set of dependencies to download for each library (for example, SDKs for several cloud providers)\n\nDocumentation improvements\n--------------------------\n\nWe are undertaking an effort to improve the Tink documentation. This involves\nconsolidating Tink documentation sources (making this site the source of truth\nfor Tink documentation), providing updated and easy-to-follow examples, and\nfilling any documentation gaps that may exist. We welcome any documentation\nimprovement suggestions. Please use the survey linked below or file a bug or\nfeature request as outlined in the [Contibutions](/tink/contributing) page.\n\nKeyset and registry redesign\n----------------------------\n\nWe want to give users a better way to manage keys within a keyset. This will\nmake it easier to implement key management systems and will enable more\ncomprehensive support for importing and exporting keys to different formats like\nPEM or JWK (while ensuring the API prevents common mistakes that could result in\nsecurity vulnerabilities). This work is underway.\n\nWe are also working on allowing multiple registries in Tink. This will make it\neasier to develop libraries based on Tink and will also allow for the easy\nremoval and deprecation of insecure algorithms. See more on the\n[Registry](/design/registry) page.\n\nMonitoring support\n------------------\n\nWe have added monitoring hooks to Tink. Users can employ these hooks to collect\nand analyze non-sensitive data about their cryptographic operations, such as\nwhich key types are in use, or the number of encryption calls made with a\nspecific key.\n\nThis type of information is useful to ensure adequate key rotation, or to create\na list of keys that may be vulnerable to quantum computers. We will be providing\na tutorial on how to use these hooks in due course.\n\nPost-quantum cryptography (PQC)\n-------------------------------\n\nWe are actively working on low-level implementations of the\n[NIST-selected](https://csrc.nist.gov/projects/post-quantum-cryptography/selected-algorithms-2022) PQC algorithms. These include key\nencapsulation mechanisms (KEMs), specifically Kyber/ML-KEM, and digital\nsignatures, namely Dilithium/ML-DSA and SPHINCS+/SLH-DSA. Once ready, we will\nprovide official APIs for these post-quantum algorithms in Tink. For anyone\ninterested in starting with PQC, Tink already provides experimental PQC\nalgorithms in C++, covering the NIST-selected digital signatures, and the\nNTRU-HRSS KEM (a NIST KEM candidate which was ultimately not selected).\n\nPerformance\n-----------\n\nWe intend to fine-tune our Tink performance measurements and provide appropriate\nperformance benchmarks for our users. We are also starting to investigate\npossible performance enhancements to Tink.\n\nTell us what you think!\n-----------------------\n\nWe would love to hear about how you use Tink or which features would be most\nuseful for your implementation. Let us know by taking [our survey](https://docs.google.com/forms/d/1mhHvyNJQgTXFDnqOermB7-BD8GQSyvtFPUAhILRbYcA/ \"Tink Developer Survey\")."]]