,其中C为伪装载体信息集合;M为秘密信息集合,且满足|C|≥|M|;K为密钥信息集合;f:C×M×K→C为嵌入算法;g:C×K→M为提取算法。集合σ具有下列性质:对所有的m∈M,c∈C和k∈K,满足g(f (c,m,k),k)=m,则称其为密钥伪装通信系统或基于密钥的信息隐藏系统。在密钥伪装通信系统中,要实现秘密信息的伪装传输,并且成功地使接收方接收到秘密信息,其必要条件之一就是安全地得到密钥k。因此,密钥k的安全传输策略成为密钥伪装通信实现伪装传输的重要因素。
3. 个性化加密的理念
为了实现密钥k在有扰信道上的安全传输,我们提出了利用个性化的加密方法来实现密钥的协商和交换。
3.1个性化加密的密钥交换方法
个性化体现在实现对密钥k的传输过程中发送方和接收方在对密钥k的加密操作上的个性化,也就是说,一方对密钥k进行个性化的加密后,另一方无法知道密钥k,通过几次交换完成对密钥k的安全传递,从而实现密钥k在公共信道上实现安全传递,为密钥伪装系统的安全通信提供一种便利的密钥交换方法。个性化加密实现密钥交换的设计思想如图(图3)所示。
K 个性化加密f 个性化解密f-1 发送方Alice k'k''k''' 个性化加密f 个性化解密f-1 接收方Bob K 图3 个性化加密解密实现密钥交换的过程
发送方(Alice):个性化加密伪装函数fA,对密钥k进行加密伪装:fA(k)。然后把消息发给接收方(Bob)。
接收方(Bob):用个性化加密伪装函数fB,对fA(k)进行再一次的加密伪装,使信息成为fB(fA(k)),然后把fB(fA(k))再发给Alice。
(fA(k))进行解除自己的个性化的加密伪装函数即fA, fA (fB(fA(k)))Alice:对fB
=fB(k),这样需要函数fA、fB 具有如下性质:fB(fA(k))=fA(fB(k)),并且函数fB、fA是可逆的函数。然后Alice把fB(k)发送给Bob。
- 2 --1
-1
http://www.paper.edu.cn
Bob:用个性化解密函数fB ,解密fB(k),即fB(fB(k))=k,从而得到消息k。
-1-1
3.2个性化加密函数的实现条件
个性化加密函数需满足的条件数学描述:假设一个信息集合为 X,秘密消息集合为M(M∈X),定义函数f:X×X→X,并且有:
(a)f是X上的二元运算,即若x∈X,y∈X,则f(x,y)∈X; (b)f存在逆运算,即:f;
(c)f满足交换律:即:x∈X,y∈X,则f(x,y)=f(y,x); (d)f、f满足结合律:即:f f(x,y)=ff(x,y);
-1
-1
-1
-1
4. 个性化加密在网络上实现密钥交换
4.1信息的二进制表示
网络上实现的信息载体形式有文本、图片、图形、视频、声音、动画等多种媒体形式,都是以数字方式按不同的格式来实现的。例如JPEG图片利用DCT变换和Huffman编码表示颜色的信息。计算机处理的信息形式的集合可以看作为二进制的集合,也就有:C = M = K={0,
ˆ∈M;K∈K。因此,网络上实现伪装通信通常采用的伪装1},并且有C、S、S'∈ C;M、M
载体有文本、图片、声音等载体,这些载体的信息集合空间为{0,1}。所以,在个性化的加密函数中,若二进制数的集合表示为B,则个性化加密函数f:B×B→B,即给定一个密钥k∈B,则可加密为f(k)=k,其中k∈B,并且有f(k)=k。
-1
'''
4.2二进制数域上的伪装函数的设计
为了使密钥k在传递过程中,尽可能地安全、快捷,可以选择二进制域上的多种运算方式来构建加密伪装函数f。只要满足2.2中的条件就可以实现密钥的个性化加密从而实现密钥的安全交换。
f函数的一种实现方法是: f函数定义为模2的加法运算,即f: +2,f(k,r)=k(其中r为二进制数域上设计实现的伪随机数产生器产生的伪随机数),即计算机实现为k +2 r=k。f定义为模2的减法运算,即f: -2,f(k,r)=k,即计算机实现为k -2 r
-1
-1
-1
'
''''''''
=k。(显然,模2的加法、减法运算满足上面 (a)(b)(c)(d) 的条件。)
由此可以看出,密钥k加密的安全性依赖于伪随机数r(或者叫个性化伪随机参数r)来确定的。因此r的安全选择成为个性化加密保证安全的重要依据。伪随机数r的产生策略成为对密钥k加密安全的主要保障。设计伪随机数r考虑的因素主要有:第一,加密函数产生的伪随机数应尽可能地大(即位数多,例如128位,256位等),这样以降低被蛮力攻击攻破的可能;第二,加密函数产生的伪随机数在多次的伪装通信中应尽可能地不重复使用(即在多次的密钥交换中,使用的伪随机数r都不同,或者说出现同一个r的概率很低),即尽可能达到一次一个伪随机数。
为了在计算机上实现产生伪随机数r,设计策略为:计算机的伪随机函数产生的字符串S1连接当前的日期时间字符串S2及当前鼠标坐标点构成的字符串S3,构成字符串S1S2S3。
- 3 -
'''
http://www.paper.edu.cn
在利用Hash函数产生一个128位的二进制数r作为随机数。实现如图(图4)所示。
随机函数 Rand() 取当前鼠标坐标点 取当前年月日时分秒 字符串S1字符串S1字符串S1S2S3Hash算法(MD5) 128位随机数r 连接||字符串S3图4 随机数产生的设计实现
MD5是Message Digest的一种Hash函数算法(参考RFC1321),多用来实现数字签名。尽管现在MD5已经被找出了漏洞,但在本方案中利用MD5算法实现产生的128位的伪随机数,给破解密钥加大了较大的难度,并且发送方和接收方的伪随机数相同的概率很低,这是由MD5算法来保证的,也就是由于选择的随机的种子不可能是一样的这样产生的伪随机数相同的概率就很低。为了提高加密的安全性可以扩展随机数r二进制的位数,如512位;或者 使用更加安全的Hash函数算法如:SHA-1、SHA-224、SHA-256、SHA-384、SHA-512来实现。
[5]
[4]
4.3伪装通信中实现个性化的密钥交换的步骤
根据采用的个性化加密函数f(二进制数的模2加(+2)减(-2)运算)和产生的伪随机数r的策略,发送方和接收方实现密钥交换的步骤如下:
(1)Bob首先确定一个让Alice使用的嵌入密钥k(k的产生是Bob随意定义的字符串,以 及伪装通信中选择的伪装载体和嵌入算法来确定的)。计算机把k转换为二进制数,记为k2。
(2)Bob对k进行个性加密。即Bob利用伪随机数产生器产生一个128位的二进制随机数r2 Bob,然后执行个性加密得到k2 = k2 +2 r2 Bob ,发送k2给Alice。
(3)Alice接收到k2后,对k2进行个性加密。即Alice利用伪随机数产生器产生一个128位的二进制随机数r2 Alice,然后执行个性加密得到k2 = k2 +2 r2 Bob ,发送k2给Bob。
(4)Bob接收到k2后,对k2进行个性解密。即用前面产生的r2 Bob,进行模2减运算,得到k2 = k2 -2 r2 Bob ,把k2发给Alice。
(5)Alice接收到k2后,对k2进行个性解密。即用前面产生的r2 Alice,进行模2减运算,就得到k2= k2 -2 r2 Bob ,再转换成字符串,就得到密钥k。
在这个过程中,会话发起者是接收秘密消息的Bob一方,这样进行密钥协商的好处就是当消息接收到以后,可以对发送消息的发送者进行一次用户认证。
'''
'''
'''
'''
''
'''
''
''
''
'
''
'
''
'
5. 结论
本文以信息隐藏技术的基于密钥的伪装通信系统中密钥安全传递问题为切入点,介绍了信息隐藏的概念以及密钥伪装通信系统的数学定义,引入了个性化的加密思想,分析了基于
- 4 -
http://www.paper.edu.cn
个性化加密思想实现的加密函数的满足条件。针对当前网络上的信息以二进制数的表示形式,设计实现了一个具体的个性化的密钥交换方案,具有一定的应用价值和借鉴价值。
参考文献
[1] William Stallings.网络安全要素-应用与标准[M].北京:人民邮电出版社,2000. [2] 刘振华.信息隐藏技术及其应用[M].北京:科学出版社,2002.
[3] Niels Provos, Peter Honeyman. Hide and Seek: An Introduction to Steganography[J]. IEEE SECURITY & PRIVACY, 2003, 1540-7993.
[4] Xiaoyun Wang, Dengguo Feng. Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD[J]. http://eprint.iacr.org[5] A. Menezes, P. van Oorschot, S. Vantone. Handbook of Applied Cryptography[M]. U.S.A:CRC Press, 1996.
An Individualized secret key’s exchange method and realization based on secret key’s steganography
communication system
REN Bingzhong1, KONG Wenhuan 2
1.College of Information & Electrical Engineering, Shandong University of Science and
Technology Qingdao 266510
2. Jinan vocational college of foreign language Jinan 250021
Abstract
In the paper, it is introduced the conception of information hiding technique and the mathematics define of steganography communication system based on secret key’s exchange. In allusion to the secret key’s exchange strategy, the paper gives an individualized secret key’s exchange method. It analyzes the condition of encryption function based on individualized encryption method. Especially according to the presentation of the multimedia information and the cover media information of steganography communication system, it interprets the secret key’s exchange strategy in the binary domain. The paper designs and implements a secret key’s exchange method of individualized encryption.
Keywords: Information Hiding, Steganography, Individualized Encryption, Secret Key Exchange
作者简介:任丙忠(1974-):讲师,硕士,从事计算机网络和多媒体技术的教学工作。 孔文焕(1975-):初级职称,双学士学位,从事计算机方面的教学工作。
- 5 -