信息隐藏

信息隐藏是把⼀一个有意义的信息隐藏在另⼀一个称为载体(Cover)的信息中得到隐蔽载体(Stego Cover),非法者不知道这个普通信息中是否隐藏了其它的信息,⽽而且即使知道也难以提取或去除隐藏的信息。所用的载体可以是⽂文字、图象、声⾳音及视频等。

隐字术

电影中经常有这样的故事情节,Alice给了Bob一件其他人看来很普通的物品,但是Bob从中读出了Alice真正要传达的信息,比如说一个藏宝图或者名单什么的。故事里,Alice成功地把要隐藏的信息置于日常生活中常见的媒介中,而Bob知道其中的奥妙,于是就可以看到别人看不到的信息。

早在1499年,德国的约翰尼斯·特里特米乌斯(Johannes Trithemius)就著有《隐字术》(Steganographia)一书,首次引入了隐字术这种说法,隐字术(Steganography)指的是将需要隐藏的信息置于某种看似无关紧要的媒质中,这种媒质可以是文字、图像甚至是视频。

希罗多德(Herodotus)在他的《历史》(Histories)一书中首次提到隐字术的使用。书中,斯巴达国王狄马拉图斯(Demaratus)把波斯人即将入侵希腊的消息写在木板上,然后在上面涂层蜡并派人把它送回希腊,通知那里的人民。大约同一时期,古希腊米利都的君主希斯忒奥斯(Histiaeus)曾经把密信写在奴隶的光头上;等头发重新长出来后,再派他到收信方那里去;对方只需把那个奴隶的头发剃光,就可以看到信的内容。

中国古代也有一些比较有意思的隐藏信息的方法,比如藏头诗。《水浒传》中梁山为了拉卢俊义入伙,吴用和宋江便生出一段吴用智取玉麒麟的故事来,利用卢俊义正为躲避血光之灾的惶恐心理,口占四句卦歌:

芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。

暗藏卢俊义反四字,广为传播。结果,成了官府治罪的证据,终于把卢俊义逼上了梁山。

隐字术比较古老,在科技不是很发达时代应用比较多,常见的有:隐形墨水摩斯码(Morse code)等。

隐形墨水只有经过某种处理才会显现,中国古代使用的“矾书”,只有被弄湿了,它才会显现文字。近代以来,由于化学的进步,各国的秘密通信的专家们找到了无数种类的隐显墨水。常见的几种包括: 用硫酸铜制成的墨水,经氨水熏后就变成红色;用无色的硫酸铁溶液写成的文字,经棉花蘸氰酸钾擦拭后变成中湖蓝色(bright blue),或经涂上苏打(碳酸钠)水后变成褐色。

摩斯码是一种时通时断的信号代码,这种信号代码通过不同的排列顺序来表达不同的英文字母、数字和标点符号等。1965年7月18日美国海军飞行员丹顿中校(Jeremiah Denton)的座机被北越击落后遭活捉并成为战俘。他于1966年在河内一所监狱内接受电视访问时用眨眼法撰出TORTURE(刑讯逼供)一词,轰动全球。

近代以来有名的隐写技术是微型胶片(microdot),这是德国科学家哥德伯格(Emanuel Goldberg, 1881-1970)在20世纪20年代发明的。它是直径只有1毫米的圆型胶片,可以轻易地黏在邮票背面再贴上信封,或附在信/文件中某个字母i上一点的位置上,而不会引起一般检查人员的注意。微型胶片后来成为许多国家间谍传递情报的常用手段。

数字信息隐藏

古代的隐写术(Steganography )可以被视作信息隐藏技术的鼻祖,而在当今Internet和多媒体巨大发展的形势下形成的信息隐藏技术又绝不是古代隐写术可以相比的。

先看下面的图片(图片来自: 知乎)

LED特性

把屏幕(retina屏幕好像不可以)向上倾斜才能看到上图中隐藏的字。

这是因为LCD显示屏是利用背光模组充当光源,光线经过液晶分子,通过给液晶分子施加不同的电压,使光线变成不同角度的偏振光,通过、或者无法通过偏光板,从而实现对每个像素的明暗控制。由于液晶的各向异性,最终发出来的光线并非在所有角度都具有同样的亮度,液晶屏幕整个画面的对比度会随着观察角度的改变而变化。因此当转到一个特定角度(从下往上看)时,原来很小的对比度就会变得明显,文字也就浮现出来了。

再看另一个例子:

神奇的图片

另外,显示器上有一层偏光膜,如果撕下偏光膜,那么荧幕看上去一片白,可以将偏光膜贴在眼镜上,这样戴上眼镜才能看得到图像(优酷上面有视频)。上面例子中的信息隐藏的不是很机密,也没有涉及什么数字图像知识。

而基于数字化图像的信息隐藏则要高级许多,基本原理如下:要显示数字图像,计算机必须给每个像素(数字图像的基本尺寸单位)分配相应的红、绿、蓝颜色比例的三项数值(RGB值)。通过RGB数值的细微改变,可以在像素中隐藏二进制的计算机语言,而肉眼无法察觉图像的变化。这些调整能够组成ASCII码(美国信息互换标准代码,基于拉丁字母的电脑编码系统),这些码可以转换成字母,字母再组成信息。

在图象中应用的信息隐藏技术基本上可以分为两大类:时域法和频域法。时域法就是直接改变图象元素的值,一般是在图象元素的亮度或色带中加入隐藏的内容。这种方法比较有代表性的是最不重要比特位(the Least Significant Bits,LSB)方法,频域法是利用某种数学变换,将图象用频域表示,通过更改图象的某些频域系数加入待隐消息,然后再利用反变换来生成隐藏有其它信息的图象。

另外还有一些常见的信息隐藏方法:

  1. 数字水印技术(Digital Watermark)是将一些标识信息(即数字水印)直接嵌入数字载体(包括多媒体、文档、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到,数字水印技术经常用于版权的保护。
  2. 可视密码技术(Visual Cryptography)是Naor和Shamir于1994年首次提出的,其做法是产生N张不具有任何意义的胶片,只有将这N张胶片叠合在一起才可还原出隐藏在其中的秘密信息。另外也可以使产生的N张胶片都有一定的意义,这样更具有迷惑性。可以试下这里的例子
  3. 1996年日本电子和信息技术协会制定出可交换图像文件协议EXIF(Exchangeable image file format),可以使用其隐藏一些信息。在使用快播观看视频的时候可以截取其中的一张视频截图,保存后的图片包含快播的P2P源地址,读取这张图片就可以获取视频。

参考

Steganography wiki
Visual cryptography wiki
古老的隐字术
形形色色的隐写技术
隐藏文字
Visual cryptography wiki
电脑显示屏“偏光膜”
一个人的显示器
偏光膜眼镜
信息安全的新兴领域—信息隐藏