專利名稱:一種簽密文可聚合的簽密方法
技術領域:
本發(fā)明屬于無線網絡中群組通信數(shù)據認證和保密領域,具體涉及一種簽密文可聚合的簽密方法。
背景技術:
隨著各種無線網絡的廣泛應用,面向多用戶的安全組通信成為一種主要的信息交換方式。在視頻會議、智能交通、數(shù)字內容分發(fā)等場合有著良好的應用前景。在安全多用戶通信中,多個發(fā)送方向一個接收方發(fā)送消息的多對一通信是一種重要的通信模式,如傳感器網絡的數(shù)據匯集、無線局域網中的上行通信等都是這種模式的具體應用。為保證消息的安全性,必須要保證數(shù)據的機密性和完整性,即內容既不能被攻擊者非法竊取,也不能被篡改;同時為了確保通信的真實有效,還要對發(fā)送方和接收方的身份進行必要的認證。此外,由于無線網絡信道的廣播特點,所采用的技術應充分減少網絡廣播次數(shù),并充分利用信道 的廣播屬性。在多對一的安全組通信中,機密性通過加密來實現(xiàn),完整性和認證性通過散列函數(shù)或數(shù)字簽名來實現(xiàn)。為了同時保證消息的機密性、完整性,并實現(xiàn)認證,現(xiàn)有方法是在每個發(fā)送方和接收方之間分別執(zhí)行一次點對點的操作,即在接收方與每個發(fā)送方分別建立一條點對點的安全鏈路,根據所采用的密碼技術的不同可將現(xiàn)有方法分為三類第一類方法將數(shù)字簽名和對稱加密相結合,每個發(fā)送方分別用各自的私鑰對所要發(fā)送的消息進行簽名,再用所有用戶共享的對稱加密密鑰對消息進行加密,然后分別將數(shù)據發(fā)送給接收者。接收方在收到后,用發(fā)送方的公鑰來驗證其數(shù)字簽名,再用共享的對稱密鑰解密消息。第二類方法將數(shù)字簽名和公鑰加密相結合,每個發(fā)送方分別用各自的私鑰對所要發(fā)送的消息進行簽名,再用接收方的公鑰對消息進行加密,然后將數(shù)據分別發(fā)送給接收者。接收方在收到后,用發(fā)送方的公鑰來驗證其數(shù)字簽名,再用自己的私鑰解密消息。第三類方法采用簽密技術,每個發(fā)送方分別用各自的私鑰和接收方的公鑰對所要發(fā)送的消息進行簽密,然后分別將數(shù)據發(fā)送給接收者。接收方在收到后,用發(fā)送方的公鑰和自己的私鑰來完成解簽密。以上三種方法主要存在三個方面的不足1、每個發(fā)送方需要占用信發(fā)送數(shù)據,數(shù)據傳輸量大,信道的占用率高。2、接收方需要對每個接收方的消息進行處理,計算量大。3、各個發(fā)送方產生的數(shù)據無相關性,難以進行進一步優(yōu)化。上述第一種方法,使用共享的對稱加密密鑰來加密消息,雖然比公鑰加密方法效率較高,但對稱密鑰的管理是一個瓶頸,任何一個用戶泄露共享密鑰都會導致整個系統(tǒng)失效。上述第二種方法和三種方法,消除了第一種方法的密鑰管理問題,但效率較低,相比之下,第三方法比第二種方法效率高。
發(fā)明內容
本發(fā)明的目的在于提出一種將所有發(fā)送方的數(shù)據聚合成一則整體簽密文,充分壓縮了簽密文中的總體數(shù)據量,而且接收方通過對聚合簽密文進行一次解簽密操作,就可以實現(xiàn)對多個發(fā)送方的驗證,顯著提高了數(shù)據傳輸和接收方解簽密操作效率的簽密文可聚合的簽密方法。為了達到上述目的,本發(fā)明采用的技術方案如下步驟一系統(tǒng)設定公共參數(shù);步驟二 系統(tǒng)分別為每個用戶產生公鑰和私鑰;步驟三每個發(fā)送方對各自的消息分別計算簽密文,并將所產生的簽密文發(fā)送給聚合方;步驟四聚合方將所有簽密文聚合成整體簽密文數(shù)據包,并發(fā)送給接收方;步驟五接收方用其私鑰和所有發(fā)送方的公鑰進行解簽密。所述的發(fā)送方是具有η個對等的發(fā)送方,每個發(fā)送方獨立產生簽密文;聚合方具 有I個聚合方,能夠對接收到的簽密文執(zhí)行聚合操作;接收方具有I個,能夠對聚合簽密文進行解簽密。所述步驟一系統(tǒng)設定公共參數(shù)包括以下步驟由一個統(tǒng)一的安全通信平臺負責設定公共參數(shù),并向所有用戶廣播,需要設定的系統(tǒng)參數(shù)如下k為安全參數(shù),q為長度為k比特的素數(shù),G1是一個階為q的乘法循環(huán)群,P是G1生成元,G1中的元素的長度為I比特,G2是另一個階為q的乘法循環(huán)群,O = G1 XG1 — G2是一個雙線性映射,HJPH2是兩個散列函數(shù),定義分別為H1: {O, lrXGi —GJPH2 = G13] {O, 1}z,其中z為要發(fā)送消息的比特長度。所述步驟二 系統(tǒng)分別為每個用戶產生公鑰和私鑰包括以下步驟系統(tǒng)為發(fā)送方Si選擇隨機數(shù)xSi — ΕΖ;作為Si的私鑰,計算Ysi=XsiP e G1作為Si
的公鑰,其中i = 1,......,η ;系統(tǒng)為接收方R選擇隨機數(shù)Xk — ΕΖ;,作為R的私鑰,計算
Ye=XeP e G1作為R的公鑰,其中,Z:是一個乘法群,該乘法群上的元素包括大于等于I且小于q_l的所有整數(shù)。所述步驟三包括以下步驟I)第i個發(fā)送方Si選擇隨機數(shù)!Ti e Z:,計算Ui=ITiP,其中,i = I, ......,η;2)第i個發(fā)送方Si對消息Hii完成簽密文計算,步驟如下①Vi=XsiH1 Oiii I I Ysi);②石=mmiiUiI! Yji Ii F1-Yr);Wi= (Ui, Vi, Zi)作為發(fā)送方對消息HIi的簽密文;其中,Vi為乘法循環(huán)群G1上的元素,Zi是二進制序列,符號I I表示級聯(lián)操作,符號Θ表示異或操作。所述步驟四包括以下步驟
ηI) F = ]~[ Vj ,
i=\W= (U1, - ,Un, V, Z1, -.,Zn)作為總體簽密文數(shù)據包發(fā)送給接收方。所述步驟五包括以下步驟I)接收方 R 計算 H2 (Ui I I Ye | | XeU1) _= Zi' H2(U, || Yr K XrU1)-,
η2)接收方R,計算Iii=H1Oiii I I Ysi),驗證等式,O = ^ .)是否成立,當且
僅當?shù)仁匠闪r接受發(fā)送方所發(fā)送的消息,其中h為散列函數(shù)的輸出。
本發(fā)明通過對簽密算法進行有效設計,使每個發(fā)送方的簽密文中存在可以聚合的相關數(shù)據;通過對多個簽密文進行聚合,產生一個整體簽密文,以減少要傳輸?shù)臄?shù)據量和網絡廣播傳輸?shù)拇螖?shù);通過對解簽密算法進行有效設計,使得接收方可以一次性完成對全部發(fā)送方簽密文的解簽密和批量驗證。本發(fā)明的進一步改進在于簽密文的聚合方可以由任何一個發(fā)送方、或者接收方來擔任,可以消除專門設立一個聚合方而帶來的開銷。本發(fā)明的有益效果在于1、同時實現(xiàn)了機密性、完整性和認證性。每個發(fā)送方用各自的私鑰和接收方公鑰對消息進行簽密,接收方必須用其私鑰和發(fā)送方的公鑰才能驗證簽密文并解密出消息,攻擊者既無法偽造簽密文,也無法獲得消息的內容,從而實現(xiàn)了機密性、完整性和認證性。2、每個發(fā)送方在產生各自的簽密文后,通過對簽密文進行聚合,使網絡中傳輸?shù)目傮w簽密文數(shù)據量得到了有效壓縮,減少了對網絡帶寬的占用,也降低了接收方接收數(shù)據的能量消耗。3、接收方通過對聚合后的整體簽密進行一次解簽密操作,就能一 次性驗證所有發(fā)送方的身份和所有消息的完整性,并解密出每則消息,能夠顯著降低提高接收方批量解簽密的速度,降低計算的能量消耗。簽密方法的執(zhí)行效率包括對消息的簽密和解簽密計算開銷、總體簽密文數(shù)據的傳輸開銷兩個方面,具有較小計算開銷和較小數(shù)據傳輸開銷的方法具有較高的效率,本發(fā)明主要是在解簽密計算開銷和總體簽密文數(shù)據開銷兩個方面提高了性能。本發(fā)明在一個實驗系統(tǒng)中進行了模擬,在一臺配備有雙核CPU (中央處理器)的計算機上用標準C語言實現(xiàn)了本發(fā)明方法,分別模擬了 I個、3個、6個、9個和12個發(fā)送方同時向I個接收方簽密并發(fā)送模擬了 I則、3則、6則、9則和12則不同消息的情況。通過記錄CPU運行時間和總體簽密文數(shù)據量來衡量性能。首先觀察了 CPU運行時間,從觀察結果發(fā)現(xiàn),本發(fā)明方法的CPU運行時間小于現(xiàn)有方法,而且隨著發(fā)送方數(shù)量的增加,本發(fā)明方法CPU運行時間相對于現(xiàn)有方法的性能提高基本穩(wěn)定在39%上下。然后觀察了總體簽密文的數(shù)據量,從觀察結果發(fā)現(xiàn)本發(fā)明方法的總體簽密文的數(shù)據量小于現(xiàn)有方法,而且隨發(fā)送方數(shù)量的增加,本發(fā)明方法的總體簽密文的數(shù)據量相對于現(xiàn)有方法的性能提高也在增加,在有3個發(fā)送方時總體簽密文的數(shù)據量相對于現(xiàn)有方法減少了 22. 2%,在有6個發(fā)送方時總體簽密文的數(shù)據量相對于現(xiàn)有方法減少了 27. 8%,在有9個發(fā)送方時總體簽密文的數(shù)據量相對于現(xiàn)有方法減少了 29. 6%,在有12個發(fā)送方時總體簽密文的數(shù)據量相對于現(xiàn)有方法減少了 30. 5%。
圖1是本發(fā)明的流程圖。
具體實施例方式下面結合
和具體實施方式
對本發(fā)明做進一步詳細說明。本發(fā)明方法首先由η個發(fā)送方,分別對各自的消息產生簽密文;再由聚合方對多個簽密文進行聚合,產生整體簽密文;最后由接收方進行聚合解簽密,驗證有效性,并解密出消息。在所述可聚合簽密方法的應用場景中,具有η個對等的發(fā)送方,每個發(fā)送方獨立產生簽密文;具有I個聚合方,可以由任何一個發(fā)送方、或接收方充當,能夠對接收到的多個簽密文執(zhí)行聚合操作;具有I個接收方,能夠對聚合簽密文進行解簽密。符號一κ表示隨機選擇操作表示階為q的乘法群,該乘法群中的元素包括大于等于I且小于q_l的所有整數(shù);符號I表示消息的級聯(lián)操作;符號 表示異或操作。具體包括下列步驟步驟一系統(tǒng)設定公共參數(shù);由一個統(tǒng)一的安全通信平臺負責設定公共參數(shù),并向所有用戶廣播。需要設定的系統(tǒng)參數(shù)如下k為安全參數(shù),q為長度為k比特的素數(shù),G1是一個階為q的乘法循環(huán)群,P是G1生成元,G1中的元素的長度為I比特,G2是另一個階為q的乘法循環(huán)群,e: G1X G1 — G2是一個雙線性映射,要發(fā)送的消息長度為z比特,H1和H2為兩個散列函數(shù),定義分別為H1: {O, 1}zXG1 — G1 和 H2 = G13 — {O, Ilz0步驟二 系統(tǒng)為所有用戶產生公鑰和私鑰;系統(tǒng)為第i個發(fā)送Ssi選擇隨機數(shù)xSi 作為其私鑰,計算并公開Ysi=XsiP e G1
作為其公鑰,其中i = I,......,η ;系統(tǒng)為接收方R選擇隨機數(shù)χκ — 作為其私鑰,計算
并公開Yk=XkP e G1作為其公鑰,其中Z:是乘法群,該乘法群上的元素包括大于等于I且小于q_l的所有整數(shù)。步驟三每個發(fā)送方對各自的消息分別計算簽密文,并將所產生的簽密文發(fā)送給一個特定的聚合方或者接收方,包括以下步驟I)第i個發(fā)送方Si選擇隨機數(shù)!Ti e Zq'計算Ui=ITiP,其中,i = I, ......,η;2)第i個發(fā)送方Si對消息Hii完成簽密文計算,步驟如下①Vi=XsiH1 (Iiii I I Ysi);②Zi'= TnMUUi Ii K FiYll)-,Wi= (Ui, Vi, Zi)作為發(fā)送方對消息Hii的簽密文。其中,Vi為乘法循環(huán)群G1上的元素,Zi是二進制序列;步驟四包括以下步驟
權利要求
1.一種簽密文可聚合的簽密方法,其特征在于包括以下步驟 步驟一系統(tǒng)設定公共參數(shù); 步驟二 系統(tǒng)分別為每個用戶產生公鑰和私鑰; 步驟三每個發(fā)送方對各自的消息分別計算簽密文,并將所產生的簽密文發(fā)送給聚合方; 步驟四聚合方將所有簽密文聚合成整體簽密文數(shù)據包,并發(fā)送給接收方; 步驟五接收方用其私鑰和所有發(fā)送方的公鑰進行解簽密。
2.根據權利要求1所述的簽密文可聚合的簽密方法,其特征在于所述的發(fā)送方是具有η個對等的發(fā)送方,每個發(fā)送方獨立產生簽密文;聚合方具有I個聚合方,能夠對接收到的簽密文執(zhí)行聚合操作;接收方具有I個,能夠對聚合簽密文進行解簽密。
3.根據權利要求1所述的簽密文可聚合的簽密方法,其特征在于所述步驟一系統(tǒng)設定公共參數(shù)包括以下步驟 由一個統(tǒng)一的安全通信平臺負責設定公共參數(shù),并向所有用戶廣播,需要設定的系統(tǒng)參數(shù)如下k為安全參數(shù),q為長度為k比特的素數(shù),G1是一個階為q的乘法循環(huán)群,P是G1生成元,G1中的元素的長度為I比特,G2是另一個階為q的乘法循環(huán)群,O = G1XG1 — G2是一個雙線性映射,H1和H2是兩個散列函數(shù),定義分別為H1: {O, IjzXG1 — G1和H2 = G13 — {O, 1}z,其中z為要發(fā)送消息的比特長度。
4.根據權利要求1所述的簽密文可聚合的簽密方法,其特征在于所述步驟二系統(tǒng)分別為每個用戶產生公鑰和私鑰包括以下步驟 系統(tǒng)為發(fā)送方Si選擇隨機數(shù)xSi — ΕΖ;作為Si的私鑰,計算Ysi=XsiP e G1作為Si的公鑰,其中i = 1,......,η;系統(tǒng)為接收方R選擇隨機數(shù)χ, — ,Ζ/,作為R的私鑰,計算Ye=XeP e G1作為R的公鑰,其中,Z:是一個乘法群,該乘法群上的元素包括大于等于I且小于q_l的所有整數(shù)。
5.根據權利要求1所述的簽密文可聚合的簽密方法,其特征在于所述步驟三包括以下步驟 1)第i個發(fā)送方Si選擇隨機數(shù)ae Zq%計算Ui=IriP,其中,i = l, ......, η ; 2)第i個發(fā)送方Si對消息Hii完成簽密文計算,步驟如下
6.根據權利要求1所述的簽密文可聚合的簽密方法,其特征在于所述步驟四包括以下步驟
7.根據權利要求1所述的簽密文可聚合的簽密方法,其特征在于所述步驟五包括以下步驟1)接收方R 計算
全文摘要
一種簽密文可聚合的簽密方法,包括以下步驟1、系統(tǒng)設定公共參數(shù);2、系統(tǒng)為每個用戶產生公鑰和私鑰;3、每個發(fā)送方對各自的消息分別進行簽密,產生簽密文,并發(fā)送給一個聚合方;4、聚合方對所收到每個簽密文進行聚合,產生整體簽密文,并發(fā)送給接收方;5、接收方用自己的私鑰和各發(fā)送方的公鑰驗證所收到的整體簽密文,并解密出消息。該方法同時滿足了機密性、完整性和認證性。通過對多個簽密文進行聚合,在確保安全性的前提下減少了要傳輸?shù)目傮w簽密文數(shù)據量;同時,接收方只需要進行一次驗證操作就能完成對多個簽密文的驗證??朔藗鹘y(tǒng)方法中每個發(fā)送方分別發(fā)送簽密文、接收方逐一解簽密,所帶來的信道占用率高、計算開銷大的缺陷。
文檔編號H04L9/30GK103023646SQ20121048884
公開日2013年4月3日 申請日期2012年11月26日 優(yōu)先權日2012年11月26日
發(fā)明者韓益亮 申請人:韓益亮