supergonzales-byte/ArgonCrypt
GitHub: supergonzales-byte/ArgonCrypt
一款 Windows 文件加密工具,结合 AES-GCM-SIV 强加密与 LSB 隐写术,支持将加密数据隐藏在 PNG 图像中并提供双因素认证。
Stars: 0 | Forks: 0
# 🔐 ArgonCrypt
一款具备高级内存保护、LSB 隐写术和双因素认证功能的文件与目录加密应用程序。
## 功能特性
- **文件加密**:支持单个或批量文件加密
- **整目录加密**:将整个目录加密为单个 `.enc` 文件(zip + 加密)
- **批量加密**(每个文件使用各自派生的密钥单独加密)
- **查看和编辑**:直接在应用程序中查看和编辑 `.enc` 文件
- **主密钥**:可选,用于双因素认证
- **LSB 隐写术**:将加密的文件或目录隐藏在 PNG 图像中
- **安全擦除**:加密后安全销毁原始文件(DOD 4-Pass)
- **4 个可配置的 Argon2id 安全级别**
## 安全性
### 加密算法:AES-GCM-SIV (256 位)
- AEAD 算法(同时进行认证和加密)
- 抗 Nonce 重用攻击
- **关联数据 (AAD)**:文件头(magic + 参数)经过认证 —— 任何篡改都会被检测到
### 密钥派生:Argon2id
2015 年密码哈希竞赛冠军。抗 GPU/ASIC 攻击。
| 级别 | 内存 | 迭代次数 | 线程 | 预计时间 |
| -------- | ----- | ------------ | --------- | -------------- |
| 🟢 标准 | 64 MB | 3 | 1 | ~100–500 ms |
| 🔵 增强 *(默认)* | 256 MB | 6 | 2 | ~500 ms–2 s |
| 🟠 高安全性 | 1 GB | 12 | 4 | ~2–8 s |
| 🔴 最高 | 2 GB | 24 | 4 | ~5–20 s |
### 主密钥 (2FA)
- 随机生成的 32 字节密钥文件
- 最终密钥通过 **HMAC-SHA256(主密钥, 密码)** 派生
- 如果没有 `.key` 文件,即使拥有正确的密码也无法访问数据
### 内存保护
- **VirtualLock**:锁定关键内存页(防止写入页面文件/交换分区)
- **匿名 mmap**:由操作系统管理的隔离内存分配
- **积极清理**:使用后立即覆盖缓冲区
- **紧急清理**:通过 `atexit` 和 `signal` (SIGINT, SIGTERM) 注册
- 每次加密操作后强制执行 **GC**
## LSB 隐写术
允许将**加密**的文件或目录隐藏在 PNG 图像中。
**两种可用模式:**
- **1-bit**:修改每个 RGB 通道的最低有效位 —— 几乎无法检测
- **4-bit**:修改 4 个最低有效位 —— 容量 ×4,有轻微视觉变化
**大致容量:**
| 分辨率 | 1-bit | 4-bit |
| ------------ | ------- | ------- |
| 1920×1080 | ~777 KB | ~3.1 MB |
| 3840×2160 | ~3.1 MB | ~12.4 MB |
| 7680×4320 | ~12.4 MB | ~49.7 MB |
| 10000×10000 | ~37.5 MB | ~150 MB |
## 先决条件
- **Windows 10 或更高版本**
- **Python 3.8 或更高版本**
## 依赖项
```
pip install cryptography
pip install argon2-cffi
pip install Pillow
pip install numpy
```
## 安装
```
git clone https://github.com/supergonzales-byte/ArgonCrypt.git
cd ArgonCrypt
pip install cryptography argon2-cffi Pillow numpy
python ArgonCrypt.py
```
## 使用说明
### 图形用户界面
启动时,界面显示:
**主密钥(可选)**
- 勾选“使用主密钥”以启用 2FA
- 生成新的 `.key` 文件或加载现有文件
- ⚠️ 请保留 `.key` 文件的备份副本 —— 没有它,数据将无法访问
**安全级别**
- 在加密前选择 Argon2id 级别
- 级别存储在 `.enc` 文件中,解密时自动恢复
**销毁原始文件**
- 勾选“加密后销毁原始文件 (DOD 4-Pass)”以进行 4 遍安全擦除 (0x00, 0xFF, 随机, 0x00)
### 可用操作
| 按钮 | 操作 |
| -------- | -------- |
| 加密文件 | 加密一个文件 → `.enc` |
| 还原文件 | 解密一个 `.enc` → 原始文件 |
| 加密目录 | 将整个文件夹 Zip + 加密为**一个** `.enc` 文件 |
| 解密目录 | 解密并还原完整的目录结构 |
| 批量加密 | 单独加密文件夹中的每个文件 |
| 批量还原 | 解密文件夹中的所有 `.enc` 文件 |
| 查看 | 查看解密后的内容(只读) |
| 编辑 | 查看内容并允许修改 + 重新加密 |
| 隐藏文件 | 加密 + 隐藏在 PNG 图像中(隐写术) |
| 提取文件 | 从 PNG 图像中提取并解密 |
| 隐藏目录 | 压缩 + 加密 + 将文件夹隐藏在图像中 |
| 提取目录 | 从图像中提取并还原文件夹 |
## 免责声明
- 隐写术不能保证不可见性 —— 它是对加密的补充,不能替代加密
💰
如果此工具对您有用,您可以捐款
**XRP (Ripple) :**
```
rJLagQnJhmLPAuvgnRqSKTa5KW3193ahot
```
标签:2FA, AEAD加密, AES-GCM-SIV, Anti-Forensics, Argon2id, Conpot, DNS 反向解析, DOD标准, HMAC-SHA256, HTTP工具, LSB隐写, meg, PNG隐写, Windows安全, 信息安全, 内存保护, 双因素认证, 子域名变形, 安全删除, 密码学, 密钥派生, 手动系统调用, 批处理加密, 抗GPU攻击, 数字隐写, 数据销毁, 文件加密, 目录加密, 端点可见性, 网络安全, 虚拟内存锁定, 逆向工具, 隐写术, 隐私保护