fr4nsyz/Steganography_Suite
GitHub: fr4nsyz/Steganography_Suite
一款基于 Rust + Tauri 的本地图像隐写工具,结合 LSB 隐写与 AES-256-GCM 加密,让用户可以将机密信息安全地隐藏在 PNG 图片中。
Stars: 2 | Forks: 0
# 隐写术套件
本项目是一个完全本地化的隐写术和加密工具,允许您在桌面 GUI 中将秘密信息编码和解码到图像文件中。
与大多数隐写工具不同,此工具添加了额外的 **AES-GCM 256位加密** 层,由主密码保护。换句话说:您的数据不仅隐藏在图像中,而且经过了加密。
## 演示:
https://github.com/user-attachments/assets/bac77eb6-2e48-4072-818a-d487007e1ad2
## 这是什么?
这款应用程序允许您**在图像中编码和解码隐藏的信息**。它支持:
- 在图像像素的最低有效位中**隐藏信息**
- 使用密码的 **AES-256-GCM 加密**
- **GUI**(使用 Tauri + JS 前端构建)
有了它,您就可以拥有一个**将密码隐藏在 PNG 中的密码管理器** :)
## 技术栈
| 层级 | 技术 |
|-------------|---------------------------|
| 后端 | Rust,`aes-gcm` crate |
| GUI 运行时 | Tauri |
| 前端 | JavaScript/JSX (Tauri 前端) |
| 图像 I/O | Rust 图像库 |
| 加密 | AES-GCM 256位加密 |
| 格式 | 带 alpha 通道的 PNG |
## 用法
1. 从发布版本中下载名为 `stego` 的二进制文件。
2. 运行该应用程序。
3. 使用 GUI 进行以下操作:
- 将秘密信息**编码**到图像中。
- 从图像中(使用您的密码)**解码**信息。
### 输出
当您编码信息时,新图像将保存在**与原始图像相同的目录**中,但会重命名为:
(sneaky).
示例:
`passwords.png` → `passwords (sneaky).png`
## 工作原理
### 第一步 – 加密
在编码之前,信息会由 [Rust `aes-gcm`](https://docs.rs/aes-gcm/latest/aes_gcm/) crate 提供的 **AES-256-GCM** 进行**加密**。
- 加密/解密在本地通过 PBKDF2 密码到对称密钥的派生过程完成。
### 第二步 - 编码
- 通过位掩码读取给定的信息。
- 将每一位存储在每个像素的 **alpha 通道(不透明度字节)的 LSB** 中。
- 图像的**最后 32 个像素**用于保留信息长度(以位为单位)。
(回想起来,这是一个奇怪的设计,理想情况下大小应该放在前面)
### 第三步 – GUI(位于 `stego-face/` 目录下)
GUI 将编码/解码流程封装成一个友好的前端,使用:
- **Rust + Tauri** 作为后端
- **JavaScript** 作为前端(由 Tauri 处理桥接)
标签:AES加密, DNS 反向解析, HTTP工具, Rust, Tauri, 可视化界面, 图像隐写术, 密码学, 手动系统调用, 数据可视化, 数据隐藏, 桌面应用, 网络流量审计, 通知系统