harrison001/stegosafe-cli

GitHub: harrison001/stegosafe-cli

一款结合 AES-256 加密、Shamir 秘密共享和 LSB 图像隐写术的命令行工具,用于将机密文本安全且隐蔽地嵌入 PNG 图片中。

Stars: 1 | Forks: 0

# stegosafeCLI ![许可证](https://img.shields.io/badge/License-MIT-green) ![Python](https://img.shields.io/badge/Python-3.6%2B-blue) ![加密](https://img.shields.io/badge/Encryption-AES--256-critical) ![隐写术](https://img.shields.io/badge/Steganography-LSB-important) ![两张图片看起来一模一样;右侧的图片携带了一段 AES-256 加密的助记词,每张图片仅有 0.01% 的像素发生了 1 个比特的变化](https://static.pigsec.cn/wp-content/uploads/repos/cas/12/12aa7a02376b8204017536ba46251c817305f162e33256fb9f1eef9624d4cdda.png) *上面的两张图片都是真实的——它们是该工具实际的输入和输出。右侧的图片携带了一段 12 个单词的恢复短语,采用 AES-256 加密,并作为 3-of-5 Shamir 拆分之一。测量到的差异为:**0.01% 的像素,每个像素仅在其最低有效位上发生了 1 个比特的改变**。* ## 🎥 演示视频 在 45 秒内了解 StegoSafe 的工作原理: [![观看视频](https://img.youtube.com/vi/qNDmonpYXfk/0.jpg)](https://youtu.be/qNDmonpYXfk) ## ✨ 功能 - **AES-256 加密**:使用 CBC 模式的 AES-256 加密机密,密钥通过 PBKDF2 派生(100,000+ 次迭代)。 - **抵御量子攻击**:Grover 算法只能将 AES-256 的有效密钥强度减半——降至约 128 位,在可预见的未来这依然被认为是安全的。 - **Shamir 秘密共享**:您的加密密钥会被拆分成 5 份——只需 3 份即可恢复。 - **隐写术**:机密信息会被无形地嵌入到普通的 PNG 图像中,肉眼无法察觉。 - **阈值恢复**:丢失了 2 张图像?没问题。3 份共享足以恢复您的数据。 - **100% 本地化**:所有操作都在您的设备上进行。没有云端,没有泄露。 ## 📦 环境要求 - Python 3.6 或更高版本 - 安装依赖项: pip install -r requirements.txt 依赖项: - cryptography - Pillow - numpy ## ⚙️ 安装说明 1. 克隆此仓库或下载源代码。 2. 安装所需的 Python 包: pip install -r requirements.txt ## 🚀 使用说明 ### 嵌入机密 加密并将机密嵌入到图像中: ``` python stegosafe_cli.py embed -i -s "" -o ``` 参数: - `-i`, `--input_folder`:包含源图像的目录(PNG、JPG 或 JPEG)。至少需要 5 张图像——每个 Shamir 共享对应一张。输出始终为 PNG 格式。 - `-s`, `--secret`:您想要安全隐藏的文本。 - `-o`, `--output_folder`:保存隐写图像的目录。 **示例**: ``` python stegosafe_cli.py embed -i test_images -s "This is my hidden message" -o output_images ``` ### 恢复机密 从隐写图像中恢复隐藏的机密: ``` python stegosafe_cli.py recover -i ``` 参数: - `-i`, `--stego_folder`:包含隐写图像的目录。 **示例**: ``` python stegosafe_cli.py recover -i output_images ``` ## 🛡️ 工作原理 1. **加密**:使用 AES-256 和随机生成的密钥对您的机密进行加密。 2. **拆分**:使用 Shamir 秘密共享将密钥拆分为 5 份(阈值:3 of 5)。 3. **嵌入**:利用 LSB 隐写术,将每一份共享连同完整的密文嵌入到单独的图像中。 4. **恢复**:使用任意 3 张有效的隐写图像恢复机密。 即使攻击者找到了部分图像,只要未达到规定的阈值数量,**您的机密依然受到数学原理的保护**。 ## 🔒 安全说明 - **保持 PNG 格式,以文件形式发送**:只有在文件的字节保持原样的情况下,LSB 数据才能得以留存。它**无法**在 JPEG 转换、截屏、缩放或大多数聊天应用对内嵌照片进行的重新压缩中保留下来。请以*文件/文档*的形式(电子邮件附件、“发送文件”、云盘)传输隐写图像,而不要作为内嵌照片发送。[完整留存指南 →](https://stegosafe.com/blog/what-happens-when-you-hide-a-secret-in-a-photo/) - **阈值保护**:少于 3 张图像不会泄露有关该机密的任何信息——从数学原理上讲是一点也没有,而不是仅仅“减少了信息”。 - **不可察觉性,而非绝对隐形**:仅修改了最低有效位,因此视觉检查和简单的分析无法发现它。统计隐写分析*可能*会标记出 LSB 嵌入——这就是为什么有效载荷会先经过 AES-256 加密的原因:被检测到并不意味着被破解。 - **完全本地化**:您的数据永远不会离开您的机器。 ## 🚀 接下来做什么? 🔒 **今天就保护您未来的机密——并为明天做好准备。** ## ⚠️ 免责声明 本工具仅供合法、道德和个人使用。 作者对滥用行为**不承担任何责任**。 ## 📜 许可证 基于 **MIT License** 发布。
标签:DNS 反向解析, HTTP工具, Python, Shamir秘密共享, 密码学, 手动系统调用, 数据加密, 无后门, 逆向工具, 隐写术