数字水印的好库

有人可以帮助我,找到一个图书馆,或者对算法的详细描述,可以将数字水印(不可见水印,只是一种隐写术)嵌入到jpeg / png文件中.但算法的质量,应该是很大的.在旋转和扩展(如果可能)图像后,应该可以提取此标记.

马克只是一个关键的32bytes.

我发现一个很好的site,但算法是为了NetPBM格式,那是死的…

我知道有一个LSB​​方法,但扩展不稳定.有更好的东西吗?

更改元数据是不合适的,因为它是可见的变化.

这可能不会真的是一个答案,因为我不认为在这个问题上给出一个神奇而精确的答案是很容易的.水印是复杂的,最好的方法是自己做:这将使事情攻击者试图逆向工程化你的代码更加困难.甚至可以在这里阅读你的问题,猜测你使用的是什么库,更容易攻击你的系统.

由于JPEG压缩在扩展之后被重新应用,因此使得JPEG图像中的隐写技术抗拒扩展也非常困难.实际上有一堆JPEG隐写算法.你应该使用哪一个,取决于你需要什么?

>数据机密性
消息存在保密性?
> JPEG变化后的消息一致性?
>抵抗“已知封面”攻击(攻击者试图根据隐写系统查找消息时)?
>抵抗“已知消息”攻击(攻击者试图根据消息找到所使用的隐写系统时)?

从我所知道的,通常来说,抵抗JPEG改变的算法(图片重新压缩)通常更容易进行攻击,而在JPEG压缩(DCT(有损)变换之后)和Huffmann之前运行“编码”阶段的算法(无损)转换)更容易抵抗.

此外,关于隐写术的一个关键因素是缩放:如果您只有32字节的数据在256 * 256像素的图像中进行编码,则不要使用能够以相同大小编码512字节数据的算法.要么使用可扩展的算法,要么以有效的规模使用算法.

此外,做好隐写术的最好方法是了解其局限性,并了解隐形分析器的工作原理.尝试这些工具,所以你可以了解攻击者会对你的照片做什么

现在,我不能告诉你什么隐写系统将是最适合你,但我可以给你一些迹象:

> jSteg – 很老,我不认为它会抗拒JPEG变化
> OutGuess – 相当老,但最好的算法之一
> F5 (and F3/F4) – 更新近,优秀算法,科学研究背后.
> stegHide

我认为所有这些都是基于LSB的:在DCT和量化之后的JPEG压缩中完成编码.在this研究论文中,我所听到的唯一基于非LSB的隐写术系统是被提及的,但是我还没有看到它,所以我不知道这是否符合你的需要.

然而,我不确定存在一种真正的隐写算法,可以抵抗JPEG压缩,JPEG调整和旋转,抵御视觉和统计攻击.或者我不知道.

对不起,由于缺乏准确的答案,我试图给你我知道的关于这个问题,因为总是更好地了解更多.对不起,因为缺乏正确的英语,我是法语,没有人完美的:)

翻译自:https://stackoverflow.com/questions/9127981/good-library-for-digital-watermarking

转载注明原文:数字水印的好库