当下很多盗墓小说、历史小说里,都描述过一种叫“隐写术”的东西———看上去一幅平淡无奇的字画,在湿水或者火烤之后,便会显山露水,暴露出一个天大的秘密。据传,当年不少革命志士在狱中也试过用这种“隐写术”传递信息,比如用牛奶在书的空白处写上字传出去,自己人拿到这些书,只需在火上烤一烤,字迹就显现来了。
当下流行的隐写术当然更加有科技含量。比如去年夏天在美国曝光的“俄罗斯间谍案”———FBI在新泽西州抓获了10名俄罗斯特工,并引起了两国外交震荡。FBI是怎么抓获那些特工的呢?答案竟是:通过图片取证。FBI探员并不是拍到了特工秘密集会的照片,而是破译了一些看起来寻常无比———像小猫、冰激凌这些日常之物的图片里的秘密,由此掌握了“特工活动的证据”。而这些图片,并不是藏在什么隐秘之处,而是公开在网上流通的看上相当普通的图片———谁又会想到那里面竟隐藏了大量的机密呢?
隐写术与密码术
通常“结伴而行”
很多人都做过那种像Magic Eye的图片游戏,就是通过类似“斗鸡眼”那样的方式集中所有视线,使劲盯着一张指定的2D图片,就能看出原本杂乱无章的图片中所隐藏的3D画面。当然,对于俄罗斯特工所使用的图片,无论你怎么折腾自己的眼睛,也不会看出什么“内涵”。怎样才能将他们隐藏在图片中的信息解码呢?有一种方法是,分析图片的像素信息。
电脑上的图片都是由一个个像素点组成的,每个像素点可以分解为三个子像素:红、绿、蓝。每个子像素都用一定的值表示。只要对这些数值做轻微的改变,就可以在其中藏匿二进制代码,这些代码可以通过特定软件解析出来。
这种通过图片像素传递信息正是隐写术的一种。
隐写术的英文是Steganography,来源于15世纪一个德国修道士特里特米乌斯写的一本讲述“密码学”和“隐写术”的著作《Steganographia》。该书书名源于希腊语,意为“隐秘书写”。
要注意的是,隐写术和一般的密码术是不同的。密码术只是对信息进行加密,再发送给接收者。对间谍来说,密码术也非常重要———要是被发现在传递一串谁也看不懂的文字,十有八九会被FBI盯上。隐写术则相对安全一些。隐写的信息通常被藏在图片、购物清单、诗文等事物中。如果说密码术是个隐士,那隐写术看起来就像大街上一个毫不起眼的家伙。
换句话说,密码术隐藏的是信息,而隐写术隐藏的则是传递信息的过程。这二者常常结伴出现———将信息加密后,再附在图片等载体上发送出去,这样即使他人碰巧截获了图片,也得费一番工夫才能将信息破解出来。
隐写术由来源远流长
早在希腊时代,隐写术就有应用了。有一个名叫Histaiaeus的希腊人,打算策划一场反抗波斯国王的叛乱,他需要隐秘地传递信息。于是他将一名奴隶的头发剃光,在头皮上写下信息,等他的头发重新长出来时,就派他出去送信。对方只需再一次剃光奴隶的头发就可获取信息。除了奴隶的头皮,兔子的腹部也是一个传递信息的优良载体。这个方法在当时应该算是最先进的加密手段了。不过缺点就是要找一个头发长得快的,还不能让他洗头。
公元前480年,波斯国王薛西斯一世亲率30万大军征战希腊。战前,一个被流放的希腊人Demaratus想方设法给斯巴达报信,他使用的是一种书写板。他去掉书写板上的蜡,将消息写在木板上,再用蜡覆盖。据说是斯巴达国王的妻子通过占卜,预言出蜡的背后有东西,他们得到这块木板后将蜡刮掉,得知了波斯的阴谋,从而在温泉关布置防御,抵抗了波斯大军的入侵。温泉关之战是人类史上最残酷的战争之一,在电影《斯巴达300勇士》里有详细描述。
在二战期间,间谍们常使用微缩照片传递信息。比如设计出用来拍照的手表等。
历史长河中,传递隐秘信息的方法多不胜数。比如我们常玩的文字游戏藏头诗、电影《风声》里那件绣有莫斯密码的旗袍等。简单地改变某些字母的高度、在特定字上打十分微小的孔、用特殊墨水标记字母以及改变行间距等方法,都曾被用来传递这些信息。
在图片中隐藏信息是相当普通却很方便操作的手法。计算机取证专家Gary C. Kessler做过这样一个图片隐写示范:他利用网上即可下载的图片隐写软件,将伯灵顿国际机场的图片藏进一张鱼的图片中。接收者拿到图片后使用相似的软件就可提取出飞机场地图。你也可以从网上轻松下载这样一个简单的隐写软件,只需要在空白栏输入你想隐藏的信息以及你想隐藏在哪幅照片里,就可以让使用同一软件的人轻松获取你所隐藏的信息。
如果你想亲自试一试,可以在电脑上输入这个网址———
http://mop.sunyanzi.cn/dissolve/
据说,这已经是2006年的旧版本了。
微博上传照片暗藏“隐写”信息
你是否已习惯随手将好玩的照片上传到微博?这个习惯可不好。因为用数码相机拍下的任何一张照片,其实也像一张用隐写术处理过的图片一样,本身会携带大量信息,也就是我们通常说的EXIF信息(可交换图像文件数据)。这些数据中包含了相机型号、快门速度等诸多摄像参数,有的还记录了照片拍摄日期。不止这些,很多新一代相机———尤其是iPhone和Android手机所配的摄像头———还会殷勤地存储下照片拍摄地点的GPS信息。这就意味着,凭着这张照片,任何人都可以轻而易举地获得你的住址甚至宅电。
当然,要防止隐私通过这种途径泄露出去,并不困难,只需要在上传之前,进行一些处理就行。只是具体处理方法因操作系统而异。下面取几个常见的例子,方便大家学习:
●Windows 7:
Windows7系统本身就有移除相片信息的本领,操作起来非常简单。你需要做的仅仅是选择图片(可以单张或多张),按下右键点击图片,选择“属性”,再查看“详细信息”。
这时你会在此对话框底端看到一行“删除属性及个人信息”,点击它,在弹出的对话框中选择“是”。这样系统就会把选中的照片复制一份,复制出的副本不带有任何exif数据,你可以放心大胆地把副本往微博上传了。
●Mac OS X:
苹果用户需要下载特定的软件才行,最简单的一款叫做SmallImage。使用时只需把想要处理的图片拖到空白窗口中,然后点击“process”键就可以。不过注意,要想保持图像质量不变,就不要点选“Recompress at quality”。如果想用处理后的图像覆盖原图的话,就得取消点选“Add Suffix”。
●Linux:
Linux用户需要下载一叫做EXIFTool的软件。这个软件也同样适用于Windows和Mac操作系统,但使用起来比上述方法要复杂些。在Linux环境下,你可以输入下面这个语句来把这个软件安装到Ubuntu上:sudo apt-get install libimage-exiftool-perl。
要清除exif信息,只需把工作目录改变为目标图像的文件夹,然后输入语句:exiftool -all= *.jpg
这一指令也会把所有参与处理的图像复制一份,并在原图名称上加上后缀_original用以区别。
类似的软件不胜枚举,光影魔术手、Exif Tag Remover等都可以做到这一点,上面选出的只是最好操作的法子。但这些都只能消除图像文件中所携带的信息数据,并不能保证你的秘密不被泄露,比如相片中的你身后的背景,无一不在泄露各种各样的信息。
所以说,在这个信息时代,不是只有间谍或者反间谍才需要了解隐写术,你最起码也该了解一下,如何才能保留一点已少得可怜的隐私。
据羊城晚报
(责任编辑:鑫报)