基于手机微博的信息隐藏技术的研究与实现
2017-10-12庞毅林
◆庞 博 庞毅林
(1.武警警官学院 四川 610000;2.华东理工大学信息学院 上海 200237)
基于手机微博的信息隐藏技术的研究与实现
◆庞 博1庞毅林2
(1.武警警官学院 四川 610000;2.华东理工大学信息学院 上海 200237)
本文以智能手机经常使用的新浪微博为公共通信媒介,研究适用于微博的JPEG插图格式的F5与RS编码的信息隐藏算法,实现了秘密信息的嵌入和提取,并具有较好的隐写图像质量,最后进行了相关客户端的设计与实现。实验结果表明,该设计对信息隐藏技术在社交媒体中的应用具有一定的实用性。
信息隐藏;手机微博;F5;RS 编码
0 引言
信息隐藏已经成为信息安全领域中一个新的研究方向,并在计算机、通讯、保密等领域有着广阔的应用前景[1-4]。随着智能终端的不断发展,更多的用户选择使用智能手机,通过一些社交平台来分享信息。微博则是其中的热门,用户可以通过计算机,手机,平板电脑等各种终端发布140左右的文字,图片,视频等多媒体信息。通过用户的转发、评论,可以实现信息的快速分享。微博平台支持图像信息,而图像是信息隐藏技术较好的载体,文献[4]进行了基于手机终端网页的信息隐藏技术研究,文献[5]进行了基于Android系统的信息隐藏应用设计与实现。文献[6]提出将矩阵编码F5的隐写方法应用于微博中。为进一步提高隐写质量和信息隐藏的安全性,本文以智能手机经常使用的新浪微博为公共通信渠道,提出适用于微博的JPEG插图格式的F5与RS编码相结合的信息隐藏方法,并进行了相关的客户端设计与软件实现,测试结果表明,该设计实现了基于手机微博的信息隐藏,该对信息隐藏技术在社交媒体中的应用具有一定的实用性。
1 基于手机微博的信息隐藏算法
在文献[6]的基础上,为进一步提高信息传输的可靠率和安全性,增加了RS编解码技术。研究基于F5和RS编码的信息隐藏算法并应用于新浪微博平台。
1.1 信息隐藏的嵌入
假定一个码字a,其中有n个可以修改的比特位,有一个长为k比特的信息x。具体的算法步骤为:
1. JPEG压缩。2.对要传输的信息进行RS编码,得到编码后的秘密信息。3.统计非零的AC系数,根据其数量和秘密信息的长度决定参数k。
4.计算码字长度n=2k-1。
5.在秘密信息前添加32比特头信息以表示秘密信息的大小,并扩展到k的整数倍,同时将整个信息的长度扩展为k的整数倍。
6.使用(1,n,k)的矩阵编码方法嵌入秘密信息。具体描述为:a)用n个非0系数填充缓存。
b)对该缓存按公式(1)进行哈希操作,这里 ai是非零 AC系数的最低位。
c)将信息随后的k个比特按照公式(2)进行异或运算。
d)如果c)中计算出的s等于0,则不修改缓存中任何值。否则将1到n个系数中的第s个系数的绝对值减1。
e)检测步骤d)是否会产生值为0的系数,如果产生了,则调整缓存,再读入一个非零系数并重复过程6.a)。如果没有产生零系数,就将缓存中的值替代原来的值,如果还有信息需要隐藏,重复过程6.a)。
7.进行JPEG压缩生成隐秘图像。
1.2 信息隐藏的提取
提取过程描述如下:
1.进行JPEG解码,得到量化DCT系数。
2.根据使用的k,计算码字长度n=2k-1。
3.n个非零AC系数一组,根据公式(3)先提取出头信息得到秘密信息的大小。
4.重复步骤3,直至完全提取秘密信息。
5.如果秘密信息是图像,将比特流转换为图像矩阵表示。
2 实验结果
用 C#编程实现了信息隐藏算法的嵌入与提取实验。采用PSNR(峰值信噪比)作为参数指标。其中,载体图像像素值;含隐写信息图像像素值。
实验使用图1中(c)所示的50*50图片作为隐秘图像,使用图1(a)所示的 1024*1024的图片作为载体图像,经过嵌入后可以得到图1(b)所示的隐写图像。隐写后的图像和隐写前的在视觉上完全无法感知出差别,隐蔽性好。由于本算法使用了F5矩阵编码和RS编码,最多只在一个DCT系数块中做一次加/减1的系数修改,所以引起的失真非常小,嵌入图像和嵌入文字后的PSNR值分别为37dB和38dB,修改前后的DCT系数直方图基本没有变化。实验结果表明该信息隐藏算法是有效的。
图1 信息隐藏效果图
3 基于手机微博的客户端设计与实现
客户端主要实现的功能包括主界面:即撰写微博和查看微博界面;用户认证授权;生成载密图像;提取秘密信息。客户端设计界面如图2所示。各模块的主要作用如下:
图2 客户端界面设计
(1)主界面:包含撰写微博和查看微博,并提供进入其他模块的按钮。授权之后,该模块可以实现编辑发送微博信息,也可以插入图片信息,查看关注的微博等。
(2)用户认证授权:用户认证授权是为了让服务器检验用户的合法性,获取用户授权信息,得到UserID,Access Token,Access Secrect三组数据。有了这三组数据之后应用程序才有权限获取用户的个人资料,关注的微博等信息。
(3)生成载密图像:可以将文本或较小的图像嵌入到载体图像中进行发送。最终生成一张jpeg格式的隐秘图像并自动插入到微博中。
(4)提取秘密信息:可以选择秘密图像,通过提取算法提取出机密信息,并展示给用户。
客户端信息隐藏的嵌入与提取的实现效果如图3所示。
图3 基于安卓平台的手机微博信息隐藏的客户端实现
4 结束语
本文提出了一种基于手机微博的信息隐藏算法,运用F5矩阵编码和 RS编码方法,实现秘密信息的嵌入与提取,并用 C#高级编程语言进行了客户端的软件设计,实现了撰写微博,查看微博,信息嵌入与秘密信息的提取等功能。测试结果表明,所开发的系统满足手机微博的信息隐藏应用,具有一定的实用性。但如果秘密信息较大,在生成隐秘图像时,会产生较长的等待时间,可以通过改进手机配置以提高算法的应用性能。在未来的工作中,考虑进一步改进信息隐藏算法以提高隐藏容量和增强安全性。
[1]Cuiling Jiang,Yilin Pang,Shun Xiong.A High Capacity Steganographic Method Based on Quantization Table Modification and F5 Algorithm[J].Circuits System Signal Processing,2014.
[2]蒋翠玲,林家骏.一种基于遗传算法和 BP网络的鲁棒图像哈希方法[J].应用科学学报,2016.
[3]蒋翠玲,黄帅等.一种基于 PDF417条码的鲁棒数字水印方法[J].网络与信息安全学报,2016.
[4]付兵.基于手机终端网页的信息隐藏技术研究[J],长江大学学报,2008.
[5]白丹金.基于 Android系统的信息隐藏应用设计与实现[D].西安电子科技大学,2013.
[6]赵显芬.基于手机微博的隐蔽通信技术研究[D].南京理工大学,2012.