一些小而美的信息隐藏技术:幻影坦克、藏物于音等
Info Hiding Library
一些小而美的信息隐藏方法
| 算法 | 说明 | 在线试用 |
|---|---|---|
| 幻影坦克 | 使图片在不同的背景下显示不同的图片 | 幻影坦克 |
| 化物为图 | 把数据以图片形式存放 | 化物为图 |
| 藏物于图 | 把数据藏在一个图片中 | |
| 图片隐水印 | 图片空域上的隐水印 | |
| 图种 | 把图片和文件黏在一起,并存为图片 | |
| EXIF | 把一段信息放到图片的EXIF中 | |
| 化物为音 | 把数据以音频的形式存放 | |
| 藏物于音 | 把数据隐藏在一个音频中 | |
| 回声水印 | 以回声的形式,把二进制嵌入到音频中 | |
| 化物为文 | 把数据以文本文件的形式存放 | |
| 藏物于文 | 把数据隐藏在一段文本中 |
安装
pip install HideInfo相关项目:
功能:把两个图片合并,使其在黑色背景下显示图片A,在白色背景下显示图片B
说明
from hide_info import mirage_tank
mirage_tank.mirage_tank('图片.png', 'img2.jpeg', '幻影坦克.png')功能:把文件/文本/bytes 类数据,转换为图片
原理:图片 1 个像素的 1 个通道可以存放 0-255 的数字,也就是一个字节。因此可以用来存放数据。
使用场景:
说明
from hide_info import hide_as_img
# 文件转为图片并存下来
hide_as_img.file_encode(filename='要隐藏的文件.zip', img_filename='化物为图.png')
# 把图片再转回文件
hide_as_img.file_decode(filename='化物为图-解出来的文件.zip', img_filename='化物为图.png')功能:把文件/文本/字节 类数据,藏进一个预先准备好的 PNG 图片中,使其用肉眼无法看出区别
原理:(LSB算法)根据信息的二进制,改变像素数据的最低位,肉眼是无法察觉这种改变
使用场景:
说明
from hide_info import hide_in_img
# 把文件隐藏到图片中
hide_in_img.file_encode(filename='要隐藏的文件.zip', img_filename='图片.png', img_filename_new='藏物于图.png')
# 从图片中提取文件
text_encode = hide_in_img.file_decode('藏物于图-解出的文件.zip', img_filename='藏物于图.png')说明:
代码
from hide_info import img_watermark
# 嵌入隐式水印
img_watermark.file_encode(img_filename="图片.png", watermark_filename="watermark.png", img_filename_new="图片_打入水印.png")
# 提取隐式水印
img_watermark.file_decode(img_filename="图片_打入水印.png", wm_extract="解出的水印.png")功能:把图片和文件连接起来,以图片的形式存下来(目前还不完善)
原理
功能:把信息隐藏在图片的 EXIF 中,从而获得隐蔽信息、传输隐蔽信息的能力
功能:把一段信息(文件/文本/bytes),藏进一个音乐文件中
例子:
from hide_info import hide_in_music
# 把文件隐藏到某个音乐中
hide_in_music.file_encode(filename='要隐藏的文件.zip', music_filename="音乐.wav", music_filename_new="藏物于音.wav")
# 从音乐中提取文件
hide_in_music.file_decode(filename="藏物于音-解出的文件.zip", music_filename="藏物于音.wav")功能:把一段信息(文件/文本/bytes),转为声音
原理:用 16 种音可以表示一个四进制。如果每个音持续 0.05 秒,那么每秒声音可以存放 10 字节
使用场景:
说明
from hide_info import hide_as_music
# 文件转为声音并存下来
hide_as_music.file_encode(filename='要隐藏的文件2.zip', wav_filename='化物为音.wav')
# 把声音再转回文件
hide_as_music.file_decode(filename='化物为音-解出来的文件.zip', wav_filename='化物为音.wav')
人类听觉系统(HAS)极为灵敏,音频感知冗余小,音频水印同时满足隐蔽性和鲁棒性有一定难度。同时音频压缩算法如 MP3 有损压缩有出色的压缩率和音质,对音频水印带来很大的挑战。
掩蔽效应是 HAS 的一个特点:短时间内高能量部分会掩蔽低能量部分,从而让人耳只能听见高能量部分,掩蔽分为超前掩蔽、同时掩蔽、滞后掩蔽。因此可以将信息隐藏在音频信号的回声中而不影响听感。
回声水印(Echo Watermarking)是一种音频水印技术,通过在原始音频信号中添加回声来嵌入信息。
回声水印的实现通常有两个重要参数:回声延迟和回声幅度。延迟时间决定了回声在原始信号之后多久发生,而幅度则影响回声的强度。通过巧妙地调节这两个参数,可以将数字信息(如比特流)编码到音频信号中。
例如,可以用短的延迟时间表示比特'0',用长的延迟时间表示比特'1',或者通过调整回声的幅度来表示不同的数据位。
回声水印技术对于音质的影响相对较小,同时具有较好的鲁棒性,能够在一定程度上抵抗压缩、转换等处理过程。这使得它适用于版权保护、内容认证、隐秘通讯等领域。
…功能:把一段信息(文件/文本/bytes),藏进一段文本中
说明
from hide_info import hide_in_txt
# 把一个文件隐藏在一段已有的文本中
hide_in_txt.file_encode(filename='要隐藏的文件2.zip', text_filename='一段文本.txt', text_filename_new='藏物于文.txt')
# 从文本中提取文件
hide_in_txt.file_decode(filename='藏物于文-解出的文件.zip', text_filename='藏物于文.txt')功能:把一段信息(文件/文本/bytes),以文本的形式存放下来
说明
from hide_info import hide_as_txt
# 把一个文件转化为一段文本,并存下走
hide_as_txt.file_encode(filename='要隐藏的文件.zip', txt_filename='化物为文.txt')
# 从文本中提取文件
hide_as_txt.file_decode(filename='化物为文-解出的文件.zip', txt_filename='化物为文.txt')缩放藏图:提前计算用近邻法缩放时使用的时哪些像素点,然后把这些像素点变成另一个图。
No open issues yet, or sync has not completed.