理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术

有很多技术都致力于保护信息安全,其中有两类技术最为著名,一个是密码学,另一类就是密写术,也称为隐写术。应邀借此机会向大家谈谈隐写术这个很多人都不太熟悉的领域。本文将带领大家了解隐写技术发展的历史,现代隐写术的基本方法及问题。最重要的是,我将带领大家进一步了解是深度生成模型(生成对抗网络)技对隐写技术带来的影响。希望能通过对隐写领域的介绍,对大家在其他领域应用生成对抗网络有所启发。

 

1 隐写术的历史

 

传递秘密消息的历史非常悠久,在公元前500年左右的波希战争时期,就有将奴隶的头发剃掉,然后在头皮上刺上字,等奴隶的头发张长后,将这个人派去传递消息,一次消息传递可能历时好几个月。这是有记载的密写术最早的历史,如图1所示:

图1 隐写术最早的记载

 

 

几百年以后,传说伟大的凯撒设计出一种将明文字母进行替换的方法,形成了最早的凯撒密码,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目(13)进行偏移后被替换成密文,如图2所示:

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第1张图片 图2凯撒密码表及示例

从一开始,密码和密写在保护信息安全的目标就不一样。密写术的目的是掩盖秘密通信的存在,也就是说就算刺了字的奴隶被敌方抓获,也不容易察觉到秘密通信的存在性。而凯撒密码HELLO的密文”URYYB”看起来由一段乱码组成的,敌方一旦截获密码则阻断了一次情报的传递。尽管可能无法进行密码的破译,但是一次通信依然被阻断了,因此传递密码时更多的采用类似广播的方式,一般无法避免秘密消息被截获,只要我方人员能够获得密码进行解密就行,也就是说密码保证的是消息内容的安全,并不试图掩盖通信的存在性,密码发送方甚至知道密文一定会被截获。不幸的是,很多密码研究和使用人员大都信心十足,坚信在无密钥的情况下他们的密文无法破译。

密码与密写目标的不同主要是由各自的使用环境决定的,有点类似所谓的“环境决定论”。使用密码的双方一般在一个相对安全的环境中,他们可以大胆的发送密文而不用担心人身安全,攻击方只能采取破译密码这种方式来与其进行对抗。然而,密写的使用者更加英勇无敌,他们一般深入虎穴,所处的环境险恶,所有的加密通信都可能被探测到从而影响自身的安全,他们必须将消息藏入一个看起来正常的载体中进行隐秘通信,密写几乎成为他们唯一能够依赖的传递消息的手段。007特工们用的那些奇形怪状的微缩相机实际上也可以看作是一种密写方案的消息预处理,而微缩的形状便于隐藏。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第2张图片 图3 密码(恩格玛谜机)与密写使用环境(007《女王密使》中的微缩相机)

在文艺复兴时期,著名的弗朗西斯培根奠定了现代通信安全的基本思想,他把密写和密码过程统一看待,安全通信整体上被看作是消息到含密载体的一个转化过程。含密载体被称作密文cipher,他认为这个密文应该满足三个条件[1],1 含密载体应该很容易得到,也就说由消息到含密载体的转化过程应该足够便捷。2含密载体在不被允许的情况下不容易恢复出其中隐含的消息。3含密载体在有些时候需要看起来很正常,不能被怀疑藏有消息。这三个条件可以表示成下面的公式[2,3]:

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第3张图片 图4弗朗西斯培根

第一个式子中,Encrypt表示一种密码编码或密写编码过程,其中m表示明文,k表示加密或者密写密钥,Cipher表示密文 第二个式子中,Decrypt表示解密过程,k的引入表明了第二条件中没有密钥的情况下,无论密写和密码均不容易被破译,因此密钥k能够选择的密钥空间是安全通信的重要内容。同时这个式子中解密包括“解密码”和“解密写”。第三个式子则对密写和密码进行了区分,当Cipher是一个与真实世界中表示不可区分即来自RealSet的时候,就实现了密写。而当Cipher是一个看起来随机的数据集RandomSet时,可以认为Cipher就是密码了。需要指出的是这种分类并不严密,但是直观上能让我们了解两这者的不同。

这里给出一个与培根同时期的数学家Cardan创作的cipher 方案来进一步理解这个问题。卡登(Cardan)从中国的藏头诗获得了隐藏消息的灵感,如图5(a)所示,这首虚构的诗句是如此的出名,唐伯虎对秋香的爱慕简单而巧妙的隐藏在打油诗中,这与与奴隶在头发中隐藏消息具有异曲同工之妙。在此启发之上,卡登于1550年提出一个格子密写方案如图5(b)[4],他选用打了多个孔的格子并将这个格子垫在纸上,首先通过镂空的格子,将秘密消息写在纸上,然后拿掉格子,在此基础上补全一段文字,这段文字看起来就像一段正常的书信一样,其实却隐藏着大秘密。接到这个信的人用同样的格子扣在信纸上从而读取秘密消息。这个方案被称为卡登网格密写。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第4张图片

 

不久之后,一些人把卡登网格密写进行了改进,实际上可以看作是一种退化,他们在写好字母消息后,随机的补全纸上没写消息的部分,最终导致的结果是形成了一种被称之为网格密码的那种供大家娱乐消遣的,经常出现在报纸上的类似猜单词的小把戏[1],如图5(c)。在现代密码学的课本上,会在引言部分简单的提到卡登网格式密码是一种简单的古典密码。然而,需要强调的是卡登网格密写与卡登网格密码是如此的接近,不仅是我们窥探密码与密写技术本质特性的最简单工具,同时我们进一步发展密写技术最早的思想来源。实际上,提醒大家注意,从卡登密写到卡登密码的退化主要是由于人工构造一个自然真实的文本实在是太费精力了。不仅仅是写一段话,而是要跟预先写的秘密消息无缝对接,没点文学功底的人构造起来十分困难,只能去玩随机的网格密码了。在古代,手工构建密码方案和密写方案本质上几乎没什么不同,甚至更多的是采用密写来保证通信安全。但是随着19世纪末20世纪出无线电技术的发展,消息能够通过无线电波公开的传递上千公里时,密码技术的价值凸显出来,一套套严密的理论喷井而出,现在密码学家宣称自己有了坚实的数学基础,尽管数学家们可能另有想法。

不幸的是,密写从一开始就试图去构造真实载体来隐藏通信存在性这个更加困难,简直是不可能完成的任务。我们将会看到这种构造自然真实载体的繁琐性与困难性不仅让密码和密写从培根的理论中分道扬镳,同时更为重要的是,也让密写方法的实现不再依赖于最直接的“隐藏”方式,而是寻求一种更加简单粗暴的“修改”操作了。没人有想到,在卡登格子提出近500年之后,随着一种自动化构建真实数字载体技术的出现,我们(没错,就是我和我的同事们)提出了一种数字化卡登格子的方案,从而复原了这种最古老的密写方案[2][3]。

 

2 现代的隐写术及其问题

现代隐写术的大牛和奠基性人物是Jessica Fridrich,作为大学教授,她不仅系统性的提出了现代隐写术实现的三种机制[5],同时在一种基于”修改”的隐写机制中,几乎做到了极致。Fridrich教授在另外一项游戏中也做到了极致,“玩魔方”。她利用现代隐写术最著名的囚徒模型[6],阐述了实现隐写的三种方式。囚徒模型中,囚犯Alice和Bob可以进行通信,但他们试图协商越狱,通信的内容每次都被看守Eve监管。 

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第5张图片   图6 (a)囚徒模型  

 

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第6张图片        图6 (b) 隐写系统的要素

 在囚徒模型(参考之前的环境决定论)中,Alice和Bob之间进行密码通信则显然是不明智的,看守Eve看到密码就能怀疑Alice和Bob很大程度上传递秘密消息,从而阻断这个通信过程,更严重的情况则是直接干掉Alice和Bob。Alice必须采取密写的方法来传递消息同时保护自己和Bob的人身安全。允许Alice和Bob通信这个条件在这里看起来有点匪夷所思,一方面你可以看作是Alice和Bob拥有的为数不多的犯人权利,另一方面在实际情况下,渴望自由的Alice和Bob总能寻找到一种通信的方式,这种通信方式被认为是一种借助公开渠道进行的,这不禁让我想起了《肖申克的救赎》。Alice的任务是隐藏秘密消息传递的存在性,就是必须利用一种看起来正常的通信完成秘密消息的传递。一种最直接的方式就是在通信信道上,传递含有秘密消息且看起来正常的载体,被称为含密载体(stego)。Eve则被赋予更大的权力,他不仅能从双方的信道上获取传递的信息,同时还能够获得Alice或者Bob掌握的所有密写算法。他的指责就是避免Alice和Bob之间有秘密消息的传递,为了履行好这个职责,被动式的Eve仅通过对自然载体和含密载体进行统计分析,以检测含密载体是否在信道上。而主动式的Eve则直接提取秘密消息,从而直接确定含密载体,然而这种主动方式Eve的行为看起来也有点难以理解,特别是对于学过密码学的人来说,很多人会认为一种直接的做法是对密写的消息进行加密,那么对于Eve来说是无法直接提取秘密消息了,这种偷换概念的做法确实是一种挑战。为了避免这种情况,我们可以假设Eve已经获得了秘密消息对应的密文数据,但是他必须从看起来正常的含密载体中提取出相同的密文数据,才能最终以确凿的证据让Alice和Bob心服口服,我需要再次强调,Eve并不是疯狂的恶魔,他就像拥有很大权力的法官一样公正,讲证据。因此,从含密载体中直接提取消息(可以是明文也可以是密文)的困难性与保证含密载体的自然正常属性一样,是Alice两手都要抓的工作,因为Eve本身主动和被动融为一身。Alice的任务艰巨,他就像碟中谍的阿汤哥 一样,努力完成这种看起来不可能完成的任务。Fridrich根据构造含密载体的三种不同方式,为Alice实现这个任务提供了三种途径。

第一种,基于载体修改的方法。该方法通过对某个原始自然载体进行”微小”的修改操作,已达到隐藏消息的目的。这种方式是整个现代密写技术研究最多,取得成果最多的方法。一个重要的原因是,随着数字图像和其他数字多媒体的出现,这些数字图像本身存在很多的冗余信息,对图像的修改并不会造成视觉上的可感知性。但是修改操作不可避免的会造成原始载体的分布Pcover和修改后的含密载体Pstego不同,人视觉的不可区分,不代表利用机器建立起来的统计分析模型无法区分。一些基于常见机器学习方法的隐写分析技术发展起来。在当时由于刻画高维图像数据的分布困难,修改的方法甚至忽略了Pcover是否是自然图像的真实描述以及计算Pcover的可行性,而只试图保持某种统计模型的不变,例如最简单的保持某种直方图特征不变。一种state-of-the-art的修改方法借助于编码方法寻找一个最小化失真的含密载体[7],这种方法定义的失真有些模糊并最终依然与图像的某种统计模型相关联,因此通过提取反应修改会引起变化的其他特征,就有可能建立起有效的隐写分析工具。Fridrich利用机器学习中一种常用的衡量分布相似度的散度KL散度来定义基于修改的隐写方法的安全性。他定义了一种 Dkr(Pcover,Pstego)≠δ的δ隐写安全[5]。尽管 Dkr(Pcover,Pstego)≠0无法达到理论上的安全,但是由于图像或视频中存在较多的视觉冗余,这个方法的能够隐藏秘密消息的容量很大,这是隐写实用性最重要的指标。

图7 基于载体修改的方法基本原理及特点

第二种,基于载体选择的方法。发送方Alice有一个固定的图像数据库,可以从中选择一个来传输所需要的信息,Fridrich提出了一个最简单的例子[5]来说明,即通过选择一个横幅的或者竖版的图像来发送1bit信息。密写算法变成了一种选择图像的过程,直到发现包含所需的秘密消息的图像。嵌入密钥本质上就成了上面约定的一种图像到消息的映射规则(横幅图像表示0,竖版图像表示1,如图8所示)。选择方法由于载体始终100%自然,即cover=stego, Pcover=Pstego,从而,能够实现理论上 Dkr(Pcover,Pstego)≠0。这个方法看起来很吸引人,然而却存在不少问题,最大的问题则是嵌入容量较低,在上面的容量中,1幅图像才隐藏1比特信息,这使得宝贵的通信变得浪费严重,因此这个方法并不具备太多实用性。国内的研究人员将载体选择的方法也称为“无载体信息隐藏”,这种称呼有时会让人迷惑,因为信息必须依赖载体才能存在。无论是载体选择还是“无载体信息隐藏”都致力于寻找原始图像和消息的映射规则。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第7张图片 图8 最简单的载体选择策略

第三种,基于载体合成的方法。在这种方法中,Alice需要创建载体以使得载体含有所需的秘密消息。这个方法我们都很熟悉了,奴隶剃发刺字,藏头诗,卡登格子密写都是这种方法的典型代表,《碟中谍》中的人脸面具也是一个典型的应用。然而这些方法都是手工或机器构造的实体,无法有效构造逼真的数字载体。在现代隐写方法中,在强大的生成模型出现之前这种方法几乎无法取得效果。Fridrich也承认,当时载体合成更多的是一种思想实验,而不是实际的隐写术。一些研究人员则不再寻求构造真实的载体,而是寻求一种特殊的图像载体:纹理图像。Otori等人[8]提出了合成纹理图像的方法,将秘密消息隐藏在合成的纹理图像中。如图9所示,

图 9纹理图像合成隐写

其中图 9(a) 为纹理样本图像,图 9(b) 是根据秘密信息在白纸上描绘的彩色点,图9 (c) 是由图9 (b) 生成的大幅纹理图像.与此类似的还有将信息隐藏在水影画以及指纹图像中[9]。这些方案在构造含密载体上尽管有一定的妥协,这是因为纹理图像本身并不具有真实的语义属性容易引起看守Eve的怀疑。 然而,这些研究人员在合成图像上的工作值得充分肯定,当一种生成模型或者构造逼真的载体的新技术出现的时候,最早的灵感一定来自这些研究者的工作[9]。

计算机科学的很多领域都是这样,从一开始一些杰出人物就已经将这个学科需要解决的问题展现出来。随着技术的进步,一些看起来不可行的解决思路有了技术支持,一些之前被忽略或简化的条件可以被重新考虑,技术的进步使得这些问题将逐步得到更好的解决。就像巴贝奇一样,他很早就提出了机械式计算机设计的基本思路,只是限于制造工艺,一直无法创造出他设想的机器,当其他领域催生出电力和真空管的时候,电子计算机就应运而生了。与此何等的类似,当一种席卷整个计算机科学界的基于数据驱动的为真实数据建模的生成模型(生成对抗网络)出现的时候,对密写术这个古老而又崭新的技术一样产生了冲击,我相信,它将彻底的改变隐写技术的面貌。

 

3 生成模型对隐写术的影响

3.1 生成模型与生成对抗网络  

 生成对抗网络是一种利于数据驱动构建生成模型的方法。基于数据驱动的计算机科学被统一称作一个更响亮的名字:机器学习。机器学习本质上就是利用数据(包括原生数据和人类的先验知识)去建立数学模型的一系列方法的总称,这样的模型主要有两类,一类称之为判别模型,这类模型建立好后,将用来处理判别问题,比如给出某个数据的类别或一个评价指标。另一类模型则称为生成模型,生成模型主要用来模拟数据的分布,同时更为重要的是需要从这个模拟的分布中获取我们想要的一些样本,这就是”生成”的由来。建立这两类模型的过程被成为“学习”,实际上也被成为训练。如图10所示. 我在前几季的《理解计算》中也解释过,评价学习或训练过程的好坏主要还是看对未知数据的处理能力。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第8张图片 图10 生成模型和判别模型

很长时间以来,机器学习在判别模型中取得了很多重要的成果,比如感知机,多层感知机以及卷积神经网络,支持向量机,决策树等,你所了解的计算机图像识别问题本质上就是一个判别问题,因此在这一点上,机器建立的模型的识别准确率甚至超过了人类。在隐写分析领域,基于判别模型的隐写分析也取得了成功。然而生成模型可不是那么容易建立,这主要是由于数字媒体时代,数据的高维特性,我们很难刻画高维数据的服从分布,更别说从中采样了。一般的做法是降低生成模型的目标,只是实现一种明确的分布,那么得到的采样也可能只能反映数据一个方面的特性,需要特别强调的是,生成模型一般都简化成为某一类或几类数据建立类条件分布,建立生成模型。直到2014年的某个晚上,一个并不十分得志的年轻博士GoodFellow在酒吧喝酒时提出了一个问题”如果让两个神经网络对抗起来”会产生什么效果呢?这个简单问题的回答促成了“人工智能历史上“最重要的一个成果的诞生,生成对抗网络(Generative Adversarial Network,简称GAN)[10]。

GAN模型的具体过程如下图11所示,一个噪声z将一个神经网络作为生成器Generator,简称G, 去生成一个假样本X’=G(z),用另一个神经网络作为判别器Discriminator,简称D,去判别真实数据X和生成数据X’,D目标是尽量区分真实数据X和假数据X’,生成器G的目标则是希望生成X’能够欺骗D的区分。Goodfellow让D和G对抗起来,具体过程就是不断地固定G,更新D,以及固定D的更新G这样的反复迭代,这个迭代过程最终将达到一个博弈的平衡点,即噪声z通过生成器后生成的数据G(z)的分布Pg 与真实数据分布Preal相同,也就是说判别器无法区分真实图像和生成的假图像。这样,我们就得到了一个能够生成假的真实样本的生成器。我希望你能想象一下最强大的生成器的训练过程跟求解根号2的相同点。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第9张图片 图11 Goodfellow及其GAN模型[10]

这个过程异常简单,我一直纳闷为何很早没有人想到。GAN的过程太简单了,一开始很多人忽略了它的重要性,GAN最厉害的是避免了明确给出图像这种复杂的高维数据分布的具体形式,而是通过利用强大神经网络表示一个图像生成器。从此以后,无论是图像还是什么任何的数字媒体,只要它的分布足够复杂无法明确给出,你都可以尝试用GAN的生成器来模拟它,利用噪声生成你想要的任何东西。这简直就跟孙悟空吹一口仙气(噪声),就变出一个东西的魔法一模一样。

GAN最大的特点主要有两个,一是借助博弈对抗的策略来达到某个目的。另外一个则是GAN模型产生的结果是形成了一个强大的生成器。近期一些研究人员开始将GAN应用到图像密写技术中。我们将看到GAN在密写技术的应用也主要依赖这两个特点。

 

3.2 基于GAN的载体修改

由于基于修改的隐写技术几乎垄断了整个研究领域,当强大的GAN出现的时候,传统隐写领域的研究人员还未察觉GAN的强大威力,另一些做机器学习的研究人员依赖对GAN的深入了解,竟然捷足先登了。第一篇利用GAN来进行图像密写的论文[11]在arxiv诞生了。俄罗斯人很有可能是随便翻翻隐写技术的论文,便大胆的迈开了第一步。他们的方案很简单,在原始GAN中增加了两个模块,一个是嵌入模块,另一个则是隐写分析模块,就是一个神经网络分类器,如图12所示。由生成器生成的图像经过嵌入模块(任意的一种基于修改的方法)后输入到一个隐写分析器中,隐写分析器同样接受未经过修改嵌入的生成图像作为输入。通过隐写分析模块与生成器和判别器的对抗,最终产生的结果是隐写分析器无法区分生成的图像以及经过嵌入模块修改后的含密图像。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第10张图片 图12 生成原始载体的密写方法

这个方法主要利用了GAN的博弈对抗策略,特别是引入一个隐写分析器S来增强生成的图像被修改后的安全性。这个方案本质上依然是一个载体修改方案,拥有载体修改方案的优点和固有缺点,只是原始载体是生成器生成的。在这个基础上,存在一些改进方案大都与此类似,通过引入隐写分析器来完成博弈对抗。

还有一个方法则更加有趣,借鉴GoogleBrain的研究人员利用GAN学习加解密方案的思路[12],如图13(a)所示。Heyes等人设计了一个自动学习密写过程的方案[13],这个方案模拟了囚徒模型,定义了分别为Alice Bob 和Eve定义各自的任务。Alice Bob 和Eve的三方对抗,使得Alice能够自动学习到一种基于载体修改的隐写方案,在没有密钥的情况下, Eve不可能得到秘密信息。具体方案不在此赘述,最终Alice将产生一个含密载体C’,这个含密载体C’具有较低的失真并且能从中提取出消息M’, Eve在没有提前密钥的情况下无法获得消息M’。需要强调的是,尽管存在很多问题,这两个方案[12][13]已经隐隐预示着利用机器自动设计密码和密写算法开始变得可能。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第11张图片 标题

 

 

3.3 基于GAN的载体选择

以上那些方法均是借鉴GAN模型中的对抗策略完成基于修改的隐写方法。GAN作为一种强大的生成器本身也是一个强大的映射变换,这种映射能力也能够在原始载体和秘密消息之间建立一个映射规则,从而实现基于载体选择的隐写。我们就利用这个思路提出了一种基于GAN的载体选择隐写[14]。这个方案相对比较复杂,这里只以最简单的形式向大家展示GAN的作用,即利用多个生成器建立了消息和随机选择的自然图像之间的映射关系,如图14所示,这个方案需要每一次消息传递必须进行密钥的分发,阻碍了实际的使用。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第12张图片 图14 利用生成模型设计的载体选择方法基本框架

 

3.4基于GAN的载体合成

几乎在同一时期,能否利用GAN这种强大生成器直接生成含密载体的思路在很多研究人员的脑海中形成。大家都很清楚GAN已经能够生成一个逼真的图像了,但是一个困难的问题摆在我们面前,如何让生成的图像含有秘密消息,并能够正确提取。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第13张图片 图15 如何利用生成器生成含密载体

 

 

没过多久, Hu等人[15]和我们[16]分别从类似而又不同两个方面尝试解决这个问题,Hu的方法将生成器的驱动噪声与消息建立对应关系,如图16所示,训练一个消息提取器以期望从生成的图像中恢复出驱动噪声,从而实现隐秘通信,这个方案简单容易理解。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第14张图片 图16 利用驱动噪声来隐藏消息

我们的方法[17]则从控制GAN的输出出发,传统的GAN无法控制生成图像的一些属性或类别信息,ACGAN和InfoGAN等改进方法的提出使得生成模型的构造者能够控制生成图像的一些属性,Liu将ACGAN的类别信息与消息对应,通过训练一个类别提取器来获得秘密消息,如图17。他们的方法本质上有些类似。更奇妙的是,这种建立消息和噪声或者类别信息之间映射关系的方法竟然类似载体选择的隐写了。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第15张图片 图17基于ACGAN中的类别信息隐藏消息

实际上,当载体选择方法中的图像库无穷大,并且生成器可以无穷采样真实数据的情况下,两者本质并无不同。一个完美的生成器可以看作是一个数字化的相机,每一次从噪声进行生成样本的过程可以看作是这个数字化相机拍照的过程。如果能够找到一种方法,快速的抓拍到满足消息能够被提取的那些生成图像,就意味着找到含有秘密消息的图像了。从这个思路出发,我们提出了约束采样的密写方案[3],首先我们利用GAN训练一个生成器,然后通过建立消息约束条件对噪声z进行更新,希望能找到满足消息提取约束的含密载体G(z)。

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第16张图片 图18 基于约束采样的密写方法

我想大家应该对这个所谓的约束采样很熟悉了,这简直就跟我们在第一季中求解根号2的一模一样的流程,只需要定义一个评价标准,然后再找要给更新的策略就行了。在约束采样框架的基础上,我们重新回到密写技术最开始的卡登格子密写,一种典型的载体合成方案,具体实现了一个数字化卡登格子的方法[2][3]。我们的方法还充分借鉴了GAN在图像合成中的一个特殊应用,图像补全。数字化卡登格子密写方案如下图所示

理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术_第17张图片 图19 数字化卡登格子[2][3]

首先在一个损毁的人脸图像上覆盖一个双方共享的数字化卡登格子,然后将秘密信息以修改的方式嵌入损毁图像中没有损毁的部分,这样一个含有秘密消息的损毁图像就产生了,这个损毁图像作为消息约束条件,进行含密载体图像的约束采样(生成),约束采样的过程实际上是对噪声进行更新的过程,这个更新过程的目标是使得定义的一些消息提取代价损失最低,借助了我们在上一季中提到的反向求导的方法,即BP方法。由于生成器提前已经训练好, 因此生成含密载体的过程不仅实现了图像补全,更重要的是实现了消息的嵌入。这个约束采样方法并非完美,因为消息约束条件并不是能够完全满足,这意味消息提取并不能被准确提取。尽管我们的方案还在不断完善,但是这个简单却返璞归真的方案,最重要的是让我们自己获得了研究的乐趣,这是因为用新技术将我国古人的藏头诗智慧发扬光大,确实是一件值得开心的事。另外,只要生成模型足够强大, 类似的这种思路可以推广到文本,视频等其他载体领域。

利用生成器直接生成含密载体的方法极具吸引力,这主要是因为借助理论上能够生成真实图像的生成器,我们就可以避免被传统的统计分析工具的检测。但是这种方法实际上面临的问题可能更多。首先生成器必须依赖某类数据训练生成,并不能随意的生成你想要的所有图像,从而限制了它的而使用。而且目前生成逼真的真实图像的计算代价太大,你需要几十块GPU或者租用google的TPU才能完成。另外由于生成图像本身存在的随机性,导致提取的消息也存在随机性。相比传统的方法来说不仅是费时费力,而且还不保证消息的准确传递,真是出力不讨好的一件事。但是,我们依然要感到庆幸,强大生成器的出现使我们能够实现以前只存在与想象中的事情,这真让人激动。

4 总结

我们通俗(不严格的)讲述了GAN在图像隐写(密写)中的作用,从古典的卡登密写到最终的数字化卡登格子,一个轮回以新技术的出现而完成。从以上的分析可以看出,将新技术应用在不同的领域中实际上有一些方法可以探讨。一种方法借鉴新技术GAN的最大特点,即博弈对抗策略,在不用的应用领域均可以采用这个策略去将GAN模型的成功迁移到你所研究的领域。另一个方法则是更多的借鉴GAN这种新技术的最终成果,即强大的生成器,充分利用这个新技术带来的成果优势,应用到你所研究的领域。尽管并不是所有的领域都像密写术那样几乎完美的运用了生成能力,只要你对你所在的领域的问题足够关注,你一定会像我们一样感受到新技术所带来冲击。

参考文献

[1] https://en.wikipedia.org/wiki/Grille_(cryptography)

[2] Liu, J., Zhou, T., Zhang, Z., Ke, Y., Lei, Y., Zhang, M., et al.:Digital cardan grille: a modern approach for information hiding. https://arxiv.org/abs/1803.09219.

[3] Jia Liu, Yan Ke, Yu Lei, Jun Li, Yaojie Wang, Yiliang Han, Minqing Zhang, Xiaoyuan Yang The Reincarnation of Grille Cipher: A Generative Approach https://arxiv.org/abs/1804.06514

[4] https://en.wikipedia.org/wiki/Cardan_grille

[5] Fridrich J. : Steganography in digital media: principles, algorithms, and applications. UK: Cambridge University Press, Cambridge. (2010)

[6] Simmons G J. The prisoners' problem and the subliminal channel [C]. Advances in Cryptology: Proceedings of Crypto 1983, 1984: 51-67.

[7] Filler T , Judas J , Fridrich J . Minimizing Additive Distortion in Steganography Using Syndrome-Trellis Codes[J]. IEEE Transactions on Information Forensics and Security, 2011, 6(3):920-935.

[8] Otori H, Kuriyama S. Data-embeddable texture synthesis [C]//Proceedings of the 8th International Symposium on Smart Graphics, Kyoto, Japan, 2007, 146-157.

[9] 张新鹏, 钱振兴, 李晟. 信息隐藏研究展望[J]. 应用科学学报, 2016, 34(5): 475-489. ZANG Xin-peng, QIAN Zhen-xing, LI Sheng. Prospect of Digital Steganography Research. Journal of Applied Sciences , 2016, 34(5): 475-489.

[10] Goodfellow, I. J., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., and Bengio, Y. : Generative adversarial networks. In Conference and Workshop on Neural Information Processing Systems 2014.

[11]. Volkhonskiy, D., Nazarov, I., Borisenko, B., Burnaev, E. : Steganographic generative adversarial networks. https://arxiv.org/abs/1703.05502 (2017)

[12] Abadi, M., Andersen, D. G. : Learning to protect communications with adversarial neural cryptography. https://arxiv.org/abs/1610.06918. (2016)

[13] Hayes, J., Danezis, G. : Generating steganographic images via adversarial training. https://arxiv.org/abs/1703.00371 (2017)

[14] Ke, Y., Zhang, M., Liu, J., Su, T., Yang, X. : Generative steganography with kerckhoffs’ principle based on generative adversarial networks. https://arxiv.org/abs/1711.04916 (2017)

[15] Donghui Hu, Liang Wang, Wenjie Jiang, Shuli Zheng, Bin Li, A Novel Image Steganography Method via Deep Convolutional Generative Adversarial Networks. IEEE Access 6: 38303-38314 (2018)

[16] 刘明明, 张敏情, 刘佳, 高培贤, 张英男. 基于生成对抗网络的无载体信息隐藏[J]. 应用科学学报, 2018, 36(2): 371-382.

 

你可能感兴趣的:(理解计算:从根号2到AlphaGo番外篇——眼见未必为实--漫谈图像隐写术)