Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rin313/stegllm
完全离线的一键式LLM隐写加密程序,无需安装或任何额外配置。Fully offline one-click LLM steganography program without installation or any additional configuration.
https://github.com/rin313/stegllm
encryption llama llamafile llm steganography
Last synced: about 12 hours ago
JSON representation
完全离线的一键式LLM隐写加密程序,无需安装或任何额外配置。Fully offline one-click LLM steganography program without installation or any additional configuration.
- Host: GitHub
- URL: https://github.com/rin313/stegllm
- Owner: Rin313
- License: mit
- Created: 2025-02-06T18:12:47.000Z (9 days ago)
- Default Branch: main
- Last Pushed: 2025-02-13T21:42:21.000Z (1 day ago)
- Last Synced: 2025-02-13T22:33:38.537Z (1 day ago)
- Topics: encryption, llama, llamafile, llm, steganography
- Language: JavaScript
- Homepage:
- Size: 271 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# StegLLM
StegLLM 是一个离线的文本隐写项目,它利用大语言模型LLM在正常的文本中隐藏秘密信息。无需安装或任何配置,即可在本地安全地进行隐写加密。
## 什么是文本隐写?
想象一下,你可以把一句话悄悄藏在一篇文章里,不被人轻易发现。
这就是文本隐写:把你想隐藏的信息融入到看似普通的文字中。
和加密不同,隐写的核心是**让人根本不知道信息的存在**。
## 文本隐写有什么“妙用”?
* **传递小秘密:** 想给朋友发个“只有我们才懂”的小秘密?藏在一段看似平常的文字里,让其他人完全无法察觉。
* **给作品加个“防伪码”:** 在你呕心沥血写成的小说里,偷偷加入一些只有你知道的“彩蛋”,证明这是你的原创。
* **躲猫猫游戏:** 在公共场合,我们可能想要让一些信息“隐身”,藏进普通的内容里。就像玩捉迷藏一样,看看谁能找到我!# 快速开始
下载[StegLLM.zip](https://github.com/Rin313/StegLLM/releases)
Windows系统:运行 `windows.bat`
Linux/MacOS系统:
1. 项目目录下执行下列指令
```bash
chmod +x linux_mac.sh data/*.llamafile
```
2. 运行 `linux_mac.sh`下面是一个简单的示例,如图所示,"待到秋来九月八,我花开后百花杀!"这句话可被加密成一段平平无奇的文章。
![StegLLM](img.png "界面演示")
# 注意事项
* 加密和解密通常需要使用同一个模型
* 对于加密后得到的掩饰文本,尾部文本插入对解密的影响较小,头部插入和中间修改则不支持。
* 由于语法惯性和模型体量的限制,加密过程可能无法找到合适的选词进行编码。遇到这种情况时,请重新尝试。# 使用自定义的模型构建(可选)
1. 下载[StegLLM-pure.zip](https://github.com/Rin313/StegLLM/releases)
2. 从 **Hugging Face** 或 **ModelScope** 等任何来源获取希望使用的llamafile文件,放置到项目目录下的**data**文件夹中。默认使用的模型是 `Qwen2.5-0.5B-Instruct-Q6_K`。使用参数较大的模型,通常可以获得更好的隐写效果。
**Windows 用户注意事项:**
如果在 Windows 下运行大于 4GB 的 llamafile,需要进行一些额外的操作。请参考 [Mozilla-Ocho/llamafile](https://github.com/Mozilla-Ocho/llamafile) 的官方文档。
# 续写提示设置(可选)
设置`prompts.txt`
```javascript
const prompts=[
`续写一段散文:`,
`续写一段仙侠小说:`,
`续写一段现代诗歌:`,
];
```# AI角色设置(可选)
设置`system_prompt.txt`
```json
{
"system_prompt": {
"prompt": "你是擅长续写文本的助手,你的任务是续写提供的文本,禁止给出任何提问、提示、任务要求、补充说明、评论和解释性文字。你的续写总是符合自然语言的表达方式,充满创造性,允许用户输入空白。",
"assistant_name": "续写助手:"
}
}
```# 原理图
![StegLLM](mermaid-diagram.png "StegLLM 原理图")
# 贡献
欢迎提交 Issues 和 Pull Requests!
# 免责声明
本项目仅供学习和研究使用,请勿用于非法用途。对于因使用本项目造成的任何损失或损害,作者不承担任何责任。
本项目采用 [MIT 许可证](LICENSE)。
特别感谢:**[LLM-Steganography](https://github.com/HighDoping/LLM-Steganography/),[llamafile](https://github.com/Mozilla-Ocho/llamafile),[Unishox2](https://github.com/siara-cc/Unishox2)**