为了避免安全组播中的密钥更新,强化密钥管理和提高安全组播的效率,在分析安全组播需求的基础上,我们根据组播加密方法的基本原则,我们提出来一种基于RSA加密算法的组播加密方法。

一、基于RSA加密算法的组播加密方法基本原理

当组播组成员加入组播组时,组播管理者分配给每个组成员互不相同的私钥.在某次组播过程中,由密钥管理中心选择授权收听的用户,利用授权收听用户的私钥生成解密密钥(即RSA公钥加密体制的私钥对中的d)和加密密钥(即RSA公钥加密体制的公钥对中的e);解密密钥是保密的。密钥管理中心在信息白板上发布加密密钥和辅助密钥。发送者利用从信息白板上得到的加密密钥加密所发送的消息,组播到组播地址。只有授权收听用户手中的私钥参与生成加密和解密密钥,因而能解密消息,其他未授权用户则无法使用自己的私钥解密数据。

二、 基于RSA加密算法的组播的密钥设计及加密解密过程

随机选取两个大素数p、q(约为十进制100位或更大),且p、q保密。计算n=pq和n的欧拉函数Φ(n)=(p-1)(q-1)。n是公开的。而Φ(n)是保密的.随机选取m个大于n的互不相同的素数a1,a2,a3,…,am(m为授权收听的组成员数,a1,a2,a3,…,am为组成员手中的私钥)。计算d=a1a2…am,即d为a1,a2,a3,…,am的乘积.令k=[d/n],r=dmoln。其中[x]为取整符号,k是公开的。有下面结果:

(1)d=kn+r

(2)对任意ai(i=1,2,…,m)有:

基于RSA加密算法的组播加密方法

由此,若已知ai、n和k,可通过式(1)计算出r,进而求出d。但对于不同于a1,a2,a3,…,am的其他素数p代替ai,式(1)不成立.即已知p、n和k很难计算出r及d。

(3)由a1,a2,a3,…,am的选取及d的定义知:

gcd(d,Φ(n))=1

类似RSA公钥密码体制,由欧几里德扩展算法,从ed≡1modΦ(n)中计算出e。

称(e,n,k)为加密密钥,需要公开;(d,n,k)为解密密钥;(ai,n,k)(i=1,2,…,m)为私钥。为方便,也称e为加密密钥,d为解密密钥,ai(i=1,2,3,…,m)为私钥,n和k为辅助密钥。

3、基于RSA加密算法组播加密方法的实现过程

假设在某次组播过程中,授权收听的组成员为1,2,…,m;他们手中的私钥为a1,a2,a3,…,am.密钥管理中心随机选取两个大素数p、q,且p、q保密.计算n=pq和n的欧拉函数Φ(n)=(p-q)(q-1)。n是公开的,而Φ(n)是保密的.用授权收听用户的私钥计算出解密密钥d=a1a2…am,d需要保密;同时计算k=[d/n],并由ed≡1modΦ(n)求出e。

密钥管理中心在信息白板上发布n、k和e;发送者从信息白板上得到加密密钥(e,n,k),由C=Memodn加密组播明文M得到密文C,并把C组播到组播地址。

当授权收听的组成员收到密文C后,用其手中的私钥ai及由信息白板上得到的辅助密钥n和k的值,根据r=ai-knmodai及d=kn+r求出解密密钥d,从而计算出明文M=Cdmodn。对于其他未授权收听的组成员,利用手中的私钥无法求出r及d从而难以求出组播的明文。

4、基于RSA加密算法组播加密方法的强度分析

组播加密方法是基于RSA公钥加密体制的改进,关于RSA公钥加密体制的强度已有大量的分析结果。

对RSA加密算法的改进部分,由于n和k已知,故为了计算d,穷举破解可以从r做起;穷举破解范围与n成正比。由n的选取可知,其值超过10200;穷举破解强度已经超过DES加密算法,与RSA加密算法相当。

值得注意的是,在有些情况下r可能很小,很容易遭到穷举破解攻击。这是RSA加密算法的弱点,也是需要改进之处。

小知识之组播

一种通讯模式。主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接收到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。