dylanheller/nbpc-c
GitHub: dylanheller/nbpc-c
该项目是面向三元隐写嵌入的非二进制极化码的纯 C 实现,解决了在 C 环境下高效进行隐写编码的问题。
Stars: 1 | Forks: 0
# `nbpc-с`
用于三元隐写嵌入的**非二进制极化码 (Non-Binary Polar Codes, NBPC)** [1] 的 ANSI C *O(Ln) 空间* 实现。本库是 [`nbpc-rs`](https://github.com/dylanheller/nbpc-rs) 的 C 移植版。
该库可在满足以下条件的平台上运行:
- 存在 32 位无符号整数类型
- `CHAR_BIT == 8`
- `sizeof(size_t) >= 4`
## 峰值内存使用(不含输入数据)
设 `N` 为将 `n` 向上取整到最近的 2 的幂。
- `17N`:输入 PMF
- `N`:冻结掩码
- `32L(N - 1)`:PMF 的最大总空间
- `L(N - 1)`:硬值的最大总空间
- `LN`:最佳路径
总计大约为:
`N(18 + 34L) bytes`
- [1]: Q. Guan, K. Chen, W. Lu, W. Zhang, and N. Yu, “Non-Binary polar codes for steganography,” IEEE Transactions on Dependable and Secure Computing, vol. 23, no. 1, pp. 1029–1046, Sep. 2025, doi: 10.1109/tdsc.2025.3613759.
- [2]: T. Filler, J. Judas, and J. Fridrich, “Minimizing additive distortion in steganography using Syndrome-Trellis codes,” IEEE Transactions on Information Forensics and Security, vol. 6, no. 3, pp. 920–935, Apr. 2011, doi: 10.1109/tifs.2011.2134094.
标签:信息隐藏, 客户端加密, 算法库, 编码理论, 隐写术, 非二元极化码