chandu-kc/Steganography
GitHub: chandu-kc/Steganography
用纯 C 语言实现的 LSB 图像隐写术工具,在图像像素的最低有效位中嵌入和提取秘密数据,专为嵌入式与资源受限系统设计。
Stars: 1 | Forks: 0
# 🕵️ C 语言实现隐写术
## 📋 关于
本项目使用 C 语言实现了**图像隐写术**,重点在于将数据安全地隐藏在图像文件中,同时将视觉变化降至最低。
它演示了如何在**比特级别**嵌入和提取秘密信息,这与**嵌入式系统、安全领域和底层 C 语言编程**高度相关。
## 🎯 功能
- 使用 LSB 技术将秘密文本数据嵌入图像文件
- 从隐写图像中提取隐藏数据
- 在字节/比特级别工作,实现精细控制
- 使用纯 C 编写(无需庞大的外部库)
- 专为嵌入式/低内存环境而设计
## 🏗️ 高层设计
| 组件 | 作用 |
|----------|------|
| **Encoder** | 读取输入图像 + 秘密信息并生成隐写图像 |
| **Decoder** | 读取隐写图像并重构隐藏信息 |
| **Bit utilities** | 设置、清除和读取比特位以进行 LSB 操作 |
_如果需要,稍后可以在此处添加一个简单的框图。_
## 💻 技术栈
- **语言:** C (100%)
- **概念:** 位运算,文件处理,图像数据操作
- **领域:** 安全,数据隐藏,嵌入式系统
## 📁 项目结构
```
Steganography/
├── src/
│ ├── encode.c # Logic for hiding data inside image
│ ├── decode.c # Logic for extracting hidden data
│ ├── utils.c # Common helpers (bit ops, file ops)
│ └── main.c # Menu / CLI handling
├── include/ # Header files (if applicable)
├── sample/
│ ├── input.bmp # Original image
│ ├── output.bmp # Image with hidden data
│ └── secret.txt # Example secret message
└── README.md
```
_请根据您的实际文件调整名称。_
## 🚀 如何构建和运行
```
# 构建
gcc -o stego Steganography/src/*.c
# Encode (示例)
./stego encode input.bmp secret.txt output.bmp
# Decode (示例)
./stego decode output.bmp recovered.txt
```
## 🔐 用例
- 在图像中安全地嵌入凭据或 ID
- 水印或所有权标记
- 针对受限系统的隐蔽通信
## 🧪 可能的改进
- 为秘密数据添加基于密码的加密
- 支持多种图像格式
- 添加自动化测试和 CI 以提高可靠性
**开发者:** Chandan K C – 嵌入式固件开发工程师 (STM32, ESP32, FreeRTOS)
标签:DNS 反向解析, LSB算法, 位运算, 图像隐写术, 客户端加密, 嵌入式系统, 数据隐藏