一种广播加密及其解密方法

文档序号:8006466阅读:857来源:国知局
一种广播加密及其解密方法
【专利摘要】本发明公开了一种广播加密及其解密方法,其特征是在分布式网络环境中,存在一个广播中心节点和n个代理用户节点,所述广播中心节点向所述代理用户节点广播密文;所述代理用户节点接收所述密文进行解密。本发明以点积运算代替模幂运算,能够降低加密和解密计算的复杂度,节约计算资源,从而高效、快速地实现广播加密;其安全性基于推广的子集和问题的困难性,因而获得了比现有主流广播加密方法更高的安全性。
【专利说明】—种广播加密及其解密方法
【技术领域】
[0001]本发明属于数据加密领域,具体地说是一种广播加密及其解密方法。
【背景技术】
[0002]21世纪是信息时代,随着科技发展,信息越来越重要。基于通信和网络的信息系统已在政治、经济、军事等部门广泛应用。但随之而来的是安全问题。信息系统的安全一旦受到破坏,不仅会导致社会混乱,还会带来巨大的政治、经济和军事损失。众所周知,密码技术是信息安全的理论基础及核心技术。例如各种加解密、实体认证、消息鉴别等技术。它能够安全、有效地保证数据或服务的机密性、完整性、不可抵赖性等。传统的密码体制,根据加密密钥与解密密钥是否相同,可以分为两大类:对称密码和非对称密码(即公钥密码)。前者加密密钥与解密密钥相同,而后者则不同。
[0003]不管是对称密码还是非对称密码主要涉及两方:一方加密(发送),另一方解密(接收)。但随着通信和计算技术的快速发展,出现了许多面向多方的应用环境。在这些新的环境中,因为牵涉到多方,若依旧采用传统的涉及两方的密码算法,需要的密钥数量将大大增加,而存储和管理这些密钥会带来过重的负担,也是安全上的最大隐患。由此产生了一些面向多方应用环境的新型密码或密钥管理算法,例如各种群组密码、广播加密等。其中广播加密的概念最早由Fiat等于1993年提出,它是一种在不安全信道上给一组用户传输加密信息的密码体制,它可使发送者选取特定用户集合进行广播加密,只有授权用户才能够用各自隐私的密钥解密密文。广播加密在付费电视、数字版权保护、在线游戏等方面有着重要的应用。因而它一经提出立即成为研究的焦点,各种广播加密方案相继被提出。
[0004]与公钥密码算法相似,已有的诸多广播加密方案的安全性也是基于某个数学难题,主流的有:整数因子分解问题、离散对数问题、椭圆曲线离散对数问题等。在这些主流方法中,由于底层难题涉及很多大整数的模幂运算,因而需要花费很多的计算资源。这对于一些计算资源受限的设备或环境来说很难实现。

【发明内容】

[0005]本发明为了避免现有广播加密方法所存在的不足之处,在不降低安全性的前提下,提出一种广播加密及其解密方法,能够降低加密和解密计算的复杂度,节约计算资源,从而高效、快速地实现广播加密。
[0006]本发明为解决技术问题所采用如下的技术方案是:
[0007]本发明一种广播加密及其解密方法的特点是,在分布式网络环境中,存在一个广播中心节点和η个代理用户节点,所述广播中心节点向所述代理用户节点广播密文;所述代理用户节点接收所述密文并进行解密;所述广播加密及其解密方法按如下步骤进行:
[0008]步骤1:所述广播中心节点按如下步骤生成大素数P、加密密钥以及解密密钥:
[0009]1.1)建立一个大素数P,并通过广播的方式向所述代理用户节点公开所述大素数P ;[0010]1.2)随机生成一个I Xn维的矩阵A(l〈n),所述矩阵A中的元素为小于所述大素数P的非负整数;
[0011]1.3)随机生成一个η维列向量,利用式⑴获得向量?
[0012]y = Axtl mod p(I)
[0013]式(I)中,矩阵A和向量J5均为广播中心节点的加密密钥;
[0014]1.4)利用加密密钥A和歹,建立方程组Afmodp=J;
[0015]1.5)求解方程组 获得η个不同的解向量足(1<?< η);所述解向量足.为第i个代理用户节点的解密密钥;
[0016]步骤2:所述广播中心节点按如下步骤获得密文:
[0017]2.1)随机生成一个I维的行向量 I≤Ici≤ρ_2(1≤i≤I);
[0018]2.2)假设广播中心节点所需要发送的明文为m,m e {0,1,2,..,p_l},根据所述加密密钥利用式(2)和式(3)获得密文记,c2}:
[0019]C1 = kA mod /
[0020]式(2)中,A为η维行向量;
[0021]C2 = m{k' v) mod (3)
[0022]式⑶中,P表示行向量转置后所对应的列向量,P.3?表示列向量P与,的点积运算;
[0023]步骤3:所述代理用户节点根据所述大素数P和解密密钥进行解密:
[0024]第i个代理用户节点根据所接收的密文佑利用式(4)和式(5)获得明文m:
[0025]C1 = C11 mod Pκ4)
[0026]式(4)中,元为第i个代理用户节点的解密密钥-/表示行向量爲转置后所对应的
列向量,片-表示列向量-/与萬的点积运算;
[0027]m=c2 / C1Iiiodp (5)。
[0028]本发明广播加密及其解密方法的特点也在于,
[0029]所述大素数P按如下步骤生成:
[0030]a)确定大素数P的位长d ;
[0031]b)随机生成一个位长为d比特的首位和末位均为I的奇数q ;
[0032]c)采用素数检测方法判断q是否是素数,若是则令p=q,否则重新执行步骤b。
[0033]利用所述解密密钥按如下步骤进行身份认证:
[0034]1)所述广播中心节点随机生成一个η维的列向量?并发送给所述第i个代理用户节点;
[0035]2)所述第i个代理用户节点收到所述列向量F后计算 ),并把s返回给所述广播中心节点,h(.)表示哈希函数;
[0036]3)所述广播中心节点根据生成的列向量F及所述第i个代理用户节点的解密密钥足,计算#= A(Fj);
[0037]4)所述广播中心节点判断s是否等于t,若相等,则身份认证成功,否则,身份认证失败。[0038]利用所述解密密钥按如下步骤解密来自广播中心节点单播的加密信息:
[0039]I)所述广播中心节点随机生成一个η维的列向量?,使得=m ;
[0040]2)所述广播中心节点将所述列向量?发送给第i个代理用户节点;
[0041]3)所述第i个代理用户节点收到所述列向量F后,计算趴=-尽;获得明文m。
[0042]与已有技术相比,本发明的有益效果体现在:
[0043]1、本发明通过点积运算来代替模幂运算,大大降低了计算的复杂度,从而提高了运算速度。
[0044]2、本发明的安全性基于推广的子集和问题(the subset sum problem)的困难性,因而比现有的基于因子分解、离散对数、椭圆曲线离散对数等问题的主流方法更安全。
[0045]3、本发明的加密过程中的参数I为随机生成,因此是一种概率加密方法,从而能够抵抗重放攻击。
[0046]4、本发明因设置矩阵A的列数与向量足的列数均为n,即等于用户的总个数,从而能够抵抗用户的串谋攻击。
[0047]5、本发明因代理用户节点的解密密钥互相不同,从而还具有身份认证和单播解密的功能。
【具体实施方式】
[0048]本发明一种广播加密及其解密方法是在分布式网络环境中,存在一个广播中心节点和η个代理用户节点,广播中心节点向代理用户节点广播密文;代理用户节点接收密文并进行解密;广播加密及其解密方法按如下步骤进行:
[0049]步骤1:广播中心节点按如下步骤生成大素数P、加密密钥以及解密密钥:
[0050]1.1)建立一个大素数P,并通过广播的方式向代理用户节点发送大素数P ;
[0051 ] 大素数P采用如下方式生成:
[0052]a)确定大素数P的位长d,例如根据具体的安全需求,可以将位长d设定为256、512 或 1024 等;
[0053]b)随机生成一个位长为d的首位和末位均为I的奇数q ;
[0054]c)采用素数检测方法判断q是否是素数,若是则令p=q,否则重新执行b ;
[0055]大素数P是广播中心节点一次生成多次利用。
[0056]1.2)随机生成一个IXn维的矩阵A(l〈n),矩阵A中的元素为小于大素数P的非负整数;
[0057]1.3)随机生成一个η维列向量七,利用式⑴获得向量J:
[0058]y = Axn mod p、I) [0059]式⑴中,矩阵A和?为广播中心节点的加密密钥;矩阵A是IXn维的,向量I是η维的列向量,因而J5是一个I维的列向量;
[0060]1.4)利用加密密钥A和歹,建立方程组imod尸=J;
[0061]1.5)求解方程组获得η个不同的解向量解向量为第i个代理用户节点的解密密钥;广播中心节点通过秘密信道或当面分发的方式给各代理用户节点分配解密密钥;加密密钥和解密密钥也是一次生成多次利用。
[0062]不同 代理用户节点采用不同的解密密钥的原因是:不同解密密钥可以用于身份认证或用于解密来自广播中心节点单播的加密信息;
[0063]身份认证的过程如下:
[0064]a)广播中心节点随机生成一个η维的列向量?并发送给第i个代理用户节点;
[0065]b)第i个代理用户节点收到列向量?后计算.V = /心?),并把s返回给广播中心节点;h(.)表示哈希函数;
[0066]c)广播中心节点根据生成的列向量?及第i个代理用户节点的解密密钥果,计算t - h.{f *.?,):
[0067]d)广播中心节点验证s是否等于t,若相等,则身份认证成功,否则,身份认证失败。
[0068]指定第i个代理用户节点解密广播中心节点单播的加密信息的过程如下:
[0069]a)广播中心节点随机生成一个η维的列向量?,使得F 二 m.,
[0070]b)广播中心节点将列向量F发送给第i个代理用户节点;
[0071]c)第i个代理用户节点收到列向量F后,计算所二,:从而获得明文m;
[0072]上述身份认证或单播解密过程只有广播中心节点指定的代理用户节点才能通过认证或正确解密。
[0073]由式⑴可知J5 = Aq因而方程组f 二,有解,即r(』)= r(.4); r(.)表示矩阵的秩函数,为矩阵A的增广矩阵;又因为I < n,因而HA) < n,所以方程组洛=有无数解;因而可以为每个代理用户节点生成一个唯一(即互相不同)的解向量為作为其隐私的解密密钥;
[0074]此外,为了抵抗代理用户节点的串谋攻击,规定矩阵A的列数与向量為的列数均为η,即等于用户的总个数,理由如下:
[0075]假定所有η个用户串谋,想计算中心的加密密钥A和P,故此他们堆积所有的隐私解密密钥形成如下方程组:
【权利要求】
1.一种广播加密及其解密方法,其特征是,在分布式网络环境中,存在一个广播中心节点和η个代理用户节点,所述广播中心节点向所述代理用户节点广播密文;所述代理用户节点接收所述密文并进行解密;所述广播加密及其解密方法按如下步骤进行: 步骤1:所述广播中心节点按如下步骤生成大素数P、加密密钥以及解密密钥: 1.D建立一个大素数P,并通过广播的方式向所述代理用户节点公开所述大素数P ; 1.2)随机生成一个IXn维的矩阵Α(1〈η),所述矩阵A中的元素为小于所述大素数P的非负整数; 1.3)随机生成一个η维列向量忑,利用式(I)获得向量歹: j = Axn mod PCl) 式⑴中,矩阵A和向量,均为广播中心节点的加密密钥; 1.4)利用加密密钥A和J5,建立方程组 mQd/7 = j..1.5)求解方程组?mod/? =.P获得η个不同的解向量(I≤i≤η);所述解向量无:为第i个代理用户节点的解密密钥; 步骤2:所述广播中心节点按如下步骤获得密文: 2.1)随机生成一个I维的行向量/c =(k k1,...J;j), I≤Ici≤p-2(l≤i≤I); 2.2)假设广播中心节点所需要发送的明文为m,me {0,1,2,.., p_l},根据所述加密密钥利用式(2)和式(3)获得密文问,c2}: C1 = kA mod p(2) 式⑵中Z为η维行向量; c, = m(k 1.ν) mod" (3) 式⑶中,P表示行向量I转置后所对应的列向量,P.歹表示列向量P与歹的点积运算; 步骤3:所述代理用户节点根据所述大素数P和解密密钥进行解密: 第i个代理用户节点根据所接收的密文利用式(4)和式(5)获得明文m:
C1 = cxT - Xi mod P(4) 式(4)中,足为第i个代理用户节点的解密密钥表示行向量各转置后所对应的列向 表示列向量5/与巧的点积运算; m = c2/C1Iiiodp (5)。
2.根据权利要求1所述的广播加密及其解密方法,其特征是,所述大素数P按如下步骤生成: a)确定大素数P的位长d; b)随机生成一个位长为d比特的首位和末位均为I的奇数q; c)采用素数检测方法判断q是否是素数,若是则令p=q,否则重新执行步骤b。
3.根据权利要求1所述的广播加密及其解密方法,其特征是,利用所述解密密钥按如下步骤进行身份认证: I)所述广播中心节点随机生成一个η维的列向量f并发送给所述第i个代理用户节占.2)所述第i个代理用户节点收到所述列向量F后计算$,并把s返回给所述广播中心节点,h(.)表示哈希函数; 3)所述广播中心节点根据生成的列向量F及所述第i个代理用户节点的解密密钥λ汁 4)所述广播中心节点判断s是否等于t,若相等,则身份认证成功,否则,身份认证失败。
4.根据权利要求1所述的广播加密及其解密方法,其特征是,利用所述解密密钥按如下步骤解密来自广播中心节点单播的加密信息: 1)所述广播中心节点随机生成一个η维的列向量F,使得卜力=m; 2)所述广播中心节点将所述列向量F发送给第i个代理用户节点; 3)所述第i个代理用户节点收到所述列向量?后,计算 得明文m。
【文档编号】H04L9/00GK103441836SQ201310397321
【公开日】2013年12月11日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】石润华, 仲红, 崔杰, 许艳 申请人:安徽大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1