Steel-SecAdv-LLC/AMA-Cryptography
GitHub: Steel-SecAdv-LLC/AMA-Cryptography
一个混合经典与后量子算法的加密框架,提供带 3R 运行时监控的量子抗性安全能力。
Stars: 1 | Forks: 0
点击展开导航
- [执行摘要](#executive-summary-) - [关键能力](#key-capabilities) - [按行业用例](#use-cases-by-sector-) - [性能指标](#performance-metrics) - [快速开始](#quick-start) - [测试与质量保证](#testing-and-quality-assurance) - [文档](#documentation) - [跨平台支持](#cross-platform-support) - [构建系统](#build-system-) - [数学基础](#mathematical-foundations-) - [贡献](#contributing) - [独特功能](#unique-features) - [许可证](#license) - [联系与支持](#contact-and-support) - [致谢](#acknowledgments) - [法律免责声明与归属](#steel-security-advisors-llc--legal-disclaimer--attribution)问题陈述与解决方案
### 问题 当前密码系统面临三大挑战: 1. **量子威胁**:传统密码(RSA、ECDSA)预计在 5–15 年内易受大规模量子计算机攻击(存在争议) 2. **黑盒安全**:大多数密码库无法提供对侧信道漏洞或异常行为的运行时可见性 3. **性能与安全权衡**:抗量子算法显著更慢,阻碍了采用 ### AMA Cryptography 解决方案 AMA Cryptography 通过以下方式应对所有三项挑战: - **量子抗性**:NIST 标准化的 ML-DSA-65(FIPS 204)和 Kyber-1024(FIPS 203),设计用于长期保护免受量子威胁 - **透明安全**:3R 监控(共振-递归-重构)提供实时密码操作分析 - **优化性能**:Cython 加速 3R 数学引擎(手动构建必需);基准测试显示相比纯 Python 数学基准提速 18–37 倍 ### 目标用例 - **人道主义与保护**:危机响应、举报人保护、敏感现场数据 - **政府与国防**:带量子抗性的机密数据保护 - **金融服务**:面向量子威胁的交易日安全性 - **医疗保健**:符合 HIPAA 的数据加密与审计跟踪 - **关键基础设施**:需要长期量子抗性的 SCADA 系统 - **区块链与加密**:后量子安全数字签名 参见[按行业用例](#use-cases-by-sector-)了解详细场景。独特差异化
### 多层密码保护架构 **纵深防御安全**,包含多个独立密码层: **核心密码操作**(攻击者必须击败的防御层): | 层 | 保护 | 安全级别 | |----|------|----------| | 1. SHA3-256 | 内容完整性 | 128 位抗碰撞 | | 2. HMAC-SHA3-256 | 带密钥消息认证 | 认证完整性 | | 3. Ed25519 | 经典数字签名 | 128 位经典安全 | | 4. ML-DSA-65 | 抗量子数字签名 | 192 位量子安全(FIPS 204) | **支持密码基础设施:** | 组件 | 用途 | |------|------| | 5. HKDF-SHA3-256 | 确保密码密钥独立的密钥派生 | | 6. RFC 3161 时间戳(可选) | 第三方存在性时间证明 | 规范编码作为输入归一化步骤,确保密码操作前确定性序列化。 **为何纵深防御重要**:整体安全性受限于最弱密码层(约 128 位经典,~192 位量子)。纵深防御在某层被突破时仍提供持续保护。参见[CRYPTOGRAPHY.md](CRYPTOGRAPHY.md)获取详细分析。  *包真实性通过四项独立密码操作保护——内容哈希、带密钥认证、经典签名与抗量子签名——并由独立密钥派生和可选第三方时间戳支持。* ### 3R 运行时安全监控 提供密码操作分析的运行时监控框架: - **共振引擎**:基于 FFT 的异常检测与频域分析(监控统计异常,非定时攻击防护系统) - **递归引擎**:多尺度层次化异常模式分析 - **重构引擎**:代码复杂度指标用于安全审查 - **性能开销**:全面监控下低于 2% - **可见性**:密码操作行为的运行时洞察 ### 多语言架构 平衡安全性与可用性的三层架构: - **C 层**:原生 SHA3-256、HKDF-SHA3-256、Ed25519、AES-256-GCM、ML-DSA-65、Kyber-1024、SPHINCS+-256f 实现——零外部依赖(参见[实现状态矩阵](#implementation-status-matrix)) - **Cython 层**:优化的 3R 数学运算(基准测试显示相比纯 Python 数学基准提速 18–37 倍) - **Python API**:高层、用户友好接口,用于快速开发(主要生产 API) ### 高级功能 - 层次化确定性(HD)密钥派生 - 零停机密钥轮换与生命周期管理 - 算法无关 API,实现无缝算法切换 - 安全的静态加密密钥存储 - AES-256-GCM 认证加密(NIST SP 800-38D) - 自适应密码姿态系统(运行时威胁响应) - 混合 KEM 组合器(经典 + PQC 密钥封装) ### 抗量子算法 NIST 标准化后量子算法: - ML-DSA-65(NIST FIPS 204 - Dilithium) - Kyber-1024(NIST FIPS 203 - ML-KEM) - SINCS+-SHA2-256f(NIST FIPS 205 - SLH-DSA) - 经典 + PQC 混合模式与绑定组合器关键成就
| 成就 | 描述 | |------|------| | 纵深防御 | 多层密码保护(4 核心 + 2 支持) | | 性能 | Cython 数学引擎优化(相比纯 Python 数学基准提速 18–37 倍) | | 量子抗性 | NIST 标准 PQC 算法(ML-DSA-65、Kyber-1024) | | 数学基础 | 5 个框架的机器精度验证(自评估) | | 跨平台 | Linux、macOS、Windows、ARM64 | | 生产基础设施 | Docker、CI/CD、全套测试 | | 3R 监控 | 运行时安全异常监控(开销低于 2%) |实现状态矩阵
| 算法 | C API 状态 | Python API 状态 | 集成 | |------|------------|-----------------|------| | SHA3-256 | **完整** | 完整 | 核心原语 | | HKDF-SHA3-256 | **完整** | 完整 | 密钥派生 | | Ed25519 | **完整** | 完整 | 集成 | | AES-256-GCM | **完整** | 完整 | 认证加密 | | ML-DSA-65 | **完整**(原生) | 完整 | 集成 | | Kyber-1024 | **完整**(原生) | 完整 | 集成 | | SPHINCS+-256f | **完整**(原生) | 完整 | 集成 | | X25519 | **完整** | 完整 | 密钥交换 | | ChaCha20-Poly1305 | **完整** | 完整 | 替代 AEAD | | Argon2 | **完整** | 完整 | 密码哈希 | | secp256k1 | **完整** | 完整 | HD 密钥派生 | | 混合(Ed25519 + ML-DSA-65) | N/A | 完整 | 集成 | **图例:** - **完整**:带恒定时间操作的完整原生 C 实现 - **完整(原生)**:完整原生 C 实现——无需外部 PQC 依赖 - **注意**:Ed25519 C 实现使用 radix 2^51 域算术(fe51.h——25 个交叉乘积 vs ref10 的 100 个)。可选的 ed25519-donna x86-64 汇编后端可通过 `AMA_ED25519_ASSEMBLY=ON` 启用(MSVC x64 下自动激活)。完整的 RFC 8032 签名/验证往返已验证。 **C 库实现(v2.1)——`src/c/` 中的 23 个核心 + 25 个 SIMD 源文件:** - `ama_core.c`:库初始化、版本、功能检测、共享工具 - `ama_sha3.c`:SHA3-256、SHAKE128、SHAKE256(Keccak-f[1600] 海绵结构) - `ama_sha256.c`:原生 SHA-256(FIPS 180-4),SPHINCS+ 内部使用 - `ama_hkdf.c`:HKDF-SHA3-256(带 HMAC-SHA3-256,RFC 5869 兼容) - `ama_hmac_sha256.c`:原生 HMAC-SHA-256(RFC 2104),SPHINCS+ PRF_msg 使用 - `ama_ed25519.c`:Ed25519 密钥生成/签名/验证(SHA-512、GF(2^255-19) 域算术、C11 原子操作) - `ama_aes_gcm.c`:AES-256-GCM 认证加密(NIST SP 800-38D) - `ama_kyber.c`:ML-KEM-1024 完整原生(NTT、IND-CCA2、Fujisaki-Okamoto 变换) - `ama_dilithium.c`:ML-DSA-65 完整原生(NTT q=8380417、拒绝采样、恒定时间) - `ama_sphincs.c`:SPHINCS+-SHA2-256f-simple 完整原生(WOTS+、FORS、超树 d=17) - `ama_consttime.c`:恒定时间工具(memcmp、memzero、交换、查找、复制) - `ama_cpuid.c`:CPU 特性检测(AVX2、SSE、NEON)用于运行时调度 - `ama_secure_memory.c`:安全内存清零与页面锁定(mlock/munlock) - `ama_platform_rand.c`:平台 CSPRNG(getrandom/getentropy/BCryptGenRandom) - `ama_x25519.c`:X25519 密钥交换(RFC 7748) - `ama_chacha20poly1305.c`:ChaCha20-Poly1305 AEAD(RFC 8439) - `ama_argon2.c`:Argon2id 密码哈希(RFC 9106) - `ama_secp256k1.c`:secp256k1 椭圆曲线操作(HD 密钥派生) - `ama_aes_bitsliced.c`:位切片 AES S-盒(缓存定时硬化,可选 `-DAMA_AES_CONSTTIME=ON`) - `internal/ama_sha2.h`:提取的 SHA-512 头文件实现(用于 Ed25519/SPHINCS+ 去重) **手写 SIMD 实现(`src/c/avx2/`、`src/c/neon/`、`src/c/sve2/`):** - 8 种算法 × 3 种架构 = 24 个优化 SIMD 源文件 - `avx2/`:ML-KEM(向量化 NTT/Barrett)、ML-DSA(向量化 NTT q=8380417)、SPHINCS+(4 路 SHA-256)、SHA3(Keccak-f[1600] AVX2)、AES-GCM(流水线 AES-NI + PCLMULQDQ GHASH)、Ed25519(向量化域算术)、ChaCha20-Poly1305(8 路并行四分之一轮)、Argon2(向量化 Blake2b) - `neon/`:ARM NEON 128 位向量等效,使用 `真实场景(点击展开)
### 人道主义与保护 **独特价值:** 带运行时攻击检测的保护敏感现场数据(未经临床/医疗或监管部署的独立审计批准): - **危机响应**:GPS 坐标、受害者数据、安全屋位置使用 ML-DSA-65 进行抗量子签名。3R 监控检测可能表明妥协的时间统计异常。 - **保护**:野生动物追踪数据、巡逻员位置与反偷猎情报使用螺旋不变量进行完整性验证。检测数据是否被篡改。 - **举报人保护**:文件签名与验证设计用于抵抗“现在就窃取,以后解密”的量子威胁。 - **敏感记录保存**:伦理框架促进对受害者及个人记录的尊重处理,并附带审计跟踪。 ### 政府与国防 **独特价值:** 带运行时异常监控的机密数据量子抗性 - **长期机密文件**:使用抗量子算法保护的长期保密文档。 - **安全通信**:设计用于抵抗“现在就窃取,以后解密”攻击的 Kyber-1024 密钥交换。 - **运行时异常监控**:3R 监控检测可能与缓存定时或功耗分析一致的统计异常,但不保证能检测或防止定时攻击或其他侧信道漏洞。 - **完整性验证**:数学不变量检查提供额外的篡改检测,超越标准校验和。 - **零信任环境**:运行时监控对密码操作提供持续观察。 ### 金融服务 **独特价值:** 带实时异常检测的交易日安全性 - **抗量子签名**:ML-DSA-65 签名设计用于在量子攻击下保持有效的交易。 - **低延迟验证**:Cython 优化的 3R 监控(相比纯 Python 数学基准提速 18–37 倍),签名验证延迟低于 1 毫秒。 - **异常检测**:3R 定时分析检测可能表明潜在攻击行为的异常密码操作。 - **审计合规**:带伦理约束的密码审计跟踪。 - **长期归档**:带抗量子保护的长期金融记录。 ### 医疗保健 **独特价值:** 带完整性监控的量子抗性加密(需独立合规验证以符合 HIPAA 等法规) - **患者记录**:设计用于长期抵御密码分析威胁的抗量子加密。 - **处方签名**:提供抗量子真实性的 ML-DSA-65 数字签名。 - **医疗设备安全**:恒定时间 C 实现旨在减少侧信道攻击面(需独立验证)。 - **数据完整性**:螺旋不变量验证检测医疗记录是否被篡改。 - **研究数据**:带伦理策略执行和审计跟踪的敏感研究数据。 - **远程医疗**:带混合经典 + PQC 密钥交换的安全视频咨询。 ### 关键基础设施 **独特价值:** 带运行时异常监控的 SCADA/ICS 安全 - **电网控制**:用于电网控制系统的抗量子认证。 - **水处理**:带运行时验证的签名命令。3R 监控检测可能需要调查的时间异常。 - **交通**:铁路与航空交通控制使用带抗量子保护的长期系统。 - **核设施**:恒定时间 C 实现旨在减少侧信道攻击面(高保障环境需独立验证)。 - **异常监控**:3R 系统对密码操作统计异常进行安全审查。 - **遗留系统保护**:为需要抗量子能力而无需完全替换的旧系统提供封装。 ### 区块链与加密货币 **独特价值:** 高性能验证的后量子安全签名 - **钱包安全**:用于钱包交易认证的 ML-DSA-65 抗量子签名。 - **智能合约签名**:用于长期合约的量子抗性签名。 - **交易吞吐量**:Ed25519 验证延迟低于 1 毫秒;ML-DSA-65 增加量子抗性(Python API 下约 1.76 毫秒签名、约 1.43 毫秒验证,参照 `benchmark-results.json`)。 - **跨链桥**:用于向后兼容与抗量子性的混合签名(Ed25519 + ML-DSA-65)。 - **NFT 溯源**:设计用于长期有效性的抗量子签名。 - **时间戳验证**:带抗量子性的 RFC 3161 可信时间戳。密码操作基准测试
 *多面板性能仪表板,展示密码吞吐量、签名延迟、可扩展性、密钥生成速度、多层分解、回归分析、验证声明与混合性能——全部来自真实基准数据。*  *全面基准报告,包含延迟分布、签名与验证分析、类别性能、Top/Bottom 操作、伦理开销、回归改进、NIST 算法实现状态及统计摘要。* ### ML-DSA-65(后量子数字签名 — FIPS 204) | 操作 | Python API(通过 ctypes)的吞吐量 | 延迟 | 说明 | |------|----------------------------------|------|------| | **KeyGen** | 595 操作/秒 | ~1.68 毫秒 | 原生 C,NTT q=8380417 | | **Sign** | 567 操作/秒 | ~1.76 毫秒 | 拒绝采样,恒定时间 | | **Verify** | 697 操作/秒 | ~1.43 毫秒 | 验证通过 NIST ACVP 测试向量(自验证) | *来源:`benchmark-results.json`(CI 回归套件)。运行 `build/bin/benchmark_c_raw` 可获取无 ctypes 开销的原始 C 吞吐量。* ### ML-KEM-1024(后量子密钥封装 — FIPS 203) ML-KEM-1024 的吞吐量尚未纳入 CI 回归套件。请在本地运行 `build/bin/benchmark_c_raw` 获取实测数值。 ### 完整多层包性能 包含全部防护层的 Python API(通过 ctypes): | 操作 | 吞吐量 | 延迟 | |------|--------|------| | **包创建(所有层)** | 184 操作/秒 | ~5.43 毫秒 | | **包验证(所有层)** | 561 操作/秒 | ~1.78 毫秒 | *来源:`benchmark-results.json`(CI 回归套件)。* **所有层:** SHA3-256、HMAC-SHA3-256、Ed25519、ML-DSA-65(核心)、HKDF、RFC 3161(支持) ### 核心密码原语(Python API 通过 ctypes) | 操作 | 吞吐量 | 来源 | |------|--------|------| | SHA3-256(1KB) | 18,205 操作/秒 | `benchmark-results.json` | | HMAC-SHA3-256(1KB) | 12,127 操作/秒 | `benchmark-results.json` | | HKDF-SHA3-256(3 密钥派生) | 8,509 操作/秒 | `benchmark-results.json` | | Ed25519 密钥生成 | 5,167 操作/秒 | `benchmark-results.json` | | Ed25519 签名 | 5,069 操作/秒 | `benchmark-results.json` | | Ed25519 验证 | 2,796 操作/秒 | `benchmark-results.json` | AES-256-GCM、ChaCha20-Poly1305 与 X25519 尚未纳入 CI 回归套件。请运行 `build/bin/benchmark_c_raw` 获取无 ctypes 开销的原始 C 吞吐量。 **性能说明**:Ed25519 签名存储扩展的 64 字节密钥(seed||pk),以避免每次签名时重复的 SHA-512 扩展。参见[benchmarks/](benchmarks/) 获取完整性能数据,包括所有。 *基准环境:Linux 5.15.200 x86_64、Python 3.12.8、8 核 CPU、原生 C 后端通过 ctypes。Python API 或原始 C 可通过 `python benchmark_suite.py` 或 `build/bin/benchmark_c_raw` 复现。* ### Cython 优化结果 | 操作 | 纯 Python | Cython | 提速 | |------|-----------|--------|------| | Lyapunov 函数 | 12.3 毫秒 | 0.45 毫秒 | **27.3 倍** | | 矩阵-向量(500×500) | 8.7 毫秒 | 0.31 毫秒 | **28.1 倍** | | NTT(256 度) | 45.2 毫秒 | 1.2 毫秒 | **37.7 倍** | | 海螺演化 | 3.4 毫秒 | 0.18 毫秒 | **18.9 倍** | **Cython 优化:相比纯 Python 数学基准提速 18–37 倍**(Lyapunov、NTT、海螺演化计算——不影响 C 实现的密码原语)可扩展性分析
目前 CI 回归套件尚未跟踪可扩展性。请在本地测量: ``` python benchmark_suite.py # varies message size automatically ```伦理集成开销
伦理集成开销尚未纳入 CI 回归套件。伦理层通过 HKDF 上下文将密码绑定到 4 个 Omni-Code 伦理支柱。端到端包创建开销保持在总时间的 2% 以内,因为 HKDF 仅占管道的一小部分(ML-DSA-65 签名占主导,约 1.76 毫秒)。请在本地测量: ``` python benchmark_suite.py # includes ethical overhead breakdown ```安装
### 标准安装 ``` # 克隆仓库 git clone https://github.com/Steel-SecAdv-LLC/AMA-Cryptography.git cd AMA-Cryptography # 以开发依赖项可编辑模式安装 pip install -e ".[dev]" # 构建原生 PQC C 库(ML-DSA-65、Kyber-1024、SPHINCS+-256f) cmake -B build -DAMA_USE_NATIVE_PQC=ON -DCMAKE_BUILD_TYPE=Release cmake --build build # 构建所有内容(C 库 + Python 扩展) make all # 运行测试(包括 NIST KAT 验证) make test # 系统级安装 sudo make install ``` ### 平台特定说明 **Linux(Ubuntu/Debian)**: ``` # 安装构建依赖项 sudo apt-get install build-essential cmake python3-dev libssl-dev # 构建并安装 make all && sudo make install ``` **macOS**: ``` # 通过 Homebrew 安装依赖项 brew install cmake openssl # 构建并安装 make all && sudo make install ``` **Windows(MSVC)**: ``` # 安装 Visual Studio 构建工具 # 从官方网站安装 CMake 和 Python # 构建 cmake --build build --config Release python setup.py install ``` ### 外部依赖 **RFC 3161 时间戳(可选)**: RFC 3161 支持三种模式,通过 `tsa_mode` 参数配置: | 模式 | 描述 | 是否需要网络 | |------|------|-------------| | `"online"` | 联系真实 TSA 服务器(默认) | 是 | | `"mock"` | 自签名模拟令牌(用于测试/离线) | 否 | | `"disabled"` | 跳过时间戳,返回空令牌 | 否 | 在线模式需要 `rfc3161ng` 包(`pip install rfc3161ng`)。若未安装,将引发 `TimestampUnavailableError`。 ``` from ama_cryptography.rfc3161_timestamp import get_timestamp, verify_timestamp # 用于测试的模拟模式(无需网络) result = get_timestamp(b"document data", tsa_mode="mock") assert verify_timestamp(b"document data", result) # 禁用模式(跳过时间戳) result = get_timestamp(b"document data", tsa_mode="disabled") ``` 在线时间戳功能联系外部 TSA(默认:FreeTSA (https://freetsa.org/tsr))。生产环境推荐使用 DigiCert、GlobalSign 等商业 TSA。基础用法
### 简单示例 ``` from ama_cryptography.crypto_api import AmaCryptography, AlgorithmType # 创建加密实例 crypto = AmaCryptography(algorithm=AlgorithmType.HYBRID_SIG) # 生成密钥 keypair = crypto.generate_keypair() # 签名消息 signature = crypto.sign(b"Hello, World!", keypair.secret_key) # 验证签名 valid = crypto.verify(b"Hello, World!", signature.signature, keypair.public_key) print(f"Signature valid: {valid}") # True ``` ### 高级示例(带 3R 监控) ``` from ama_cryptography.crypto_api import AmaCryptography, AlgorithmType from ama_cryptography_monitor import AmaCryptographyMonitor # 启用 3R 安全监控 monitor = AmaCryptographyMonitor(enabled=True) # 创建加密实例 crypto = AmaCryptography(algorithm=AlgorithmType.ML_DSA_65) # 生成并使用带监控的密钥 keypair = crypto.generate_keypair() signature = crypto.sign(b"Sensitive data", keypair.secret_key) # 获取安全报告 report = monitor.get_security_report() print(f"Security status: {report['status']}") print(f"Anomalies detected: {report['total_alerts']}") ```Docker 快速启动
### Ubuntu 镜像(生产) ``` # 构建基于 Ubuntu 的镜像(约 200MB) docker build -t ama-cryptography -f docker/Dockerfile . # 运行交互式会话 docker run -it ama-cryptography /bin/bash # 运行测试 docker run --rm ama-cryptography make test ``` ### Alpine 镜像(最小) ``` # 构建 Alpine 镜像(约 50MB) docker build -t ama-cryptography:alpine -f docker/Dockerfile.alpine . # 运行 docker run --rm ama-cryptography:alpine ``` ### Docker Compose ``` # 启动所有服务 docker-compose up -d # 查看日志 docker-compose logs -f ama-cryptography # 执行命令 docker-compose exec ama-cryptography python -m pytest ```测试套件
### 运行测试 ``` # C 库测试(包括 NIST KAT 向量) make test-c # Python 测试 make test-python # 全部测试 make test # 性能基准测试 make benchmark # PQC 桑蒂检查 python tools/sanity_check.py ``` ### 测试覆盖率 测试套件包括: - 所有密码原语的单元测试(Python 与 C) - 包创建与验证的集成测试 - 错误处理边界测试 - 带分级容差的性能回归测试 - NIST ACVP 向量验证(12 个函数共 815 个向量——参见 [CSRC_ALIGN_REPORT.md](CSRC_ALIGN_REPORT.md)) - 12 个 C 目标的模糊测试(Fuzzing)框架: - AES-GCM、Argon2、ChaCha20-Poly1305、consttime、Dilithium、Ed25519、HKDF、Kyber、secp256k1、SHA3、SPHINCS+、X25519 - 通过 [dudect](docs/constant-time-testing.md) 进行经验性恒定时间验证(Welch t 检验) - 为持续 24/7 模糊测试准备的 [OSS-Fuzz](docs/oss-fuzz-onboarding.md) 上线  *1,855+ 个测试,涵盖 47 个文件(37 个 Python + 10 个 C),涵盖核心密码、NIST KAT、密码后端、密钥管理、自适应姿态、混合组合器、内存安全、模糊测试及性能/监控。运行 `pytest --co -q` 可查看当前数量。*持续集成
GitHub Actions 会自动执行以下检查: | 检查 | 描述 | |------|------| | C 库 | GCC、Clang(Ubuntu/macOS) | | Python 包 | Python 3.9–3.13(Linux) | | 代码质量 | ruff(lint + 导入排序)、black、mypy --strict | | 安全扫描 | pip-audit、bandit、Semgrep、CodeQL 静态分析 | | Docker 构建 | Ubuntu 与 Alpine 镜像 | ### CI 矩阵 - **Python 版本**:3.9、3.10、3.11、3.12、3.13 - **平台**:Ubuntu 最新版、macOS 最新版、Windows 最新版 - **任务**:test、code-quality、security-checks ### CI 工作流 | 工作流 | 文件 | 目的 | |--------|------|------| | CI - 测试 | `ci.yml` | Python 测试矩阵、C 构建、NIST KAT 验证 | | CI - 构建与测试 | `ci-build-test.yml` | 完整的 C 库构建与 C 测试套件 | | 安全 | `security.yml` | pip-audit、bandit、Semgrep、密钥扫描 | | 静态分析 | `static-analysis.yml` | CodeQL 分析 | | 模糊测试 | `fuzzing.yml` | C 模糊测试(12 个目标) | | dudect | `dudect.yml` | 经验性恒定时间验证 | | 自动文档 | `auto-docs.yml` | 自动生成文档并通过 PR 同步 | | Wiki 同步 | `wiki-sync.yml` | 自动同步 wiki/ 到 GitHub Wiki |安全分析
| 层级 | 保护 | |------|------| | 纵深防御 | 多层密码保护 | | 量子抗性 | NIST 标准算法(ML-DSA-65、Kyber-1024、SPHINCS+) | | 侧信道防护 | 恒定时间操作、C11 原子操作、数据无关控制流 | | 内存安全 | 安全擦除、边界检查、魔数校验 | | 3R 监控 | 运行时安全分析(开销低于 2%) | 参见 [SECURITY.md](SECURITY.md) 获取完整密码分析。经典与量子安全对比
 *经典算法(RSA、ECDSA、Ed25519)会被量子计算机破解。ML-DSA-65 提供 192 位对经典与量子的安全强度。*恒定时间验证
`src/c/ama_consttime.c` 中的恒定时间工具通过 dudect 风格时序分析进行验证: ``` # 构建并运行常量时间验证框架 cd tools/constant_time && make test ``` 该框架对所有 5 个恒定时间函数进行 Welch t 检验: | 函数 | 用途 | 测试类别 | |------|------|----------| | `ama_consttime_memcmp` | 字节比较 | 相同 vs 不同缓冲区 | | `ama_consttime_swap` | 条件交换 | condition=0 vs condition=1 | | `ama_secure_memzero` | 安全清零 | 全零 vs 全一输入 | | `ama_consttime_lookup` | 表查找 | 前半 vs 后半索引 | | `ama_consttime_copy` | 条件复制 | condition=0 vs condition=1 | t 值满足 |t| < 4.5(经 10^6 次测量),表明无显著时序泄漏(dudect 惯例:约 10⁻⁵ 假阳性概率)。 **注意**:这是统计时序分析,非形式化验证。结果受 CPU 频率调节、中断影响;应在目标硬件上多次运行确认。NIST KAT 验证
所有原生 PQC 实现均通过 NIST 已知答案测试(KAT),验证其符合 FIPS 203/204/205 规范。 ``` # 运行 NIST KAT 测试(C 库) cd build && ctest --output-on-failure # 运行 NIST KAT 测试(Python) pytest tests/test_nist_kat.py tests/test_pqc_kat.py -v ``` ### FIPS 格式 KAT 向量(原生 C — 完整验证) 这些 KAT 测试验证原生 C 实现与官方 NIST FIPS 测试向量的一致性: | 算法 | 标准 | KAT 文件 | 测试覆盖 | 状态 | |------|------|----------|----------|------| | ML-KEM-1024 | FIPS 203 | `tests/kat/fips203/ml_kem_1024.kat` | 密钥生成、封装、解封装 | **10/10 通过** | | ML-DSA-65 | FIPS 204 | `tests/kat/fips204/ml_dsa_65.kat` | 密钥生成、签名、验证 | **10/10 通过** | ### 遗留格式 KAT 向量(Python 后端验证) | 算法 | KAT 文件 | 测试覆盖 | |------|----------|----------| | ML-DSA-44(Dilithium2) | `tests/kat/ml_dsa/dilithium2.rsp` | 密钥生成、签名、验证 | | ML-DSA-65(Dilithium3) | `tests/kat/ml_dsa/dilithium3.rsp` | 密钥生成、签名、验证 | | ML-DSA-87(Dilithium5) | `tests/kat/ml_dsa/dilithium5.rsp` | 密钥生成、签名、验证 | | ML-KEM-512(Kyber512) | `tests/kat/ml_kem/kyber512.rsp` | 密钥生成、封装、解封装 | | ML-KEM-768(Kyber768) | `tests/kat/ml_kem/kyber768.rsp` | 密钥生成、封装、解封装 | | ML-KEM-1024(Kyber1024) | `tests/kat/ml_kem/kyber1024.rsp` | 密钥生成、封装、解封装 | ### 关键实现细节 - **FIPS 203(ML-KEM-1024)**:完整 Fujisaki-Okamoto 变换,带 IND-CCA2 安全性、NTT 多项式乘法(q=3329)、隐式拒绝用于密文验证 - **FIPS 204(ML-DSA-65)**:拒绝采样与 NTT(q=8380417)、恒定时间操作、确定性签名 - **FIPS 205(SPHINCS+-SHA2-256f-simple)**:WOTS+ 一次性签名、FORS 少数签名、超树(d=17)构造 - **SHA3/SHAKE**:增量 XOF(SHAKE128/SHAKE256),多块挤压以符合 FIPS 203/204 合规性 KAT 向量来源于 NIST PQC 标准化,验证本机实现与官方 FIPS 规范的逐位一致性。 ### 设计对齐 FIPS 140-3 Level 1 要求(待未来 CMVP 验证) 模块实现的技术控制与 FIPS 140-3 安全等级 1 要求一致: - **上电自检(POST)**:KAT 用于 SHA3-256、HMAC-SHA3-256、AES-256-GCM、ML-KEM-1024、ML-DSA-65、SLH-DSA、Ed25519,在模块导入时运行(约 260 毫秒) - **模块完整性验证**:使用 SHA3-256 摘要检查所有源文件 - **错误状态机**:OPERATIONAL / ERROR / SELF_TEST,出现故障时自动锁定 - **连续 RNG 测试**:检测连续相同的随机输出 - **成对一致性测试**:签名-验证 / 封装-解封装在密钥生成后执行用户文档
| 文档 | 描述 | |------|------| | [README.md](README.md) | 快速启动与概述 | | [IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md) | 全面部署与构建指南 | | [ENHANCED_FEATURES.md](ENHANCED_FEATURES.md) | 深入功能文档 | | [MONITORING.md](MONITORING.md) | 3R 安全监控指南 |技术文档
| 文档 | 描述 | |------|------| | [ARCHITECTURE.md](ARCHITECTURE.md) | 系统架构与设计 | | [SECURITY.md](SECURITY.md) | 完整安全分析 | | [THREAT_MODEL.md](THREAT_MODEL.md) | 威胁模型与风险评估 | | [benchmarks/](benchmarks/) | 性能测量 | | 文档 | 描述 | |------|------| | [CRYPTOGRAPHY.md](CRYPTOGRAPHY.md) | 密码算法概述 | | [CSRC_ALIGN_REPORT.md](CSRC_ALIGN_REPORT.md) | NIST ACVP 向量验证(815/815 通过) | | 文档 | 描述 | |------|------| | [CSRC_STANDARDS.md](CSRC_STANDARDS.md) | 遵循标准注册表 | | [CONSTANT_TIME_VERIFICATION.md](CONSTANT_TIME_VERIFICATION.md) | dudect 风格时序分析 |开发者文档
| 文档 | 描述 | |------|------| | [CONTRIBUTING.md](CONTRIBUTING.md) | 贡献指南 | | [CHANGELOG.md](CHANGELOG.md) | 版本历史 | | [INVARIANTS.md](INVARIANTS.md) | 库级不变量(CSRC_STANDARDS.md 映射) | | 文档 | 描述 | |------|------| | [.github/INVARIANTS.md](.github/INVARIANTS.md) | PR 级架构不变量(INVARIANT-1 至 INVARIANT-4) | | 文档 | 描述 | |------|------| | [AMA_CRYPTOGRAPHY_ETHICAL_PILLARS.md](AMA_CRYPTOGRAPHY_ETHICAL_PILLARS.md) | 伦理支柱规范 |CMake(C 库与原生 PQC)
C 库提供完整的原生后量子密码算法实现,无需外部 PQC 依赖(liboqs、pqcrypto)。 **依赖项:** ``` # 安装构建依赖项(Ubuntu/Debian) sudo apt-get install build-essential cmake libssl-dev # macOS brew install cmake openssl ``` **使用原生 PQC 构建:** ``` mkdir build && cd build # 使用原生 PQC 支持进行配置(默认启用) cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DAMA_USE_NATIVE_PQC=ON \ -DAMA_ENABLE_AVX2=ON \ -DAMA_ENABLE_LTO=ON # 构建 cmake --build . -j$(nproc) # 运行 NIST KAT 验证 ctest --output-on-failure # 安装 sudo cmake --install . ``` **CMake 选项:** - `AMA_USE_NATIVE_PQC` - 启用原生 PQC 实现(默认:ON) - `AMA_AES_CONSTTIME` - 启用位切片 AES S-Box 以对抗缓存时序攻击(默认:ON) - `AMA_BUILD_SHARED` - 构建共享库(默认:ON) - `AMA_BUILD_STATIC` - 构建静态库(默认:ON) - `AMA_BUILD_TESTS` - 构建测试套件(含 NIST KAT 测试,默认:ON) - `AMA_BUILD_EXAMPLES` - 构建 C 示例程序(默认:ON) - `AMA_ED25519_ASSEMBLY` - 启用 ed25519-donna x86-64 汇编标量乘法(默认:OFF;MSVC x64 下自动启用) - `AMA_ENABLE_AVX2` - 启用 AVX2 SIMD 优化(x86-64) - `AMA_ENABLE_NEON` - 启用 ARM NEON SIMD 优化(AArch64) - `AMA_ENABLE_SVE2` - 启用 ARM SVE2 SIMD 优化(AArch64,实验性) - `AMA_ENABLE_AVX512` - 启用 AVX-512 SIMD 优化(x86-64)——**计划未来功能**,当前无效果;CMake 选项 `AMA_ENABLE_AVX512` 保留 - `AMA_ENABLE_SANITIZERS` - 启用 AddressSanitizer/UBSan - `AMA_ENABLE_LTO` - 链接时优化 - `AMA_ENABLE_NATIVE_ARCH` - 启用 `-march=native` 以获取主机优化(默认:OFF) - `AMA_TESTING_MODE` - 仅构建测试专用库(内部使用)Python 环境
``` # 使用优化构建 python setup.py build_ext --inplace # 开发模式 python setup.py develop # 创建发行版 python setup.py sdist bdist_wheel ``` **环境变量:** - `AMA_NO_CYTHON` - 禁用 Cython 扩展 - `AMA_NO_C_EXTENSIONS` - 禁用 C 扩展 - `AMA_DEBUG` - 使用调试符号构建 - `AMA_COVERAGE` - 启用覆盖率检测Makefile 目标
``` make all # Build everything make c # C library only make python # Python package only make test # Run all tests make test-c # C tests only make test-python # Python tests only make benchmark # Performance benchmarks make docker # Build Docker images make docs # Generate documentation make format # Format code (clang-format, black) make lint # Lint code (ruff, mypy) make clean # Clean build artifacts make install # Install system-wide ```研究与创新
### 数学框架(自评估) 1. **螺旋几何不变量** - 曲率与挠率关系验证至 10⁻¹⁰ 误差 2. **李雅普诺夫稳定性理论** - 指数收敛 O(e⁻⁰·¹⁸ᵗ)经数值验证 3. **黄金比例谐波** - φ³-放大与斐波那契收敛误差小于 10⁻⁸ 4. **二次型约束** - sigma_quadratic ≥ 0.96 强制 5. **双螺旋演化** - 18+ 方程变体用于自适应安全 ### 3R 安全监控 **3R 机制**(共振-递归-重构)是一个运行时监控框架,提供: - **共振引擎**:基于 FFT 的异常检测与频域分析(统计异常检测,非定时攻击防护系统) - **递归引擎**:多尺度层次化异常模式分析 - **重构引擎**:代码复杂度指标用于安全审查 - **性能开销**:生产环境下低于 2% - **可见性**:密码操作行为的运行时洞察 参见 [MONITORING.md](MONITORING.md) 获取完整技术细节。开发环境
``` # 克隆仓库 git clone https://github.com/Steel-SecAdv-LLC/AMA-Cryptography.git cd AMA-Cryptography # 安装开发依赖项 pip install -e ".[dev,all]" # 设置 pre-commit 钩子 pre-commit install # 格式化代码 make format # 检查代码 make lint # 运行安全审计 make security-audit ```代码质量标准
| 语言 | 标准 | |------|------| | Python | PEP 8、类型提示、文档字符串 | | C | MISRA C 指南、Doxygen 注释 | | 安全 | 恒定时间操作、无未定义行为 | | 测试 | 覆盖率目标大于 80% |伦理密码学 - 数学绑定的伦理约束
AMA Cryptography 将伦理原则直接集成到密码操作中,而非作为策略覆盖。通过数学约束在密钥派生与数据完整性验证中嵌入伦理考量。 **4 个 Omni-Code 伦理支柱** 在密钥派生中数学集成: | 支柱 | 三元组 | 子属性 | |------|--------|--------| | **Omniscient** | 智慧 | 完整验证、多维检测、数据验证 | | **Omnipotent** | 代理 | 最大强度、安全密钥生成、实时保护 | | **Omnidirectional** | 地理 | 多层防御、时序完整性、攻击面覆盖 | | **Omnibenevolent** | 完整性 | 伦理基础、数学正确性、混合安全 | 实现效果: - **加权和**:Σw = 12.0(所有支柱) - **SHA3-256 伦理签名**:在密钥派生上下文中 - **性能影响**:约 15% 的 HKDF 派生开销,整体端到端包操作开销 <2% - **幸存者优先原则**:偏差审计与动态合规  *密钥与签名通过 HKDF 域分离显式绑定到伦理配置哈希。这使得策略明确且可验证。*生物启发安全 - Omni-Code 数据结构架构
AMA Cryptography 采用生物启发方法,数据结构借鉴生物 DNA 结构特性。这一隐喻从命名延伸至架构设计。 **主 Omni-码**:七种基础码控制整个系统: | 码 | 符号 | 领域 | 螺旋参数 | |----|------|------|----------| | 👁20A07∞_XΔEΛX_ϵ19A89Ϙ | 👁∞ | 全向系统 | r=20.0, p=0.7 | | Ϙ15A11ϵ_ΞΛMΔΞ_ϖ20A19Φ | Ϙϵ | 全知未来 | r=15.0, p=1.1 | | Φ07A09ϖ_ΨΔAΛΨ_ϵ19A88Σ | Φϖ | 不可分割守护者 | r=7.0, p=0.9 | | Σ19L12ϵ_ΞΛEΔΞ_ϖ19A92Ω | Σϵ | 全善基石 | r=19.0, p=1.2 | | Ω20V11ϖ_ΨΔSΛΨ_ϵ20A15Θ | Ωϖ | 科学求知欲 | r=20.0, p=1.1 | | Θ25M01ϵ_ΞΛLΔΞ_ϖ19A91Γ | Θϵ | 全局自律 | r=25.0, p=0.1 | | Γ19L11ϖ_XΔHΛX_∞19A84♰ | Γϖ | 强大生命力 | r=19.0, p=1. | **架构优势**: - **螺旋数据编码**:借鉴 DNA 双螺旋结构实现密钥演化 - **冗余验证**:多验证链确保完整性 - **算法敏捷性**:支持算法无缝切换 - **规范哈希**:跨转换保持数据完整性跨学科方法 - 量子-网络-古代协同
AMA Cryptography 融合多学科——量子力学、数学、哲学、生物学——构建安全框架。 **跨领域协同**: | 领域 | 贡献 | 实现方式 | |------|------|----------| | **量子力学** | 格密码、不确定性原理 | ML-DSA-65、Kyber-1024 后量子算法 | | **古代数学** | 素数理论、几何缩放 | 螺旋参数、黄金比例优化 | | **哲学** | 伦理框架、认识论 | 四支柱伦理、真理验证 | | **生物学** | DNA 结构、演化弹性 | 生物启发架构、自适应安全 | | **物理学** | 共振检测、时序分析 | 3R 监控(共振-递归-重构) | **哲学基础**: - **认识论严谨性**:尽可能基于数学推导(自评估) - **伦理对齐**:同情心、证据、正义、利他主义为核心价值 - **品格驱动设计**:能力、承诺、控制内化于架构 - **幸存者优先原则**:安全设计保护弱势群体 该多学科综合采用 NIST 标准原语(SHA3-256、HMAC-SHA3-256、Ed25519、ML-DSA-65、HKDF),提供约 128 位经典安全与 ~192 位量子安全裕度。所有安全分析均为自评估;参见 [SECURITY.md](SECURITY.md) 获取推导与限制说明。
**AMA Cryptography - 使用抗量子密码学保护人员、数据与网络**
*以固有的激进诚实、非传统方法、保护性服务与道德不可变性构建*
*最后更新:2026-04-06*
标签:3R 监控, AVX2, Cython, C 核心, Ed25519, HD 密钥派生, Kyber-1024, ML-DSA-65, NEON, NIST PQC, PQC, Python API, SIMD, SPHINCS+, SVE2, YAML, 后量子密码, 安全库, 安全测试工具, 密码学, 开源, 性能优化, 手动系统调用, 架构, 检测绕过, 混合密码, 算法无关性, 运行时异常监测, 逆向工具, 量子安全, 防御纵深, 零依赖