oghritik/Colour-Based-Steganography-using-Chi-Square-Analysis
GitHub: oghritik/Colour-Based-Steganography-using-Chi-Square-Analysis
基于颜色像素选择和 LSB 嵌入的图像隐写工具,同时提供 Chi-Square 统计检测来分析隐写可检测性。
Stars: 0 | Forks: 0
# 基于 Chi-Square 分析的颜色隐写术
## 概述
本项目实现了一种新型的基于颜色的隐写术技术,用于在数字图像中隐藏秘密信息。该方法使用关键颜色和容差来选择特定的像素进行数据嵌入,确保隐藏的信息在视觉上无法区分。此外,它采用 Chi-Square 分析来检测图像中是否存在隐写内容,提供了关于可检测性的统计测量。
### 示例:嵌入历史文本
一个示例展示了使用关键颜色 `(89, 89, 89)` 和容差 `1.7320508075688772` 将关于 J. Robert Oppenheimer 的详细传记嵌入图像的过程。编码后的图像在视觉上与原图一致,但包含了隐藏的信息。
| 原始图像 | 嵌入数据可视化 |
|---------------|-------------------------------|
|  |  |
## 功能
- **安全嵌入**:使用基于颜色的像素选择在图像中隐藏文本信息
- **Chi-Square 检测**:使用统计测试分析图像中潜在的隐藏数据
- **可视化工具**:生成嵌入数据的视觉表示
- **LSB 分布分析**:检查最低有效位分布以进行取证分析
- **Jupyter Notebook 实现**:提供交互式 Python 笔记本以便于实验
## 安装说明
1. 克隆仓库:
git clone https://github.com/yourusername/Colour-Based-Steganography-using-Chi-Square-Analysis.git
cd Colour-Based-Steganography-using-Chi-Square-Analysis
2. 安装所需的依赖项:
pip install -r requirements.txt
或手动安装:
pip install numpy scipy pillow matplotlib jupyter
## 使用说明
### 编码信息
运行 `chisquare.ipynb` 笔记本来嵌入信息:
1. 在 Jupyter 中打开 `chisquare.ipynb`
2. 提供你的秘密信息、关键颜色和容差
3. 执行单元格以生成编码图像
### 解码信息
使用笔记本中的解码函数从图像中提取隐藏的信息。
### 检测
对可疑图像应用 Chi-Square 分析,以确定它们是否包含隐藏数据。
## 工作原理
### 隐写术技术
1. **像素选择**:根据像素颜色与指定关键颜色在一定容差范围内的接近程度来选择像素
2. **数据嵌入**:将秘密位嵌入到所选像素的最低有效位 中
3. **边界管理**:该算法确保嵌入不会超出图像边界
### Chi-Square 检测
该检测方法分析所选像素中 LSB 的分布:
- 均匀分布(50% 的 0 和 1)表示自然的随机性
- 偏离均匀性表明可能存在隐写操作
- 较低的 Chi-Square 统计量表明被检测的风险较高
## 示例
有关更多示例,包括额外的编码信息、LSB 分布分析以及详细的步骤说明,请参见 [examples.md](examples.md)。
## 项目结构
- `chisquare.ipynb`:主要的实现笔记本
- `crypto.ipynb`:额外的加密工具
- `Examples/`:示例图像和输出
- `examples.md`:详细的示例文档
标签:Chi-Square分析, DNS 反向解析, LSB隐写分析, Matplotlib, meg, NoSQL, NumPy, Pillow, Python, SciPy, 信息安全, 信息隐藏, 像素分布分析, 卡方检验, 图像取证, 图像处理, 密码学, 手动系统调用, 数字取证, 数字图像隐写, 数据编码与解码, 数据隐藏, 无后门, 最低有效位, 算法可视化, 自动化脚本, 逆向工具, 隐写术, 颜色特征隐写