DemigodDSK/aegis

GitHub: DemigodDSK/aegis

一款基于 NIST 标准后量子密码学的开源 iOS 即时通讯应用,附带沙盒密码学实验室供研究者试验新型算法。

Stars: 2 | Forks: 0

# Aegis Aegis 是一款 iOS 即时通讯应用,默认使用 NIST 标准化的后量子 密码学,并将每一行密码学代码以 开源形式发布。它专为那些希望*了解*其 所信任工具的安全性——而不是仅仅被告知它很安全——的人而构建。 这是一款不同寻常的通讯应用。我们会告诉你我们无法 防范什么(参见 [THREAT-MODEL.md](THREAT-MODEL.md))。我们会 告诉你何时其他工具更适合你的情况 (在引导过程中)。我们将发布我们的安全审计、 治理决策以及每月的搜查令金丝雀。这里的信任是 通过透明度赢来的,而不是凭空宣称的。 ## 状态 本项目处于早期开发阶段。当前版本:**pre-0.1** (仅包含库——尚无可安装的应用)。 | 里程碑 | 状态 | |---|---| | 基础文档 | ✅ [`v0.0.1-foundation`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.1-foundation) | | 维护者 PGP 身份 + 签名的搜查令金丝雀 | ✅ [`v0.0.2.2-pgp`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.2.2-pgp) | | 密码学核心:AES-256-GCM | ✅ [`v0.0.2-sprint-1`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.2-sprint-1) | | 密码学核心:PQ 混合 KEM (X-Wing / ML-KEM-768 + X25519) | ✅ [`v0.0.3-sprint-2`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.3-sprint-2) | | 密码学核心:PQ 签名 (ML-DSA-65) | ✅ [`v0.0.4-sprint-3`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.4-sprint-3) | | PQXDH 密钥交换 + 安全号码 | ✅ [`v0.0.5-sprint-4`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.5-sprint-4) | | 前向保密 / Double Ratchet | ✅ [`v0.0.6-sprint-5`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.6-sprint-5) | | iOS 应用外壳 + Keychain 身份 (macOS 演示现已可运行) | ✅ [`v0.0.7-sprint-6`](https://github.com/DemigodDSK/aegis/releases/tag/v0.0.7-sprint-6) | | iOS 分发 (Xcode 项目 + IPA + TestFlight) | 📋 Sprint 7 | | 持久化 + 本地对话 | 📋 Sprint 8 | | 网络 | 📋 Sprint 9 | | v0.1 alpha (外部测试人员) | 📋 Sprint 10 | | 外部安全审计 | 📋 v1.0 | | 首届安全委员会 | 🚧 招募中 (参见 [GOVERNANCE.md](GOVERNANCE.md)) | 详细的每个 Sprint 路线图:[docs/STAGES.md](docs/STAGES.md)。 ## 用一段话概述 Aegis 是什么 一款原生 iOS 即时通讯应用,使用与 X25519 混合的 ML-KEM-768(后量子密钥 封装)进行密钥交换, AES-256-GCM 确保消息机密性,并使用 ML-DSA-65 进行 身份签名。所有密码学原语均为 NIST 或 IETF 标准。一个独立的沙盒层 ("Aegis Lab") 允许 研究人员和学生贡献和研究新算法, 并明确标记为未经审计且从不默认使用。 ## Aegis 不是什么 它不是面向大众的 Signal 或 iMessage 替代品。我们没有 在十亿用户规模上获胜的资源。我们是一个可靠的 小众工具——面向记者、律师、学者、安全 研究人员和注重隐私的个人——而不是一款大众市场 应用。完整声明请参见 [MISSION.md](MISSION.md)。 ## 贡献前必读文档 按顺序: 1. [MISSION.md](MISSION.md) — 我们的目标是什么 2. [THREAT-MODEL.md](THREAT-MODEL.md) — 我们防范什么以及不防范什么 3. [GOVERNANCE.md](GOVERNANCE.md) — 谁决定什么,以及如何决定 4. [ALGORITHM-SUBMISSION.md](ALGORITHM-SUBMISSION.md) — 新的密码学技术如何加入 Aegis 5. [CONTRIBUTING.md](CONTRIBUTING.md) — 代码、文档和流程 6. [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — 社区标准 7. [CLA.md](CLA.md) — 代码贡献所必需 8. [SECURITY.md](SECURITY.md) — 如何报告漏洞 ## 构建与运行 `AegisCrypto`(原语 + 协议)加上 `AegisStorage` (Keychain 包装器)再加上 `AegisApp`(SwiftUI 视图)目前可以通过 标准的 SwiftPM 进行构建和测试。一个微小的 macOS 可执行目标 承载了 SwiftUI 界面,因此您现在就可以运行该应用。 ``` # Library + 测试 — 目前可运行。 swift build swift test # 预计在 v0.0.7-sprint-6 达到:224 个测试通过,3 个跳过,0 个失败。 # 在 macOS 上启动 SwiftUI 演示 — 目前可运行。 swift run aegis-demo # Onboarding 流程 → 身份设置 → 加密/解密演示 + # 设置 → 安全(包含实时 capability 表)。 # iOS 分发(Xcode 项目、IPA、TestFlight)落地于 # Sprint 7。AegisApp 中的 SwiftUI 视图已为 iOS 准备就绪; # Sprint 7 只需添加 .xcodeproj 包装器和签名。 ``` 要求在 macOS 26 上使用 Xcode 26 / Swift 6.2+——Apple 原生的 后量子 CryptoKit 原语(`MLKEM768`、`MLKEM1024`、 `MLDSA65`、`XWingMLKEM768X25519`)受 `@available(iOS 26.0, macOS 26.0, ...)` 限制,因此 SwiftPM 平台下限遵循它们。 ### 在 iOS 上运行 iOS 应用目标以 `Aegis.xcodeproj` 的形式包含在此仓库中 (通过 [XcodeGen](https://github.com/yonaskolb/XcodeGen) 从 `project.yml` 生成)。 使用免费的 Apple ID 在 iOS 模拟器或连接的 iPhone 上运行它—— 完整的分步说明请参见 [docs/IOS-RUNBOOK.md](docs/IOS-RUNBOOK.md)。 ``` open Aegis.xcodeproj # 在 Xcode 中:选择 Aegis scheme → 选择 iPhone 模拟器 # 或你的实体 iPhone → ⌘R ``` 关于 iOS 分发 / TestFlight 方面 (Apple Developer Program 注册、App Store Connect 记录、 签名证书、归档 + 上传),请参见 [docs/IOS-DISTRIBUTION-RUNBOOK.md](docs/IOS-DISTRIBUTION-RUNBOOK.md)。 ## 许可证 Aegis 采用 [AGPL v3](LICENSE) 许可。密码学核心 库在作为单独的子包提取时(计划在 第 2 年进行),将额外提供 Apache 2.0 许可,以便 嵌入到其他应用程序中。 "Aegis" 名称和项目标志是项目 维护者 Datta Sai Krishna N 代表项目持有的商标。 复刻项目必须使用不同的名称。 ## 维护者 **Datta Sai Krishna N** ([@DemigodDSK](https://github.com/DemigodDSK)) 安全委员会正在第 1 年期间招募——请参见 [GOVERNANCE.md](GOVERNANCE.md)。如果您具备应用密码学 或安全系统工程经验,并愿意 任职,请打开一个带有 `council-interest` 标签的 Issue。 ## 资金 Aegis 是独立开发的。我们未从 任何政府、公司或其他组织获得资金。 如果我们将来获得资金,其来源和金额将 公开披露。资金不会影响项目的 使命、治理或安全承诺。 ## 关于 Signal 的说明 如果您的安全、自由或生命取决于通信的 隐私,**请使用 Signal**,而不是 Aegis。Signal 更成熟, 经过更多审计,并且比 Aegis 目前 保护更多的元数据。我们将在应用的引导过程中告诉您 Aegis 何时 准备好用于高风险场景。我们预计这至少在 v2.0 及之后、且至少经过一次外部审计之后才会实现。在此之前, 我们不会假装情况并非如此。
标签:AES-256-GCM, Apple Keychain, Double Ratchet, E2EE, iOS, JSONLines, Messenger, ML-DSA-65, ML-KEM-768, NIST标准, PGP, PQC, PQXDH, Swift, TestFlight, X25519, X-Wing, 前向保密, 加密算法, 即时通讯, 后量子密码学, 威胁模型, 安全透明, 密码学沙盒, 密钥交换, 应用程序安全, 开源, 目录枚举, 移动安全, 端到端加密, 网络安全, 通信安全, 隐私保护, 零信任