StegLLM 是一个离线的文本隐写项目,它利用大语言模型LLM在正常的文本中隐藏秘密信息。无需安装或任何配置,即可在本地安全地进行隐写加密。
想象一下,你可以把一句话悄悄藏在一篇文章里,不被人轻易发现。
这就是文本隐写:把你想隐藏的信息融入到看似普通的文字中。
和加密不同,隐写的核心是让人根本不知道信息的存在。
- 传递小秘密: 想给朋友发个“只有我们才懂”的小秘密?藏在一段看似平常的文字里,让其他人完全无法察觉。
- 给作品加个“防伪码”: 在你呕心沥血写成的小说里,偷偷加入一些只有你知道的“彩蛋”,证明这是你的原创。
- 躲猫猫游戏: 在公共场合,我们可能想要让一些信息“隐身”,藏进普通的内容里。就像玩捉迷藏一样,看看谁能找到我!
- 需要隐写和解密: 下载StegLLM.zip
- 仅需要解密: 下载StegLLM-pure.zip
Windows系统:运行 windows.bat
Linux/MacOS系统:
- 项目目录下执行下列指令
chmod +x linux_mac.sh data/*.llamafile
- 运行
linux_mac.sh
下面是一个简单的示例
如图所示,一句想要隐藏的话可加密成一段普通的文字,并且支持首尾任意插入文本,即是说你可以把得到的结果插入到任意一篇文章或者对话中。
- 下载StegLLM-pure.zip
- 从 Hugging Face 或 ModelScope 等任何来源获取希望使用的llamafile文件,放置到项目目录下的data文件夹中。
默认使用的模型是 Qwen2.5-0.5B-Instruct-Q6_K
。使用参数较大的模型,通常可以获得更好的隐写效果。
Windows 用户注意事项:
如果在 Windows 下运行大于 4GB 的 llamafile,需要进行一些额外的操作。请参考 Mozilla-Ocho/llamafile 的官方文档。
设置settings.txt
const prompts=[
`续写一段散文:`,
`续写一段仙侠小说:`,
`续写一段现代诗歌:`,
];
设置system_prompt.txt
{
"system_prompt": {
"prompt": "You are an assistant skilled in text continuation. Your task is to continue the provided text naturally and creatively, without asking questions, providing hints, stating task requirements, adding explanations, comments, or supplementary remarks. Your continuation should always follow natural language expression and allow blank input.",
"assistant_name": "Continuation Assistant:"
}
}
欢迎提交 Issues 和 Pull Requests!
本项目仅供学习和研究使用,请勿用于非法用途。对于因使用本项目造成的任何损失或损害,作者不承担任何责任。
本项目采用 MIT 许可证。