LSB信息隐藏

信息隐藏的第一节实验课需要做LSB顺序和随机隐藏,手边有武大的实验教程,对着打了一遍,但出现了两个大问题,搞了半天才解决。

1. 教辅发的图片都是jpg格式的,但是发现将jpg图片读到内存中后再保存,图片就改变了。原来jpg每次保存的时候会自动有损压缩,即使设置很高的保存质量也避免不了,所以即便把信息隐藏成功了,保存图片后也会随着压缩而破坏。不得不使用bmp这种无损压缩的格式,可是在网上找了一大圈,竟然一张bmp图片都没有。其实,只有把jpg的后缀改成bmp就行了。jpg压缩的原理如下http://www.360doc.com/content/17/0901/18/41193811_683881904.shtml

2. 书上的lsbget函数,将提取的位写入文件时,采用的是'bit1',实际上应该用'ubit1',要不然会出错。出错原因可能是有符号数把0当作符号了吧。

代码以后再贴上来。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LSB信息隐藏是一种隐写术,它允许我们隐藏秘密信息在一个图像、音频或视频文件中,而人类眼睛并不能察觉到这种变化。通过将秘密信息的每个比特替换为载体文件相应的最低有效位(即最后一位),我们可以将信息嵌入到载体文件中。 使用C语言实现LSB信息隐藏的过程分为三个主要步骤。首先,我们需要读取载体文件和要隐藏的秘密信息文件。在C语言中,我们可以使用标准库函数来完成这些任务。 接下来,我们需要将秘密信息的每个比特插入到载体文件的最低有效位中。通过读取载体文件中的每个像素,并修改其最低有效位以匹配秘密信息的相应比特,我们可以实现信息的隐藏。在C语言中,我们可以使用位操作符(如AND、OR、XOR)来访问和修改字节的最低有效位。 最后,我们需要将修改后的载体文件保存到新的输出文件中。使用C语言的文件操作函数(如fopen、fread、fwrite)可以方便地实现这一操作。 需要注意的是,LSB信息隐藏是一种基本的隐写术,对于简单的秘密信息隐藏场景可能会有令人满意的效果。然而,它并不是一种安全的隐写术,因为专业的隐写术分析工具和方法可以检测出这种隐藏技术,并还原出隐藏的秘密信息。 总而言之,使用C语言实现LSB信息隐藏是一个相对简单的过程,可以将秘密信息嵌入到图像、音频或视频文件中。然而,需要注意的是,LSB信息隐藏并不是一种安全的隐写术,因此在真正需要保护秘密信息的场景中,应当选择更加强大和复杂的隐写术算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值