数字水印的好库 [英] Good library for Digital watermarking

查看:14
本文介绍了数字水印的好库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Can somebody help me, to find a library, or a detailed description of algorithm, that could embed a Digital watermark(invisible watermark, just a kind of steganography) to a jpeg/png file. But the quality of algorithm, should be great. It should be possible to extract this mark after rotation and expansion(if possible) of image.

Mark 只是一个 32 字节的密钥.

Mark is just a key 32bytes.

我找到了一个不错的网站,但算法是为 NetPBM 格式制作的,那已经死了...

I found a good site, but the algorithm are made for the NetPBM format, that is dead...

我知道有一种 LSB 方法,但它对扩展并不稳定.有什么更好的吗?

I know that there is a LSB method, but it is not stable to the expansion. Are there something better?

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

Changing metadata, is not suitable, because it is visible changes.

推荐答案

这可能不是一个真正的答案,因为我认为对这个问题给出一个神奇的、精确的答案并不容易.水印是复杂,最好的方法是自己做:这将使试图对您的代码进行逆向工程的攻击者变得更加困难.人们甚至可以在这里阅读您的问题,猜测您使用了什么库,从而更轻松地攻击您的系统.

This maybe won't really be an answer, as I don't think it would be easy to give a magical, precise answer on this question.Watermarking is complex, and the best way to do it is by yourself : this will make things more hard for an attacker trying to reverse engineer your code. One could even read your question here, guess what library you used, and attack your system more easily.

使隐写术抵抗 JPEG 图像的扩展也非常困难,因为扩展后会重新应用 JPEG 压缩.实际上有很多 JPEG 隐写算法.您应该使用哪一个,取决于您究竟需要什么:

Making Steganography resist to expansion in JPEG images is also very hard, because the JPEG compression is reapplied after the expansion. There are in fact a bunch of JPEG steganography algorithms. Which one you should use, depends on what exactly do you require :

  • 数据保密性?
  • 消息存在保密性?
  • JPEG 更改后的消息一致性?
  • 抵抗已知掩护"攻击(当攻击者试图找到消息时,基于隐写系统)?
  • 抵抗已知消息"攻击(当攻击者试图根据消息查找使用的隐写系统时)?

据我所知,通常,抵抗 JPEG 更改(图片重新压缩)的算法通常更容易受到攻击,而运行编码"阶段的算法在 JPEG 压缩期间(在DCT(有损)变换,以及之前的霍夫曼(非有损)变换)更容易抵抗.

From what I know, usually, algorithm that resist to JPEG changes (picture recompression) are often really easier to attack, whereas algorithms that run the "encode" stage during the JPEG compression (after the DCT (lossy) transform, and before the Huffmann (non-lossy) transform) are more prone to resist.

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

Also, one key factor about steganography is scale : if you have only 32bytes of data to encode in a, say, 256*256px image, don't use an algo that can encode 512bytes of data in the same size. Either use a scalable algorithm, either use an algorithm at its efficient scale.

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

Also, the best way to do good steganography is to know its limitations,and to know how steganalyzers work. Try these tools, so you can understand what attackers will do to your picture.^

现在,我不能告诉你哪种隐写系统最适合你,但我可以给你一些指示:

Now, I cannot tell you what steganographic system will be the best for you, but I can give you some indications :

  • jSteg - Quite old, I don't think it will resist to JPEG changes
  • OutGuess - Quite old too, but one of the best algorithms
  • F5 (and F3/F4) - More recent, good algorithm, scientifical research behind.
  • stegHide

我认为所有这些都是基于 LSB 的:编码是在 期间 JPEG 压缩,在 DCT 和量化之后完成的.this 研究论文,但是,我还没有读到最后,所以我不知道这是否能满足您的需求.

I think all of these are LSB based : the encoding is done during the JPEG compression, after the DCT and Quantization. The only non LSB-based steganography system I heard of was mentionned in this research paper, however, I did not read it to the end yet, so I cannot tell if this will meet your needs.

但是,我不确定是否存在真正的隐写算法可以抵抗 JPEG 压缩、JPEG 调整大小和旋转、抵抗视觉和统计攻击.或者我不知道.

However, I'm not sure there exists a real steganography algorithm resisting to JPEG compression, to JPEG resize and rotation, resisting to visual and statisticals attacks. Or I'm not aware of it.

很抱歉没有给出准确的答案,我试图向您提供我对这个主题的了解,因为了解更多信息总是更好.也很抱歉缺乏适当的英语,我是法国人,没有人是完美的:)

Sorry for the lack of precise answer, I tried to give you what I know on the subject, as it's always better to be more informed. Sorry also for the lack of proper English, I'm French, nobody's perfect :)

这篇关于数字水印的好库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆