System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及密碼學,尤其涉及一種可撤銷用戶的身份基加密方法。
技術(shù)介紹
1、1984年shamir等提出了身份基加密ibe的概念。2001年boneh等提出了第一個實用的身份基加密方案。在身份基加密中有系統(tǒng)管理員和用戶兩類實體,系統(tǒng)管理員生成系統(tǒng)主密鑰,利用系統(tǒng)主密鑰計算系統(tǒng)公鑰,系統(tǒng)管理員秘密保存系統(tǒng)主密鑰,公開系統(tǒng)公鑰。系統(tǒng)管理員根據(jù)每個用戶具有唯一的全局身份,利用系統(tǒng)主密鑰為用戶生成用戶私鑰,并秘密發(fā)送給用戶。發(fā)送者利用接收者的身份和系統(tǒng)公鑰加密消息,并將密文發(fā)送給接收者;接受者利用自己的私鑰可以成功解密密文,恢復消息。與傳統(tǒng)的公鑰加密相比,身份基加密不需要公鑰基礎(chǔ)設(shè)施,即用戶無需證明自己公鑰的有效性,大大提高了加密的效率。
2、當ibe系統(tǒng)中某個用戶的私鑰被盜取或者私鑰到期時,系統(tǒng)管理員需要一種能夠有效撤銷用戶的方法。針對這個問題,boneh等人通過周期性的更新用戶私鑰的方法來實現(xiàn)用戶撤銷。在他們的ibe方案[1]中,密文與用戶身份和加密時間有關(guān),當有用戶被撤銷時,系統(tǒng)管理員為所有未撤銷用戶生成更新密鑰,并將該更新密鑰秘密發(fā)送給未撤銷用戶,從而實現(xiàn)用戶撤銷。然而,更新密鑰的工作量與用戶個數(shù)成線性關(guān)系,當用戶個數(shù)較多時,系統(tǒng)管理員的工作可能會構(gòu)成系統(tǒng)的瓶頸。
技術(shù)實現(xiàn)思路
1、本專利技術(shù)的目的在于提供一種可撤銷用戶的身份基加密方法,為了解決密鑰更新時系統(tǒng)管理員的工作量過大的技術(shù)問題,將完全二叉樹的子集覆蓋技術(shù)引入到身份基加密中,通過合理的設(shè)計可以讓部分用戶共享更
2、本專利技術(shù)的專利技術(shù)思想為:本專利技術(shù)的方法中,系統(tǒng)管理員選擇系統(tǒng)主密鑰,計算并發(fā)布系統(tǒng)公鑰,設(shè)置并發(fā)布用戶撤銷列表、用戶列表和系統(tǒng)最新狀態(tài);用戶提交身份給系統(tǒng)管理員,系統(tǒng)管理員構(gòu)造一棵完全二叉樹,將每個用戶聯(lián)系到該二叉樹的一個葉子節(jié)點,得到從該葉子節(jié)點到根節(jié)點的路徑。針對該路徑中的每個節(jié)點,系統(tǒng)管理員為構(gòu)造一個節(jié)點私鑰,路徑中的所有節(jié)點私鑰構(gòu)成該用戶的用戶私鑰。本專利技術(shù)將所有時間分成若干個時間段,例如每天為一個時間段,每個時間段稱為一個周期,在每個周期末時刻t,系統(tǒng)管理員發(fā)布下一個周期的更新鑰。系統(tǒng)管理員利用撤銷列表得到所有撤銷用戶對應的二叉樹葉子節(jié)點集合,生成所有未撤銷用戶的葉子節(jié)點的覆蓋集合,使得所有未撤銷用戶有且僅有一個葉子節(jié)點或其祖先節(jié)點在覆蓋集合中,而撤銷用戶對應的葉子節(jié)點和其祖先節(jié)點都不在覆蓋集合中。針對該覆蓋集合中的每個節(jié)點,系統(tǒng)管理員利用系統(tǒng)主密鑰生成一個節(jié)點更新鑰,所有節(jié)點更新鑰構(gòu)成系統(tǒng)更新密鑰,管理員公開系統(tǒng)更新密鑰,由覆蓋集合的構(gòu)造方法可得,每個未撤銷用戶可以找到二叉樹中的一個節(jié)點,該用戶同時擁有該節(jié)點的用戶私鑰和系統(tǒng)更新鑰,這兩個密鑰構(gòu)成未撤銷用戶t時刻的解密鑰。而撤銷用戶找不到二叉樹中的一個節(jié)點,使得該用戶同時擁有該節(jié)點的用戶私鑰和系統(tǒng)更新鑰,無法生成解密鑰。密文與接收者身份和時間有關(guān),導致撤銷用戶無法解密密文。通過上述方法,系統(tǒng)管理員周期性的更新系統(tǒng)更新鑰,使得一些用戶可以共享系統(tǒng)更新鑰,從而減少了更新密鑰時系統(tǒng)管理員的工作量,提高了效率。
3、為了實現(xiàn)上述專利技術(shù)目的,本專利技術(shù)采用技術(shù)方案具體為:一種可撤銷用戶的身份基加密方法,包括以下步驟:
4、s10、系統(tǒng)初始化階段,系統(tǒng)管理員選擇一個安全參數(shù),指定用戶最大個數(shù)和一個完全二叉樹,選擇系統(tǒng)主密鑰mk,計算并發(fā)布公共參pk,設(shè)置并發(fā)布用戶撤銷列表rl,用戶列表ul和系統(tǒng)最新狀態(tài)st;
5、s20、私鑰生成階段,用戶提交身份給系統(tǒng)管理員,系統(tǒng)管理員將該用戶指定到二叉樹中的一個葉子結(jié)點,得到從該葉子節(jié)點到二叉樹根節(jié)點的路徑上的所有節(jié)點;針對上述路徑上的每個節(jié)點,系統(tǒng)管理員利用系統(tǒng)主密鑰mk,計算用戶的一個節(jié)點私鑰,所有節(jié)點私鑰構(gòu)成用戶的私鑰;系統(tǒng)管理員將用戶私鑰秘密發(fā)送給該用戶,并更新狀態(tài)st′;
6、s30、密鑰更新階段,在更新系統(tǒng)時間t,系統(tǒng)管理員根據(jù)撤銷列表rl和用戶列表ul,得到撤銷用戶對應二叉樹中葉子結(jié)點集合,利用完全二叉樹的子集覆蓋算法,得到未撤銷用戶覆蓋集合;針對覆蓋集合中的每個節(jié)點,系統(tǒng)管理員利用系統(tǒng)主密鑰計算一個節(jié)點私鑰,上述所有節(jié)點私鑰構(gòu)成系統(tǒng)更新密鑰,系統(tǒng)管理員公開更新密鑰;
7、s40、解密密鑰生成階段,根據(jù)完全二叉樹的子集覆蓋算法,每個未撤銷用戶在自己的私鑰和系統(tǒng)更新鑰中可以找到兩個節(jié)點私鑰,使得這兩個節(jié)點私鑰具有公共的節(jié)點;用戶將這兩個節(jié)點私鑰作為自己的解密密鑰;
8、s50、加密階段,用戶ω'利用公共參數(shù)pk,用戶ω的身份對消息m和時間t進行加密,得到密文c,然后將密文發(fā)送給用戶ω;
9、s50、解密密階段,用戶ω接收到密文c后,如果用戶ω在時刻t未被撤銷,利用自己在時刻t的解密密鑰,得到消息m;否則,解密失敗;
10、s70、撤銷用戶階段,如果用戶ω在t時刻被撤銷,系統(tǒng)管理員該用戶添加到用戶撤銷列表rl,更新狀態(tài)';
11、進一步地,所述步驟s10包括:
12、s101、系統(tǒng)管理員選擇安全參數(shù)κ,設(shè)置用戶的最大個數(shù)nmax,構(gòu)造一棵高度為h的完全二叉樹bt,該二叉樹有2h-1個葉子節(jié)點,且滿足2h-1≥nmax,對該二叉樹中每個節(jié)點v∈bt,選擇一個隨機數(shù)av∈zp*,設(shè)置與該節(jié)點對應的一個函數(shù)fv(y)=avy+1,并將每一個節(jié)點的二元組(v,fv(y))存儲到一個函數(shù)列表fl中;
13、s102、系統(tǒng)管理員首先生成素數(shù)p階循環(huán)群g,gt和雙線性映射e:g×g→gt,選擇一個生成元g∈g,選擇四個隨機數(shù)a1,a2,b1,b2∈zp*,計算將用戶列表ul和撤銷用戶列表rl都設(shè)為空集。
14、s103、系統(tǒng)管理員公開公共參撤銷列表rl和狀態(tài)st=(bt,ul),并秘密保存系統(tǒng)主密鑰mk=(a1,a2,b1,b2,fl);
15、進一步地,所述步驟s20包括:
16、s201、假定用戶擁有一個全局唯一的身份ω∈zp*,向系統(tǒng)管理員提交身份ω∈zp*,系統(tǒng)管理員在二叉樹bt中隨機選擇一個未指定的葉子節(jié)點u∈bt,將用戶身份ω映射到葉子節(jié)點u,并將(ω.u)存放到用戶列表ul,然后更新狀態(tài)st=(bt,ul);
17、s202、系統(tǒng)管理員遍歷從葉子節(jié)點u到根節(jié)點的路徑上的所有節(jié)點集合,記作path(u),對于任意節(jié)點x∈path(u),系統(tǒng)管理員檢索函數(shù)列表中節(jié)點x對應的函數(shù)fx(y)=axy+1,選擇一個隨機數(shù)r1,x∈zp*,利用系統(tǒng)主密鑰計算得到用戶私鑰skω={(x,r1,x,dx)|x∈path(u)},其中身份ω的用戶被指定到葉子節(jié)點u,path(u)是從葉子節(jié)點u到根節(jié)點的路徑上的所有節(jié)點集合,x是集合path(u)中的任意節(jié)點;
18、s203、系統(tǒng)管理員將用戶私鑰skω={(x,r1,x,dx)|x∈path(u)}秘密發(fā)送給用戶ω,更新狀態(tài)st;
19、進一步地本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種可撤銷用戶的身份基加密方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S10包括以下步驟:
3.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S20包括以下步驟:
4.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S30包括以下步驟:
5.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S40包括以下步驟:
6.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S50包括以下步驟:
7.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S60包括以下步驟:
8.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟S70包括以下步驟:
【技術(shù)特征摘要】
1.一種可撤銷用戶的身份基加密方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟s10包括以下步驟:
3.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟s20包括以下步驟:
4.根據(jù)權(quán)利要求1所述的可撤銷用戶的身份基加密方法,其特征在于,所述步驟s30包括以下步驟:
5.根據(jù)...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王占君,馬海英,王林峰,薛蓮,韓旭,嚴冬梅,王德朝,
申請(專利權(quán))人:南通大學,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。