黄恒一 付三丽
(三亚学院,海南 三亚 572022)
信息隐藏的常用手段是利用密码学,将明文信息加密成密文,非法用户如想得到明文信息,只有破解加密算法才能得到目的信息。随着高性能计算机的出现,理论上采用加密技术进行信息隐藏的密文都很容易被非法用户破解。论文在此背景下,对古今密码学在信息隐藏中的应用进行了分析研究,结合数字水印技术,提出了一种结合图像嵌入、DES加密算法、计算机MATLAB 程序和数学中随机数特征值的信息隐藏方法[1]。
在计算机出现之前信息隐藏的主要技术手段是密码术、伪装术。但随着数字时代的来临,通过计算机技术手段,信息隐藏的载体形式可为任何一种数字媒体,它不同于密码学、伪装术,密码仅仅隐藏信息的内容,伪装术主要是将秘密信息隐藏到另一个看似普通的信息中,从而隐藏真实信息的存在,以达到安全通信的目的,利用计算机技术实现的数字化信息隐藏技术手段,从信息内容及信息载体两个方面实现对信息的有效隐藏[2]。
古代密码学基于字母信息的编码操作,通信的双方按照约定的规则进行信息的移位编码置换操作。古代密码学中典型的案例,凯撒密码正是基于字母的移位进行信息的隐藏。凯撒密码破解的起源于语言学家,基于英文字母在通信过程中留下的指纹特点进行破解。但是传统加密技术手段实现信息隐藏的隐写术很难经受攻击者蛮力破解的攻击方法,伴随着技术的一次次更新,出现了一次一密的加密方式[3]。经过实践的数次测试,理论上而言,通信信息中信息字段一次一密的信息加密方式在应用中具有完全的保密性。
现代密码学将信息的安全性建立于坚实的数学基础上。对称密钥算法和非对称密钥算法是常见的两种现代密码学加密算法类型。对称密钥算法是通信的双方共用同一个加密解密密钥,非对称密钥算法是通信双方加密密钥和解密密钥不相同,双方通信中用到的加密密钥可以公开,简称公钥,解密密钥必须保密,又称私人密钥,简称私钥[4]。典型的对称密钥算法有DES加密算法,非对称密钥算法有RSA加密算法,这两种是当下最常用的两种现代密码学加密算法。
数字水印技术属于信息隐藏理论的一个分支,将特定的信息隐藏在数字化载体中,载体可以是图片、音频等资源,隐藏的信息只有通过专用的检测器或阅读器才能提取。数字水印技术主要用于数字化产品的防止窃取、版权保护等方面。
二值图像是指将图像上的每一个像素只有两种可能的取值或灰度等级状态,人们经常用黑白、B&W、单色图像表示二值图像。二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素点的灰度值均为0或者255,分别代表黑色和白色。二值图像中所有的像素只能从0和1中取值。本文应用案例中,将二值图像不为0的那个像素矩阵坐标值使用MATLAB 程序通过嵌入算法嵌入到载体图片中,实现载体图片与嵌入水印的载体在视觉上无法分辨。提取水印信息的时候通过原载体图片和嵌入水印的载体图片每一像素进行比对,从而得到水印二值图与之对应像素坐标值的像素,从而还原得到水印的二值图[5]。
首先将明文数字文本信息通过DES加密形成密文,此外将密文信息图片转化为二值图,通过MATLAB 程序将二值图嵌入到载体图片中,实验结果保存嵌入二值图水印的载体图片[6]。合法用户要想得到隐藏的数字文本信息只有通过嵌入算法将二值图水印通过MATLAB程序在载体图片中提取出来。
首先通过DES在线单向加密的方式,将待加密的信息加密形成密文,明文信息为:明日正午12时刻发起攻击。为了提高数据的安全性及稳定性,明文信息的后面添加随机特征值“123456”,DES加密密钥为“111111”,DES加密密文如图1所示。
图1 数字信息的DES在线加解密
图2 数字信息的DES密文嵌入图片
如图1所示,DES加密算法为对称加密体制,通信收发双方使用同样一把加密、解密的密钥,文中此处对应的收发双方密钥为“111111”,图1 中DES 在线加密网站中的上面方框中为明文待加密的信息,当输入加密密钥后,点击图中的黄色加密按键,即可在图中下方的方框中显示出DES加密后的密文。解密的过程则是对加密过程的逆变换即可实现。此处可以得知明文信息后的添加的随机特征值及收发双方约定的密钥,提高了明文信息被非法用户破解的难度[7]。
文中通过Photoshop软件获得数字信息的二值图。Photoshop软件打开文字信息图片,在Photoshop菜单栏单击【图像】,选中图像中的“模式”选项,即可得到数字信息图片的二值图。实际传递的文字信息存储的格式为bmp,二值图命名为flag,生成的二值图像flag.bmp 的像素是200*200,数字信息DES密文的二值图的显示效果如图3。
图3 DES密文信息二值图
水印信息二值图图片在制作的过程中,通过Photoshop软件进行图像“阈值”的调整,形成的水印信息二值图信息也会形成不同清晰度的一个视觉效果。一个不包含文字信息的200*200 像素的载体图像中,图像命名为lena.jpg,如图4所示。
图4 水印载体图像
本文实现数字水印嵌入与提取算法是通过MATLAB软件中将二值图像不为0的那个像素矩阵坐标值通过嵌入算法嵌入到载体图片中,实现载体图片与嵌入水印的载体在视觉上无法分辨[7]。提取水印信息的时候通过MATLAB 软件从原载体图片和嵌入水印的载体图片每一像素进行比对,从而得到水印二值图与之对应像素坐标值的像素,从而得到水印的二值图[8]。
图5 水印嵌入载体图
图6 水印提取图
水印信息在MATLAB 下从载体图片嵌入与提取,但在嵌入算法中,当改变水印嵌入到载体数据中的嵌入系数数值时,嵌入的水印信息效果会发生变化。经过实验结果测试表明:嵌入系数越大,嵌入水印后的效果越差,嵌入系数越小,水印信息嵌入载体后的效果越好,越有利于隐藏信息。
通过图7、图8 可知通信中信息的安全性取决于水印嵌入系数及Photoshop软件进行图像“阈值”的调整度。
图7 嵌入系数0.2较小后的水印效果图
图8 嵌入系数0.9变大后的水印效果图
论文提出的信息隐藏方法,经过数次测试表明,为了取得较好的水印信息测试效果,水印信息DES密文二值图在制作过程中可以通过Photoshop 软件进行图像“阈值”的调整,从而更好地取得信息隐藏的唯一性。文中的混合信息隐藏的方法可以进一步结合当下伪随机数等加密工具进行技术方面的拓展,可进一步提高隐藏信息数据的安全性。
论文设计了一种通过MATLAB 软件仿真并结合数字水印技术实现的数字信息隐藏方法。文中实验用到的水印信息在嵌入到载体图像中,在感官上人眼是无法区别的,从而起到更好的隐藏信息的效果[9]。随着数字化产品应用的广泛,未来数字水印技术必将是隐藏信息采用的主要技术趋势[10]。