RookDuel/Avikal

GitHub: RookDuel/Avikal

Avikal是一款结合后量子加密和棋盘游戏元数据编码的文件归档安全工具。

Stars: 1 | Forks: 0

RookDuel Avikal logo

RookDuel Avikal

为文件、文件夹、TimeCapsule 发布和后量子保护工作流程提供安全的 .avk 归档。

GitHub stars GitHub forks GitHub issues Apache-2.0 license Beta status Windows-first desktop Python and Rust core .avk archive format

功能  |  保护模型  |  快速入门  |  安全  |  CLI

Avikal encode screen

## 什么是 Avikal? Avikal 是一款桌面和命令行归档安全工具。它将文件和文件夹打包成 `.avk` 归档,并允许用户选择如何保护、解锁、预览和恢复这些归档。 它旨在为那些想要比普通压缩文件更多功能的人设计: - 比普通 ZIP 工作流程更强的访问控制 - 可选的后量子保护 - 通过 TimeCapsule 模式延迟解锁 - 可逆的 Chess-PGN 元数据编码 - 共享桌面和 CLI 内核,以保持一致的行为 Avikal 目前是 Windows 首选的桌面发布。代码库的结构使得 CLI 和未来的跨平台打包可以使用相同的归档核心。 Avikal 是一个开源的、由维护者领导的归档安全项目。欢迎外部审查、问题报告和专注的贡献,但最终的设计、安全和发布决策仍由维护者负责。 ## 功能 ### 文件和文件夹归档 - 从单个文件、多个文件或文件夹创建 `.avk` 归档。 - 在临时预览会话中预览解密内容。 - 仅在用户选择保留解码文件时提取。 - 支持重新加密支持的归档,而无需重写加密的有效负载流。 ### 密码和密钥短语保护 - 使用正常的访问密码。 - 使用生成的 21 个单词的印地语密钥短语。 - 使用密码和密钥短语一起,以获得更强的解锁要求。 - 使用罗马化输入辅助工具来帮助印地语/达维纳加里密钥短语系统。 ### Chess-PGN 元数据载体 Avikal 通过可逆的 Chess-PGN 载体存储受保护的归档控制元数据。 简单来说: - 归档元数据打包成字节 - 受保护的元数据被加密 - 加密的元数据被编码为合法的棋盘移动 - 结果存储在 `keychain.pgn` 棋盘层是 Avikal 的一个身份特征和可逆载体。实际的机密性来自加密,而不是声称 PGN 在数学上与人类棋盘游戏不可区分。 ### 后量子保护 Avikal 支持可选的 PQC 支持的归档保护。 当前的 PQC 工作流程包括: - 在 `.avk` 中嵌入 PQC 材料 - 外部 `.avkkey` 密钥文件 - 可选的第二密码保护外部 `.avkkey` 文件 - 后端核心中混合后量子/经典密钥材料处理 - 在后台核心中分离访问材料。例如,归档可以在打开之前要求正常的用户秘密和匹配的 PQC 密钥材料。 ### 时间胶囊 TimeCapsule 模式允许归档在满足发布条件之前保持锁定状态。 支持的发布权限: - `drand` 用于基于时间的公共发布 - `Aavrit` 用于签名的外部发布权限工作流程 这在数据应该现在存在但不应在满足特定时间或权限条件之前解锁时很有用。 ### Aavrit 集成 Avikal 可以从设置连接到 Aavrit。Aavrit 被视为外部发布权限,可以与 TimeCapsule 工作流程集成。 Aavrit 服务器是一个独立的项目。此存储库包含 Avikal 客户端集成。 ### 桌面和 CLI Avikal 有两个界面: | 界面 | 最佳用途 | |---|---| | 桌面应用程序 | 交互式归档创建、预览、TimeCapsule、Aavrit 连接和引导式工作流程 | | CLI | 自动化、脚本、诊断、服务器端工作流程和开发者使用 | 两者都使用相同的后端归档核心。 ## Avikal 如何保护文件 Avikal 将用户界面与归档引擎分开。 ``` Desktop UI -> Electron IPC -> Avikal core over JSON-RPC/stdin-stdout -> Python orchestration + Rust native crypto CLI -> same Python/Rust archive core ``` 桌面运行时不使用本地 HTTP 服务器进行正常应用程序通信。Electron 启动 Avikal 核心进程,并通过标准 I/O 上的 framed JSON-RPC 与其通信。 受保护的归档使用: - AES-256-GCM 进行认证加密 - Argon2id 用于密码和密钥短语加固 - 基于 HKDF 的密钥分离 - Rust 原生加密用于生产路径 - 严格的归档容器验证 - 提取期间的路径遍历防御 - 可选的 OpenSSL 支持的后量子原语 Avikal 不声称可以防止同一台机器上运行的恶意软件、键盘记录器、内存抓取、弱密码或丢失的恢复材料。在依赖 Avikal 进行敏感用途之前,请阅读 [SECURITY.md](./SECURITY.md)。 ## 截图 ### 编码

Avikal encode page

### 解码

Avikal decode page

### 时间胶囊

Avikal TimeCapsule page

## 快速入门 ### 桌面用户 当可用时,请使用发布的 Windows 桌面版本。 对于源开发,请从存储库根目录使用 Windows PowerShell: ``` npm install cd frontend npm install cd .. cd backend python -m venv venv venv\Scripts\activate pip install -r requirements.txt pip install -r requirements-build.txt pip install -e . cd .. npm run build:native:quick npm run dev ``` ### CLI 用户 从签出中本地安装: ``` pip install .\backend avikal --help ``` 常见命令: ``` avikal enc document.pdf --password-prompt avikal dec locked.avk --output-dir output --password-prompt avikal info locked.avk avikal ls locked.avk --password-prompt avikal rekey locked.avk --old-password-prompt --new-password-prompt avikal doctor ``` 有关完整 CLI 指南,请参阅 [CLI_USAGE.md](./CLI_USAGE.md)。 ## 存储库布局 ``` assets/ App logo, icons, and screenshots backend/ Python package, CLI, archive core, native Rust module build/ Windows installer integration files electron/ Electron main process and preload bridge frontend/ React renderer packaging/ Windows and CLI packaging helpers runtime/ Runtime support layout scripts/ Build and release preparation scripts ``` ## 开发命令 ``` npm run dev npm run build:frontend npm run build:native:quick npm run package:windows npm run package:cli npm run verify:cli ``` 更多设置详细信息请参阅 [SETUP.md](./SETUP.md). ## 文档 - [SETUP.md](./SETUP.md) - 源设置和构建命令 - [CLI_USAGE.md](./CLI_USAGE.md) - CLI 使用指南 - [SECURITY.md](./SECURITY.md) - 安全模型和漏洞报告 - [CONTRIBUTING.md](./CONTRIBUTING.md) - 贡献工作流程 - [ROADMAP.md](./ROADMAP.md) - 项目方向 - [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md) - 第三方许可说明 - [updates.md](./updates.md) - v1.0.4 更新摘要 ## 项目状态 Avikal 正在积极进行 beta 开发。Windows 桌面打包是主要支持的生产目标。CLI 和未来的 Linux/macOS 打包是项目方向的一部分,但它们需要单独的发布验证。 ## 负责任的使用 Avikal 旨在用于合法的文件保护、备份、研究和受控发布工作流程。用户有责任遵守适用的法律,并保护他们的密码、密钥短语和 `.avkkey` 文件。 ## 许可证 Avikal 根据 [Apache License 2.0](./LICENSE) 许可。
标签:AES-GCM, Apache-2.0 许可, .avk 格式, Beta 版本, Chess-PGN, Devanagari, PQC, ProjectDiscovery, Python, Rust, 加密工具, 可视化界面, 安全应用, 归档软件, 数据保护, 文件加密, 文件管理, 无后门, 时间胶囊, 桌面应用, 网络安全, 网络流量审计, 逆向工具, 量子安全, 隐私保护