org-metaeffekt/metaeffekt-cryptography
GitHub: org-metaeffekt/metaeffekt-cryptography
密码学算法与参数的综合性知识库,提供算法分类、合规状态评估、CBOM 生成和后量子迁移支持。
Stars: 1 | Forks: 0
# {metæffekt} 密码学
汇总有关密码算法、随机数生成器及相关参数的信息。涵盖用于评估算法和生成器的基于模式的方法。
## 简介
密码学是现代软件的关键资产。它支持保护数据(机密性、完整性、真实性)以及功能权限(授权、声明)。
现代软件系统依赖于丰富且不断演进的密码算法和协议生态系统。AES 等对称密码保护静态和传输中的数据;基于 RSA、椭圆曲线或格的非对称方案是密钥交换、数字签名和证书基础设施的基础;哈希函数为从版本控制到区块链账本的所有事物提供完整性支柱。这些原语共同构成了分层安全架构,保护通信、验证身份、授权访问,并在分布式系统中建立来源。
密码算法的选择绝不仅仅是学术问题。它带来具体的工程后果:性能预算、密钥和签名大小、硬件加速可用性、侧信道暴露,以及与 FIPS 140-3、ETSI 或通用标准 (Common Criteria) 等标准的兼容性。同时,威胁形势在不断演变。密码分析突破、实现缺陷和新兴计算范式——最显著的是大规模量子计算——定期使先前安全的原语失效,并迫使整个生态系统进行迁移。
量子计算对支撑当今互联网安全的大部分公钥算法构成结构性威胁。Shor 算法可以在足够强大的量子计算机上以多项式时间破解 RSA 和椭圆曲线离散对数方案。作为回应,NIST 于 2024 年结束了一项为期多年的标准化流程,发布了 FIPS 203 (ML-KEM)、FIPS 204 (ML-DSA) 和 FIPS 205 (SLH-DSA) 作为首批后量子密码学 (PQC) 标准,随后是 FN-DSA (Falcon) 和 HQC。各组织现在必须在具有密码学相关性的量子计算机问世之前,规划并执行从经典算法到抗量子算法的迁移——由于现代软件堆栈中密码使用的广度和深度,这一过渡变得尤为复杂。
因此,对密码资产的有效治理需要系统地了解部署了哪些算法、在何处部署、使用哪些版本以及采用何种配置。如果没有这种清单(通常通过软件物料清单 (SBOM) 实践和密码敏捷性框架来追求),组织就无法评估其暴露风险、确定补救优先级或证明合规性。在软件组件层面识别、分类和跟踪密码算法是任何有意义的迁移或风险管理计划的先决条件。
## 目的
本仓库汇总了有关密码材料的信息。它试图传达并解释该领域的复杂性。旨在促进关于如何协作组织这些数据并使其对所有相关方可用的讨论。
## 许可证
请注意,此内容基于公共数据源。主要包括:
* https://github.com/spdx/cryptographic-algorithm-list (Creative Commons Zero Universal 1.0)
* https://github.com/CycloneDX/specification/blob/master/schema/cryptography-defs.json (Apache License 2.0)
* https://groups.google.com/a/list.nist.gov/g/pqc-forum (适用个人版权、许可和商标)
* NIST FIPS 203 (ML-KEM), FIPS 204 (ML-DSA), FIPS 205 (SLH-DSA), FIPS 206 IPD (FN-DSA) — 公有领域
* NIST SP 800-57 Part 1 Rev 5, SP 800-131A Rev 2 — 公有领域
* NIST SP 800-56A Rev 3 — *Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography*, 2018 年 4 月 — 公有领域
* NIST SP 800-186 — *Recommendations for Discrete Logarithm-Based Cryptography: Elliptic Curve Domain Parameters*, 2023 年 2 月 — 公有领域
* NIST SP 800-208 — *Recommendation for Stateful Hash-Based Signature Schemes*, 2020 年 10 月 — 公有领域
* NIST SP 800-232 — *Ascon-Based Lightweight Cryptography Standards*, 2023 — 公有领域
* BSI TR-02102-1 v2026-01, TR-02102-2 v2026-01, TR-02102-3 v2026-01, TR-02102-4 v2026-01 — 公有领域
* NSA Cybersecurity Advisory PP-22-1338: *Announcing the Commercial National Security Algorithm Suite 2.0* (CNSA 2.0), 2022 年 9 月,版本 1.0 — 公有领域
* ENISA — *Post-Quantum Cryptography: Current state and quantum mitigation*, v2, 2021 年 5 月。作者:Ward Beullens 等。DOI: 10.2824/92307. © European Union Agency for Cybersecurity (ENISA), 2021 (授权复制,请注明出处)。
* RFC 9180 — *Hybrid Public Key Encryption (HPKE)*, 2022 年 2 月 — IETF (修订版 BSD 许可证)
* RFC 9881 — *Internet X.509 Public Key Infrastructure — Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)*, 2025 年 10 月 — IETF (修订版 BSD 许可证)
* RFC 9935 — *Internet X.509 Public Key Infrastructure — Algorithm Identifiers for the Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)*, 2026 年 3 月 — IETF (修订版 BSD 许可证)
* draft-ietf-lamps-pq-composite-sigs-15 — *Composite ML-DSA for use in X.509 Public Key Infrastructure*, 2026 年 2 月 — IETF Internet-Draft (正在进行中); (修订版 BSD 许可证)
* NIST IR 8545 — *Status Report on the Fourth Round of the NIST Post-Quantum Cryptography Standardization Process*, 2025 年 3 月 — 公有领域
* HQC submission team — *Hamming Quasi-Cyclic (HQC)*, 规范文档 v2025-08-22, https://pqc-hqc.org (个人作者;代码处于公有领域)
* 以及各种公开出版物(例如来自 NIST 的特别出版物、FIPS 和 BSI 指南)。
内容的汇总和增强基于 Creative Commons BY-SA 4.0 提供,
版权所有 (c) 2026 metaeffekt GmbH。
## 免责声明
本仓库中的内容由人工智能(Claude 和部分 Gemini)摄取。绝对不保证完整性和正确性。所有使用风险自负。
本文档中提及的所有公司名称、组织名称、许可证名称、算法名称、方法名称和产品名称仅用于识别目的。仅在许可证条款要求时,才明确将商标标识为注册或未注册商标。
如果您发现此元数据级别的汇总中存在任何对条款和条件的侵权行为。请立即报告,以便相应地进行调整。
## 内容
- **[cryptographic-governance.md](cryptographic-governance.md)** — 针对治理挑战的框架性文档:每个组织都应该能够回答关于其密码态势的五个问题、为什么量子过渡使清单在当下变得紧迫、密码学物料清单 (Cryptography Bill of Materials) 能实现什么,以及使其有意义所需的分类法规模。面向非技术利益相关者和对外沟通的起点。
- **[cryptographic-algorithms.md](cryptographic-algorithms.md)** — 涵盖完整分类法的算法表:对称密码、分组密码模式、哈希函数、MAC、非对称加密、经典签名、有状态基于哈希的签名、后量子 KEM 和签名(NIST 标准化 + 第 2 轮候选)、KDF、密码哈希、DRBG、OS 熵 API 和非密码学 PRNG。每行包括 id、名称、密码类别、OID、CycloneDX 模式示例和参考。
- **[cryptographic-parameters.md](cryptographic-parameters.md)** — 按系列(对称、非对称、哈希、MAC、KDF、KEM、签名)分组的密码算法目录。每个条目涵盖用途、参数集、安全级别、FIPS/NIST 标准化状态以及 SBOM 工具中使用的 CycloneDX 算法模式字符串。PQC 条目(ML-KEM、ML-DSA、SLH-DSA、FN-DSA)包含完整的参数表,列出了以字节为单位的公钥、私钥、密文和签名大小。
- **[random-number-generators.md](random-number-generators.md)** — 确定性和非确定性随机数生成器(DRBG 和 TRNG)目录。涵盖 SP 800-90A/B/C 系列、OS 熵源和特定平台的 API。每个条目列出了构造类型、安全强度、种子要求和 CycloneDX RNG 模式字符串。
- **[cryptographic-status.md](cryptographic-status.md)** — 源自 NIST SP 800-57 Part 1 Rev 5、SP 800-131A Rev 2、BSI TR-02102-1 至 -4、NSA CNSA 2.0 及相关标准的算法和密钥长度选择状态。按安全强度层级组织算法,突出显示已弃用和禁止的原语,并交叉引用 FIPS 后量子标准。包括安全强度等价表(SP 800-57 表 2)、SSH 建议(BSI TR-02102-4)、IPsec/IKEv2 建议(BSI TR-02102-3)以及 CNSA 2.0 算法要求和迁移时间表。
- **[glossary.md](glossary.md)** — 本仓库中使用的所有术语和缩写的通俗语言解释,专为没有数学背景的读者编写。涵盖密码原语、协议概念、标准化机构、后量子术语和 SBOM/CycloneDX 表示法。包括缩写快速参考表。
## 实现清单
- **[inventory/README.md](inventory/README.md)** — 参考实现、生产级库、测试向量仓库和分析工具的精选列表。涵盖 NIST 标准化的 PQC 算法(FIPS 203/204/205、FIPS 206 IPD、HQC)、第 2 轮额外签名候选、生态系统库、Ascon 轻量级加密(NIST SP 800-232)、中国国家标准(通过 GmSSL 的 SM9)、密码认证密钥交换(SPAKE2/SPAKE2+、OPAQUE)和 3GPP 认证算法(MILENAGE、TUAK、A5/x)。包括每个条目的源代码下载归档 URL。
- **[inventory/ae-cryptography-inventory.xlsx](inventory/ae-cryptography-inventory.xlsx)** — 密码库和实现的电子表格形式结构化清单(99 个条目)。每行记录库标识符、版本、仓库 URL、源代码下载归档 URL、描述、版本状态、仓库许可证(SPDX 表达式)、支持的 CycloneDX 算法模式和专利参考。旨在作为上述叙述性文档的机器可读伴侣。
## 模式验证器
- **[ae-pattern-validator/](ae-pattern-validator/)** — 基于 Maven 的 Java 17 模块(Bouncy Castle 1.83, Spring Boot 4.1.0-M4),用于验证密码算法模式、X.509 证书、CMS/PKCS#7 结构和 CycloneDX CBOM 文件。从证书和 CMS 分析生成 CycloneDX 1.6 CBOM JSON。注册表:309 个算法系列,9 个分类文件,154 个唯一 OID,完整的 CycloneDX + SPDX 覆盖。CLI 模式:`--cert`、`--cms`、`--cbom`、`--generate-cbom`、`--oid`,模式实例/模板验证。构建:`cd ae-pattern-validator && mvn clean verify`。(尚未发布;评估中)
- **[registry-naming-inconsistencies.md](registry-naming-inconsistencies.md)** — CycloneDX 密码注册表、SPDX 算法列表与本仓库分类法之间命名歧义和不一致性的交叉引用。记录了 16 个具体问题及八种解决机制。覆盖所有 CycloneDX 和 SPDX 实例模式。
- **[validator-test-report.md](validator-test-report.md)** — 模式验证器的测试统计:15 个测试类中的 736 个测试,涵盖按分类法的实例验证、模板/约束验证、CycloneDX 覆盖(201 个测试)、SPDX 覆盖(159 个测试)、X.509 证书分析(5 个测试)、CMS 分析(7 个测试)、CBOM 验证(8 个测试)和 CBOM 生成(4 个测试)。注册表:309 个系列,9 个文件,154 个唯一 OID。
## 语法
这些语法完全是实验性的。
- **[grammar/AlgorithmPattern.g4](grammar/AlgorithmPattern.g4)** — 用于解析 CycloneDX 密码算法模式字符串的 ANTLR4 语法。处理变量占位符(`{x}`)、必选组(`(a|b)`)、可选组件(`[x]`)、通配符(`*`)和枚举括号(`[v1|v2]`)。
- **[grammar/RngPattern.g4](grammar/RngPattern.g4)** — 扩展 `AlgorithmPattern` 的 ANTLR4 语法,包含特定于 RNG 模式的构造:OS API 路径标记、函数调用表示法(`Name()`)和多字符运算符标记(`+`、`++`、`**`),如 Xoshiro/Xoroshiro 变体标识符中所用。
## 图表
- **[resources/cryptographic-algorithms.drawio](resources/cryptographic-algorithms.drawio)** — 可视化 CycloneDX 密码算法模式语法的 Draw.io 图表:符号图例(`{x}`、`[…]`、`(a|b)`)、 railroad 模式结构、语法产生式规则,以及分为十个部分的参数分类法 —— §1–§8 通用参数(大小、模式、哈希、曲线、认证、KDF、填充、协议),§9 PQC 内部参数(ML-DSA、ML-KEM、SLH-DSA、FN-DSA、HQC 横切和预哈希变体),以及 §10 轻量级与国家标准(Ascon SP 800-232、SM9 GM/T 0044、3GPP MILENAGE/TUAK/EEA/EIA)。
- **[resources/random-number-generators.drawio](resources/random-number-generators.drawio)** — 可视化 RNG 模式语法(符号图例、标识符格式、语法产生式规则)和 `random-number-generators.md` 中涵盖的随机数生成器分类层次结构(TRNG、CSPRNG/DRBG、非密码学 PRNG)的 Draw.io 图表。CSPRNG 部分涵盖 NIST SP 800-90A DRBG、基于累加器的设计(Fortuna、Yarrow)、基于流密码的生成器(ChaCha20、SNOW 3G、ZUC)、OS 熵 API 和硬件 RNG 接口。
标签:AES, CVE, FIPS 140, HTTP工具, ML-DSA, ML-KEM, NIST标准, ProjectDiscovery, RSA, 侧信道攻击, 元数据收集, 加密基元, 加密算法, 反取证, 后量子密码学, 哈希函数, 域名收集, 安全评估, 完整性, 密码学, 手动系统调用, 提示词注入, 数字签名, 数据保护, 日志格式, 机密性, 椭圆曲线, 算法分类, 网络安全, 随机数生成器, 隐私保护