一種廣播加密及其解密方法
【專利摘要】本發(fā)明公開了一種廣播加密及其解密方法,其特征是在分布式網(wǎng)絡(luò)環(huán)境中,存在一個(gè)廣播中心節(jié)點(diǎn)和n個(gè)代理用戶節(jié)點(diǎn),所述廣播中心節(jié)點(diǎn)向所述代理用戶節(jié)點(diǎn)廣播密文;所述代理用戶節(jié)點(diǎn)接收所述密文進(jìn)行解密。本發(fā)明以點(diǎn)積運(yùn)算代替模冪運(yùn)算,能夠降低加密和解密計(jì)算的復(fù)雜度,節(jié)約計(jì)算資源,從而高效、快速地實(shí)現(xiàn)廣播加密;其安全性基于推廣的子集和問題的困難性,因而獲得了比現(xiàn)有主流廣播加密方法更高的安全性。
【專利說明】—種廣播加密及其解密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)加密領(lǐng)域,具體地說是一種廣播加密及其解密方法。
【背景技術(shù)】
[0002]21世紀(jì)是信息時(shí)代,隨著科技發(fā)展,信息越來越重要?;谕ㄐ藕途W(wǎng)絡(luò)的信息系統(tǒng)已在政治、經(jīng)濟(jì)、軍事等部門廣泛應(yīng)用。但隨之而來的是安全問題。信息系統(tǒng)的安全一旦受到破壞,不僅會(huì)導(dǎo)致社會(huì)混亂,還會(huì)帶來巨大的政治、經(jīng)濟(jì)和軍事?lián)p失。眾所周知,密碼技術(shù)是信息安全的理論基礎(chǔ)及核心技術(shù)。例如各種加解密、實(shí)體認(rèn)證、消息鑒別等技術(shù)。它能夠安全、有效地保證數(shù)據(jù)或服務(wù)的機(jī)密性、完整性、不可抵賴性等。傳統(tǒng)的密碼體制,根據(jù)加密密鑰與解密密鑰是否相同,可以分為兩大類:對稱密碼和非對稱密碼(即公鑰密碼)。前者加密密鑰與解密密鑰相同,而后者則不同。
[0003]不管是對稱密碼還是非對稱密碼主要涉及兩方:一方加密(發(fā)送),另一方解密(接收)。但隨著通信和計(jì)算技術(shù)的快速發(fā)展,出現(xiàn)了許多面向多方的應(yīng)用環(huán)境。在這些新的環(huán)境中,因?yàn)闋可娴蕉喾剑粢琅f采用傳統(tǒng)的涉及兩方的密碼算法,需要的密鑰數(shù)量將大大增加,而存儲(chǔ)和管理這些密鑰會(huì)帶來過重的負(fù)擔(dān),也是安全上的最大隱患。由此產(chǎn)生了一些面向多方應(yīng)用環(huán)境的新型密碼或密鑰管理算法,例如各種群組密碼、廣播加密等。其中廣播加密的概念最早由Fiat等于1993年提出,它是一種在不安全信道上給一組用戶傳輸加密信息的密碼體制,它可使發(fā)送者選取特定用戶集合進(jìn)行廣播加密,只有授權(quán)用戶才能夠用各自隱私的密鑰解密密文。廣播加密在付費(fèi)電視、數(shù)字版權(quán)保護(hù)、在線游戲等方面有著重要的應(yīng)用。因而它一經(jīng)提出立即成為研究的焦點(diǎn),各種廣播加密方案相繼被提出。
[0004]與公鑰密碼算法相似,已有的諸多廣播加密方案的安全性也是基于某個(gè)數(shù)學(xué)難題,主流的有:整數(shù)因子分解問題、離散對數(shù)問題、橢圓曲線離散對數(shù)問題等。在這些主流方法中,由于底層難題涉及很多大整數(shù)的模冪運(yùn)算,因而需要花費(fèi)很多的計(jì)算資源。這對于一些計(jì)算資源受限的設(shè)備或環(huán)境來說很難實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明為了避免現(xiàn)有廣播加密方法所存在的不足之處,在不降低安全性的前提下,提出一種廣播加密及其解密方法,能夠降低加密和解密計(jì)算的復(fù)雜度,節(jié)約計(jì)算資源,從而高效、快速地實(shí)現(xiàn)廣播加密。
[0006]本發(fā)明為解決技術(shù)問題所采用如下的技術(shù)方案是:
[0007]本發(fā)明一種廣播加密及其解密方法的特點(diǎn)是,在分布式網(wǎng)絡(luò)環(huán)境中,存在一個(gè)廣播中心節(jié)點(diǎn)和η個(gè)代理用戶節(jié)點(diǎn),所述廣播中心節(jié)點(diǎn)向所述代理用戶節(jié)點(diǎn)廣播密文;所述代理用戶節(jié)點(diǎn)接收所述密文并進(jìn)行解密;所述廣播加密及其解密方法按如下步驟進(jìn)行:
[0008]步驟1:所述廣播中心節(jié)點(diǎn)按如下步驟生成大素?cái)?shù)P、加密密鑰以及解密密鑰:
[0009]1.1)建立一個(gè)大素?cái)?shù)P,并通過廣播的方式向所述代理用戶節(jié)點(diǎn)公開所述大素?cái)?shù)P ;[0010]1.2)隨機(jī)生成一個(gè)I Xn維的矩陣A(l〈n),所述矩陣A中的元素為小于所述大素?cái)?shù)P的非負(fù)整數(shù);
[0011]1.3)隨機(jī)生成一個(gè)η維列向量,利用式⑴獲得向量?
[0012]y = Axtl mod p(I)
[0013]式(I)中,矩陣A和向量J5均為廣播中心節(jié)點(diǎn)的加密密鑰;
[0014]1.4)利用加密密鑰A和歹,建立方程組Afmodp=J;
[0015]1.5)求解方程組 獲得η個(gè)不同的解向量足(1<?< η);所述解向量足.為第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰;
[0016]步驟2:所述廣播中心節(jié)點(diǎn)按如下步驟獲得密文:
[0017]2.1)隨機(jī)生成一個(gè)I維的行向量 I≤Ici≤ρ_2(1≤i≤I);
[0018]2.2)假設(shè)廣播中心節(jié)點(diǎn)所需要發(fā)送的明文為m,m e {0,1,2,..,p_l},根據(jù)所述加密密鑰利用式(2)和式(3)獲得密文記,c2}:
[0019]C1 = kA mod /
[0020]式(2)中,A為η維行向量;
[0021]C2 = m{k' v) mod (3)
[0022]式⑶中,P表示行向量轉(zhuǎn)置后所對應(yīng)的列向量,P.3?表示列向量P與,的點(diǎn)積運(yùn)算;
[0023]步驟3:所述代理用戶節(jié)點(diǎn)根據(jù)所述大素?cái)?shù)P和解密密鑰進(jìn)行解密:
[0024]第i個(gè)代理用戶節(jié)點(diǎn)根據(jù)所接收的密文佑利用式(4)和式(5)獲得明文m:
[0025]C1 = C11 mod Pκ4)
[0026]式(4)中,元為第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰-/表示行向量爲(wèi)轉(zhuǎn)置后所對應(yīng)的
列向量,片-表示列向量-/與萬的點(diǎn)積運(yùn)算;
[0027]m=c2 / C1Iiiodp (5)。
[0028]本發(fā)明廣播加密及其解密方法的特點(diǎn)也在于,
[0029]所述大素?cái)?shù)P按如下步驟生成:
[0030]a)確定大素?cái)?shù)P的位長d ;
[0031]b)隨機(jī)生成一個(gè)位長為d比特的首位和末位均為I的奇數(shù)q ;
[0032]c)采用素?cái)?shù)檢測方法判斷q是否是素?cái)?shù),若是則令p=q,否則重新執(zhí)行步驟b。
[0033]利用所述解密密鑰按如下步驟進(jìn)行身份認(rèn)證:
[0034]1)所述廣播中心節(jié)點(diǎn)隨機(jī)生成一個(gè)η維的列向量?并發(fā)送給所述第i個(gè)代理用戶節(jié)點(diǎn);
[0035]2)所述第i個(gè)代理用戶節(jié)點(diǎn)收到所述列向量F后計(jì)算 ),并把s返回給所述廣播中心節(jié)點(diǎn),h(.)表示哈希函數(shù);
[0036]3)所述廣播中心節(jié)點(diǎn)根據(jù)生成的列向量F及所述第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰足,計(jì)算#= A(Fj);
[0037]4)所述廣播中心節(jié)點(diǎn)判斷s是否等于t,若相等,則身份認(rèn)證成功,否則,身份認(rèn)證失敗。[0038]利用所述解密密鑰按如下步驟解密來自廣播中心節(jié)點(diǎn)單播的加密信息:
[0039]I)所述廣播中心節(jié)點(diǎn)隨機(jī)生成一個(gè)η維的列向量?,使得=m ;
[0040]2)所述廣播中心節(jié)點(diǎn)將所述列向量?發(fā)送給第i個(gè)代理用戶節(jié)點(diǎn);
[0041]3)所述第i個(gè)代理用戶節(jié)點(diǎn)收到所述列向量F后,計(jì)算趴=-盡;獲得明文m。
[0042]與已有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:
[0043]1、本發(fā)明通過點(diǎn)積運(yùn)算來代替模冪運(yùn)算,大大降低了計(jì)算的復(fù)雜度,從而提高了運(yùn)算速度。
[0044]2、本發(fā)明的安全性基于推廣的子集和問題(the subset sum problem)的困難性,因而比現(xiàn)有的基于因子分解、離散對數(shù)、橢圓曲線離散對數(shù)等問題的主流方法更安全。
[0045]3、本發(fā)明的加密過程中的參數(shù)I為隨機(jī)生成,因此是一種概率加密方法,從而能夠抵抗重放攻擊。
[0046]4、本發(fā)明因設(shè)置矩陣A的列數(shù)與向量足的列數(shù)均為n,即等于用戶的總個(gè)數(shù),從而能夠抵抗用戶的串謀攻擊。
[0047]5、本發(fā)明因代理用戶節(jié)點(diǎn)的解密密鑰互相不同,從而還具有身份認(rèn)證和單播解密的功能。
【具體實(shí)施方式】
[0048]本發(fā)明一種廣播加密及其解密方法是在分布式網(wǎng)絡(luò)環(huán)境中,存在一個(gè)廣播中心節(jié)點(diǎn)和η個(gè)代理用戶節(jié)點(diǎn),廣播中心節(jié)點(diǎn)向代理用戶節(jié)點(diǎn)廣播密文;代理用戶節(jié)點(diǎn)接收密文并進(jìn)行解密;廣播加密及其解密方法按如下步驟進(jìn)行:
[0049]步驟1:廣播中心節(jié)點(diǎn)按如下步驟生成大素?cái)?shù)P、加密密鑰以及解密密鑰:
[0050]1.1)建立一個(gè)大素?cái)?shù)P,并通過廣播的方式向代理用戶節(jié)點(diǎn)發(fā)送大素?cái)?shù)P ;
[0051 ] 大素?cái)?shù)P采用如下方式生成:
[0052]a)確定大素?cái)?shù)P的位長d,例如根據(jù)具體的安全需求,可以將位長d設(shè)定為256、512 或 1024 等;
[0053]b)隨機(jī)生成一個(gè)位長為d的首位和末位均為I的奇數(shù)q ;
[0054]c)采用素?cái)?shù)檢測方法判斷q是否是素?cái)?shù),若是則令p=q,否則重新執(zhí)行b ;
[0055]大素?cái)?shù)P是廣播中心節(jié)點(diǎn)一次生成多次利用。
[0056]1.2)隨機(jī)生成一個(gè)IXn維的矩陣A(l〈n),矩陣A中的元素為小于大素?cái)?shù)P的非負(fù)整數(shù);
[0057]1.3)隨機(jī)生成一個(gè)η維列向量七,利用式⑴獲得向量J:
[0058]y = Axn mod p、I) [0059]式⑴中,矩陣A和?為廣播中心節(jié)點(diǎn)的加密密鑰;矩陣A是IXn維的,向量I是η維的列向量,因而J5是一個(gè)I維的列向量;
[0060]1.4)利用加密密鑰A和歹,建立方程組imod尸=J;
[0061]1.5)求解方程組獲得η個(gè)不同的解向量解向量為第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰;廣播中心節(jié)點(diǎn)通過秘密信道或當(dāng)面分發(fā)的方式給各代理用戶節(jié)點(diǎn)分配解密密鑰;加密密鑰和解密密鑰也是一次生成多次利用。
[0062]不同 代理用戶節(jié)點(diǎn)采用不同的解密密鑰的原因是:不同解密密鑰可以用于身份認(rèn)證或用于解密來自廣播中心節(jié)點(diǎn)單播的加密信息;
[0063]身份認(rèn)證的過程如下:
[0064]a)廣播中心節(jié)點(diǎn)隨機(jī)生成一個(gè)η維的列向量?并發(fā)送給第i個(gè)代理用戶節(jié)點(diǎn);
[0065]b)第i個(gè)代理用戶節(jié)點(diǎn)收到列向量?后計(jì)算.V = /心?),并把s返回給廣播中心節(jié)點(diǎn);h(.)表示哈希函數(shù);
[0066]c)廣播中心節(jié)點(diǎn)根據(jù)生成的列向量?及第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰果,計(jì)算t - h.{f *.?,):
[0067]d)廣播中心節(jié)點(diǎn)驗(yàn)證s是否等于t,若相等,則身份認(rèn)證成功,否則,身份認(rèn)證失敗。
[0068]指定第i個(gè)代理用戶節(jié)點(diǎn)解密廣播中心節(jié)點(diǎn)單播的加密信息的過程如下:
[0069]a)廣播中心節(jié)點(diǎn)隨機(jī)生成一個(gè)η維的列向量?,使得F 二 m.,
[0070]b)廣播中心節(jié)點(diǎn)將列向量F發(fā)送給第i個(gè)代理用戶節(jié)點(diǎn);
[0071]c)第i個(gè)代理用戶節(jié)點(diǎn)收到列向量F后,計(jì)算所二,:從而獲得明文m;
[0072]上述身份認(rèn)證或單播解密過程只有廣播中心節(jié)點(diǎn)指定的代理用戶節(jié)點(diǎn)才能通過認(rèn)證或正確解密。
[0073]由式⑴可知J5 = Aq因而方程組f 二,有解,即r(』)= r(.4); r(.)表示矩陣的秩函數(shù),為矩陣A的增廣矩陣;又因?yàn)镮 < n,因而HA) < n,所以方程組洛=有無數(shù)解;因而可以為每個(gè)代理用戶節(jié)點(diǎn)生成一個(gè)唯一(即互相不同)的解向量為作為其隱私的解密密鑰;
[0074]此外,為了抵抗代理用戶節(jié)點(diǎn)的串謀攻擊,規(guī)定矩陣A的列數(shù)與向量為的列數(shù)均為η,即等于用戶的總個(gè)數(shù),理由如下:
[0075]假定所有η個(gè)用戶串謀,想計(jì)算中心的加密密鑰A和P,故此他們堆積所有的隱私解密密鑰形成如下方程組:
【權(quán)利要求】
1.一種廣播加密及其解密方法,其特征是,在分布式網(wǎng)絡(luò)環(huán)境中,存在一個(gè)廣播中心節(jié)點(diǎn)和η個(gè)代理用戶節(jié)點(diǎn),所述廣播中心節(jié)點(diǎn)向所述代理用戶節(jié)點(diǎn)廣播密文;所述代理用戶節(jié)點(diǎn)接收所述密文并進(jìn)行解密;所述廣播加密及其解密方法按如下步驟進(jìn)行: 步驟1:所述廣播中心節(jié)點(diǎn)按如下步驟生成大素?cái)?shù)P、加密密鑰以及解密密鑰: 1.D建立一個(gè)大素?cái)?shù)P,并通過廣播的方式向所述代理用戶節(jié)點(diǎn)公開所述大素?cái)?shù)P ; 1.2)隨機(jī)生成一個(gè)IXn維的矩陣Α(1〈η),所述矩陣A中的元素為小于所述大素?cái)?shù)P的非負(fù)整數(shù); 1.3)隨機(jī)生成一個(gè)η維列向量忑,利用式(I)獲得向量歹: j = Axn mod PCl) 式⑴中,矩陣A和向量,均為廣播中心節(jié)點(diǎn)的加密密鑰; 1.4)利用加密密鑰A和J5,建立方程組 mQd/7 = j..1.5)求解方程組?mod/? =.P獲得η個(gè)不同的解向量(I≤i≤η);所述解向量無:為第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰; 步驟2:所述廣播中心節(jié)點(diǎn)按如下步驟獲得密文: 2.1)隨機(jī)生成一個(gè)I維的行向量/c =(k k1,...J;j), I≤Ici≤p-2(l≤i≤I); 2.2)假設(shè)廣播中心節(jié)點(diǎn)所需要發(fā)送的明文為m,me {0,1,2,.., p_l},根據(jù)所述加密密鑰利用式(2)和式(3)獲得密文問,c2}: C1 = kA mod p(2) 式⑵中Z為η維行向量; c, = m(k 1.ν) mod" (3) 式⑶中,P表示行向量I轉(zhuǎn)置后所對應(yīng)的列向量,P.歹表示列向量P與歹的點(diǎn)積運(yùn)算; 步驟3:所述代理用戶節(jié)點(diǎn)根據(jù)所述大素?cái)?shù)P和解密密鑰進(jìn)行解密: 第i個(gè)代理用戶節(jié)點(diǎn)根據(jù)所接收的密文利用式(4)和式(5)獲得明文m:
C1 = cxT - Xi mod P(4) 式(4)中,足為第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰表示行向量各轉(zhuǎn)置后所對應(yīng)的列向 表示列向量5/與巧的點(diǎn)積運(yùn)算; m = c2/C1Iiiodp (5)。
2.根據(jù)權(quán)利要求1所述的廣播加密及其解密方法,其特征是,所述大素?cái)?shù)P按如下步驟生成: a)確定大素?cái)?shù)P的位長d; b)隨機(jī)生成一個(gè)位長為d比特的首位和末位均為I的奇數(shù)q; c)采用素?cái)?shù)檢測方法判斷q是否是素?cái)?shù),若是則令p=q,否則重新執(zhí)行步驟b。
3.根據(jù)權(quán)利要求1所述的廣播加密及其解密方法,其特征是,利用所述解密密鑰按如下步驟進(jìn)行身份認(rèn)證: I)所述廣播中心節(jié)點(diǎn)隨機(jī)生成一個(gè)η維的列向量f并發(fā)送給所述第i個(gè)代理用戶節(jié)占.2)所述第i個(gè)代理用戶節(jié)點(diǎn)收到所述列向量F后計(jì)算$,并把s返回給所述廣播中心節(jié)點(diǎn),h(.)表示哈希函數(shù); 3)所述廣播中心節(jié)點(diǎn)根據(jù)生成的列向量F及所述第i個(gè)代理用戶節(jié)點(diǎn)的解密密鑰λ汁 4)所述廣播中心節(jié)點(diǎn)判斷s是否等于t,若相等,則身份認(rèn)證成功,否則,身份認(rèn)證失敗。
4.根據(jù)權(quán)利要求1所述的廣播加密及其解密方法,其特征是,利用所述解密密鑰按如下步驟解密來自廣播中心節(jié)點(diǎn)單播的加密信息: 1)所述廣播中心節(jié)點(diǎn)隨機(jī)生成一個(gè)η維的列向量F,使得卜力=m; 2)所述廣播中心節(jié)點(diǎn)將所述列向量F發(fā)送給第i個(gè)代理用戶節(jié)點(diǎn); 3)所述第i個(gè)代理用戶節(jié)點(diǎn)收到所述列向量?后,計(jì)算 得明文m。
【文檔編號(hào)】H04L9/00GK103441836SQ201310397321
【公開日】2013年12月11日 申請日期:2013年9月4日 優(yōu)先權(quán)日:2013年9月4日
【發(fā)明者】石潤華, 仲紅, 崔杰, 許艷 申請人:安徽大學(xué)