我正在开发一个隐写应用程序。我需要将一条信息隐藏在图像文件中,并使用密码进行加密,使文件大小的变化不大。我正在使用最低有效位算法,可以成功地处理BMP文件,但无法对JPEG、PNG或TIFF文件进行操作。这个算法是否完全适用于这些文件?有更好的方法来实现吗?谢谢。
我正在开发一个隐写应用程序。我需要将一条信息隐藏在图像文件中,并使用密码进行加密,使文件大小的变化不大。我正在使用最低有效位算法,可以成功地处理BMP文件,但无法对JPEG、PNG或TIFF文件进行操作。这个算法是否完全适用于这些文件?有更好的方法来实现吗?谢谢。
在使用隐写术时,您需要区分基于像素的(位图)和基于调色板的格式(GIF),这两种格式的隐写技术是不同的。此外,还要注意像JPG这样的图像格式在压缩过程中会丢失信息。
我还建议您了解一些关于隐写术的概述,包括不同的格式。
最不重要位(Least Significant Bit)方法在JPEG和GIF图像上无法使用,因为您在压缩之前使用像素数据(原始图像)来存储隐藏信息。像素p的值,在压缩后可能不会保持0x123456这个数值,因为它的值取决于压缩率和相邻像素。在这种情况下,我们谈论的是算法不仅能压缩图像(例如ZIP一样,保留内容),而且还能改变颜色分布、纹理和质量,以减少表示它所需的比特数。
然而,PNG可以只用于压缩图像,就像ZIP文件一样保留内容。因此,您可以在PNG图像上使用最不重要位,因此Wikipedia的隐写术页面显示了这种格式的示例。