Metadata-Version: 2.4
Name: yccstego
Version: 0.1.2
Summary: JPEG compression-domain nsF5 steganography on the Y (luma) channel of YCbCr with self-contained DCT+Huffman codec
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: Pillow

# yccstego —— YCC(YCbCr) 亮度通道 nsF5 隐写工具

<p align="center">
  <a href="https://pypi.org/project/yccstego/"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/yccstego"></a>
  <a href="https://pypi.org/project/yccstego/"><img alt="PyPI - Python" src="https://img.shields.io/pypi/pyversions/yccstego?cacheseconds=86400"></a>
  <a href="https://pypi.org/project/yccstego/"><img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/yccstego?cacheseconds=86400"></a>
  <a href="https://github.com/Yukinoshita-lin/yccstego/releases"><img alt="GitHub - Release" src="https://img.shields.io/github/v/release/Yukinoshita-lin/yccstego"></a>
</p>

在 JPEG 压缩域中对 YCbCr 的 **Y（亮度）通道量化 DCT 系数** 实施 nsF5 伴随式矩阵编码隐写。
自实现标准 JPEG(DCT+量化+Huffman) 编解码，保证量化系数在“保存→解析”后逐位一致，
从而实现压缩域无失真往返嵌入。

## 安装
```bash
# 从 PyPI 安装
pip install yccstego
```
```bash
# 或本地源码开发模式安装
pip install -e .
```
> 控制台命令 `yccstego` 依赖 Python 的 `Scripts` 目录在 PATH 中；
> 若未配置可用 `python -m yccstego.cli`。

## 用法（CLI）
```bash
# 嵌入（消息 UTF-8，中英文均可）
yccstego embed in.png out.jpg -m "你好，ycc stego" -p 3 -k 口令
# 消息超容量时按 UTF-8 安全截断（默认则报错）
yccstego embed small.png out.jpg -m "很长很长的中文…" -p 3 -k 口令 --truncate
# 解码
yccstego extract out.jpg -p 3 -k 口令
# 隐写分析
yccstego analyze out.jpg
```

## 结构
- `yccstego/color.py`  RGB↔YCbCr(BT.601) 与 4:2:0 子采样
- `yccstego/dct.py`   8×8 分块 DCT/IDCT、量化表、之字扫描
- `yccstego/huffman.py` 标准 JPEG DC/AC Huffman 编解码
- `yccstego/jpeg_codec.py` 图像↔量化系数↔.jpg 位流
- `yccstego/nsf5.py`   Y 亮度量化 DCT 系数上的 nsF5 嵌入/提取(伴随式+湿纸+块置乱+图像哈希自同步)
- `yccstego/steganalysis.py` YCC 域盲隐写分析
- `yccstego/cli.py`   命令行入口
