專利名稱:信息處理設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理單元、終端單元、信息處理方法、密鑰生成方法和 程序。
背景技術(shù):
如今,涉及通過(guò)網(wǎng)絡(luò)等的內(nèi)容分發(fā)(contents distribution )的加密技術(shù)的 發(fā)展吸引了廣泛的關(guān)注。特別地,安全并有效地分發(fā)用于解密經(jīng)加密的內(nèi)容 的加密密鑰的方法吸引了特別的關(guān)注。 一般而言,如下的方案是必需的關(guān) 于分發(fā)經(jīng)加密的內(nèi)容的一個(gè)分發(fā)者,存在具有有效接收權(quán)利的n個(gè)(n是大 于等于2的自然數(shù))接收者,并且在存在于網(wǎng)絡(luò)上的無(wú)限個(gè)攔截者之中僅有 這n個(gè)接收者可以解密經(jīng)加密的內(nèi)容。進(jìn)一步,由于具有有效接收權(quán)利的接 收者的數(shù)量n隨時(shí)間變化,因此存在對(duì)于在接收者的集合中能夠靈活地處理 變化的方案的需求。
此外,在這種方案的實(shí)現(xiàn)中,在分發(fā)者中出現(xiàn)涉及加密密鑰的生成、保 存和分發(fā)、內(nèi)容的加密等的處理負(fù)荷,并且自然在接收者中出現(xiàn)涉及解密密 鑰的保存和接收、內(nèi)容的解密等的處理負(fù)荷。通過(guò)各種最近的技術(shù)發(fā)展(如, 吞吐量信息處理設(shè)備的存儲(chǔ)容量等的提高、信息傳輸路徑的通信速度的提 高),關(guān)于上述加密分發(fā)處理負(fù)荷的負(fù)荷正在相對(duì)地降低是事實(shí)。然而,由于 內(nèi)容分發(fā)服務(wù)的消費(fèi)者的數(shù)量的急劇增加以及安全到足以防范有經(jīng)驗(yàn)的惡意 攔截者的加密技術(shù)的需求,加密分發(fā)而引起的處理負(fù)荷相應(yīng)地增大。
在這樣的情況下,作為用以通過(guò)使用廣播信道安全地將信息傳送到由分 發(fā)者任意選擇的一組接收者的技術(shù),已經(jīng)提出了諸如撤銷方案(revocation scheme)和廣播加密方案之類的方案。廣播加密方案的一個(gè)示例是在下面的 非專利文獻(xiàn)l中公開(kāi)的加密密鑰分發(fā)方案,并且所述方案的特征是使用現(xiàn)有 的分層樹(shù)結(jié)構(gòu),對(duì)密鑰分發(fā)方案進(jìn)行密鑰導(dǎo)出路徑(key derivation path )的 改進(jìn)。具體地說(shuō),該方案(其中,將接收者的集合看作被劃分為多個(gè)子集) 通過(guò)將不包括在 一子集中的接收者添加到某個(gè)子集來(lái)創(chuàng)建新的子集,并且作為重復(fù)該處理的結(jié)果而創(chuàng)建子集鏈,然后沿著所述鏈導(dǎo)出與每個(gè)子集對(duì)應(yīng)的 加密密鑰。由此可以減少要由接收者保存的密鑰的數(shù)量、用以生成解密密鑰
的計(jì)算量以及用于密鑰分發(fā)的通信量(traffic )。 Nuttapong Attrapadung and Hideki Imai, "Subset Incremental Chain Based Broadcast Encryption with Shorter Ciphertext", The 28th Symposium on Information Theory and Its Applications (SITA2005)。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題
與諸如CD方案(完整子樹(shù)方案,Complete Subtree Scheme )和SD方案 (子集差方案,SubsetDifferencescheme)之類的密鑰分發(fā)方案相比,根據(jù)上 述非專利文獻(xiàn)1的加密密鑰分發(fā)方案具有顯著的優(yōu)點(diǎn)。然而,從假設(shè)實(shí)現(xiàn)的 實(shí)踐角度來(lái)看,存在如下問(wèn)題在接收者的數(shù)量很大的情況下,在接收者端 要由終端單元保存的密鑰的數(shù)量以及內(nèi)容解密所需的計(jì)算量仍然很大。
已經(jīng)完成本發(fā)明來(lái)解決以上問(wèn)題,由此本發(fā)明的目標(biāo)是提供新的、改進(jìn) 的、能夠減小在接收者端要由終端單元保存的密鑰的數(shù)量的信息處理單元、 終端單元、信息處理方法、密鑰生成方法和程序。
解決問(wèn)題的裝置
為了解決以上問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提供了信息處理單元,包 括有向圖獲取部分,在由多條有向邊組成的臨時(shí)有向圖中,獲取通過(guò)以更 短的有向邊替換組成所述臨時(shí)有向圖的至少一條有向邊而生成的有向圖;以 及密鑰生成部分,基于由所述有向圖獲取部分獲取的有向圖,生成用于加密 或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提供了信息處理 單元,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié) 點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中在
位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于 左端的葉節(jié)點(diǎn)的編號(hào)定義為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)定義為 rv,對(duì)于自然數(shù)i和j,其中Sj,假設(shè)將集合(i—j)表示為Hi), {i, i+l}, ...,{i,
i+l,...,j-l,j}},而將集合(i—j)表示為UJh {j,j-l},..., {j,j-l,...,i+l,i}},設(shè) 置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集
25合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐
標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),
并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的 方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平 坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合 (lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè) 中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以 包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理單 元包括有向圖獲取部分,獲取通過(guò)以更短的有向邊替換組成臨時(shí)有向圖的 至少 一個(gè)有向邊而生成的有向圖,所述臨時(shí)有向圖是根據(jù)對(duì)于給定整數(shù)k滿 足i^-,〈(rv-lv+l)^^k的自然數(shù)x,通過(guò)在第一到第四水平坐標(biāo)軸上排列具有 長(zhǎng)度n"k的多條有向邊而形成的,其中i二0, 1,……,x-l;以及密鑰生成部 分,基于由所述有向圖獲取部分獲取的有向圖,生成用于加密或解密內(nèi)容或 內(nèi)容密鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提供了信息處理 單元,包括樹(shù)結(jié)構(gòu)設(shè)置部分,配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié) 點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是 自然數(shù),并且對(duì)于自然數(shù)i和j,其中Sj,通過(guò)將集合(i—j)定義為Hi), {i, i+l}, ...,{i, i+l, ...,j-l,j}},而將集合(i—j)定義為U化{j,j-l},…,(j,j-l,…, i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將 分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的 編號(hào)設(shè)置為rv;
進(jìn)一步包括坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平 坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以 包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐 標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括 的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo) 點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與 某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、 且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)V相關(guān),并且具有分別 與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列 在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水 平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo) 點(diǎn)的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn),
進(jìn)一步包括臨時(shí)有向圖生成部分,用以通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足
r^-'v、(rv-lv+l)^/k的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i=0到x-l ,通過(guò)連接具有 長(zhǎng)度n'A的一條或多條右向有向邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的 最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的一條或多條左向有 向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路 徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部 或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的 有向邊中排除除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集 合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)相關(guān)的臨時(shí)有向圖,以及通過(guò)將具 有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加 到與集合(1 —n-1 )相關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1 —n)相關(guān)的臨時(shí)有向圖,
進(jìn)一步包括最長(zhǎng)有向路徑確定部分,用以在由連續(xù)有向邊形成的有向路 徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及
進(jìn)一步包括有向圖生成部分,用以通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不 超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有 向路徑的有向邊來(lái)生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)以及集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密 的信息時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需 的計(jì)算量的最差值的情況下,減少要由每個(gè)用戶保存的密鑰的數(shù)量。
在與集合(l—n)、集合(2—n)、集合(lv+l—rv)和集合(lv—i,v-l)相關(guān)的臨 時(shí)有向圖之中,最長(zhǎng)有向路徑確定部分可以關(guān)于不包括最長(zhǎng)有向路徑的各個(gè) 臨時(shí)有向圖,確定在每個(gè)臨時(shí)有向圖中的最長(zhǎng)有向路徑。進(jìn)一步,在對(duì)于各 個(gè)臨時(shí)有向圖的每個(gè)臨時(shí)有向圖中,有向圖生成部分可以通過(guò)每個(gè)有向路徑 的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向
邊替換組成每個(gè)有向路徑的有向邊來(lái)生成有向圖。
27信息處理單元可以進(jìn)一步包括密鑰生成部分,用以基于所迷有向圖生成 用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入,
所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2、 ....... Sk
的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集s的集合密鑰k(S)的輸
入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
信息處理單元可以進(jìn)一步包括初始中間密鑰設(shè)置部分,用以將給定隨機(jī) 數(shù)設(shè)置為與每個(gè)有向圖的尾部對(duì)應(yīng)的中間密鑰。
信息處理單元可以進(jìn)一步包括加密部分,用以使用集合密鑰來(lái)解密內(nèi)容 或內(nèi)容密鑰。
信息處理單元可以進(jìn)一步包括傳送部分,用以向分別與組成給定二叉樹(shù) 的葉節(jié)點(diǎn)l到n(n是自然數(shù))中的一些或全部相關(guān)的終端單元傳送由加密部 分加密的內(nèi)容或內(nèi)容密鑰。
的方式來(lái)替換臨時(shí)有向圖的有向邊。
信息處理單元可以進(jìn)一步包括子集確定部分,通過(guò)將葉節(jié)點(diǎn)1到n的子 集設(shè)置為Si,確定允許解密通過(guò)使用集合密鑰而加密的內(nèi)容或內(nèi)容密鑰的終 端單元的集合(N\R),并確定滿足集合(NXR^SlUS2U…USm的m個(gè)子集 Sl到Sm。
子集確定部分可疑確定子集Sl到Sm以便最小化m。 信息處理單元可以進(jìn)一步包括傳送部分,用以向終端單元傳送指示集合
(NXR)的信息或指示組成集合(N乂R)的子集Sl到Sm的信息。
信息處理單元可以進(jìn)一步包括解密部分,用以使用集合密鑰來(lái)解密內(nèi)容
或內(nèi)容密鑰。
信息處理單元可以進(jìn)一步包括接收部分,其與組成給定二叉樹(shù)的一個(gè)或 多個(gè)葉節(jié)點(diǎn)1到n ( n是自然數(shù))相關(guān),接收使用集合密鑰加密的內(nèi)容或內(nèi)容 密鑰。
由接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由一個(gè)或多
28個(gè)信息處理單元來(lái)解密,所述一個(gè)或多個(gè)信息處理單元與作為集合S的元素
的葉節(jié)點(diǎn)相關(guān),所述集合S包括在定義為葉節(jié)點(diǎn)l到n的子集的集合Si中與
其自身相關(guān)的葉節(jié)點(diǎn)。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的另一方面,提供了終端單元,
包括密鑰生成部分,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰。 由終端單元參照的所述有向圖通過(guò)如下步驟獲得配置由向其分配了編 號(hào)l到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié) 點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中i^j,將集合(i—j)
定義為(W, {i,i+l},...,{i,i+l,...,j-l,j}},而將集合(i—j)定義為(W,化 j-l}, ..., {j,j-l, ...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多 個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位 于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含
度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸, 所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì) 于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中 間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合 (1 v+1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水平坐標(biāo) 軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右 側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn),通過(guò)設(shè)置 給定整數(shù)k,計(jì)算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i二0 到x-l,通過(guò)連接具有長(zhǎng)度i/k的一條或多條右向有向邊來(lái)形成具有位于第一 和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度n'/k 的一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐 標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除具有位 于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo) 軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-1 )有關(guān)的臨時(shí) 有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo) 點(diǎn)的頭部的有向邊添加到與集合(1—n-l)相關(guān)的臨時(shí)有向圖,來(lái)生成與集合 (1—n)有關(guān)的臨時(shí)有向圖;在由連續(xù)有向邊形成的有向路徑之中,確定具有組 成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的 有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊 替換組成每個(gè)有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
終端單元可以進(jìn)一步包括解密部分,用以使用集合密鑰來(lái)解密經(jīng)加密的 內(nèi)容或經(jīng)加密的內(nèi)容密鑰。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點(diǎn)s的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2........ Sk
的中間密鑰t(S)、t(S2)........ t(Sk)。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
解密部分通過(guò)使用所述集合密鑰來(lái)解密經(jīng)加密的內(nèi)容密鑰,并使用經(jīng)解 密的內(nèi)容密鑰來(lái)解密經(jīng)加密的內(nèi)容。
終端單元進(jìn)一步包括判定部分,基于所接收到的信息來(lái)判定所述終端單 元是否屬于子集Sl到Sm中的任意一個(gè),并基于判定結(jié)果來(lái)判定是否允許經(jīng) 加密的內(nèi)容的解密,其中將樹(shù)的葉節(jié)點(diǎn)1到n的子集定義為Si,以及當(dāng)確定 了允許解密通過(guò)使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容的終端單元 的集合(NX R)時(shí),確定滿足集合(NX R)= SlUS2U…USm的m個(gè)子集Sl到Sm, 并接收指示集合(NYR)的信息或指示組成集合(NXR)的子集Sl到Sm的信 自、
當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個(gè)時(shí),解密部分通過(guò) 使用與所述終端單元所屬的子集對(duì)應(yīng)的集合密鑰來(lái)解密內(nèi)容或內(nèi)容密鑰。
30進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了信息處理 方法,包括有向圖獲取步驟,在由多條有向邊組成的臨時(shí)有向圖中,獲取 通過(guò)以更短的有向邊替換組成所述臨時(shí)有向圖的至少一條有向邊而生成的有
向圖;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成 用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了信息處理 方法,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié) 點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中在
位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于 左端的葉節(jié)點(diǎn)的編號(hào)定義為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)定義為 rv,對(duì)于自然數(shù)i和j,其中Sj,假設(shè)將集合(i—j)表示為(W, {i,i+l},
…,j-l, j}},而將集合(i—j)表示為{{j}, {j, j-l},…,{j, i+1, i ,設(shè)
置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集
合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐 標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān), 并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的 方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平 坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合 (lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè) 中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(iv+l—rv)中包括的子集相關(guān)的、且以 包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理方 法包括有向圖獲取步驟,獲取通過(guò)以更短的有向邊替換組成臨時(shí)有向圖的 至少一個(gè)有向邊而生成的有向圖,所述臨時(shí)有向圖是根據(jù)對(duì)于給定整數(shù)k滿 足n(x-1)/k<(rv-lv+l)^nx/k的自然數(shù)x,通過(guò)在第 一到第四水平坐標(biāo)軸上排列具有 長(zhǎng)度n改的多條有向邊而形成的,其中i二O, 1,……,x-1;以及密鑰生成步 驟,基于由所述有向圖獲取步驟獲取的有向圖,生成用于加密或解密內(nèi)容或 內(nèi)容密鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了信息處理 單元,包括樹(shù)結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié) 點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中iSj,通過(guò)將集合(i—j)定義為Ui), {i, i+l}, ...,j-l,j}},而將集合(i—j)定義為(W, {j,j-l},…,(j,j-l,…,
i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)V或某個(gè)根節(jié)點(diǎn)V之下的多個(gè)葉節(jié)點(diǎn)之中,將
分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的 編號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含 度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸, 所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì) 于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中 間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合 (lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水平坐標(biāo) 軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右 側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn);臨時(shí)有向 圖生成步驟通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足r/x"V、(rv-lv+l)^^的整數(shù)x, 以及對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度n'A的一條或多條右向有向 邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路 徑,通過(guò)連接具有長(zhǎng)度n"k的一條或多條左向有向邊來(lái)形成具有位于第二和第 四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo) 軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從
到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊 之外的有向邊,來(lái)生成分別與集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集
合(lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí) 有向圖,來(lái)生成與集合(1—n)有關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定步驟,在 由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大
數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成步驟,通過(guò)以每個(gè)有向路徑的有向邊 的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊來(lái)生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明再一方面,提供了密鑰生成方
法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
用于密鑰生成方法的所述有向圖通過(guò)如下步驟獲得配置由向其分配了 編號(hào)l到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間 節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中i^j,將集合(i—j) 定義為(W, {i,i+l},...,{i,i+l, ...,j-l,j}},而將集合(i—j)定義為(W, {j, j-l}, ..., {j,j-l, ...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多 個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位 于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含
所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì) 于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中 間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合 (lv+l —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水平坐標(biāo) 軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右 側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn);通過(guò)設(shè)置 給定整數(shù)k,計(jì)算滿足n"-,〈(rv-lv+l)^/k的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i, 到x-l,通過(guò)連接具有長(zhǎng)度r^的一條或多條右向有向邊來(lái)形成具有位于第一 和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k 的 一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐
33標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除具有位 于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第 一到第四水平坐標(biāo) 軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分
別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-1 )有關(guān)的臨時(shí) 有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo) 點(diǎn)的頭部的有向邊添加到與集合(1 一n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合 (1—n)有關(guān)的臨時(shí)有向圖;在由連續(xù)有向邊形成的有向路徑之中,確定具有組 成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的 有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊 替換組成每個(gè)有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了一種程序, 使得計(jì)算機(jī)執(zhí)行如下功能樹(shù)結(jié)構(gòu)設(shè)置功能配置由向其分配了編號(hào)1到n 的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的 二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中iS,通過(guò)將集合(i—j)定義 為{{i}, {i, i+l}, ...,{i, i+1,…,j-l,JU,而將集合(i—j)定義為(W, {j, j-1},…,{j, j-l, ...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之 中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉 節(jié)點(diǎn)的編號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置功能設(shè)置第一水平坐標(biāo)軸,所述第一水 平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且 以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平 坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包 括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐 標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸 與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、 且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第 四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別 與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第 一到第四水 平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo) 點(diǎn)的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn);臨
時(shí)有向圖生成功能通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n ,〈(rv-lv+l)^/k的整 數(shù)x,以及對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度n'A的一條或多條右 向有向邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有 向路徑,通過(guò)連接具有長(zhǎng)度nl/k的一條或多條左向有向邊來(lái)形成具有位于第二 和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平
坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以 及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有 向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv) 和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第 一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)有關(guān)的 臨時(shí)有向圖,來(lái)生成與集合(1 —n)有關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定功能, 在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最 大數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成功能,通過(guò)以每個(gè)有向路徑的有向 邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換 組成每個(gè)有向路徑的有向邊來(lái)生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了一種程序, 使得計(jì)算機(jī)執(zhí)行以下功能密鑰生成功能,基于由所述有向圖獲取步驟獲取 的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
根據(jù)所述程序的有向圖通過(guò)如下步驟獲得配置由向其分配了編號(hào)1到 n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的 二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中i^j,將集合(i—j)定義為Ui〉, (i, i+l}, ...,{i, i+l,…,j-l,川,而將集合(i—j)定義為UJ〉, {j,j-l},…,…, i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將 分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第 一到第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn);通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i=0到x-l,通過(guò)連接具有長(zhǎng)度!/k的一條或多條右向有向邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度n改的一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,通過(guò)將具有長(zhǎng)度1的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1 —n)有關(guān)的臨時(shí)有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,
以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的
36計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提供了信息處理單元,包括有向圖獲取部分,在由多條有向邊組成的臨時(shí)有向圖中,獲取通過(guò)在組成所述臨時(shí)有向圖的多條有向邊之中保留較長(zhǎng)的有向邊而以更短的有向邊替換留下的至少一條有向邊而生成的有向圖;以及密鑰生成部分,基于由所述有向圖獲取部分獲取的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提供了一種信息
處理單元,用以根據(jù)對(duì)于給定整數(shù)k滿足^x-,〈(rv-lv+l)^iXA的自然數(shù)x,處理通過(guò)在第 一和第四水平坐標(biāo)軸上排列具有長(zhǎng)度nl/k的多條有向邊而形成的有向圖,其中i二O, 1,……,x-l,在由向其分配了編號(hào)l到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右
端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv,對(duì)于自然數(shù)i和j,其中iSj,將集合(i—j)定義為(W, {i, i+l}, .."{i, i+1,…,j-l, j}},而將集合(i—j)定義為UJh {j, j-l},…,{j,j-l, ...,i+l,i}};設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理單元包括臨時(shí)有向圖獲取部分,獲取臨時(shí)有向圖;有向圖生成部分,通過(guò)在組成由所述臨時(shí)有向圖獲取部分獲取的所述臨時(shí)有向圖的多條有向邊之中保留較長(zhǎng)的有向邊來(lái)生成有向圖;最長(zhǎng)有向路徑確定部分,在組成所述有向圖的多條有向邊之中,確定連續(xù)有向邊的最大數(shù)量;有向邊替換部分,通過(guò)以更短的有向邊替換組成所述有向圖的至少一條有向邊來(lái)重建所述有向圖,以便不超過(guò)連續(xù)有向邊的最大數(shù)量,以及密鑰生成部分,基于由所述有向邊替換部分重建的所述有向圖,生成用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提供了信息處理
單元,包括樹(shù)結(jié)構(gòu)設(shè)置部分,配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中Sj,通過(guò)將集合(i—j)定義為Ui), {i,
i+i},…,(i, i+i,…,j-i,j",而將集合(i—j)定義為(W, {j,j-i},…,…,
i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編
號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn)放置在所述第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè);臨時(shí)有向圖生成部分,用以通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足r^x-,〈(rv-lv+l)^^的整數(shù)x,以及對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度i/k的一條或多條右向有向邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度n流的一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每
個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸上第 一臨時(shí)坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)相關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1—n)相關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定部分,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的
最大數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成部分,通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每一條有向路徑的有向邊來(lái)生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
在與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖之中,最長(zhǎng)有向路徑確定部分可以關(guān)于不包括最長(zhǎng)有向路徑的各個(gè)臨時(shí)有向圖,確定在每個(gè)臨時(shí)有向圖中的最長(zhǎng)有向路徑。進(jìn)一步,在對(duì)于各個(gè)臨時(shí)有向圖的每個(gè)臨時(shí)有向圖中,有向圖生成部分可以通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
信息處理單元可以進(jìn)一步包括密鑰生成部分,基于有向圖生成用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入,所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2.......、 Sk
的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
信息處理單元可以進(jìn)一步包括加密部分,用以使用所述集合密鑰來(lái)加密內(nèi)容或內(nèi)容密鑰。
信息處理單元可以進(jìn)一步包括傳送部分,用以向分別與組成給定二叉樹(shù)的葉節(jié)點(diǎn)1到n中的一些或全部相關(guān)的終端單元傳送由所述加密部分加密的
39內(nèi)容或內(nèi)容密鑰,其中n是自然數(shù)。有向圖獲取部分可以獲取以將」
個(gè)有向路徑的端點(diǎn)而放置的方式替換有向邊的有向圖。
信息處理單元可以進(jìn)一步包括子集確定部分,用以通過(guò)將葉節(jié)點(diǎn)1到n的子集定義為Si,確定允許解密通過(guò)使用集合密鑰或內(nèi)容密鑰而加密的內(nèi)容的終端單元的集合(N \ R),并確定滿足集合(N \ R)= S1US2U...USm的m個(gè)子集Sl到Sm,以便最小化m。
信息處理單元可以進(jìn)一步包括傳送部分,用以向所述終端單元傳送指示集合(N乂R)的信息或指示組成集合(N乂R)的子集Sl到Sm的信息。
信息處理單元可以進(jìn)一步包括解密部分,用以通過(guò)使用所述集合密鑰來(lái)解密內(nèi)容或內(nèi)容密鑰。
信息處理單元可以進(jìn)一步包括接收部分,其與組成給定二叉樹(shù)的一個(gè)或多個(gè)葉節(jié)點(diǎn)1到n (n是自然數(shù))相關(guān),用以接收通過(guò)使用所述集合密鑰而加密的內(nèi)容或內(nèi)容密鑰。
由所述接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由 一個(gè)或多個(gè)信息處理單元來(lái)解密,所述一個(gè)或多個(gè)信息處理單元與作為集合S的元素的葉節(jié)點(diǎn)相關(guān),所述集合S包括在定義為葉節(jié)點(diǎn)1到n的子集的集合Si中與其自身相關(guān)的葉節(jié)點(diǎn)。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的另一方面,提供了終端單元,包括密鑰生成部分,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰。其中所述有向圖通過(guò)如下步驟而獲得配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中Sj,將集合(i—j)定義為(W, (i,
i+l},…,(i, i+l,…,j-l,JU,而將集合(i—j)定義為UJ〉, (i,j-i},…,…,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn)第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)V相關(guān),并且具有分
別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排
列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與
某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(>+1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);將位于第 一水平坐標(biāo)軸的右端
的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn)放置在第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè),通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度n"k的一條或多條右向有向邊
來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(l—n)有關(guān)的臨時(shí)有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入,所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2........ Sk
的中間密鑰t(Sl)、 t(S2)、 ....... t(Sk)。
響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的
坐標(biāo)點(diǎn)S1、 S2、 ....... Sk的集合密鑰k(Sl)、 k(S2).......、 k(Sk)。
終端單元可以進(jìn)一步包括解密部分,用以使用所述集合密鑰來(lái)解密經(jīng)加 密的內(nèi)容密鑰,并使用經(jīng)解密的內(nèi)容密鑰來(lái)解密經(jīng)加密的內(nèi)容。
終端單元可以進(jìn)一步包括判定部分,用以基于所接收到的信息來(lái)判定所 述終端單元是否屬于子集Sl到Sm中的任意一個(gè),并基于判定結(jié)果來(lái)判定是 否允許經(jīng)加密的內(nèi)容的解密,其中將樹(shù)的葉節(jié)點(diǎn)1到n的子集定義為Si,以 及當(dāng)確定了允許解密通過(guò)使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容的 終端單元的集合(T"AR)時(shí),確定滿足集合(NXR)二SlUS2U…USm的m個(gè)子集 Sl到Sm,并接收指示集合(N乂R)的信息或指示組成集合(N乂R)的子集Sl到 Sm的信息。當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個(gè)時(shí),所述 解密部分使用與所述終端單元所屬的子集對(duì)應(yīng)的集合密鑰來(lái)解密所述內(nèi)容或 內(nèi)容密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的另一方面,提供了信息處理 方法,包括有向圖獲取步驟,在由多條有向邊組成的臨時(shí)有向圖中,獲取 通過(guò)在組成所述臨時(shí)有向圖的多條有向邊之中保留較長(zhǎng)的有向邊而以更短的 有向邊替換留下的至少一條有向邊而生成的有向圖;以及密鑰生成步驟,基 于由所述有向圖獲取步驟獲取的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密 鑰的集合密鑰。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的另一方面,提供了信息處理 方法,用以根據(jù)對(duì)于給定整數(shù)k滿足i^-,〈(rv-lv+l)^/k的自然數(shù)x,處理通 過(guò)在第 一和第四水平坐標(biāo)軸上排列具有長(zhǎng)度ni/k的多條有向邊而形成的有向 圖,其中1=0, 1,……,x-l,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n 是自然數(shù),并且其中在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié) 點(diǎn)中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的 葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv,對(duì)于自然數(shù)i和j,其中將集合(i—_])定義為{{1}, {i, i+l}, i+l,…,j-l, j}},而將集合(i—j)定義為(W, {j, j-1},…,{j, j-l,…,
i+l,i}};設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具 有分別與集合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從
右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),
設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具 有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方 式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平 坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所 述信息處理方法包括臨時(shí)有向圖獲取步驟,獲取臨時(shí)有向圖;有向圖生成 步驟,通過(guò)在組成由所述臨時(shí)有向圖獲取步驟獲取的所述臨時(shí)有向圖的多條 有向邊之中保留較長(zhǎng)的有向邊來(lái)生成有向圖;最長(zhǎng)有向路徑確定步驟,在組 成所述有向圖的多條有向邊之中,確定連續(xù)有向邊的最大數(shù)量;有向邊替換 步驟,通過(guò)以更短的有向邊替換組成所述有向圖的至少一條有向邊來(lái)重建所 述有向圖,以便不超過(guò)連續(xù)有向邊的最大數(shù)量,以及密鑰生成步驟,基于由 所述有向邊替換步驟重建的所述有向圖,生成用于加密內(nèi)容或內(nèi)容密鑰的集 合密鑰。
進(jìn)一步,為了解決以上問(wèn)難,根據(jù)本發(fā)明的再一方面,提供了信息處理 方法,包括樹(shù)結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號(hào)1到n (n是自然數(shù)) 的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的 二叉樹(shù),并且對(duì)于自然數(shù)i和j,其中通過(guò)將集合(i—j)定義為Ui), {i, i+l}, ...,{i,i+l, ...,j-l,j}},而將集合(i—j)定義為(W, {j,j-l},…,(j,j-l,…, i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將 分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的 編號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含
所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì) 于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中 間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+1—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的 右端的坐標(biāo)點(diǎn)的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左 側(cè),以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并
將第二臨時(shí)坐標(biāo)點(diǎn)放置在第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè);臨時(shí)有向圖生成步驟通
過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足i^-"、(rv-lv+l)^^k的整數(shù)x,以及對(duì)于每個(gè)整
數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度n^的一條或多條右向有向邊來(lái)形成具有位
于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有
長(zhǎng)度ni/k的一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐標(biāo)軸的
最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排 除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一到第四
水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有向邊, 來(lái)生成分別與集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有 關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸上第 一臨時(shí)坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時(shí)有向圖,來(lái)生 成與集合(1—n)有關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定步驟,在由連續(xù)有向邊 形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的最大數(shù)量的最 長(zhǎng)有向路徑;以及有向圖生成步驟,通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超 過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向 路徑的有向邊來(lái)生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了密鑰生成 方法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集 合密鑰。所述有向圖通過(guò)如下步驟而獲得配置由向其分配了編號(hào)1到n的、 n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉 樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中Sj,將集合(i—j)定義為UQ, {i,
i+l},…,(i, i+1,…,j-l, j}},而將集合(iH)定義為(W, {J, J-",…,{J, J-〗,…, i+1, i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的
編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān), 并且具有分別與集合(l —n)中包括的子集相關(guān)的、且以包含度從左至右增大的 方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐 標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包 含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間 節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第 四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括 的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo) 點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);將位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn)放置 在第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè),通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足r^-,〈(rv-lv+l)^/k 的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i=0到x-l,通過(guò)連接具有長(zhǎng)度n"k的一條或多 條右向有向邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部
的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位于 第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四 水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊, 以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng) 有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv) 和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,通過(guò)將具有長(zhǎng)度l的、具有位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時(shí) 有向圖,來(lái)生成與集合(1—n)有關(guān)的臨時(shí)有向圖,在由連續(xù)有向邊形成的有向 路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以 及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的 方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了一種程序,
使計(jì)算機(jī)執(zhí)行如下功能樹(shù)結(jié)構(gòu)設(shè)置功能配置由向其分配了編號(hào)1到n的、 n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉 樹(shù),其中n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中i^j,通過(guò)將集合(i—j)定
義為(W, {i, i+i}, ...,{i, i+i, ...,j-i,j}},而將集合(iH)定義為U", {j,j-i},…,
(j,j-l, ...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn) 之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的 葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置功能設(shè)置第一水平坐標(biāo)軸,所述第一 水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、 且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水 平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n) 中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上 的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐 標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相 關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及 設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具 有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方 式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平 坐標(biāo)軸的右端的坐標(biāo),存、的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo) 點(diǎn)的左側(cè),以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo) 點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn)放置在第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè);臨時(shí)有向圖生成功 能通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n^,〈(rv-lv+l)^i流的整數(shù)x,以及對(duì)于 每個(gè)整數(shù)i=0到x-l,通過(guò)連接具有長(zhǎng)度n^的一條或多條右向有向邊來(lái)形成 具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連 接具有長(zhǎng)度ni/k的一條或多條左向有向邊來(lái)形成具有位于第二和第四水平坐 標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每 個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一 到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)有向邊之外的有
向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸上第一臨時(shí)坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時(shí)
有向圖,來(lái)生成與集合(1—n)有關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定功能,在 由連續(xù)有向邊形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的 最大數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成功能,通過(guò)每個(gè)有向路徑的有向 邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換 組成每個(gè)有向路徑的有向邊來(lái)生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
進(jìn)一步,為了解決以上問(wèn)題,根據(jù)本發(fā)明的再一方面,提供了一種程序, 使得計(jì)算機(jī)執(zhí)行密鑰生成功能,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的 集合密鑰。所述有向圖通過(guò)以下步驟而獲得配置由向其分配了編號(hào)1到n 的、n個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的 二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中將集合(i—j)定義為Ui〉, {i, i+l},…,(i, i+l,…,j-l,j}},而將集合(i—j)定義為(W, {j, j-l},…,…, i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將 分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的
編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān), 并且具有分別與集合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的
方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐 標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包 含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間 節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第 四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括 的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo) 點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);將位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn)放置在第 一臨時(shí)坐標(biāo)點(diǎn)的右側(cè),通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n^V、(rv-lv+l)^^k 的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i二O到x-l,通過(guò)連接具有長(zhǎng)度n"k的一條或多
條右向有向邊來(lái)形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部 的有向路徑,通過(guò)連接具有長(zhǎng)度n1/k的 一條或多條左向有向邊來(lái)形成具有位于 第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四 水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊, 以及從到達(dá)第 一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了最長(zhǎng)
有向邊之外的有向邊,來(lái)生成分別與集合(1 —n-1)、集合(2—n)、集合0+1 —rv) 和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,通過(guò)將具有長(zhǎng)度l的、具有位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時(shí) 有向圖,來(lái)生成與集合(1—n)有關(guān)的臨時(shí)有向圖,在由連續(xù)有向邊形成的有向 路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以 及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的 方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時(shí),在不增大對(duì)于每個(gè)用戶(終端單元)來(lái)說(shuō)用以生成解密密鑰所需的 計(jì)算量的最差值的情況下,能夠減少要由每個(gè)用戶保存的密鑰的數(shù)量。
因此,通過(guò)應(yīng)用以上技術(shù),可以提供新的、改進(jìn)的信息處理單元、終端 單元、信息處理方法、密鑰生成方法和程序,其能夠在接收者端減少要由終 端單元保存的密鑰數(shù)量,并且能夠減少用于導(dǎo)出加密密鑰所需的計(jì)算量。
本發(fā)明的優(yōu)點(diǎn)
如在上文中所述,根據(jù)本發(fā)明,可以在接收者端減少要由終端單元保存 的密鑰數(shù)量。
圖1是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的加密密鑰分發(fā)系統(tǒng)的說(shuō)明圖; 圖2是示出了根據(jù)所述實(shí)施例的密鑰分發(fā)服務(wù)器和接收器的配置的框
圖3是示出了根據(jù)基本方案的二叉樹(shù)結(jié)構(gòu)的說(shuō)明圖; 圖4是示出了根據(jù)基本方案的有向圖的說(shuō)明圖;圖5是示出了根據(jù)基本方案的有向圖計(jì)算方法的流程圖; 圖6是示出了根據(jù)基本方案的中間密鑰分發(fā)方法的流程圖; 圖7是示出了根據(jù)基本方案的集合密鑰生成方法的流程圖; 圖8是示出了根據(jù)本發(fā)明的第一實(shí)施例的密鑰分發(fā)服務(wù)器和終端單元的 配置的框圖9是示出了根據(jù)所述實(shí)施例的有向圖生成方法的基本構(gòu)思的說(shuō)明圖; 圖IO是示出了根據(jù)所述實(shí)施例的有向圖生成方法的流程圖; 圖ll是示出了根據(jù)所述實(shí)施例的(臨時(shí))有向圖生成方法的流程圖; 圖12是示出了根據(jù)所迷實(shí)施例的有向圖生成方法(LP確定)的流程圖; 圖13是示出了根據(jù)所述實(shí)施例的有向圖生成方法(PLP確定)的流程圖; 圖14是示出了根據(jù)所述實(shí)施例的有向圖生成方法的流程圖; 圖15是示出了根據(jù)所述實(shí)施例的有向圖的一個(gè)示例(k=6)的說(shuō)明圖; 圖16是示出了根據(jù)基本方案的有向圖的一個(gè)示例(k=3)的說(shuō)明圖; 圖17是示出了根據(jù)所迷實(shí)施例的有向圖的一個(gè)示例(k=3)的說(shuō)明圖; 圖18是示出了基本方案與根據(jù)所述實(shí)施例的密鑰分發(fā)方案之間的比較 的比4支表;
圖19是示出了根據(jù)本發(fā)明的第二實(shí)施例的信息處理單元和終端單元的 配置的框圖20是示出了根據(jù)所述實(shí)施例的臨時(shí)有向圖生成方法的流程圖21是示出了根據(jù)所述實(shí)施例的臨時(shí)有向圖的一個(gè)示例(k=6)的說(shuō)明
圖22是示出了根據(jù)所述實(shí)施例的有向圖生成方法的概要的流程圖; 圖23是示出了根據(jù)所述實(shí)施例的有向圖生成方法(LP確定)的流程圖; 圖24是示出了根據(jù)所述實(shí)施例的有向圖生成方法(PLP確定)的流程圖; 圖25是示出了根據(jù)所述實(shí)施例的有向圖生成方法的流程圖; 圖26是示出了根據(jù)所述實(shí)施例的有向圖的一個(gè)示例(k=6)的說(shuō)明圖; 圖27是示出了基本方案與根據(jù)所述實(shí)施例的密鑰分發(fā)方案之間的比較 的比一支表;
圖28是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的加密密鑰分發(fā)系統(tǒng)的一個(gè)應(yīng) 用的i兌明圖;以及
圖29是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的加密密鑰分發(fā)系統(tǒng)的一個(gè)應(yīng)用的說(shuō)明圖。
附虔l標(biāo)記說(shuō)明
100加密密鑰分發(fā)系統(tǒng)
102密鑰分發(fā)服務(wù)器
104樹(shù)結(jié)構(gòu)設(shè)置部分
106坐標(biāo)軸設(shè)置部分
108臨時(shí)有向圖生成部分
110有向圖生成部分
112初始中間密鑰設(shè)置部分
114密鑰生成部分
116加密部分
118傳送部分
120子集確定部分
122終端單元
124才妾收部分
126判定部分
128密鑰生成部分
130解密部分
202控制器
204處理單元
206輸入/輸出接口
208安全存儲(chǔ)部分
210主存儲(chǔ)部分
212網(wǎng)絡(luò)接口
216々某體接口
218信息媒體
152密鑰分發(fā)服務(wù)器
154樹(shù)結(jié)構(gòu)設(shè)置部分
156坐標(biāo)軸設(shè)置部分
158臨時(shí)有向圖生成部分160有向圖生成部分
162初始中間密鑰設(shè)置部分
164密鑰生成部分
166加密部分
168傳送部分
170子集確定部分
172終端單元
174 4妻收部分
176判定部分
178密鑰生成部分
180解密部分
具體實(shí)施例方式
在下文中,將參照附圖詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。注意,在該說(shuō)明 書(shū)和附圖中,具有基本上相同功能和配置的元件以相同的附圖標(biāo)記來(lái)表示, 并省略其重復(fù)的說(shuō)明。盡管為了描述的目的在一些部分中以正常字體書(shū)寫(xiě)下 標(biāo),但是它表示相同的東西。例如,注意,BTR和BTR表示相同的東西。
<第一實(shí)施例〉
在下文中,描述根據(jù)本發(fā)明的第一實(shí)施例的加密密鑰分發(fā)系統(tǒng)100的配 置。圖1是示出了根據(jù)所述實(shí)施例的加密密鑰分發(fā)系統(tǒng)100的配置的說(shuō)明圖。
參照?qǐng)D1,加密密鑰分發(fā)系統(tǒng)100包括密鑰分發(fā)服務(wù)器102,被配置為 根據(jù)所述實(shí)施例的信息處理單元的示例;多個(gè)終端單元122,其分別由多個(gè) 用戶所有;以及網(wǎng)絡(luò),其將密鑰分發(fā)服務(wù)器102與終端單元122進(jìn)行連接。
上述網(wǎng)絡(luò)是連接密鑰分發(fā)服務(wù)器102與終端單元122以便允許雙路通信 或單路通信的通信網(wǎng)絡(luò)。由諸如因特網(wǎng)、電話線網(wǎng)絡(luò)、衛(wèi)星通信網(wǎng)和廣播信 道之類的公共網(wǎng)絡(luò)、諸如WAN (廣域網(wǎng),Wide Area Network )、 LAN (局域 網(wǎng),Local Area Network )、 IP-VPN (網(wǎng)際協(xié)議虛擬專用通信網(wǎng),Internet
Protocol-Virtual Private Network)和無(wú)線LAN之類的專線通信網(wǎng)等配置該網(wǎng) 絡(luò),例如有線或無(wú)線。
由具有服務(wù)器功能的計(jì)算機(jī)單元等配置密鑰分發(fā)服務(wù)器102,并且可以通過(guò)網(wǎng)絡(luò)向外部單元傳送各種信息。例如,密鑰分發(fā)服務(wù)器102可以以廣播 加密方案生成加密密鑰,并向終端單元122分發(fā)加密密鑰。進(jìn)一步,根據(jù)本
實(shí)施例的密鑰分發(fā)服務(wù)器102配備有作為提供內(nèi)容分發(fā)服務(wù)(如視頻分發(fā)服
務(wù)和電子音樂(lè)分發(fā)服務(wù))的內(nèi)容分發(fā)服務(wù)器的功能,并且它可以向終端單元
122分發(fā)內(nèi)容。當(dāng)然,密鑰分發(fā)服務(wù)器102和內(nèi)容分發(fā)服務(wù)器可以被配置為 分離的單元。
例如,所述內(nèi)容可以是諸如由運(yùn)動(dòng)圖像或靜止圖像集合成的視頻內(nèi)容(如 視頻、電視節(jié)目、視頻節(jié)目和圖表)、音頻內(nèi)容(如音樂(lè)、講座和電臺(tái)節(jié)目)、 游戲內(nèi)容、文檔內(nèi)容、軟件之類的任何內(nèi)容數(shù)據(jù)。視頻內(nèi)容不僅可以包含視 頻數(shù)據(jù),還可以包含音頻數(shù)據(jù)。
終端單元122是能夠通過(guò)網(wǎng)絡(luò)與外部單元進(jìn)行數(shù)據(jù)通信的密鑰分發(fā)服務(wù) 器,并且其由每個(gè)用戶所有。盡管由諸如圖中所示的個(gè)人計(jì)算機(jī)(在下文中 稱為"PC,,)之類的計(jì)算機(jī)單元(筆記本型或臺(tái)式)來(lái)配置終端單元122,但 是其不限于此,并且可以由諸如PDA (個(gè)人數(shù)字助理)、家用視頻游戲機(jī)、 DVD/HDD記錄器和電視機(jī)之類的家用信息設(shè)備、電視廣播調(diào)諧器或解碼器 等來(lái)配置終端單元122,只要它具有通過(guò)網(wǎng)絡(luò)的通信功能即可。進(jìn)一步,例 如,終端單元122可以是諸如便攜式視頻游戲機(jī)、蜂窩電話、便攜式視頻/音 頻播放器、PDA和PHS之類的、能夠由用戶攜帶的便攜式設(shè)備。
終端單元122可以從密鑰分發(fā)服務(wù)器102接收各種信息。例如,終端單 元122可以接收從密鑰分發(fā)服務(wù)器102分發(fā)的內(nèi)容。在內(nèi)容分發(fā)時(shí),密鑰分 發(fā)服務(wù)器102可以加密各種電子數(shù)據(jù),并將它們進(jìn)行分發(fā)。例如,密鑰分發(fā) 服務(wù)器102可以生成用于加密內(nèi)容的內(nèi)容密鑰,并將其進(jìn)行分發(fā)。例如,內(nèi) 容密鑰可以由偽隨機(jī)數(shù)發(fā)生器生成的隨機(jī)數(shù)(偽隨機(jī)數(shù))、給定字符串或序列 等來(lái)表示。通過(guò)使用內(nèi)容密鑰,密鑰分發(fā)服務(wù)器102可以通過(guò)給定加密邏輯 來(lái)加密內(nèi)容。進(jìn)一步,密鑰分發(fā)服務(wù)器102可以向任意終端單元122分發(fā)內(nèi) 容密鑰或與內(nèi)容密鑰對(duì)應(yīng)的解密密鑰。另一方面,終端單元122可以使用從 密鑰分發(fā)服務(wù)器102接收到的、內(nèi)容密鑰或與內(nèi)容密鑰對(duì)應(yīng)的解密密鑰來(lái)解 密經(jīng)加密的內(nèi)容。
用于生成內(nèi)容密鑰的偽隨機(jī)數(shù)發(fā)生器是能夠通過(guò)輸入給定的種子值 (seed value)而輸出長(zhǎng)間隔偽隨機(jī)數(shù)序列的單元或程序,并且通常使用諸如 線性同余方法或馬其賽特旋轉(zhuǎn)(Mersenne Twister)方法之類的邏輯來(lái)實(shí)現(xiàn)。
52可應(yīng)用于本實(shí)施例的偽隨機(jī)數(shù)發(fā)生器當(dāng)前不限于此,并且使用其他邏輯可以 生成偽隨機(jī)數(shù),或者它可以是能夠生成包含特殊信息或條件的偽隨機(jī)數(shù)序列 的單元或程序。
進(jìn)一步,根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102不僅加密內(nèi)容,還加密內(nèi) 容密鑰,并將其進(jìn)行分發(fā)。的確,加密并分發(fā)內(nèi)容確保了一定程度的安全級(jí)
戶(在下文中稱為"許可用戶")的加入和刪除,加密內(nèi)容密鑰并將其進(jìn)行分 發(fā)的方法是更有利的。在這種情況下,在該實(shí)施例中,密鑰分發(fā)服務(wù)器102 首先生成用于加密和解密內(nèi)容密鑰的多個(gè)集合密鑰。多個(gè)集合密鑰分別與從 大量用戶中提取出的許可用戶的多個(gè)子集相關(guān),如在后面所述的那樣。具體
地說(shuō),密鑰分發(fā)服務(wù)器102使用設(shè)置成只有許可用戶的集合才可以解密內(nèi)容 密鑰的集合密鑰來(lái)加密內(nèi)容密鑰,并向所有用戶的終端單元122分發(fā)經(jīng)加密 的內(nèi)容密鑰。在該配置中,僅許可用戶的終端單元122可以解密經(jīng)加密的內(nèi) 容密鑰,然后通過(guò)使用內(nèi)容密鑰來(lái)解密經(jīng)加密的內(nèi)容,由此使得內(nèi)容可視等。 在許可用戶的集合變化的情況下,密鑰分發(fā)服務(wù)器102通過(guò)改變要用于加密 內(nèi)容密鑰的集合密鑰可以處理所述改變。為了建立以上加密密鑰分發(fā)邏輯, 必須配置密鑰分發(fā)服務(wù)器102等,以便實(shí)現(xiàn)與集合密鑰的生成和分發(fā)相關(guān)的 算法。
在下文中,首先描述根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102和終端單元122 的配置的示例性硬件配置。其次,描述與根據(jù)本實(shí)施例的加密密鑰分發(fā)邏輯 有關(guān)的基本技術(shù)。第三,詳細(xì)描述根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102和終 端單元122的配置,并具體地描述與基本技術(shù)在配置和效果上的差別。最后, 描述根據(jù)本實(shí)施例的加密密鑰分發(fā)系統(tǒng)的應(yīng)用。
首先參照?qǐng)D2,在下文中描述根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102和終 端單元122的示例性硬件配置。圖2示出了能夠執(zhí)行根據(jù)本實(shí)施例的密鑰分 發(fā)服務(wù)器102和終端單元122的功能的硬件配置的示例。
例如,密鑰分發(fā)服務(wù)器102和終端單元122包括控制器202、處理單元 204、輸入/輸出接口 206、安全存儲(chǔ)部分208、主存儲(chǔ)部分210、網(wǎng)絡(luò)接口 212 和々某體接口 216。
(控制器202)控制器202通過(guò)總線連接到其他元件,并且它主要用以基于在主存儲(chǔ)部
分210中存儲(chǔ)的程序和數(shù)據(jù)來(lái)控制所述單元的每個(gè)部分??梢杂芍T如CPU(中 央處理單元)之類的處理單元來(lái)配置控制器202。 (處理單元204 (密鑰分發(fā)服務(wù)器102 ))
例如,密鑰分發(fā)服務(wù)器102中包括的處理單元204可以執(zhí)行內(nèi)容的加密、 內(nèi)容密鑰的加密、集合密鑰的生成和用于生成集合密鑰的中間密鑰的導(dǎo)出。 由此,處理單元204可以用作基于給定數(shù)據(jù)(種子值等)生成偽隨機(jī)數(shù)的偽 隨機(jī)數(shù)發(fā)生器,并且處理單元204還可以基于給定算法加密內(nèi)容或內(nèi)容密鑰。
進(jìn)一步,可以將給定信息存儲(chǔ)在主存儲(chǔ)部分210或安全存儲(chǔ)部分208中。處 理單元204可以在主存儲(chǔ)部分210或安全存儲(chǔ)部分208中記錄執(zhí)行以上處理 的輸出結(jié)果。可以由諸如CPU之類的處理單元來(lái)配置處理單元204,或者處 理單元204可以與上述控制器202整體地形成。 (處理單元204 (終端單元122 ))
另 一方面,例如,終端單元122中包括的處理單元204可以執(zhí)行內(nèi)容的 解密、內(nèi)容密鑰的解密、集合密鑰的生成和用于生成集合密鑰的中間密鑰的 生成。由此,處理單元204可以用作基于給定數(shù)據(jù)(種子值等)生成偽隨機(jī) 數(shù)的偽隨機(jī)數(shù)發(fā)生器,并且處理單元204還可以基于給定算法解密內(nèi)容或內(nèi) 容密鑰??梢詫⒔o定算法作為由處理單元204可讀的程序存儲(chǔ)在主存儲(chǔ)部分 210中。進(jìn)一步,可以將給定信息存儲(chǔ)在主存儲(chǔ)部分210或安全存儲(chǔ)部分208 中。處理單元204可以記錄在主存儲(chǔ)部分210或安全存儲(chǔ)部分208中l(wèi)丸行以 上處理的輸出結(jié)果??梢杂芍T如CPU之類的處理單元來(lái)配置處理單元204, 或者處理單元204可以與上述控制器202整體地形成。 (輸入/輸出接口 206)
輸入/輸出接口 206主要連接到用于用戶輸入信息的輸入設(shè)備和用以輸出 內(nèi)容的處理結(jié)果或描述的輸出設(shè)備。例如,輸入設(shè)備可以是鍵盤(pán)、鼠標(biāo)、軌 跡球、觸摸筆、鍵區(qū)、觸摸板等,并且它可以經(jīng)由有線或無(wú)線連接到輸入/輸 出接口 206。在一些情況下,輸入設(shè)備可以是經(jīng)由有線或無(wú)線連接的便攜式 電子設(shè)備(如蜂窩電話或PDA (個(gè)人數(shù)字助理))。另一方面,例如,輸出設(shè) 備可以是顯示單元(如顯示器)、音頻輸出設(shè)備(如揚(yáng)聲器)等,并且它可以 經(jīng)由有線或無(wú)線連接到輸入/輸出接口 206。輸入/輸出設(shè)備可以內(nèi)置在密鑰分發(fā)服務(wù)器102或終端單元122中或者與密鑰分發(fā)服務(wù)器102或終端單元]22 集成。
輸入/輸出接口 206通過(guò)總線連接到其他元件,并且它可以向主存儲(chǔ)部分 210等傳送經(jīng)由輸入/輸出接口 206輸入的信息。相反,輸入/輸出接口 206可 以向輸出設(shè)備輸出在主存儲(chǔ)部分210等中存儲(chǔ)的信息、經(jīng)由網(wǎng)絡(luò)接口 212等 輸入的信息或通過(guò)在處理單元204等中處理這些信息而獲得的結(jié)果。 (安全存儲(chǔ)部分208 )
安全存儲(chǔ)部分208主要安全地存儲(chǔ)隱藏所需的信息,如內(nèi)容密鑰、集合 密鑰和中間密鑰。例如,可以由磁存儲(chǔ)單元(如硬盤(pán))、光存儲(chǔ)單元(如光盤(pán))、 磁光存儲(chǔ)單元、半導(dǎo)體存儲(chǔ)單元等來(lái)配置安全存儲(chǔ)部分208。進(jìn)一步,例如, 可以由抗干擾(tamper-resistant)存儲(chǔ)單元來(lái)配置安全存儲(chǔ)部分208。 (主存儲(chǔ)部分210)
例如,主存儲(chǔ)部分210可以存儲(chǔ)用于控制其他元件的控制程序、用于加 密內(nèi)容、內(nèi)容密鑰等的加密程序、用于解密經(jīng)加密的內(nèi)容、內(nèi)容密鑰等的解 密程序、用于生成集合密鑰或中間密鑰的密鑰生成程序等。進(jìn)一步,主存儲(chǔ) 部分210可以臨時(shí)或永久地存儲(chǔ)從處理單元204輸出的計(jì)算結(jié)果或存儲(chǔ)從輸 入/輸出接口 206、網(wǎng)絡(luò)接口 212、媒體接口 216等輸入的信息。例如,可以 由磁存儲(chǔ)單元(如硬盤(pán))、光存儲(chǔ)單元(如光盤(pán))、磁光存儲(chǔ)單元、半導(dǎo)體存 儲(chǔ)單元等來(lái)配置主存儲(chǔ)部分210。進(jìn)一步,主存儲(chǔ)部分210可以與安全存儲(chǔ) 部分208整體地形成。 (網(wǎng)絡(luò)接口 212)
例如,網(wǎng)絡(luò)接口 212連接到網(wǎng)絡(luò)上的另一個(gè)通信單元等,并且例如,它 是用于傳送和接收諸如經(jīng)加密的內(nèi)容或內(nèi)容密鑰、集合密鑰和中間密鑰的信 息、與加密有關(guān)的參數(shù)信息和與許可用戶的集合有關(guān)的信息的接口裝置。網(wǎng) 絡(luò)接口 212通過(guò)總線連接到其他元件,并且它可以向其他元件傳送從網(wǎng)絡(luò)上信息。
(媒體接口 216)
媒體接口 216是用于通過(guò)可拆卸地連接信息媒體218來(lái)讀和寫(xiě)信息的接 口,并且它通過(guò)總線連接到其他元件。例如,媒體接口 216可以從所連接的 信息媒體218讀信息,并且將其傳送到其他元件,或者將從其他元件提供的
55信息寫(xiě)入信息媒體218。例如,信息媒體218可以是諸如光盤(pán)、磁盤(pán)和半導(dǎo) 體存儲(chǔ)器之類的便攜式存儲(chǔ)媒體(可拆卸存儲(chǔ)媒體)、在不通過(guò)網(wǎng)絡(luò)的情況下 在相對(duì)短的距離內(nèi)經(jīng)由有線或無(wú)線連接的信息終端的存儲(chǔ)媒體等。
在前文中,描述了能夠?qū)崿F(xiàn)根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102和終端 單元122的功能的硬件配置的示例。通過(guò)使用通用組件來(lái)配置以上元件中的 每個(gè),或者可以由專用于每個(gè)元件的功能的硬件來(lái)配置以上元件中的每個(gè)。 由此當(dāng)執(zhí)行本實(shí)施例時(shí),根據(jù)技術(shù)水平,可以合適地改變要使用的硬件配置。 進(jìn)一步,上述硬件配置僅為示例,當(dāng)然其不限于此。例如,可以由相同的處 理單元來(lái)配置控制器202和處理單元204,并且可以由相同的存儲(chǔ)單元來(lái)配 置安全存儲(chǔ)部分208和主存儲(chǔ)部分210。進(jìn)一步,視使用而定,取消媒體接 口 216、輸入/輸出接口 206等的配置是可行的。在下文中,詳細(xì)描述由具有 上述硬件配置的密鑰分發(fā)服務(wù)器102和終端單元122實(shí)現(xiàn)的加密密鑰分發(fā)方 案。
在提供根據(jù)本實(shí)施例的加密密鑰分發(fā)方案的詳細(xì)說(shuō)明之前,在下文中描 述形成用于實(shí)現(xiàn)本實(shí)施例的基礎(chǔ)的技術(shù)問(wèn)題。配置本實(shí)施例,以便通過(guò)向下 述基本技術(shù)添加改進(jìn)來(lái)獲得更多顯著的優(yōu)點(diǎn)。因此,與改進(jìn)有關(guān)的技術(shù)是本 實(shí)施例的特征。由此,要注意的是,盡管本實(shí)施例遵循在下文中所述的技術(shù) 問(wèn)題的基本構(gòu)思,但是本實(shí)施例的本質(zhì)被并入了改進(jìn)的部分,并且配置是明 顯不同的,而且還存在與基本技術(shù)在優(yōu)點(diǎn)上的明顯區(qū)別。
將在下文中描述的根據(jù)基本技術(shù)的加密密鑰分發(fā)方案稱為基本方案?;?本方案將要向其分發(fā)內(nèi)容的用戶的終端單元的集合劃分為多個(gè)子集,然后通 過(guò)分配到每一子集的集合密鑰來(lái)加密內(nèi)容密鑰,并將其進(jìn)行分發(fā)。基本方案 提供了用于解決關(guān)于要選擇哪一子集、如何生成集合密鑰和如何分發(fā)集合密 鑰以便減少用于加密密鑰分發(fā)的通信量、要由每個(gè)用戶保存的解密密鑰的數(shù) 量、每個(gè)用戶用以生成解密密鑰所需的計(jì)算量等問(wèn)題的一種手段。參照?qǐng)D3 到圖7,在下文中描述基本方案。 (樹(shù)結(jié)構(gòu)的設(shè)置)
在基本方案中,將作為內(nèi)容分發(fā)目標(biāo)的終端單元(用戶)的集合看作被 劃分為多個(gè)子集。參照?qǐng)D3,在下文中描述根據(jù)基本方案劃分子集的一種方 式。盡管劃分子集的方式當(dāng)前不止一種,但是在基本方案中采用利用二叉樹(shù)劃分子集的方式。示意性地,基本方案考慮節(jié)點(diǎn)之間的位置關(guān)系,向形成二 叉樹(shù)的每個(gè)節(jié)點(diǎn)分配一個(gè)給定子集,由此以給定組合廣泛地選擇用戶的子集, 如在下面詳細(xì)描述的那樣。通過(guò)圖3所示的二叉樹(shù)的示例將更清楚地理解這 種選擇方法的優(yōu)點(diǎn)。參照?qǐng)D3,在下文中描述構(gòu)建二叉樹(shù)的方法。 首先,將在以下的描述中使用的集合定義如下。
-所有終端單元(用戶)的集合N二U, 2, ......, n)(n是2的冪)
對(duì)于自然數(shù)i和j (Sj): -[i,j]={i, i+l,i+2,,_]} -(i—i)=(i—i)={{i}}
J)=Ui}, {i, i+l},...,{i, i+!,…,j" ={[i, i], [i, i+1], [i, i+2],.."[ij]}
(i—J)=UJ},{J,J-l},...,{J,J-l,...,i}} =0,j], LH,J], U-2,j], ...,[i,j]}
在下文中,將位于二叉樹(shù)(BT)的底部的節(jié)點(diǎn)稱為葉節(jié)點(diǎn),將位于頂部 的節(jié)點(diǎn)稱為根節(jié)點(diǎn),并且將在根節(jié)點(diǎn)和葉節(jié)點(diǎn)之間的節(jié)點(diǎn)稱為中間節(jié)點(diǎn)。葉 節(jié)點(diǎn)與各個(gè)終端單元對(duì)應(yīng)。進(jìn)一步,為了描述的方便,在下文中假設(shè)終端單 元和用戶處于——對(duì)應(yīng),并且在一些情況下由詞語(yǔ)"用戶"來(lái)表示與葉節(jié)點(diǎn) 相關(guān)的"終端單元"。圖3示出了 BT的葉節(jié)點(diǎn)的數(shù)量『64的示例。
首先,以葉節(jié)點(diǎn)的數(shù)量是n (=64)的方式創(chuàng)建BT。然后,從左至右向 各個(gè)葉節(jié)點(diǎn)分配編號(hào)l、 2........ n。
接著,定義用于調(diào)整(regulate)要分配給某個(gè)中間節(jié)點(diǎn)v的子集的索引 lv和rv。在位于某個(gè)中間節(jié)點(diǎn)v下方的葉節(jié)點(diǎn)之中,將分配給最左側(cè)葉節(jié)點(diǎn) 的編號(hào)定義為lv,而將分配給最右側(cè)葉節(jié)點(diǎn)的編號(hào)定義為rv。注意,v可以 是分配給各個(gè)中間節(jié)點(diǎn)的順序編號(hào)。由此,中間節(jié)點(diǎn)v指示具有索引v的BT 的中間節(jié)點(diǎn)。
然后,通過(guò)將BT的中間節(jié)點(diǎn)分類為兩集合來(lái)定義BT的中間節(jié)點(diǎn)。在 BT的中間節(jié)點(diǎn)之中,將位于父節(jié)點(diǎn)左側(cè)的中間節(jié)點(diǎn)的集合定義為BTL,而將 位于父節(jié)點(diǎn)右側(cè)的中間節(jié)點(diǎn)的集合定義為BTR。本文所指的父子關(guān)系指示在 BT上連接的節(jié)點(diǎn)的分層關(guān)系,并且它意味著父節(jié)點(diǎn)位于上層而子節(jié)點(diǎn)位于下 層的關(guān)系。
進(jìn)一步,與各個(gè)葉節(jié)點(diǎn)相關(guān)的用戶集合的子集與BT的根節(jié)點(diǎn)相關(guān)。首先,將集合(1—n)和集合(2—n)與根節(jié)點(diǎn)相關(guān)聯(lián)。由于所有葉節(jié)點(diǎn)均在根節(jié)點(diǎn)
的下層連接,因此由廣泛地或選擇性地包括那些葉節(jié)點(diǎn)的集合表示根節(jié)點(diǎn)。
具體地說(shuō),將集合(1—64)和集合(2—64)與圖3的根節(jié)點(diǎn)相關(guān)聯(lián)。例如,考慮
集合(1—64)。集合(1—64)包括子集[1, l]、 [1, 2]........ [1, 64]作為其元
素。例如,為了表示所有用戶(葉節(jié)點(diǎn)),可以使用子集[l, 64],并且其被 作為集合(1—64)的元素而包括。進(jìn)一步,為了表示除了具有編號(hào)16之外的所 有用戶,可以使用子集[l, 15]和[17, 64],并且其分別被作為集合(1—64)和 集合(2—64)的元素而包括。以這種方式,位于根節(jié)點(diǎn)的下層的葉節(jié)點(diǎn)(用戶) 的組合可以由相關(guān)聯(lián)的集合的子集表示。
然后,將用戶集合的子集與BT的中間節(jié)點(diǎn)相關(guān)聯(lián)。首先,將集合(lv+l—rv) 與屬于上述集合BTL的中間節(jié)點(diǎn)v相關(guān)聯(lián)。另一方面,將集合(lv—rv-l)與屬 于上述集合BTR的中間節(jié)點(diǎn)v相關(guān)聯(lián)。當(dāng)然,這些集合與BT的所有中間節(jié) 點(diǎn)v相關(guān)聯(lián)。參照?qǐng)D3,在各個(gè)中間節(jié)點(diǎn)附近來(lái)指示這些集合。例如,關(guān)于 與集合(2—4)相關(guān)聯(lián)的中間節(jié)點(diǎn),分別與集合(2—2)和集合(3—3)相關(guān)聯(lián)的兩 個(gè)中間節(jié)點(diǎn)存在于所述中間節(jié)點(diǎn)的下層,并且具有編號(hào)1到4的葉節(jié)點(diǎn)被進(jìn) 一步連接到其。當(dāng)表示除了具有編號(hào)3的一個(gè)之外的那些葉節(jié)點(diǎn)的組合時(shí), 可以由子集的群{[1, 1], [2, 2], [4, 4]}或{[1, 2], [4, 4]}來(lái)表示。雖然子 集[l, l]和[l, 2]是與根節(jié)點(diǎn)相關(guān)的集合(1—64)的元素時(shí),但子集[2, 2]和[4, 4]分別是集合(2—2)和集合(2—4)的元素。
以這種方式,基本方案通過(guò)使用二叉樹(shù)BT定義了用戶集合的子集。該
方法使得能夠以各種組合表示用戶的子集。將由那些子集組成的全集稱為集
合系統(tǒng)cD,并將其定義為下面的表達(dá)式(1 )。由此,下面的表達(dá)式(l)在
數(shù)學(xué)上表示由以上方法構(gòu)建的二叉樹(shù)。 [表達(dá)式1]
U(" + l—")u U(/v_>rv —)u("")u(2 — w)
ve肌 veS77 ( 1 )
在上文中描述了配置調(diào)整子集的二叉樹(shù)的方法?;痉桨傅幕緲?gòu)思是
對(duì)于各個(gè)子集設(shè)置用于加密內(nèi)容密鑰的集合密鑰,通過(guò)使用各個(gè)集合密鑰來(lái)
加密內(nèi)容密鑰,并將其分發(fā)到所有用戶。通過(guò)定義如上所述的子集,至少調(diào)
整了用于分類用戶的組合的一種方式。在下文中,描述通過(guò)使用這些子集來(lái)
58生成集合密鑰的算法。 (有向圖的生成)
在下文中參照?qǐng)D4描述生成表示用于生成集合密鑰的算法的有向圖的方 法。然而,在此之前,在下文中描述用于加密內(nèi)容密鑰的集合密鑰與用于生 成集合密鑰的中間密鑰之間的關(guān)系。
如在上面筒要地提到的那樣,基本方案使用生成集合密鑰的特定偽隨機(jī)
數(shù)發(fā)生器PRSG (偽隨機(jī)序列發(fā)生器)。當(dāng)輸入與某個(gè)子集SO對(duì)應(yīng)的中間密 鑰t(S0)時(shí),PRSG輸出與子集SO對(duì)應(yīng)的集合密鑰k (S0)以及與子集S1、
S2........ Sk(其與子集SO有關(guān))對(duì)應(yīng)的中間密鑰t(Sl)、 t(S2)........t(Sk)。
當(dāng)然,集合S0和S1、 S2........ Sk是構(gòu)成集合系統(tǒng)(D的任意子集。由此,
PRSG是密鑰生成單元。基本方案的特征是調(diào)整PRSG的輸入和輸出之間關(guān)
系的邏輯。在下文中描述調(diào)整集合S0和集合S1、 S2........ Sk之間關(guān)系的
有向圖。
將用于下面的描述的符號(hào)定義如下 -與子集Si對(duì)應(yīng)的中間密鑰t(Si) -與子集Si對(duì)應(yīng)的集合密鑰:k(Si) -內(nèi)容密鑰 mek
-偽隨機(jī)數(shù)發(fā)生器 PRSG
(注意,將t(SO)的輸入表示為PRSG(t(SO))。另一方面,將來(lái)自PRSG 的輸出表示為t(S 1 )| I... I |t(Sk)| |1((S0)—PRSG(t(SO))) -有向圖 H
(注意,將與集合(i—j)對(duì)應(yīng)的有向圖表示為H(i—j))
-有向邊 E
-有向路徑 p
首先,確定參數(shù)k(k是自然數(shù))。為了簡(jiǎn)化,假設(shè)在該示例中k|log(n) (在下文中,1og的底數(shù)是2)。由于參數(shù)k最終影響要由終端單元122保存 的中間密鑰的數(shù)量以及生成集合密鑰所需的計(jì)算量,因此必須根據(jù)情況合適 地設(shè)置參數(shù)k。在圖4中,例如,設(shè)置1(=6。
接著,在下文中描述繪制有向圖的特定方式。首先,作為圖示,描述與 屬于BTR的中間節(jié)點(diǎn)v對(duì)應(yīng)的有向圖H(lv—rv-l)。
(步驟1 )設(shè)置用于構(gòu)建有向圖H(lv—rv-l)的水平坐標(biāo)軸。在水平坐標(biāo)軸上,將形成集合(lv—rv-l)的元素的子集Si作為坐標(biāo)點(diǎn)分配。以包含度從左 至右變大的方式排列形成坐標(biāo)點(diǎn)的子集Si。例如,采用有向圖 H(5—7"H(([5,5],[5,6],[5,7]"作為示例,坐標(biāo)軸具有從左側(cè)順序地向其分配了 子集[5,5]、 [5,6]、 [5,7]的三個(gè)坐標(biāo)點(diǎn)。
如果在第一和第三水平坐標(biāo)軸上右向有向圖H的起點(diǎn)所位于的垂直線是 x,則有向圖H與垂直線y的交叉點(diǎn)表示[x,y],而如果在第二和第四水平坐標(biāo) 軸上左向有向圖H的起點(diǎn)所位于的垂直線是z,則有向圖H與垂直線y的交 叉點(diǎn)表示[y,z]。
此后,將用作起點(diǎn)的臨時(shí)坐標(biāo)點(diǎn)置于位于坐標(biāo)軸最左側(cè)的坐標(biāo)點(diǎn)的左側(cè), 并且將用作終點(diǎn)的臨時(shí)坐標(biāo)點(diǎn)置于位于坐標(biāo)軸最右側(cè)的坐標(biāo)點(diǎn)的右側(cè)。在以 這種方式設(shè)置的坐標(biāo)軸中,從左端的臨時(shí)坐標(biāo)點(diǎn)(起點(diǎn))到右端的臨時(shí)坐標(biāo) 點(diǎn)(終點(diǎn))的長(zhǎng)度Lv為L(zhǎng)v二rv-lv+l。
(步驟2)設(shè)置構(gòu)成有向圖H(lv—rv-l)的有向邊。 (S2-l )計(jì)算滿足n(x-,〈Lv^i流的整數(shù)x。整數(shù)x滿足lSx^k。 (S2-2 )通過(guò)從0到x-l改變計(jì)數(shù)i來(lái)執(zhí)行以下操作。從水平坐標(biāo)軸的左 端處的起點(diǎn)開(kāi)始,重復(fù)設(shè)置延伸到距離坐標(biāo)點(diǎn)n流的坐標(biāo)點(diǎn)的右向有向邊(跳 到距離坐標(biāo)點(diǎn)n"k的坐標(biāo)點(diǎn))直到有向邊的頭達(dá)到水平坐標(biāo)軸的右端的終點(diǎn)或 者下 一待設(shè)置的頭超過(guò)終點(diǎn)為止。
(步驟3 )刪除其尾或頭位于臨時(shí)坐標(biāo)點(diǎn)的所有有向邊。 (步驟4)如果存在達(dá)到某個(gè)坐標(biāo)點(diǎn)的多個(gè)有向邊,則僅留下最長(zhǎng)有向 邊,并刪除除了所述最長(zhǎng)有向邊之外的所有有向邊。
在執(zhí)行了以上步驟(步驟1 )到(步驟4)之后,完成了有向圖H(lv—rv-l)。 例如,參照位于作為示例的圖4的頂部起第三層上右側(cè)的有向圖H(33—63), 有向圖H(33—63)的實(shí)質(zhì)是由作為拱形曲線和連接到拱形曲線的一端并在水 平方向中延伸的直線的有向邊組成的一組線。進(jìn)一步,構(gòu)成有向圖H(33—63) 曲線和直線是有向邊。有向邊的一端與垂直線的交叉點(diǎn)是坐標(biāo)點(diǎn)。盡管在圖 4中沒(méi)有清楚地示出水平坐標(biāo)軸,但是水平坐標(biāo)軸由垂直線與有向邊的一端 之間的一組交叉點(diǎn)組成。進(jìn)一步,在有向圖H(33—63)上描繪了輪廓箭頭,并 且其指示有向邊的方向。具體地說(shuō),它表示構(gòu)成有向圖H(33—63)的所有有向 邊均為向右。
以與有向圖H(lv一rv-1 )相同的方式,設(shè)置與屬于BTL的中間節(jié)點(diǎn)v相關(guān)聯(lián)的有向圖H(lv+1—rv)和與根節(jié)點(diǎn)相關(guān)聯(lián)的有向圖H(l—n)和H(2—n)。注 意,當(dāng)設(shè)置有向圖H(lv+1—rv)和H(2—n)的坐標(biāo)軸時(shí),以包含度從右至左變 大的方式在水平坐標(biāo)軸上排列子集Si,并且有向邊的方向是向左。進(jìn)一步, 通過(guò)將有向邊E([l,n-l], [l,n])添加到有向圖H(l—n-l),生成有向圖H(l—n)。 另一方面,通過(guò)與有向圖H(lv+1—rv)相同的方法設(shè)置有向圖H(2—n)。
通過(guò)采用圖4的有向圖H(l—64)作為示例,在下文中提供附加說(shuō)明。首 先,在有向圖H(l—64)的水平坐標(biāo)軸中,最左側(cè)坐標(biāo)點(diǎn)(與垂直線1的交叉 點(diǎn))是[1,1]={1},在其右側(cè)附近的坐標(biāo)點(diǎn)(與垂直線2的交叉點(diǎn))是[1,2]={1,2}, 并且再在其右側(cè)附近的坐標(biāo)點(diǎn)是[1,3]={1,2,3}。進(jìn)一步,每個(gè)有向圖緊上方或 緊下方的箭頭指示構(gòu)成該有向圖H的所有有向邊的方向。例如,有向圖 H(l—64)具有從坐標(biāo)點(diǎn)[1,1]到[1,2]的一條有向邊以及從坐標(biāo)點(diǎn)[1,2]延伸到 [1,3]和[1,4]的兩條有向邊。進(jìn)一步,在圖4的頂部描繪的黑點(diǎn)從左側(cè)起分別 表示有向圖H(2—2)、 H(3—3).......、 H(63—63)。
在上文中描述了配置有向圖H的方法。圖4示出了通過(guò)上述方法繪制與 BT的中間節(jié)點(diǎn)和根節(jié)點(diǎn)對(duì)應(yīng)的有向圖H的結(jié)果。該示例是11=64且1<=6的情 況。在下文中描述通過(guò)使用有向圖H來(lái)生成集合密鑰的邏輯。 (集合密鑰的生成)
如之前所述的那樣,基本方案通過(guò)使用分配給組成以上集合系統(tǒng)0>的每 個(gè)子集Si的集合密鑰k(Si)來(lái)加密內(nèi)容密鑰mek,并將其進(jìn)行分發(fā)。由此,上 述有向圖H的每個(gè)坐標(biāo)點(diǎn)均與由一個(gè)或多個(gè)用戶組成的子集Si對(duì)應(yīng),并且向 其分配集合密鑰k(Si)。進(jìn)一步,還將中間密鑰t(Si)分配給上述每個(gè)子集Si, 并將其用于生成集合密鑰k(Si)。
順便提及,由于在(2-2)的上述處理中重復(fù)次數(shù)是x,其中Kx^k,因 此最多k條有向邊源自有向圖H的每個(gè)坐標(biāo)點(diǎn)。作為源自某個(gè)坐標(biāo)點(diǎn)(子集 S0 )的一個(gè)或多于一個(gè)有向邊的目的地的坐標(biāo)點(diǎn)的子集是以對(duì)某個(gè)坐標(biāo)點(diǎn)的
接近度為順序(以有向邊的短度為順序)的S1、 S2........ Sk。注意,如果
源自坐標(biāo)點(diǎn)(子集SO)的有向邊的數(shù)量為q(q〈k),則將Sq+l、 Sq+2........
Sk作為啞元(dummy )對(duì)待,實(shí)際上不使用它們。
基本方案使用響應(yīng)于X位輸入而輸出(k+l)X位輸出的上述PRSG,以便 生成集合密鑰k(Si)。如果輸入與某個(gè)坐標(biāo)點(diǎn)(子集SO)對(duì)應(yīng)的中間密鑰t(S0), 則PRSG輸出與在其尾部位于某個(gè)坐標(biāo)點(diǎn)的有向邊的頭部的各個(gè)坐標(biāo)點(diǎn)(子集S1、 S2.......、 Sk)對(duì)應(yīng)的中間密鑰t(Sl)、 t(S2)........ t(Sk)以及對(duì)于子
集S0的集合密鑰k(S0)。由此,t(Sl)ll…llt(Sk川k(SO)—PRSG(t(SO》。通過(guò)將 PRSG的輸出從左側(cè)劃界為每個(gè)都具有X位,獲得了中間密鑰t(Sl)、 t(S2)........ t(Sk)和集合密鑰k(SO)。
例如,參照?qǐng)D4的有向圖H(1—64),并將注意力集中在坐標(biāo)點(diǎn)(子集SO) =[1,8] Q人左端起第八個(gè)坐標(biāo)點(diǎn)),四條有向邊源自坐標(biāo)點(diǎn)SO,其頭位于 Sl=[l,9]、 S2=[l,10]、 S3二[l,12]和S4=[l,16]。因此,如果將中間密鑰t(S0)輸 入到PRSG,則可以獲得k(S0)、 t(Sl)、 t(S2)、 t(S3)和t(S4)。進(jìn)一步,如果將 所獲得的t(S4)輸入到PRSG,則可以獲得與S11=[1,7]、S12=[1,18]、S13=[1,20]、 S14呵l,24]和S15呵l,32]對(duì)應(yīng)的k(S4)以及t(S11)、 t(S12)、 t(S13)、 t(S14)和 t(S15)。以這種方式,可以通過(guò)重復(fù)地使用PRSG來(lái)計(jì)算多個(gè)集合密鑰k(Si)。
為了提高安全性的目的使用中間密鑰。在存在降低用于集合密鑰生成的 處理量的需求同時(shí)不特別需要關(guān)注安全性的情況下,在不使用中間密鑰的情 況下直接從某個(gè)集合密鑰計(jì)算另一個(gè)集合密鑰是可行的。例如,在以上示例 中,當(dāng)向PRSG輸入子集SO的集合密鑰k(SO)時(shí)的輸出可以是k(Sl)、 k(S2)、 k(S3)和k(S4),其用作各個(gè)子集Sl到S4的集合密鑰。
如從以上示例容易推斷的那樣,利用某個(gè)中間密鑰,通過(guò)PRSG的重復(fù) 使用,可以導(dǎo)出與有向邊鏈可達(dá)到的坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰以及集合密鑰, 所述有向邊鏈從與某個(gè)中間密鑰對(duì)應(yīng)的坐標(biāo)點(diǎn)延伸。因此,每個(gè)用戶只需要 保存最小數(shù)量的中間密鑰,其可以導(dǎo)出與包括用戶的子集對(duì)應(yīng)的所有中間密 鑰。另一方面,如果生成用于加密內(nèi)容密鑰的集合密鑰的密鑰分發(fā)服務(wù)器至 少保存與每個(gè)有向圖H的初始坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰,則通過(guò)使用PRSG重 復(fù)地執(zhí)行處理,可以導(dǎo)出與有向圖的其他坐標(biāo)點(diǎn)對(duì)應(yīng)的集合密鑰。
由此,在密鑰分發(fā)系統(tǒng)的建立時(shí),密鑰分發(fā)系統(tǒng)的管理員對(duì)于密鑰分發(fā) 服務(wù)器中每個(gè)有向圖H的初始坐標(biāo)點(diǎn)(根),設(shè)置X位隨機(jī)數(shù),例如,作為 中間密鑰。有向圖H的初始坐標(biāo)點(diǎn)(根)是有向邊起源但沒(méi)有有向邊到達(dá)的 坐標(biāo)點(diǎn)。例如,圖4中有向圖H(1—64)初始坐標(biāo)點(diǎn)是水平坐標(biāo)軸的左端的坐 標(biāo)點(diǎn)[l,l]。
以上描述了生成集合密鑰的方法。上述集合密鑰生成方法不僅用在內(nèi)容 密鑰的傳送端的密鑰生成服務(wù)器中,而且用在接收端的終端單元中。 (中間密鑰的分發(fā))
62在下文中描述從密鑰分發(fā)服務(wù)器向每個(gè)用戶的終端單元的中間密鑰的分 發(fā)。如之前簡(jiǎn)要提到的那樣,必須向每個(gè)用戶的終端單元提供能夠?qū)С雠c包 括用戶的終端單元的所有子集對(duì)應(yīng)的集合密鑰的多個(gè)中間密鑰。當(dāng)然,必須 避免提供使能與不包括用戶的終端單元的子集對(duì)應(yīng)的集合密鑰的導(dǎo)出的中間 密鑰,并且優(yōu)選的是所提供的中間密鑰的數(shù)量在存儲(chǔ)器容量的有效性方面是 最小的。
據(jù)此,中間密鑰的分發(fā)者提取具有用戶U的終端單元所屬的子集(在下 文中也稱為"用戶U所屬的子集"或"包括用戶U的子集")作為元素的所
有有向圖H。然后,如果在與有向圖H的初始坐標(biāo)點(diǎn)(根)對(duì)應(yīng)的子集中包 括用戶u,則分發(fā)者只向用戶u的終端單元提供與初始坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密 鑰。另一方面,如果用戶u屬于與有向圖H的初始坐標(biāo)點(diǎn)不同的坐標(biāo)點(diǎn)對(duì)應(yīng) 的任意子集,則分發(fā)者尋找這樣的子集SO,即在子集SO中包括用戶u,而 在作為子集SO之父的子集parent(SO)中不包括用戶u,并且向用戶u的終端 單元提供子集SO的中間密鑰t (S0)。換句話說(shuō),如果與初始坐標(biāo)點(diǎn)不同且 與包括用戶u的子集對(duì)應(yīng)的多個(gè)坐標(biāo)點(diǎn)存在于有向圖H中,則分發(fā)者從那些 坐標(biāo)點(diǎn)中提取這樣的坐標(biāo)點(diǎn)S0,即在與到達(dá)與子集SO對(duì)應(yīng)的坐標(biāo)點(diǎn)的有 向邊的尾部對(duì)應(yīng)的子集parent(SO)中不包括用戶u,并且向用戶u的終端單元 提供坐標(biāo)點(diǎn)(S0)的中間密鑰t(S0)。如果存在多個(gè)這樣的坐標(biāo)點(diǎn)SO,則提供 各個(gè)坐標(biāo)點(diǎn)的中間密鑰t(S0)。由有向邊確定坐標(biāo)點(diǎn)的父子關(guān)系,并且位于有 向邊尾部的坐標(biāo)點(diǎn)用作位于頭部的坐標(biāo)點(diǎn)之父,而位于有向邊的頭部的坐標(biāo) 點(diǎn)用作位于尾部的坐標(biāo)點(diǎn)之子。在下文中,將位于到達(dá)某個(gè)坐標(biāo)點(diǎn)SO的有向 邊的尾部的坐標(biāo)點(diǎn)parent(S0)稱為父坐標(biāo)點(diǎn)。如果某個(gè)坐標(biāo)點(diǎn)S0是有向圖H 的起點(diǎn),則不存在父坐標(biāo)點(diǎn),而如果它不是有向圖H的起點(diǎn),則僅存在一個(gè) 父坐標(biāo)點(diǎn)。在一個(gè)有向圖H中,在一些情況下,可以存在多個(gè)這樣的坐標(biāo)點(diǎn), 即在與其對(duì)應(yīng)的子集中包括用戶u,而在與其父坐標(biāo)點(diǎn)對(duì)應(yīng)的子集中不包 括用戶u。
參照?qǐng)D4的示例,在下文中具體描述中間密鑰的分發(fā)方法。 (示例1)考慮分發(fā)至用戶l的中間密鑰。首先,作為搜索具有用戶1 所屬的子集作為元素的有向圖H的結(jié)果,僅發(fā)現(xiàn)有向圖H(1—64)。用戶l屬 于作為有向圖H(1—64)的初始坐標(biāo)點(diǎn)的子集[1, l]。由此,僅向用戶l提供 中間密鑰t([l,l])。(示例2)考慮分發(fā)至用戶3的中間密鑰。首先,作為搜索具有用戶3
所屬的子集作為元素的有向圖H的結(jié)果,發(fā)現(xiàn)有向圖H(l—64)、 H(2—64)、 H(2—32)、 H(2—16)、 H(2—8)、 H(2—4)和H(3一3)。觀察有向圖H(1—64), 用戶3不屬于初始坐標(biāo)點(diǎn)的子集[l, l],而屬于位于第三及后續(xù)點(diǎn)的子集[1,3]、........ [1,64]。在這些坐標(biāo)點(diǎn)之中,其父坐標(biāo)點(diǎn)不包括用戶3的坐標(biāo)點(diǎn)
僅為[1,3]和[1,4]。具體地說(shuō),在作為包括用戶3的坐標(biāo)點(diǎn)[1,3]和[1,4]的父坐標(biāo) 點(diǎn)parent([l,3])和parent([l,4])的坐標(biāo)點(diǎn)[l,2]中不包括用戶3。因此,向用戶3 提供t([l,3])和t([l,4])作為與有向圖H(1—64)對(duì)應(yīng)的中間密鑰。以相同的方式, 對(duì)于其他有向圖H(2—64), H(2—32), H(2—16), H(2—8), H(2—4)和H(3—3)選 擇對(duì)應(yīng)的中間密鑰,并將其提供給用戶3。結(jié)果,向用戶3提供共計(jì)八個(gè)中 間密鑰。
參照?qǐng)D5筒要地總結(jié)直到將中間密鑰分發(fā)至每個(gè)用戶的終端單元為止的 處理。圖5是示出了在系統(tǒng)建立時(shí)密鑰分發(fā)服務(wù)器中中間密鑰分發(fā)的處理流 程的流程圖。
如圖5所示,密鑰分發(fā)系統(tǒng)的密鑰分發(fā)服務(wù)器首先設(shè)置參數(shù)等。例如, 密鑰分發(fā)服務(wù)器確定用戶的數(shù)量n、集合密鑰和中間密鑰的位數(shù)人、給定參數(shù) k、通過(guò)PRSG的偽隨機(jī)數(shù)生成算法等,并將它們公布(publish)到所有用戶 的終端單元(S102)。接著,密鑰分發(fā)服務(wù)器將用戶集合劃分為給定子集, 然后確定并公布由并集(union)表示的集合系統(tǒng)①(參照以上表達(dá)式(1)) (S104)。然后,確定并公布有向圖H和形成各個(gè)有向圖H的有向邊T (步 驟S106)。進(jìn)一步,確定與組成集合系統(tǒng)①的各個(gè)子集對(duì)應(yīng)的中間密鑰 (S108)。此后,向每個(gè)用戶的終端單元122分發(fā)必要的中間密鑰,以便每 個(gè)用戶可以導(dǎo)出與包括用戶的子集對(duì)應(yīng)的集合密鑰(S110)。
在上文中描述了中間密鑰的分發(fā)方法。如果使用以上分發(fā)方法,則分發(fā) 用以生成集合密鑰的、對(duì)于每個(gè)許可用戶的終端單元所需的最小數(shù)量的中間 密鑰,由此使得能夠減少密鑰分發(fā)服務(wù)器與終端單元之間的通信量,并且能 夠減少每個(gè)用戶的終端單元中用于中間密鑰的存儲(chǔ)器容量。 (內(nèi)容密鑰的分發(fā))
在下文中描述通過(guò)密鑰分發(fā)服務(wù)器分發(fā)經(jīng)加密的內(nèi)容密鑰mek的方法。 首先,密鑰分發(fā)服務(wù)器通過(guò)使用僅可以由許可用戶的終端單元122生成的集 合密鑰來(lái)加密內(nèi)容密鑰mek。具體地說(shuō),密鑰分發(fā)服務(wù)器確定要排除的用戶(在下文中稱為排除用戶)的終端單元的集合R,然后通過(guò)從所有用戶的終
端單元1到n的集合N中排除掉排除用戶的終端單元的集合R (在下文中稱 為"排除用戶的集合(R)"),來(lái)確定許可用戶的終端單元的集合NXR(在 下文中稱為"許可用戶的集合(N\R)")。然后,通過(guò)從組成集合系統(tǒng)O
的子集中選擇的子集Si (i=l、 2........ m)的并集來(lái)表示許可用戶的集合(N
\R)=SlUS2U...USm。盡管存在子集Si的大量組合,但是選擇具有最小值m 的子集Si。在以這種方式選擇子集Si之后,密鑰分發(fā)服務(wù)器通過(guò)使用與每個(gè) 子集Si對(duì)應(yīng)的集合密鑰k(Si)來(lái)加密內(nèi)容密鑰mek。具體地說(shuō),通過(guò)集合密鑰
k(Sl)、 k(S2)、 ....... k(Sm)來(lái)加密內(nèi)容密鑰mek,并且內(nèi)容密鑰mek變?yōu)閙
個(gè)經(jīng)加密的內(nèi)容密鑰mek。然后,將m個(gè)經(jīng)加密的內(nèi)容密鑰mek分發(fā)至所有 用戶的終端單元l到n。此時(shí),還將指示許可用戶的集合NXR的信息或指示 m個(gè)子集Si的信息分發(fā)至所有用戶的終端單元1到n。
參照?qǐng)D6簡(jiǎn)要地總結(jié)經(jīng)加密的內(nèi)容密鑰mek的分發(fā)的處理流程。圖6是 示出了用于內(nèi)容密鑰的分發(fā)的處理流程的流程圖。
如圖6所示,密鑰分發(fā)服務(wù)器首先確定排除用戶的集合R,并荻取許可 用戶的集合NXR (S112)。接著,從組成集合系統(tǒng)①的子集中以使得m值
最小的方式選擇具有并集N乂R的m個(gè)子集Si(i-l、 2........m) (S114)。
然后,通過(guò)使用分別與所選擇的子集Si對(duì)應(yīng)的集合密鑰k(Si)來(lái)加密內(nèi)容密鑰 mek(S116)。進(jìn)一步,向所有用戶的終端單元1到n分發(fā)指示許可用戶的 集合N乂R或各個(gè)子集Si的信息以及m個(gè)經(jīng)加密的內(nèi)容密鑰mek (S118)。
在上文中描述了內(nèi)容密鑰mek的加密方法和分發(fā)方法。如果使用以上加 密方法,則以集合密鑰的數(shù)量是所需的最小值的方式有效地選擇子集Si。由 于通過(guò)使用最小所需數(shù)量的集合密鑰來(lái)由此加密內(nèi)容密鑰mek,因此可以節(jié) 省加密所需的計(jì)算量,并且還可以減少要分發(fā)的經(jīng)加密的內(nèi)容密鑰mek的數(shù) 量,由此減少通信量。
(內(nèi)容密鑰的解密)
在下文中描述每個(gè)用戶的終端單元中經(jīng)加密的內(nèi)容密鑰的解密處理。解 密處理是這樣的處理終端單元基于從上述密鑰分發(fā)服務(wù)器接收到的、指示 許可用戶的集合NXR或m個(gè)子集Si的信息以及m個(gè)密文,來(lái)獲取內(nèi)容密 鑰mek。
終端單元從上述密鑰分發(fā)服務(wù)器接收經(jīng)加密的內(nèi)容密鑰以及指示許可用戶的集合NXR的信息或表示m個(gè)子集Si的信息。進(jìn)一步,終端單元分析所 述信息,并判定其是否屬于m個(gè)子集Si中的任意一個(gè)。如果終端單元不屬于 子集中的任意一個(gè),則結(jié)束解密處理,因?yàn)樗桥懦脩舻慕K端單元。另一 方面,如果終端單元發(fā)現(xiàn)其所屬的子集Si,則它通過(guò)使用上述PRSG導(dǎo)出與 子集Si對(duì)應(yīng)的集合密鑰k(Si)。 PRSG的配置如之前描述的那樣。
在該步驟中,如果在系統(tǒng)建立時(shí)預(yù)先從密鑰分發(fā)服務(wù)器向終端單元提供 與以上子集Si對(duì)應(yīng)的中間密鑰t(Si)并將其預(yù)先保存,則通過(guò)向PRSG輸入中 間密鑰t(Si)可以導(dǎo)出與以上子集Si對(duì)應(yīng)的集合密鑰k(Si)。另一方面,如果終 端單元不保存相關(guān)的中間密鑰t(Si),則終端單元通過(guò)重復(fù)地向PRSG輸入所 保存的中間密鑰可以導(dǎo)出期望的集合密鑰k(Si)。進(jìn)一步,終端單元通過(guò)使用 以這種方式導(dǎo)出的集合密鑰k(Si)解密經(jīng)加密的內(nèi)容密鑰mek。
參照?qǐng)D4的示例具體描述終端單元中上述集合密鑰k(Si)的導(dǎo)出。在用戶 3的終端單元中,假設(shè)選擇"1, 8"作為其所屬的子集。如上所述,用戶3 的終端單元保存子集[1,4]的中間密鑰。參照?qǐng)D4的有向圖H(1—64),設(shè)置從 坐標(biāo)點(diǎn)[1,4]向坐標(biāo)點(diǎn)[1,8]延伸的有向邊,并且該有向邊在其尾部位于坐標(biāo)點(diǎn) [1,4]的有向邊之中具有第三最短長(zhǎng)度(跳躍距離)。由此,在向PRSG輸入 用于子集[1,4]的中間密鑰t([l,4])時(shí)的輸出之中,從頂部起的第三X位部分是 用于子集[1 ,8]的中間密鑰t([ 1,8])。終端單元從PRSG的輸出中提取中間密鑰 t([1,8]),并將其再次輸入到PRSG,并提取最終的X位部分,由此獲取期望的 集合密鑰k([1,8])。
同樣地,在用戶l的終端單元中,假設(shè)選擇[1,8]作為其所屬的子集。用 戶1的終端單元保存子集[l,l]的中間密鑰。在這種情況下,終端單元122通 過(guò)從向PRSG輸入用于[1,1]的中間密鑰t([l,l])時(shí)的輸出中提取從頂部起第一 人位部分(與中間密鑰t([l,2])對(duì)應(yīng)),然后從向PRSG輸入中間密鑰t([1,2]) 時(shí)的輸出中提取從頂部起第二X位部分(與中間密鑰t([l,4])對(duì)應(yīng)),進(jìn)一步 從向PRSG輸入中間密鑰t([l,4])時(shí)的輸出中提取從頂部起第三X位部分(與 中間密鑰t([l,8])對(duì)應(yīng)),并最終從向PRSG輸入中間密鑰t([l,8])時(shí)的輸出中 提取最后部分(與集合密鑰k([l,8])對(duì)應(yīng)),可以獲取期望的集合密鑰k([1,8])。
參照?qǐng)D7總結(jié)用于在每個(gè)用戶的終端單元中解密經(jīng)加密的內(nèi)容密鑰mek 的處理流程。圖7是示出了在每個(gè)用戶的終端單元中用于內(nèi)容密鑰的解密的 處理流程的流程圖。如圖7所示,每個(gè)用戶的終端單元首先從密鑰分發(fā)服務(wù)器接收m個(gè)經(jīng)加 密的內(nèi)容密鑰mek和指示許可用戶的集合N \ R的信息或者指示m個(gè)子集Si (i=l, 2,……,m)的信息(S120)。接著,終端單元基于所述信息搜索其 所屬的子集Si (S122),并判定其是否屬于m個(gè)子集Si中的任意一個(gè)(步 驟S124)。
結(jié)果,如果終端單元發(fā)現(xiàn)其所屬的子集Si,則它通過(guò)使用以上PRSG導(dǎo) 出與子集Si對(duì)應(yīng)的集合密鑰k(Si)(S126) 。 PRSG的配置如之前所述的那樣。 如果在建立時(shí)由密鑰分發(fā)服務(wù)器向終端單元提供與子集Si對(duì)應(yīng)的中間密鑰 t(Si)并將其預(yù)先保存,則它通過(guò)一次性地使用PRSG可以導(dǎo)出集合密鑰k(Si)。 另一方面,如果終端單元不保存相關(guān)的中間密鑰t(Si),則它通過(guò)重復(fù)地使用 PRSG可以導(dǎo)出期望的集合密鑰k(Si)。此后,終端單元通過(guò)使用以這種方式 導(dǎo)出的集合密鑰k(Si)解密經(jīng)加密的內(nèi)容密鑰mek (S128)。
另一方面,如果終端單元在步驟S124判定它不屬于子集Si中的任意一
是排除用戶)(S130),并結(jié)束內(nèi)容密鑰的解密處理。
在上文中描述了在終端單元中內(nèi)容密鑰的解密方法。通過(guò)利用用于生成 中間密鑰和集合密鑰的PRSG,基于與有向圖H有關(guān)的信息執(zhí)行以上解密方 案。由此,在每個(gè)用戶的終端單元中與有向圖有關(guān)的信息和PRSG也是必需 的。然而,使用PRSG的方法使得能夠最小化要由每個(gè)用戶的終端單元保存 的中間密鑰的數(shù)量。
在上文中描述了根據(jù)所述實(shí)施例的基本技術(shù)的加密密鑰分發(fā)方案。通過(guò) 利用基本方案,要由每個(gè)用戶的終端單元保存的中間密鑰的數(shù)量是 0(k*log(n)),并且生成集合密鑰所需的計(jì)算量(PRSG的操作次數(shù))不超過(guò) (2k-l)*(n1/k-l)。然而,根據(jù)基本技術(shù)的加密密鑰分發(fā)方案(如在下面描述的 圖13所示)存在如下問(wèn)題要由每個(gè)用戶的終端單元保存的中間密鑰的數(shù)量 仍然很大。
進(jìn)一步,當(dāng)解密經(jīng)加密的內(nèi)容密鑰mek時(shí)終端單元所需的計(jì)算量的決定 因素取決于為了導(dǎo)出期望的中間密鑰而執(zhí)行PRSG的次數(shù)。最差的值由有向 圖H中從初始坐標(biāo)點(diǎn)(根)到最遠(yuǎn)的最終坐標(biāo)點(diǎn)(沒(méi)有有向邊源自的葉)有 向邊的數(shù)量(即,跳躍的數(shù)量)表示。在圖4所示的示例中,為了從有向圖 H( 1 —64)的初始坐標(biāo)點(diǎn)[1,1 ]達(dá)到最終的坐標(biāo)點(diǎn)[1,64],必須穿過(guò)十一條有向邊
67(執(zhí)行十一次跳躍),這意味著執(zhí)行PRSG十一次。由此,根據(jù)基本技術(shù)的
加密密鑰分發(fā)方案存在另一個(gè)問(wèn)題PRSG的執(zhí)行次數(shù)太多,并且由此用于 導(dǎo)出中間密鑰的計(jì)算量很大。
本發(fā)明的第一實(shí)施例的加密密鑰分發(fā)方案(如在下文中所述)。根據(jù)本實(shí)施 例的加密密鑰分發(fā)方案通過(guò)以更短的有向邊替換了組成有向圖的一條有向邊 而重建了有向圖,由此實(shí)現(xiàn)了要由終端單元122保存的中間密鑰的數(shù)量的減 少。在下文中,詳細(xì)描述要執(zhí)行根據(jù)本實(shí)施例的加密密鑰分發(fā)方案的密鑰分 發(fā)服務(wù)器102和終端單元122的功能性配置,以及加密密鑰分發(fā)方案的特征 和優(yōu)點(diǎn)。
參照?qǐng)D8,在下文中詳細(xì)描述根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102的配 置。圖8是示出了根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器102和終端單元122的配 置的框圖。
如圖8所示,密鑰分發(fā)服務(wù)器102由樹(shù)結(jié)構(gòu)設(shè)置部分104、坐標(biāo)軸設(shè)置 部分106、臨時(shí)有向圖生成部分108、有向圖生成部分110、初始中間密鑰設(shè) 置部分112、密鑰生成部分114、加密部分116、傳送部分118和子集確定部 分120組成。特別地,將樹(shù)結(jié)構(gòu)設(shè)置部分104、坐標(biāo)軸設(shè)置部分106、臨時(shí)有 向圖生成部分108和有向圖生成部分110統(tǒng)稱為密鑰生成邏輯構(gòu)建塊。同樣 地,將初始中間密鑰設(shè)置部分112和密鑰生成部分114統(tǒng)稱為密鑰生成塊。
在下文中描述組成密鑰生成邏輯構(gòu)建塊的元件。密鑰生成邏輯構(gòu)建塊執(zhí) 行與上述[基本技術(shù)描述]中(樹(shù)結(jié)構(gòu)的設(shè)置)和(有向圖的生成)對(duì)應(yīng)的處理。 (樹(shù)結(jié)構(gòu)設(shè)置部分104)
樹(shù)結(jié)構(gòu)設(shè)置部分104配置由向其分配了編號(hào)l到n (n是自然數(shù))的n 個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)和多個(gè)除了根節(jié)點(diǎn)和葉節(jié)點(diǎn)之外的中間節(jié)點(diǎn)組成的二叉樹(shù), 并在位于某個(gè)中間節(jié)點(diǎn)v或根節(jié)點(diǎn)v的下層的多個(gè)葉節(jié)點(diǎn)之中,將位于左端 的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,將位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv。進(jìn)一步, 樹(shù)結(jié)構(gòu)設(shè)置部分104將集合(l—n)和集合(2—n)分配給根節(jié)點(diǎn),并且如果某個(gè) 中間節(jié)點(diǎn)v位于其父節(jié)點(diǎn)的左側(cè),則將集合(lv+l—rv)分配給中間節(jié)點(diǎn),如果 中間節(jié)點(diǎn)v位于其父節(jié)點(diǎn)的右側(cè),則將集合(lv—rv-l)分配給中間節(jié)點(diǎn)。
如上所述,樹(shù)結(jié)構(gòu)設(shè)置部分104具有能夠構(gòu)造m層樹(shù)結(jié)構(gòu)并且假設(shè)m=2(二叉樹(shù))的情況的配置,例如,可以構(gòu)造與根據(jù)基本方案的二叉樹(shù)結(jié)構(gòu)(圖
3)相同的樹(shù)結(jié)構(gòu)。由此,由樹(shù)結(jié)構(gòu)設(shè)置部分104構(gòu)造的樹(shù)結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)的
意義與根據(jù)之前所述的基本方案構(gòu)建的二叉樹(shù)結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)的意義基本上 相同。盡管為了描述的方便起見(jiàn),在下文中僅描述二叉樹(shù)結(jié)構(gòu),但是其不限 于此。
(坐標(biāo)軸i殳置部分106)
坐標(biāo)軸設(shè)置部分106設(shè)置與根節(jié)點(diǎn)對(duì)應(yīng)的第一水平坐標(biāo)軸,其上與集合 (1—n)中包括的各個(gè)子集相關(guān)的坐標(biāo)點(diǎn)在所述水平坐標(biāo)軸上以包含度從左至 右變大的方式排列。接著,坐標(biāo)軸設(shè)置部分106設(shè)置與根節(jié)點(diǎn)對(duì)應(yīng)的第二水 平坐標(biāo)軸,其上與集合(2—n)中包括的各個(gè)子集相關(guān)的坐標(biāo)點(diǎn)在所述水平坐標(biāo) 軸上以包含度從右至左變大的方式排列。然后,對(duì)于每個(gè)中間節(jié)點(diǎn),坐標(biāo)軸 設(shè)置部分106設(shè)置與某個(gè)中間節(jié)點(diǎn)v對(duì)應(yīng)的第三水平坐標(biāo)軸,其上與集合 (lv—rv-l)中包括的各個(gè)子集相關(guān)的坐標(biāo)點(diǎn)在所述水平坐標(biāo)軸上以包含度從左 至右變大的方式排列,并且設(shè)置與某個(gè)中間節(jié)點(diǎn)v對(duì)應(yīng)的第四水平坐標(biāo)軸, 其上與集合(lv+l—rv)中包括的各個(gè)子集相關(guān)的坐標(biāo)點(diǎn)在所述水平坐標(biāo)軸上 以包含度從右至左變大的方式排列。進(jìn)一步,坐標(biāo)軸設(shè)置部分106將一個(gè)臨 時(shí)坐標(biāo)點(diǎn);改置在位于第 一到第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè)和位于第 二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè),并將位于第一水平坐標(biāo)軸的右 端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn)。
如上所述,坐標(biāo)軸設(shè)置部分106設(shè)置用于構(gòu)建與由樹(shù)結(jié)構(gòu)設(shè)置部分104 配置的樹(shù)結(jié)構(gòu)的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的有向圖的坐標(biāo)軸。第 一水平坐標(biāo)軸表示與集 合(1—n)的坐標(biāo)軸,第二水平坐標(biāo)軸表示與集合(2—n)對(duì)應(yīng)的坐標(biāo)軸,第三水 平坐標(biāo)軸表示與集合(lv—rv-l)的坐標(biāo)軸,而第四水平坐標(biāo)軸表示與集合 (lv+l—rv)對(duì)應(yīng)的坐標(biāo)軸。由于對(duì)于每個(gè)中間節(jié)點(diǎn)v設(shè)置第三水平坐標(biāo)軸和第 四水平坐標(biāo)軸,因此分別設(shè)置多個(gè)坐標(biāo)軸。具體地說(shuō),設(shè)置與中間節(jié)點(diǎn)的數(shù) 量相同的第三水平坐標(biāo)軸和第四水平坐標(biāo)軸的數(shù)量。 (臨時(shí)有向圖生成部分108)
臨時(shí)有向圖生成部分108設(shè)置給定整數(shù)k,并計(jì)算滿足
n(x—1)/k<(rv-1v+l)^i威的自然數(shù)x。接著,對(duì)于每個(gè)整數(shù)1=0到x-l,臨時(shí)有向
圖生成部分108通過(guò)連接(couple)具有長(zhǎng)度n"k的一條或多條右向有向邊, 形成其起點(diǎn)位于第一和第三坐標(biāo)軸上的最左側(cè)的坐標(biāo)點(diǎn)的有向路徑,并進(jìn)一步通過(guò)連接具有長(zhǎng)度n^的一條或多條左向有向邊,形成其起點(diǎn)位于第二和第 四坐標(biāo)軸上的最右側(cè)的坐標(biāo)點(diǎn)的有向路徑。然后,臨時(shí)有向圖生成部分108 對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除其尾部或頭部位于每個(gè)臨時(shí)坐標(biāo) 點(diǎn)的所有有向邊。進(jìn)一步,臨時(shí)有向圖生成部分108從到達(dá)第一到第四水平 坐標(biāo)軸上每個(gè)坐標(biāo)點(diǎn)的有向邊中,排除除了最長(zhǎng)有向邊之外的有向邊,由此
生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān) 的臨時(shí)有向圖1,(1—n-l)、 1,(2—n)、 I,(lv+1—rv)和I'(lv—rv-l)。此后,臨時(shí) 有向圖生成部分108將具有長(zhǎng)度1的有向邊(其頭部是位于第一水平坐標(biāo)軸 的右端的坐標(biāo)點(diǎn))添加到與集合(1—n-l)有關(guān)的臨時(shí)有向圖I'(l—n-l),由此 生成與集合(l—n)有關(guān)的臨時(shí)有向圖1,(1—n)。
如上所述,臨時(shí)有向圖生成部分108生成臨時(shí)有向圖r作為生成期望的 有向圖i的預(yù)處理。臨時(shí)有向圖r與基本方案中的有向圖H對(duì)應(yīng)。 (有向圖生成部分110)
有向園生成部分IIO在由連續(xù)的有向邊形成的有向路徑之中,確定具有
形成有向路徑的最大數(shù)量的有向邊的最長(zhǎng)有向路徑。確定最長(zhǎng)有向路徑的處 理可以由最長(zhǎng)有向路徑確定部分來(lái)執(zhí)行,例如所述最長(zhǎng)有向路徑確定部分可
以包括在有向圖生成部分110中。進(jìn)一步,有向圖生成部分110以每個(gè)有向
路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的 有向邊來(lái)替換形成每個(gè)有向路徑的有向邊,由此生成有向圖。
如上所述,有向圖生成部分110以更短的有向邊來(lái)替換組成臨時(shí)有向圖
r的有向邊,由此構(gòu)建臨時(shí)有向圖r并生成期望的有向圖i。在下文中詳細(xì)描 述與由有向圖生成部分11o執(zhí)行的臨時(shí)有向圖r的重建有關(guān)的技術(shù)構(gòu)思和處
理流程。
首先,參照?qǐng)D9描述與有向圖生成部分110的處理有關(guān)的基本概念。圖 9是示意性地示出了有向圖生成部分110的處理的說(shuō)明圖。
參照?qǐng)D9,繪出了兩個(gè)有向圖Q,(A—G)和Q(A—G)(其為了說(shuō)明的目的 而創(chuàng)建)。有向圖Q,(A—G)與基本方案對(duì)應(yīng),而有向圖Q(A—G)與本實(shí)施例 對(duì)應(yīng)。進(jìn)一步,除了每個(gè)有向圖之外還繪出了多條垂直線,并且將標(biāo)記A到 G中的任意一個(gè)分配給每一條垂直線。標(biāo)記A到G分別表示用戶的終端單元。 在基本方案的以上描述中,通過(guò)將標(biāo)記1到n分配給用戶來(lái)給出說(shuō)明,并且 它們與其對(duì)應(yīng)。因此,從左側(cè)將子集[A,A]、 [A,B]、 ....... [A,G]分配給每個(gè)坐標(biāo)軸的坐標(biāo)點(diǎn)。進(jìn)一步,在每個(gè)坐標(biāo)點(diǎn)下,描述要由與每一條垂直線對(duì)應(yīng) 的用戶保存的中間密鑰的數(shù)量。
作為基本方案的描述中提到的事項(xiàng)的回顧,首先筒要描述有向圖
Q,(A—G)。有向圖Q,(A—G)由具有長(zhǎng)度1的四條有向邊(A4B,B4C, D4E, F4G)、具有長(zhǎng)度2的一條有向邊(B4D)以及具有長(zhǎng)度4的一條有向邊(B4F) 組成??紤]從坐標(biāo)點(diǎn)[A,A]到坐標(biāo)點(diǎn)[A,G]的有向路徑P([A,A], [A,G]),有向路 徑P([A,A], [A,G])通過(guò)由具有長(zhǎng)度1的有向邊(A^B)、具有長(zhǎng)度4的有向邊 (B4F)以及具有長(zhǎng)度1的有向邊(F4G)組成的有向邊鏈表示。
因此,具有中間密鑰t([A,A])的用戶A (1)通過(guò)向PRSG輸入中間密鑰 t([A,A])可以導(dǎo)出中間密鑰t([A,B]), ( 2 )通過(guò)向PRSG輸入中間密鑰t([A,B]) 可以導(dǎo)出中間密鑰t([A,C])、 t([A,D])和t([A,F]),以及(3 )通過(guò)向PRSG輸入 中間密鑰t([A,F])可以導(dǎo)出中間密鑰t([A,G])。由此,對(duì)于用戶A來(lái)說(shuō)必須執(zhí) 行PRSG與形成有向路徑P([A,A],[A,G])的有向邊的數(shù)量相同的次數(shù),以便導(dǎo) 出與有向路徑P([A,A],[A,G])的終點(diǎn)對(duì)應(yīng)的中間密鑰t([A,G])。這是確定用戶 的計(jì)算量的次數(shù)。在有向圖Q,(A—G)的情況下,由于有向路徑P([A,A],[A,G]) 和有向路徑p([A,A],[A,E])具有最小數(shù)量的有向邊,因此那些有向路徑的長(zhǎng)度 與用戶的計(jì)算量的最差值對(duì)應(yīng)。
另 一 方面,每個(gè)用戶應(yīng)該能夠生成與用戶所屬的子集對(duì)應(yīng)的所有中間密 鑰。由于該原因,要由用戶預(yù)先保存的中間密鑰應(yīng)該是這樣的要通過(guò)重復(fù) 使用PRSG生成的多個(gè)中間密鑰包括與其所屬子集對(duì)應(yīng)的全部中間密鑰。進(jìn) 一步,應(yīng)該選擇要由每個(gè)用戶保存的中間密鑰,以便最小化其數(shù)量。由此, 用戶通過(guò)參照有向圖,從與用戶所屬的子集對(duì)應(yīng)的坐標(biāo)點(diǎn)中選擇坐標(biāo)點(diǎn),以 便與到達(dá)所述坐標(biāo)點(diǎn)的有向邊的尾部對(duì)應(yīng)的子集不包括所述用戶,并保存與 所述坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰。
例如,通過(guò)參照有向圖Q,(A—G)來(lái)考慮要由用戶C保存的中間密鑰。
用戶C所屬的子集是[A,C]、 [A,D]........ [A,G]。將注意力集中在有向圖
Q,(A—G),達(dá)到子集[A,C]、 [A,D]、 [A,F]的有向邊的尾部全部是坐標(biāo)點(diǎn)[A,B], 其不包括用戶C。由此,用戶C需要保存中間密鑰t([A,C])、t([A,D])和t([A,F])。 實(shí)際上,要由每個(gè)用戶保存的中間密鑰的數(shù)量由與每個(gè)用戶對(duì)應(yīng)的垂直線與 有向圖之間的交叉點(diǎn)的數(shù)量表示。例如,由于交叉點(diǎn)的數(shù)量為2,因此用戶D 需要保存兩個(gè)中間密鑰。通過(guò)以上方法,在每個(gè)有向圖下,計(jì)算并描述要由每個(gè)用戶保存的中間密鑰的數(shù)量。
以上說(shuō)明僅簡(jiǎn)要描述了有向圖的意義?;谝陨险f(shuō)明,在下文中描述本 實(shí)施例的基本概念。如已經(jīng)提到的那樣,本實(shí)施例旨在減少密鑰的數(shù)量而不 增加計(jì)算量??紤]到此情況,在下文中描述所釆取的用以減少密鑰數(shù)量的方法。
現(xiàn)在重新參照?qǐng)D9。如果采用基于有向圖Q,(A—G)的密鑰分發(fā)方案,則 存在具有最多三個(gè)密鑰的用戶C。進(jìn)一步,要由所有用戶保存的密鑰的數(shù)量 是11。然后,將有向圖Q,(A—G)改變到Q(A—G)。具體地說(shuō),以從坐標(biāo)點(diǎn)[A,D] 延伸到[A,F]的有向邊E([A,D], [A,F])替換從坐標(biāo)點(diǎn)[A,B]延伸到[A,F]的有向邊 E([A,B], [A,F])。如果進(jìn)行了這樣的改變,則要由每個(gè)用戶保存的密鑰數(shù)量的 最大值是2,其與用戶C和用戶E對(duì)應(yīng)。進(jìn)一步,要由所有用戶保存的密鑰 的數(shù)量是9。由此,在改變之前和之后密鑰的數(shù)量減少。然而,在該改變的 示例中,沒(méi)有考慮計(jì)算量。因此,有向圖Q(A—G)在從坐標(biāo)點(diǎn)[A,A]到[A,G] 有向路徑P([A,A], [A,G])中包括四條有向邊,并且與有向圖Q,(A—G)相比計(jì) 算量的最差值略有增加。
據(jù)此,本實(shí)施例提供了在不進(jìn)行導(dǎo)致超出計(jì)算量的最差值的有向圖改變 的條件下,基于圖9所示的基本概念能夠減少密鑰數(shù)量的有向圖生成部分110 的配置。參照?qǐng)D10到圖14,在下文中具體描述通過(guò)有向圖生成部分IIO生 成有向圖I的方法。
首先參照?qǐng)D10,簡(jiǎn)要地描述通過(guò)有向圖生成部分110的有向圖生成方法 的概要。圖IO是示出了生成有向圖的處理流程的示例的流程圖。
首先,有向圖生成部分IIO使用由臨時(shí)有向圖生成部分108生成的臨時(shí)
有向圖r,以便生成期望的有向圖i。如之前所述的那樣,臨時(shí)有向圖r是以
與通過(guò)基本方案的有向圖H相同的方式而生成的。執(zhí)行通過(guò)臨時(shí)有向圖生成 部分108的臨時(shí)有向圖I,的生成作為第一步驟(S140)。
然后,有向圖生成部分iio從組成所有生成的臨時(shí)有向圖r的有向路徑
提取最長(zhǎng)有向路徑LP (LongestPath,最長(zhǎng)路徑)(S142)。例如,可以由 包括在有向圖生成部分110中的最長(zhǎng)有向路徑生成部分來(lái)執(zhí)行提取有向路徑 LP的步驟。進(jìn)一步,從不包括最長(zhǎng)有向路徑LP的所有生成的臨時(shí)有向圖I, 的每個(gè)中提取最長(zhǎng)有向路徑PLP ( Partially Longest Path,部分最長(zhǎng)路徑) (S144)。由此,從臨時(shí)有向圖I,中提取有向路徑PLP。此后,從組成臨時(shí)
72有向圖I,的有向邊中選擇給定有向邊,并以更短的有向邊來(lái)替換它(S146)。
此時(shí),有向圖生成部分110在不增大計(jì)算量的最差值的上述條件下,基于提 取的有向路徑LP和有向路徑PLP的長(zhǎng)度執(zhí)行有向邊的替換。進(jìn)一步,例如, 可以由有向圖生成部分110中包括的有向邊替換部分來(lái)執(zhí)行上述有向邊替換步驟。
在上文中描述了由有向圖生成部分110進(jìn)行的有向圖生成步驟的概要。 如上所述,有向圖生成部分ll(M人由臨時(shí)有向圖生成部分108生成的臨時(shí)有
向圖r中提取有向路徑LP和有向路徑PLP,然后基于那些有向路徑的長(zhǎng)度選 擇并替換給定有向邊,由此生成期望的有向圖。在下文中給出與上述每個(gè)步 驟對(duì)應(yīng)的更詳細(xì)的說(shuō)明。
首先參照?qǐng)Dii,描述臨時(shí)有向圖r的生成步驟。注意,在下文中僅描述 臨時(shí)有向圖r之中與中間節(jié)點(diǎn)v對(duì)應(yīng)的有向圖r(lv—rv-i)。首先,臨時(shí)有向
圖生成部分108設(shè)置給定整數(shù)k,定義Lv二rv-lv+l,并計(jì)算滿足n^,〈Lv^n^ 的整數(shù)x(S150)。臨時(shí)有向圖生成部分108通過(guò)將計(jì)數(shù)i從0改變到x-l來(lái) 執(zhí)行下面的操作。從水平坐標(biāo)軸的左端的起點(diǎn)開(kāi)始,重復(fù)延伸到遠(yuǎn)離所述坐 標(biāo)點(diǎn)n'A的坐標(biāo)點(diǎn)的右向有向邊的設(shè)置(跳躍到遠(yuǎn)離所述坐標(biāo)點(diǎn)n^的坐標(biāo) 點(diǎn)),直到有向邊的頭部達(dá)到水平坐標(biāo)軸的右端的終點(diǎn)或者下一個(gè)要設(shè)置的 有向邊的頭部超過(guò)終點(diǎn)為止(S152)。然后,臨時(shí)有向圖生成部分108消除 其尾部或頭部位于臨時(shí)坐標(biāo)點(diǎn)的所有有向邊(S154)。進(jìn)一步,臨時(shí)有向圖 生成部分108在達(dá)到坐標(biāo)軸上的各個(gè)坐標(biāo)點(diǎn)的有向邊之中,消除除了最長(zhǎng)有 向邊之外的有向邊(S156)。
接著參照?qǐng)D12,在下文中描述提取最長(zhǎng)有向路徑LP (S160)的步驟。 在描述最長(zhǎng)有向路徑LP之前,定義兩個(gè)表達(dá)式如下。
-DDT:表示最長(zhǎng)有向路徑LP的長(zhǎng)度。
-J(a,b):表示存在于某個(gè)有向路徑中的具有長(zhǎng)度b的、數(shù)量為a的連續(xù)有向邊。
(例如,釆用圖9所示的有向圖Q,(A—G)作為示例,由于有向路徑 P([A,A],[A,G]))由具有長(zhǎng)度1的一條有向邊、具有長(zhǎng)度4的一條有向邊和具 有長(zhǎng)度1的一條有向邊組成,因此將其表示為J(l,l)、 J(1,4)、 J(l,l))。
有向圖生成部分IIO可以對(duì)于組成臨時(shí)有向圖I,的每一條有向路徑計(jì)算 J(a,b)。例如,考慮從臨時(shí)有向圖I,(l一n)的坐標(biāo)點(diǎn)[U]延伸到[l,n]的有向路徑P([l,l],[l,n]),將有向路徑P([l,l],[l,n])表示為J(n1/k-l, 1), J(n1/k-l, n1/k),…, J(n1/k-l, n(k-2)/k), J(n1/k-2, n(k-1)/k), J(n1/k-l, n(k-2)/k), J(n1/k-l, n1/k), J(n1/k, 1)。在由
上述臨時(shí)有向圖生成部分108生成的臨時(shí)有向圖r的情況下,最長(zhǎng)有向路徑
LP是組成臨時(shí)有向圖I,(l—n)的有向路徑P([l,l],[l,n])。有向圖生成部分110 可以提取最長(zhǎng)有向路徑LP或唯一地提取組成臨時(shí)有向圖I,(l—n)的有向路徑 P([l,l],[l,n]),并且在一些情況下,有向圖生成部分IIO可以計(jì)算組成臨時(shí)有
向圖r的所有有向路徑的長(zhǎng)度,并從它們之中選擇最長(zhǎng)有向路徑LP。此時(shí),
將最長(zhǎng)有向路徑LP的長(zhǎng)度DDT表示為DDT=(2k-l)*(n1/k-l)。此后,有向圖 生成部分110向形成最長(zhǎng)有向路徑LP的所有有向邊設(shè)置表示有效的激活標(biāo)記 (active mark )。
接著,參照?qǐng)D13,描述計(jì)算與根節(jié)點(diǎn)和各個(gè)中間節(jié)點(diǎn)對(duì)應(yīng)的每個(gè)臨時(shí)有 向圖I,的最長(zhǎng)有向路徑PLP (除了包括最長(zhǎng)有向路徑LP的圖)的步驟。圖 13是示出了有向路徑PLP的計(jì)算步驟的流程圖。
在對(duì)于每個(gè)有向圖提取最長(zhǎng)有向路徑PLP的步驟的描述之前,定義如下 兩個(gè)表達(dá)式。
-CP ( Current Path ):所考慮的有向路徑(將其稱為當(dāng)前路徑) -釘P(CP) :在有向路徑中包括的有向邊的數(shù)量。
有向圖生成部分IIO基于下述算法提取有向路徑PLP。 (步驟1 )有向圖生成部分110確定從有向圖I,的起點(diǎn)到終點(diǎn)的當(dāng)前路 徑CP。如果所考慮的有向圖是有向圖I,(a—b),則將有向路徑P([a,a],[a,b]) 設(shè)置為當(dāng)前路徑CP,而如果是有向圖I,(a—b),則將有向路徑P([b,b],[a,b]) 設(shè)置為當(dāng)前路徑CP (S162)。
(步驟2 )有向圖生成部分110在形成當(dāng)前路徑CP的有向邊之中提取最 長(zhǎng)有向邊,并將其長(zhǎng)度設(shè)置為J (S164)。
(步驟3 )有向圖生成部分110判定J^l是否成立(S166 ),并且如果, 則將當(dāng)前路徑CP確定為有向路徑PLP ,并向形成有向路徑PLP的所有有向 邊設(shè)置激活標(biāo)記(S176)。
(步驟4 )如果J>1,則有向圖生成部分110判定釘P(CP)+n"k-l^DDT是 否成立(S168),并且如果弁JP(CP)+n"k-l^DDT不成立,則將當(dāng)前路徑CP 確定為有向路徑PLP,并向形成有向路徑PLP的所有有向邊設(shè)置激活標(biāo)記 (S176)。(步驟5)如果^JP(CP)+n"k-l^DDT,則有向圖生成部分110計(jì)算滿足 J二r/k的自然ltj (S170)。
(步驟6)有向圖生成部分110在具有形成當(dāng)前路徑CP的長(zhǎng)度為J的有 向邊之中,提取距離當(dāng)前路徑CP的起點(diǎn)最遠(yuǎn)的有向邊(S172)。
(步驟7 )有向圖生成部分110緊接在從(步驟6 )中提取的有向邊的尾 部延伸的、具有長(zhǎng)度i/i-"a的數(shù)量為n"k"的有向邊之后,添加具有長(zhǎng)度n^, 的一條有向邊,并移除在(步驟6)中提取的有向邊(S174)。此后,進(jìn)行 到(步驟1 )并重復(fù)以上步驟。
如果執(zhí)行有向邊的進(jìn)一步替換,則當(dāng)從有向圖I,的起點(diǎn)到終點(diǎn)的有向路 徑由全部具有長(zhǎng)度l的有向邊組成時(shí),或者當(dāng)形成有向路徑的有向邊的數(shù)量 超過(guò)DDT時(shí),在上述(步驟l)到(步驟6)中出現(xiàn)的處理的循環(huán)結(jié)束。通 過(guò)以上處理,可以對(duì)于每個(gè)有向圖設(shè)置最長(zhǎng)有向路徑PLP。
然后參照?qǐng)D14,在下文中描述替換給定有向邊的步驟。在該步驟中,在 形成有向路徑的有向邊的數(shù)量不超過(guò)DDT的條件下,對(duì)于每個(gè)有向圖構(gòu)建用 以以更短的有向邊替換給定有向邊的處理的算法。 有向圖生成部分110基于以下算法替換有向邊。
(步驟i )有向圖生成部分110在組成有向圖I,的有向邊之中,提取被 設(shè)置為激活、還沒(méi)有被處理(沒(méi)有設(shè)置完成)且最長(zhǎng)的有向邊。進(jìn)一步,有
向圖生成部分iio將所提取的有向邊的長(zhǎng)度設(shè)置為r。如果存在具有長(zhǎng)度j, 的多條有向邊,則有向圖生成部分uo選擇距離有向圖r的起點(diǎn)最遠(yuǎn)的有向
邊(S180)。將所選擇的有向邊稱為WJ (Working Jump,工作跳躍),將有 向邊WJ的起點(diǎn)稱為WJS,并且將終點(diǎn)稱為WJE。進(jìn)一步,將形成從有向圖 I,的起點(diǎn)到達(dá)WJS的有向路徑的有向邊的數(shù)量表示為D。
(步驟2)有向圖生成部分110判定有向邊WJ的長(zhǎng)度J,是否為JS1 (S182),如果J,S1,則將僅由被設(shè)置為激活的有向邊組成的有向圖設(shè)置為期 望的有向圖I(S202 )。如果J,〉1,則進(jìn)行到(步驟3)。
(步驟3)如果有向邊wj的長(zhǎng)度r為r>i,則有向圖生成部分no將
從WJS到達(dá)(WJE-1 )的有向路徑設(shè)置為當(dāng)前路徑CP ( S184 ) 。 ( WJE-1 ) 是緊接在WJE之前的坐標(biāo)點(diǎn)。
(步驟4)有向圖生成部分110在形成當(dāng)前路徑CP的有向邊之中提取最 長(zhǎng)有向邊,并將其長(zhǎng)度設(shè)置為J (S186)。
75(步驟5 )有向圖生成部分110判定所提取的有向邊的長(zhǎng)度J是否為J^l
(S188 ),并且如果J^l,則向形成當(dāng)前路徑CP的所有有向邊設(shè)置激活(S198 ) 并向有向邊WJ設(shè)置完成(done) ( S200 )。此后,再次v^人(步驟1 )的處理 開(kāi)始。如果》1,則進(jìn)行到(步驟6)。
(步驟6 )如果J>1,則有向圖生成部分110判定弁JP(CP)+n"k-l^DDT-D 是否成立(S190),并且如果弁JP(CP)+n"k-l〉DDT-D,則向形成當(dāng)前路徑CP 的所有有向邊設(shè)置激活(S198),并向有向邊WJ設(shè)置完成(S200)。此后, 再次開(kāi)始從(步驟l)的處理。如果弁JP(CP)+n"k-l^DDT-D,則進(jìn)行到(步驟 7)。
(步驟7 )如果弁JP(CP)+n"k-l^DDT-D,則有向圖生成部分110計(jì)算滿足 J二n^的自然凄tj (S192)。
(步驟8 )有向圖生成部分110在形成當(dāng)前路徑CP的具有長(zhǎng)度J的有向 邊之中,提取距離當(dāng)前路徑CP的起點(diǎn)最遠(yuǎn)的有向邊(S194)。
(步驟9 )有向圖生成部分110緊接在從(步驟8 )中提取的有向邊的尾 部延伸的、具有長(zhǎng)度nG-,的數(shù)量為n〃k"的有向邊之后,添加具有長(zhǎng)度r^,
的一條有向邊,并移除在(步驟8)中提取的有向邊(S196)。此后,進(jìn)行 到(步驟3)并重復(fù)以上步驟。
如果執(zhí)行有向邊的進(jìn)一步替換,則當(dāng)從WJS到WJE-1的有向路徑由全 部具有長(zhǎng)度i的有向邊組成時(shí),或者當(dāng)形成從WJS到WJE-1的有向路徑的有 向邊的數(shù)量超過(guò)DDT時(shí),在上述(步驟3)到(步驟9)中出現(xiàn)的處理的循 環(huán)結(jié)束。另一方面,當(dāng)沒(méi)有對(duì)組成有向圖I,的任意有向邊設(shè)置完成,并且不 存在具有長(zhǎng)度2或更長(zhǎng)的有向邊時(shí),在上述(步驟1 )到(步驟5 )或(步驟 6)中出現(xiàn)的處理的循環(huán)結(jié)束。通過(guò)以上處理,可以生成期望的有向圖I。
最后,示出了通過(guò)使用上述有向圖生成方法而生成的有向圖I的示例。 圖15示出了在基于具有葉節(jié)點(diǎn)數(shù)11=64的完全二叉樹(shù)(如圖3所示)設(shè)置參 數(shù)1(=6的情況下的有向圖I。
首先,將基于基本方案生成的有向圖H (圖4)與根據(jù)本實(shí)施例的有向 圖I(圖15)進(jìn)行比較,如下兩點(diǎn)是顯而易見(jiàn)的。(l)與有向圖H相比,在 有向圖I中,具有長(zhǎng)度2或更長(zhǎng)的有向邊的數(shù)量減少,并且從一個(gè)坐標(biāo)點(diǎn)延 伸的有向邊的數(shù)量減少。(2)組成有向圖I的任意有向路徑不超過(guò)有向圖H 的最長(zhǎng)有向路徑LP(P[1,1],[1,64])的長(zhǎng)度。由此,確認(rèn)生成了能夠在不增加生成集合密鑰所需的計(jì)算量的最差值的情況下減少要由用戶保存的中間密鑰的 數(shù)量的有向圖I。
同樣地,關(guān)于設(shè)置參數(shù)1^3的情況進(jìn)行比較。在基于基本方案的密鑰分
發(fā)方案中,要分發(fā)到每個(gè)用戶的中間密鑰的數(shù)量是0(l^log(n)),并且隨著參 數(shù)k減小,要由每個(gè)用戶保存的密鑰的數(shù)量也減少。然而,存在如下問(wèn)題 參數(shù)k的減小引起了計(jì)算量的增加??紤]到該問(wèn)題,具體地進(jìn)行當(dāng)參數(shù)k減 小時(shí)的效果的研究。圖16示出了基于基本方案生成的有向圖H,而圖17示 出了根據(jù)本實(shí)施例的有向圖I。
將通過(guò)使用相同的基本方案生成的有向圖H (圖4: k=6,圖6: k=3 ) 進(jìn)行比較,在具有]^3的有向圖H中,具有長(zhǎng)度2或更長(zhǎng)的有向邊的數(shù)量減 少,并且從一個(gè)坐標(biāo)點(diǎn)延伸的有向邊的數(shù)量減少。然而,在]^=3的情況下, 形成有向圖H的最長(zhǎng)有向路徑LP([1,1],[1,64])的有向邊的數(shù)量是15,其大于 k=6的情況下的有向邊的數(shù)量(有向邊的數(shù)量=11 )。然后,關(guān)于k^3的相同 情況將根據(jù)基本方案的有向圖H (圖16)與根據(jù)本實(shí)施例的有向圖I (圖17) 進(jìn)行比較,盡管形成最長(zhǎng)有向路徑LP的有向邊的數(shù)量是15 (其是相同的), 但是有向圖I中具有長(zhǎng)度2或更長(zhǎng)的有向邊的數(shù)量更少。由此確認(rèn),不論參 數(shù)k如何都可以獲得本實(shí)施例的效果。
為了更加量化地理解根據(jù)本實(shí)施例減少密鑰數(shù)量的效果,在圖18中的表 格中示出了在基本方案(由現(xiàn)有方案表示)與本實(shí)施例之間的比較結(jié)果。參 照?qǐng)D18,在1^=6的情況下,對(duì)所有用戶減少要保存的密鑰數(shù)量。當(dāng)然,這對(duì) 于密鑰總數(shù)和密鑰平均數(shù)是相同的。進(jìn)一步,將基本方案(k=3 )和本實(shí)施例 的方案(k=6)進(jìn)行比較,要由每個(gè)用戶保存的密鑰數(shù)量幾乎相同。比較示出 了通過(guò)應(yīng)用本實(shí)施例可以減少計(jì)算量而又同時(shí)保持幾乎相同的密鑰數(shù)量的效 果。盡管由于在用戶數(shù)量n只有n-64那么小的實(shí)現(xiàn)中獲得以上結(jié)果,因此要 減少的密鑰數(shù)量的絕對(duì)值似乎不大,但是由于用戶數(shù)量的量級(jí)相差懸殊,因 此在實(shí)現(xiàn)環(huán)境中減少的效果是非常明顯的。
在上文中描述了能夠在不增大生成集合密鑰所需的計(jì)算量的最差值的情 況下,減少要由用戶保存的中間密鑰的數(shù)量的有向圖的生成邏輯。上述密鑰 生成邏輯(有向圖)的構(gòu)造主要由組成密鑰分發(fā)服務(wù)器102的密鑰生成邏輯 構(gòu)建塊執(zhí)行。然而,為了基于以上密鑰生成邏輯來(lái)執(zhí)行加密密鑰分發(fā),其他 元件是必需的。由此,重新參照?qǐng)D8在下文中描述其他元件。重新參照?qǐng)D8,除了上述密鑰生成邏輯構(gòu)建塊之外,密鑰分發(fā)服務(wù)器102
還包括初始中間密鑰設(shè)置部分112、密鑰生成部分114、加密部分116、傳送 部分118和子集確定部分120。
(初始中間密鑰設(shè)置部分112 )
初始中間密鑰設(shè)置部分112對(duì)于與樹(shù)的每個(gè)中間節(jié)點(diǎn)對(duì)應(yīng)的每個(gè)有向圖 I,生成與有向圖I的初始坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰。例如,初始中間密鑰設(shè)置 部分112可以使用偽隨機(jī)數(shù)發(fā)生器來(lái)生成隨機(jī)數(shù),并將隨機(jī)數(shù)設(shè)置為與以上 初始坐標(biāo)點(diǎn)(根)對(duì)應(yīng)的每個(gè)中間密鑰,或者可以將給定數(shù)值設(shè)置為每個(gè)中 間密鑰。
(密鑰生成部分114)
對(duì)于組成有向圖I的某個(gè)有向邊,當(dāng)輸入分配給由有向邊的尾部指示的 坐標(biāo)點(diǎn)的給定中間密鑰時(shí),密鑰生成部分114輸出與由有向邊的尾部表示的
的中間密鑰。由此,密鑰生成部分114與基本方案的PRSG對(duì)應(yīng)。然而,密 鑰生成部分114與基本方案的PRSG的不同在于它基于由有向圖生成部分 110生成的有向圖I輸出中間密鑰。如果將密鑰生成部分114表示為與PRSG 相同,則當(dāng)輸入與有向圖I的某個(gè)坐標(biāo)點(diǎn)SO對(duì)應(yīng)的中間密鑰t(SO)時(shí),輸出與
其尾部位于所述坐標(biāo)點(diǎn)的有向邊的頭部對(duì)應(yīng)的中間密鑰t(Sl)、 t(S2)........
t(Sm)(與子集S0對(duì)應(yīng))以及集合密鑰k(SO)。注意,m表示其尾部位于某個(gè) 坐標(biāo)點(diǎn)S0的有向邊的數(shù)量。 (傳送部分118)
傳送部分U8將由加密部分116加密的內(nèi)容密鑰(將在后面描述)傳送 到與葉節(jié)點(diǎn)對(duì)應(yīng)的所有用戶。傳送部分118通過(guò)參照上述有向圖I向每個(gè)用 戶分發(fā)中間密鑰。此時(shí),傳送部分118可以以每個(gè)用戶可以導(dǎo)出與其所屬的 子集對(duì)應(yīng)所有中間密鑰的方式分發(fā)最小所需數(shù)量的中間密鑰。具體地說(shuō),傳 送部分118可以從組成集合系統(tǒng)(D (參照以上表達(dá)式(1 ))的子集中提取中 間密鑰的分發(fā)目的地用戶所屬的子集,從與所提取的子集對(duì)應(yīng)的有向圖I的 坐標(biāo)點(diǎn)中選擇一 個(gè)坐標(biāo)點(diǎn),以便在與達(dá)到所述坐標(biāo)點(diǎn)的有向邊的尾部對(duì)應(yīng)的 子集中不包括分發(fā)目的地用戶,并僅將與所選擇的坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰分 發(fā)至分發(fā)目的地用戶。然而,如果中間密鑰的分發(fā)目的地用戶所屬的子集與 有向圖I的初始坐標(biāo)點(diǎn)對(duì)應(yīng),則傳送部分118可以僅將與初始坐標(biāo)點(diǎn)對(duì)應(yīng)的
78中間密鑰分發(fā)至分發(fā)目的地用戶。進(jìn)一步,傳送部分118可以用作向每個(gè)用 戶分發(fā)有向圖I的信息的有向圖信息分發(fā)部分。具體地說(shuō),當(dāng)輸入每個(gè)中間 密鑰時(shí),傳送部分118可以分發(fā)與基于有向圖I輸出給定中間密鑰和集合密
鑰的PRSG的密鑰生成算法(如密鑰生成程序)有關(guān)的信息。
通過(guò)使用不同于用于內(nèi)容分發(fā)的信道的通信信道,可以在內(nèi)容的分發(fā)之 前執(zhí)行中間密鑰的分發(fā)。例如,在終端單元的制造工廠中制造終端時(shí),可以
從密鑰分發(fā)服務(wù)器102輸出每個(gè)終端的中間密鑰,并將其記錄在記錄媒體上, 并且可以將從記錄媒體中讀取的每個(gè)終端單元的中間密鑰存儲(chǔ)到對(duì)應(yīng)的終端 單元中。
(加密部分116)
加密部分116通過(guò)使用集合密鑰加密內(nèi)容密鑰。盡管內(nèi)容密鑰的數(shù)量是 1,但是存在與組成集合系統(tǒng)O的子集數(shù)量相同的集合密鑰的數(shù)量。在組成 集合系統(tǒng)(D的所有子集之中,加密部分116通過(guò)使用與由子集確定部分120 選擇的子集對(duì)應(yīng)的每個(gè)集合密鑰,來(lái)加密內(nèi)容密鑰(將在后面描述)。由此,
加密密鑰116生成與各個(gè)集合密鑰對(duì)應(yīng)的經(jīng)加密的內(nèi)容密鑰。因此,如果所 選擇的子集的數(shù)量是m,則生成m個(gè)經(jīng)加密的內(nèi)容密鑰??商娲?,加密部 分116可以加密內(nèi)容。例如,加密部分116可以使用內(nèi)容密鑰來(lái)加密內(nèi)容或 者可以使用上述各個(gè)集合密鑰來(lái)加密內(nèi)容。然而,使用集合密鑰來(lái)加密內(nèi)容 的配置是本實(shí)施例的可替代的示例。 (子集確定部分120)
子集確定部分120確定應(yīng)該對(duì)其禁止內(nèi)容或內(nèi)容密鑰的解密的排除用戶 的集合(R),并通過(guò)使用從與有向圖I的坐標(biāo)點(diǎn)對(duì)應(yīng)的子集中選擇的給定子 集的并集,從所有用戶的集合(N)中消除排除用戶的集合(R),來(lái)定義許 可用戶的集合(N\R),然后以組成許可用戶的集合(N\R)的子集數(shù)量 最小的方式確定組成許可用戶的集合(NXR)的一組子集。子集確定部分120 可以由如下部分組成許可用戶集合確定部分,用于確定許可用戶的集合(N \R);以及許可用戶子集確定部分,用于確定組成許可用戶的集合(N\R) 的一組子集。
在以上述方式由子集確定部分120確定組成許可用戶的集合的子集(Sl、
S2........ Sm)之后,傳送部分118向每個(gè)用戶分發(fā)許可用戶的集合(N\
R)或組成許可用戶的集合(N\R)的子集(Sl、 S2........ Sm)。進(jìn)一步,加密部分116使用與由子集確定部分120確定的子集(Sl、 S2........ Sm)
對(duì)應(yīng)的集合密鑰,來(lái)加密內(nèi)容或內(nèi)容密鑰,并且傳送部分118將經(jīng)加密的內(nèi) 容或內(nèi)容密鑰分發(fā)至每個(gè)用戶。
在上文中描述了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的密鑰分發(fā)服務(wù)器102的配 置。如上所述,本實(shí)施例的特征主要是密鑰生成邏輯構(gòu)建塊的配置。特別地, 本實(shí)施例具有在用于生成確定密鑰生成邏輯的有向圖的有向圖生成部分110 的配置方面的特征。根據(jù)本實(shí)施例的有向圖生成部分IIO可以生成能夠在不 增加對(duì)于每個(gè)用戶來(lái)說(shuō)用以生成集合密鑰所需的計(jì)算量的情況下,減少要由 每個(gè)用戶保存的中間密鑰的數(shù)量。結(jié)果,可以節(jié)省每個(gè)用戶的終端單元用以 保存中間密鑰所需的存儲(chǔ)器容量,并且還可以降低向每個(gè)用戶的終端單元分 發(fā)中間密鑰的分發(fā)成本。
參照?qǐng)D8,在下文中描述根據(jù)本實(shí)施例的終端單元122的配置。 參照?qǐng)D8,終端單元122包括接收部分124、判定部分126、密鑰生成部 分128和解密部分130。 (接收部分124)
接收部分124接收從密鑰分發(fā)服務(wù)器102中包括的傳送部分118傳送的 信息。例如,接收部分124從密鑰分發(fā)服務(wù)器102接收所分發(fā)的內(nèi)容、經(jīng)加 密的內(nèi)容密鑰、給定中間密鑰、與有向圖I相關(guān)的信息、與許可用戶相關(guān)的 信息等。進(jìn)一步,接收部分124可以從多個(gè)信息源收集信息,而不是僅從單 一信息源接收信息。例如,接收部分124可以從多個(gè)通過(guò)有線或無(wú)線網(wǎng)絡(luò)連 接的信息源(如密鑰分發(fā)服務(wù)器102)或者在不通過(guò)網(wǎng)絡(luò)的情況下直接或間 接連接的信息源(如諸如光盤(pán)單元、磁盤(pán)單元和便攜式終端單元之類的信息 媒體)獲取信息。由于接收部分124當(dāng)然可以從另一終端單元122接收信息, 因此可以將其進(jìn)行配置以便與例如屬于相同分發(fā)目的地組的另 一終端單元 122共享有向圖I的信息。在這種情況下,相同分發(fā)目的地組意味著授權(quán)為從 相同或多個(gè)密鑰分發(fā)服務(wù)器102分發(fā)的內(nèi)容的查看用戶(vieweruser)的組, 這與上述樹(shù)結(jié)構(gòu)的葉節(jié)點(diǎn)對(duì)應(yīng)的用戶的集合對(duì)應(yīng)。進(jìn)一步,可以預(yù)先向終端 單元提供上述中間密鑰,并將其存儲(chǔ)在終端單元中。 (判定部分126)
判定部分126判定它是否作為與用于加密的集合密鑰對(duì)應(yīng)的任意子集中的元素而包括。由于終端單元122僅保存用于生成與其所屬的子集對(duì)應(yīng)的集
合密鑰的中間密鑰,因此必須基于與由密鑰分發(fā)服務(wù)器102使用的、用以加
密內(nèi)容或內(nèi)容密鑰的集合密鑰有關(guān)的信息,預(yù)先判定其所屬的子集是否包括
在與集合密鑰對(duì)應(yīng)的子集中。這樣的判定由判定部分126進(jìn)行。以與內(nèi)容密 鑰相同的定時(shí)或不同的定時(shí),從密鑰分發(fā)服務(wù)器102分發(fā)與用于加密的集合 密鑰有關(guān)的信息,并由接收部分124接收所述信息。如果判定與其所屬的子 集對(duì)應(yīng)的集合密鑰不包括在用于加密的集合密鑰中,則終端單元122結(jié)束內(nèi) 容密鑰的處理,而不執(zhí)行使用其自身保存的中間密鑰來(lái)生成集合密鑰的處理。 相反,如果發(fā)現(xiàn)了與其所屬的子集對(duì)應(yīng)的集合密鑰,則終端單元122通過(guò)利 用PRSG,使用其自身保存的中間密鑰來(lái)生成集合密鑰。 (密鑰生成部分128) 對(duì)于組成有向圖I的某個(gè)有向邊,當(dāng)輸入分配給由有向邊的尾部所表示 的坐標(biāo)點(diǎn)的給定中間密鑰時(shí),密鑰生成部分128輸出與由有向邊的尾部所表
對(duì)應(yīng)的中間密鑰。由此,密鑰生成部分128與密鑰分發(fā)月l務(wù)器102中包括的 密鑰生成部分114對(duì)應(yīng)。如果將密鑰生成部分128表示為PRSG,如果輸入 與有向圖I的某個(gè)坐標(biāo)點(diǎn)SO對(duì)應(yīng)的中間密鑰t(SO),則輸出與其尾部位于坐標(biāo)
點(diǎn)SO的有向邊的頭部對(duì)應(yīng)的中間密鑰t(Sl)、 t(S2)........ t(Sm)以及集合密
鑰k(SO)。注意,m表示其尾部位于某個(gè)坐標(biāo)點(diǎn)SO的有向邊的數(shù)量??梢詮?密鑰分發(fā)服務(wù)器102獲取有向圖I的信息,或者將其存儲(chǔ)在終端單元122中 包括的存儲(chǔ)部分(未示出)中。 (解密部分130)
解密部分130使用集合密鑰來(lái)解密內(nèi)容密鑰。具體地說(shuō),解密部分130 從與集合密鑰對(duì)應(yīng)的子集中提取將它作為元素包括的子集,并使用與所述子
集對(duì)應(yīng)的集合密鑰來(lái)解密內(nèi)容或內(nèi)容密鑰。
在上文中描述了根據(jù)本實(shí)施例的終端單元122的配置。如上所述,終端 單元122可以基于由上述密鑰分發(fā)服務(wù)器102中包括的有向圖生成部分110 生成的特殊的密鑰生成邏輯(有向圖I)來(lái)生成期望的集合密鑰。結(jié)果,對(duì)于 終端單元122來(lái)說(shuō),可以減少生成用以解密內(nèi)容密鑰的集合密鑰所需保存的
中間密鑰的數(shù)量。 <第二實(shí)施例>接著,描述根據(jù)本發(fā)明的第二實(shí)施例的加密密鑰分發(fā)方案。根據(jù)本實(shí)施 例的加密密鑰分發(fā)方案通過(guò)生成由更長(zhǎng)的有向邊組成的臨時(shí)有向圖,然后以 更短的有向邊來(lái)替換組成臨時(shí)有向圖的有向邊以由此重建有向圖,能夠減少 對(duì)于終端單元122來(lái)說(shuō)、用以生成集合密鑰所需的計(jì)算量,同時(shí)減少要由終
端單元122保存的中間密鑰的數(shù)量。在下文中,詳細(xì)描述執(zhí)行根據(jù)本實(shí)施例 的加密密鑰分發(fā)方案的密鑰分發(fā)服務(wù)器152的功能性配置、加密密鑰分發(fā)方 案的特征和優(yōu)點(diǎn)。與上述第一實(shí)施例的主要區(qū)別在于密鑰分發(fā)服務(wù)器152的 功能性配置。由此,由相同的符號(hào)表示與上述第一實(shí)施例中的組件基本上相 同的組件,并省略冗余說(shuō)明。
參照?qǐng)D19,在下文中詳細(xì)描述根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器152的配 置。圖19是示出了根據(jù)本實(shí)施例的密鑰分發(fā)服務(wù)器152和終端單元122的配
置的框圖。
如圖19所示,密鑰分發(fā)服務(wù)器152由樹(shù)結(jié)構(gòu)設(shè)置部分154、坐標(biāo)軸設(shè)置 部分156、臨時(shí)有向圖生成部分158、有向圖生成部分160、初始中間密鑰設(shè) 置部分162、密鑰生成部分164、加密部分166、傳送部分168和子集確定部 分170組成。特別地,將樹(shù)結(jié)構(gòu)設(shè)置部分154、坐標(biāo)軸設(shè)置部分156、臨時(shí)有 向圖生成部分158和有向圖生成部分160統(tǒng)稱為密鑰生成邏輯構(gòu)建塊。同樣 地,將初始中間密鑰i殳置部分162和密鑰生成部分164統(tǒng)稱為密鑰生成塊。
在下文中描述組成密鑰生成邏輯構(gòu)建塊的元件。密鑰生成邏輯構(gòu)建塊執(zhí) 行與上述[基本技術(shù)描述]中的(樹(shù)結(jié)構(gòu)的設(shè)置)和(有向圖的生成)對(duì)應(yīng)的處 理。
(樹(shù)結(jié)構(gòu)設(shè)置部分154)
樹(shù)結(jié)構(gòu)設(shè)置部分154配置由向其分配了編號(hào)l到n (n是自然數(shù))的n 個(gè)葉節(jié)點(diǎn)、根節(jié)點(diǎn)和多個(gè)除了根節(jié)點(diǎn)和葉節(jié)點(diǎn)之外的中間節(jié)點(diǎn)組成的二叉樹(shù), 并在位于某個(gè)中間節(jié)點(diǎn)v或根節(jié)點(diǎn)v的下層的多個(gè)葉節(jié)點(diǎn)之中,將位于左端 的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,將位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv。進(jìn)一步, 樹(shù)結(jié)構(gòu)設(shè)置部分154將集合(1—n)和集合(2—n)分配給根節(jié)點(diǎn),并且如果某個(gè) 中間節(jié)點(diǎn)v位于其父節(jié)點(diǎn)的左側(cè),則將集合(lv+l—rv)分配給中間節(jié)點(diǎn),如果 中間節(jié)點(diǎn)v位于其父節(jié)點(diǎn)的右側(cè),則將集合(lv—rv-1 )分配給中間節(jié)點(diǎn)。
如上所述,樹(shù)結(jié)構(gòu)設(shè)置部分154具有能夠構(gòu)造m層樹(shù)結(jié)構(gòu)并且假設(shè)m=2(二叉樹(shù))的情況的配置,例如,可以構(gòu)造與根據(jù)基本方案的二叉樹(shù)結(jié)構(gòu)(圖 3)相同的樹(shù)結(jié)構(gòu)。由此,由樹(shù)結(jié)構(gòu)設(shè)置部分154構(gòu)造的樹(shù)結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)的 意義與根據(jù)之前所述的基本方案構(gòu)建的二叉樹(shù)結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)的意義基本上 相同。盡管為了描述的方便起見(jiàn),在下文中僅描述二叉樹(shù)結(jié)構(gòu),但是其不限 于此。
(坐標(biāo)軸設(shè)置部分156)
坐標(biāo)軸設(shè)置部分156設(shè)置第一水平坐標(biāo)軸,其上與集合(1—n)中包括的 各個(gè)子集相關(guān)的坐標(biāo)點(diǎn)以包含度向右變大的方式排列。接著,坐標(biāo)軸設(shè)置部 分156設(shè)置第二水平坐標(biāo)軸,其上與集合(2—n)中包括的各個(gè)子集相關(guān)的坐標(biāo) 點(diǎn)以包含度向左變大的方式排列。然后,對(duì)于每個(gè)中間節(jié)點(diǎn)v,坐標(biāo)軸設(shè)置 部分156設(shè)置第三水平坐標(biāo)軸,其上與集合(lv—rv-l)中包括的各個(gè)子集相關(guān) 的坐標(biāo)點(diǎn)以包含度向右變大的方式排列。進(jìn)一步,對(duì)于每個(gè)中間節(jié)點(diǎn)v,坐 標(biāo)軸設(shè)置部分156設(shè)置第四水平坐標(biāo)軸,其上與集合(lv+l—rv)中包括的各個(gè)
坐標(biāo)軸設(shè)置部分156將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端 的坐標(biāo)點(diǎn)的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè)。進(jìn) 一步,坐標(biāo)軸設(shè)置部分156將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第 一臨時(shí)坐標(biāo)點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn)放置在第一臨時(shí)坐標(biāo)點(diǎn)右側(cè)。
如上所述,坐標(biāo)軸設(shè)置部分156設(shè)置用于構(gòu)建與由樹(shù)結(jié)構(gòu)設(shè)置部分154 配置的樹(shù)結(jié)構(gòu)的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的有向圖的坐標(biāo)軸。第 一水平坐標(biāo)軸表示與集 合(l—n)的坐標(biāo)軸,第二水平坐標(biāo)軸表示與集合(2—n)對(duì)應(yīng)的坐標(biāo)軸,第三水 平坐標(biāo)軸表示與集合(lv—rv-l)的坐標(biāo)軸,而第四水平坐標(biāo)軸表示與集合 (lv+l—rv)對(duì)應(yīng)的坐標(biāo)軸。由于對(duì)于每個(gè)中間節(jié)點(diǎn)v設(shè)置第三水平坐標(biāo)軸和第 四水平坐標(biāo)軸,因此分別設(shè)置多個(gè)坐標(biāo)軸。具體地說(shuō),設(shè)置與中間節(jié)點(diǎn)的數(shù) 量相同的第三水平坐標(biāo)軸和第四水平坐標(biāo)軸的數(shù)量。 (臨時(shí)有向圖生成部分158)
臨時(shí)有向圖生成部分158設(shè)置給定整數(shù)k,并計(jì)算滿足 n"-,〈(rv-lv+l)^nx/k的自然數(shù)x。接著,對(duì)于每個(gè)整數(shù)i咱到x-l,臨時(shí)有向
圖生成部分15 8通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條右向有向邊,形成其尾部 位于第一和第三坐標(biāo)軸上的最左側(cè)的坐標(biāo)點(diǎn)的有向路徑,并進(jìn)一步通過(guò)連接 具有長(zhǎng)度ni/k的一條或多條左向有向邊,形成其尾部位于第二和第四坐標(biāo)軸上的最右側(cè)的坐標(biāo)點(diǎn)的有向路徑。然后,臨時(shí)有向圖生成部分158對(duì)于第一到 第四水平坐標(biāo)軸中的每個(gè),排除其尾部或頭部位于臨時(shí)坐標(biāo)點(diǎn)的所有有向邊。
進(jìn)一步,臨時(shí)有向圖生成部分158從到達(dá)第一到第四水平坐標(biāo)軸上每個(gè)坐標(biāo) 點(diǎn)的有向邊中,排除除了最長(zhǎng)有向邊之外的有向邊,由此生成分別與集合 (1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖。 此后,臨時(shí)有向圖生成部分158將具有長(zhǎng)度1的有向邊(其頭部是位于第一 水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn))添加到與集合(1—n-l)有關(guān)的臨時(shí)有向圖,由此 生成與集合(1 —n)有關(guān)的臨時(shí)有向圖。
如上所述,臨時(shí)有向圖生成部分158通過(guò)與基本方案類似的方法生成有 向圖。然而,與基本方案的有向圖相比,臨時(shí)有向圖生成部分158可以生成 由更長(zhǎng)的有向邊組成的有向圖。這減少了對(duì)于每個(gè)用戶來(lái)說(shuō)、用以導(dǎo)出集合 密鑰所需的計(jì)算量(如后面所述)。在下文中參照?qǐng)D20詳細(xì)描述由臨時(shí)有向 圖生成部分158執(zhí)行的處理的處理流程。圖20是示出了由臨時(shí)有向圖生成部 分158進(jìn)行的有向圖生成的處理流程的流程圖。
參照?qǐng)D20,臨時(shí)有向圖生成部分158通過(guò)下述步驟生成有向圖。通過(guò)例 證的方式描述生成與集合(lv—rv-l)對(duì)應(yīng)的臨時(shí)有向圖I'(lv—rv-l)的方法。
(步驟l; S240 )臨時(shí)有向圖生成部分158通過(guò)將集合(lv—rv-l)中包括 的各個(gè)子集以包含度從左至右變大的方式排列,而將其放置在水平直線(水 平坐標(biāo)軸)上。準(zhǔn)確地說(shuō),臨時(shí)有向圖生成部分158將作為集合(lv—rv-l)的 元素的子集分配給水平坐標(biāo)軸上的各個(gè)坐標(biāo)點(diǎn),并以所分配的子集的包含度 向右變大的方式放置坐標(biāo)點(diǎn)。然后,臨時(shí)有向圖生成部分158將兩個(gè)臨時(shí)坐 標(biāo)點(diǎn)放置在位于水平坐標(biāo)軸上最右側(cè)的坐標(biāo)點(diǎn)的右側(cè)。從坐標(biāo)軸上最左側(cè)坐 標(biāo)點(diǎn)到最右側(cè)坐標(biāo)點(diǎn)的距離Lv為L(zhǎng)v=rv-lv+l 。此時(shí),臨時(shí)有向圖生成部分 158計(jì)算滿足n(x-,〈Lv^n^的整數(shù)x(lSx^c)。
(步驟2; S242)臨時(shí)有向圖生成部分158將整數(shù)值i設(shè)置為計(jì)數(shù),并 通過(guò)從0變化到x-l的計(jì)數(shù)i執(zhí)行如下操作。從水平坐標(biāo)軸的左端處的起點(diǎn)開(kāi) 始,臨時(shí)有向圖生成部分158重復(fù)延伸到遠(yuǎn)離所述坐標(biāo)點(diǎn)n"k的坐標(biāo)點(diǎn)的右向 有向邊的設(shè)置(跳躍到遠(yuǎn)離所述坐標(biāo)點(diǎn)n"k的坐標(biāo)點(diǎn)),直到有向邊的頭部達(dá) 到水平坐標(biāo)軸上其右端或左端的臨時(shí)坐標(biāo)點(diǎn)為止或者下一個(gè)要設(shè)置的有向邊 的頭部超過(guò)任意臨時(shí)坐標(biāo)點(diǎn)為止。
(步驟3; S244)臨時(shí)有向圖生成部分158從在(步驟2 )中創(chuàng)建的有向邊中刪除到達(dá)臨時(shí)坐標(biāo)點(diǎn)的所有有向邊。
(步驟4; S246)如果存在到達(dá)某個(gè)坐標(biāo)點(diǎn)的多個(gè)有向邊,則臨時(shí)有向 圖生成部分158刪除除了最長(zhǎng)有向邊之外的所有有向邊。
通過(guò)以上處理,臨時(shí)有向圖生成部分158可以由與基本方案相比更長(zhǎng)的 有向邊組成的有向圖。進(jìn)一步,對(duì)于組成樹(shù)結(jié)構(gòu)的所有中間節(jié)點(diǎn)和根節(jié)點(diǎn), 臨時(shí)有向圖生成部分158通過(guò)與以上臨時(shí)有向圖I,(lv—rv-l)相同的方法生成 有向圖。例如,臨時(shí)有向圖生成部分158生成與某個(gè)中間節(jié)點(diǎn)v對(duì)應(yīng)的臨時(shí) 有向圖I'(lv—rv-l),并進(jìn)一步生成與根節(jié)點(diǎn)對(duì)應(yīng)的臨時(shí)有向圖I'(1—n)和 1(2—n)。在水平坐標(biāo)軸上形成臨時(shí)有向圖I,(lv+1—rv)和I(2—n),在所述水平 坐標(biāo)軸上以每個(gè)圖中包括的子集的包含度在"向左方向"中變大的方式排列 坐標(biāo)點(diǎn)。由此,顛倒由以上(步驟l)設(shè)置的水平坐標(biāo)軸上的坐標(biāo)點(diǎn)排列規(guī) 則。進(jìn)一步,將用于組成臨時(shí)有向圖I,(lv+1—rv)和1(2—n)的兩個(gè)臨時(shí)坐標(biāo)點(diǎn) 放置在位于水平坐標(biāo)軸上最左側(cè)的坐標(biāo)點(diǎn)的左側(cè)。通過(guò)將有向邊 e([l,n-l],[l,n])添加到有向圖1(1—n-l)來(lái)生成有向圖1(1—n)。
通過(guò)利用上述有向圖生成方法,生成圖2i中所示的臨時(shí)有向圖r。圖
21示出了基于如圖3所示具有葉節(jié)點(diǎn)數(shù)n二64的完全二叉樹(shù),當(dāng)設(shè)置參數(shù)k-6 時(shí)形成的臨時(shí)有向圖I'。 . (有向圖生成部分160)
有向圖生成部分160在由多條所連接的有向邊組成的有向路徑之中,確 定具有形成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑。然后,有向圖生 成部分160通過(guò)以更短的有向邊的集合來(lái)替換形成每個(gè)有向路徑的有向邊來(lái) 重建每個(gè)有向路徑,以便不超過(guò)形成最長(zhǎng)有向路徑的有向邊的數(shù)量,并生成 由重建的有向路徑組成的有向圖。
如上所述,有向圖生成部分160基于由臨時(shí)有向圖生成部分158構(gòu)建的 臨時(shí)有向圖I,生成期望的有向圖I。具體地說(shuō),盡管基本方案僅可以生成基本
上與臨時(shí)有向圖r基本上相同的有向圖h,但是根據(jù)本實(shí)施例的密鑰分發(fā)服
務(wù)器152可以生成表示更有效的集合密鑰生成邏輯的有向圖I,這是因?yàn)樗?括有向圖生成部分160。在下文中詳細(xì)描述由有向圖生成部分160執(zhí)行的處 理的處理流程。
參照?qǐng)D22,簡(jiǎn)要地描述由有向圖生成部分160進(jìn)行的有向圖生成方法的 概要。圖22是示出了生成有向圖的處理流程的示例的流程圖。首先,有向圖生成部分160使用由臨時(shí)有向圖生成部分158生成的臨時(shí) 有向圖I,,以便生成期望的有向圖I。
然后,有向圖生成部分16(^人形成所有生成的臨時(shí)有向圖r的有向路徑
中提取最長(zhǎng)有向路徑LP (LongestPath) ( S250 )。例如,提取有向路徑LP 的步驟可以由有向圖生成部分160中包括的最長(zhǎng)有向路徑生成部分來(lái)執(zhí)行。 進(jìn)一步,從不包括最長(zhǎng)有向路徑LP的所有生成的臨時(shí)有向圖I,的每個(gè)中提取 最長(zhǎng)有向路徑PLP ( Partially Longest Path,部分最長(zhǎng)路徑)(S252 )。因此,
從每個(gè)臨時(shí)有向圖i,提取有向路徑plp。此后,從組成臨時(shí)有向圖r的有向
邊中選擇給定有向邊,并以更短'的有向邊來(lái)替換它(S254)。此時(shí),有向圖 生成部分160在上述計(jì)算量的最差值不增加的條件下,基于所提取的有向路 徑LP和有向路徑PLP的長(zhǎng)度,執(zhí)行有向邊的替換。例如,上述給定有向邊 選擇步驟可以由有向圖生成部分160中包括的替換有向邊選擇部分來(lái)執(zhí)行。 進(jìn)一步,例如,上述有向邊替換步驟可以由有向圖生成部分160中包括的有 向邊替換部分來(lái)執(zhí)行。
在上文中描述了由有向圖生成部分160進(jìn)行的有向圖生成步驟的概要。 如上所述,有向圖生成部分160從由臨時(shí)有向圖生成部分158生成的臨時(shí)有 向圖I,中提取有向路徑LP和有向路徑PLP,然后基于那些有向路徑的長(zhǎng)度選 擇并替換給定有向邊,由此生成期望的有向圖。在下文中給出與上述每個(gè)步 驟對(duì)應(yīng)的更詳細(xì)的說(shuō)明。
首先參照?qǐng)D23,在下文中描述提取最長(zhǎng)有向路徑LP (S260 )的步驟。 在最長(zhǎng)有向路徑LP的描述之前,定義如下兩個(gè)表達(dá)式。
-DDT:表示最長(zhǎng)有向路徑LP的長(zhǎng)度。
-J(a,b):表示在某個(gè)有向路徑中具有長(zhǎng)度b的、數(shù)量為a的連續(xù)有向邊。 有向圖生成部分160可以對(duì)于組成臨時(shí)有向圖I,的每個(gè)有向路徑計(jì)算 J(a,b)。例如,考慮從臨時(shí)有向圖1,(1—n)的坐標(biāo)點(diǎn)[l,l]到[l,n]的有向路徑 P([l,l],[l,n]),將有向路徑P([U],[l,n])表示為J(n1/k-l, n(k-1)/k), J(n1/k-l, n(k—2)/k), ..., J(n1/k, 1)。在由上述臨時(shí)有向圖生成部分158生成的臨時(shí)有向圖I, 的情況下,有向路徑LP是組成臨時(shí)有向圖I,(l—n)的有向路徑P([l,l],[l,n])。 有向圖生成部分160可以提取最長(zhǎng)有向路徑LP或唯一地提取組成臨時(shí)有向圖 I,(l—n)的有向路徑P([l,l],[l,n]),并且在一些情況下,有向圖生成部分160 可以計(jì)算組成臨時(shí)有向圖I,(l—n)的所有有向路徑的長(zhǎng)度,并從其中選擇最長(zhǎng)有向路徑LP。此時(shí),將最長(zhǎng)有向路徑LP的長(zhǎng)度DDT表示為DDT=k*(n1/k-l)。 此后,有向圖生成部分160向形成最長(zhǎng)有向路徑LP的所有有向邊設(shè)置表示有 效的激活標(biāo)記。
接著,參照?qǐng)D24描述對(duì)于與根節(jié)點(diǎn)和各個(gè)中間節(jié)點(diǎn)的每個(gè)臨時(shí)有向圖I, (除了包括最長(zhǎng)有向路徑LP的圖)計(jì)算最長(zhǎng)有向路徑PLP的步驟。圖24是 示出了有向路徑PLP的計(jì)算步驟的流程圖。
在描述對(duì)于每個(gè)有向圖提取最長(zhǎng)有向路徑PLP的步驟之前,定義如下兩 個(gè)表達(dá)式。
-CP ( Current Path ):所考慮的有向路徑(將其稱為當(dāng)前路徑) -#JP(CP) :有向路徑中包括的有向邊的數(shù)量。
有向圖生成部分160基于下述算法提取有向路徑PLP。 (步驟1 )有向圖生成部分160確定從有向圖I,的起點(diǎn)到終點(diǎn)的當(dāng)前路 徑CP。如果所考慮的有向圖是有向圖r(a—b),則將有向路徑P([a,a],[a,b]) 設(shè)置為當(dāng)前路徑CP,而如果是有向圖I,(a—b),則將有向路徑P([b,b],[a,b]) 設(shè)置為當(dāng)前路徑CP (S262)。
(步驟2)有向圖生成部分160在形成當(dāng)前路徑CP的有向邊之中提取最 長(zhǎng)有向邊,并將其長(zhǎng)度設(shè)置為J (S264)。
(步驟3 )有向圖生成部分160判定JS1是否成立(S266 ),并且如果J化 則將當(dāng)前路徑CP確定為有向路徑PLP,并向形成有向路徑PLP的所有有向 邊設(shè)置激活標(biāo)記(S276 )。
(步驟4 )如果J>1 ,則有向圖生成部分160判定弁JP(CP)+n"k-KDDT是 否成立(S168),并且如果弁JP(CP)+n"k-l^DDT不成立,則將當(dāng)前路徑CP 確定為有向路徑PLP,并向形成有向路徑PLP的所有有向邊設(shè)置激活標(biāo)記 (S276)。
(步驟5 )如果釘P(CP)+n,l^DDT,則有向圖生成部分160計(jì)算滿足 J二i/k的自然數(shù)j (S270 )。
(步驟6 )有向圖生成部分160在具有形成當(dāng)前路徑CP的長(zhǎng)度J的有向 邊之中,提取距離當(dāng)前路徑CP的起點(diǎn)最遠(yuǎn)的有向邊(S272)。
(步驟7 )有向圖生成部分160緊接在從(步驟6 )中提取的有向邊的尾 部延伸的、具有長(zhǎng)度^-,的數(shù)量為n"k"的有向邊之后,添加具有長(zhǎng)度nG—'^ 的一條有向邊,并移除在(步驟6)中提取的有向邊(S174)。此后,進(jìn)行
87到(步驟1 )并重復(fù)以上步驟。
如果執(zhí)行有向邊的進(jìn)一步替換,則當(dāng)從有向圖I,的起點(diǎn)到終點(diǎn)的有向路 徑由全部具有長(zhǎng)度l的有向邊組成時(shí),或者當(dāng)形成有向路徑的有向邊的數(shù)量
超過(guò)DDT時(shí),在上述(步驟l)到(步驟6)中出現(xiàn)的處理的循環(huán)結(jié)束。通 過(guò)以上處理,可以對(duì)于每個(gè)有向圖設(shè)置最長(zhǎng)有向路徑PLP。
參照?qǐng)D25,在下文中描述替換給定有向邊的步驟。在該步驟中,在形成 有向路徑的有向邊的數(shù)量不超過(guò)DDT的條件下,對(duì)于每個(gè)有向路徑,構(gòu)建以 更短的有向邊替換給定有向邊的處理的算法。
有向圖生成部分160基于以下算法替換有向邊。
(步驟l)有向圖生成部分160在組成有向圖I,的有向邊之中,提取被 設(shè)置為激活、還沒(méi)有被處理(沒(méi)有設(shè)置完成)且最長(zhǎng)的有向邊。進(jìn)一步,有 向圖生成部分160將所提取的有向邊的長(zhǎng)度設(shè)置為J,。如果存在具有長(zhǎng)度J, 的多條有向邊,則有向圖生成部分160選擇距離有向圖I,的起點(diǎn)最遠(yuǎn)的有向 邊(S280 )。將所選擇的有向邊稱為WJ ( Working Jump ),將有向邊WJ的 起點(diǎn)稱為WJS,并且將終點(diǎn)稱為WJE。進(jìn)一步,將形成從有向圖I,的起點(diǎn)到 達(dá)WJS的有向路徑的有向邊的數(shù)量表示為D。
(步驟2 )有向圖生成部分160判定有向邊WJ的長(zhǎng)度J,是否為JS1 (S282),如果J,Sl,則將僅由被設(shè)置為激活的有向邊組成的有向圖設(shè)置為期 望的有向圖I(S302 )。如果J,M,則進(jìn)行到(步驟3)。
(步驟3)如果有向邊WJ的長(zhǎng)度J,為J,>1,則有向圖生成部分160將 從WJS到達(dá)(WJE-1 )的有向路徑設(shè)置為當(dāng)前路徑CP ( S284 ) 。
( WJE-1 ) 是緊接在WJE之前的坐標(biāo)點(diǎn)。
(步驟4 )有向圖生成部分160在形成當(dāng)前路徑CP的有向邊之中提取最 長(zhǎng)有向邊,并將其長(zhǎng)度設(shè)置為J (S286 )。
(步驟5 )有向圖生成部分160判定所提取的有向邊的長(zhǎng)度J是否為Kl (S288 ),并且如果Kl,則向形成當(dāng)前路徑CP的所有有向邊設(shè)置激活(S298 ) 并向有向邊WJ設(shè)置完成(S300 )。此后,再次從(步驟l)的處理開(kāi)始。
(步驟6 )如果J〉1,則有向圖生成部分160判定弁JP(CP)+n"k-l^DDT-D 是否成立(S290),并且如果釘P(CP)+n"k-l〉DDT-D,則向形成當(dāng)前路徑CP 的所有有向邊設(shè)置激活(S298 ),并向有向邊WJ設(shè)置完成(S300 )。此后, 再次從(步驟1 )的處理開(kāi)始。(步驟7 )如果弁JP(CP)+n"k-l^DDT-D,則有向圖生成部分160計(jì)算滿足 J二i/k的自然凄tj (S292)。
(步驟8 )有向圖生成部分160在形成當(dāng)前路徑CP的具有長(zhǎng)度J的有向 邊之中,提取距離當(dāng)前路徑CP的起點(diǎn)最遠(yuǎn)的有向邊(S294)。
(步驟9 )有向圖生成部分160緊接在從(步驟8 )中提取的有向邊的尾 部延伸的、具有長(zhǎng)度,,的數(shù)量為n^的有向邊之后,添加具有長(zhǎng)度i^-, 的一條有向邊,并移除在(步驟8)中提取的有向邊(S296)。此后,進(jìn)行 到(步驟3)并重復(fù)以上步驟。
如果執(zhí)行有向邊的進(jìn)一步替換,則當(dāng)從WJS到WJE-1的有向路徑由全 部具有長(zhǎng)度1的有向邊組成時(shí),或者當(dāng)形成/人WJS到WJE-1的有向路徑的有 向邊的數(shù)量超過(guò)DDT時(shí),在上述(步驟3)到(步驟9)中出現(xiàn)的處理的循 環(huán)結(jié)束。另一方面,當(dāng)沒(méi)有對(duì)組成有向圖I,的任意有向邊設(shè)置完成,并且不 存在具有長(zhǎng)度2或更長(zhǎng)的有向邊時(shí),在上述(步驟l)到(步驟5)或(步驟 6)中出現(xiàn)的處理的循環(huán)結(jié)束。通過(guò)以上處理,可以生成期望的有向圖I。
最后,示出了使用上述有向圖生成方法而生成的有向圖I的示例。圖26 示出了基于具有圖3所示的葉節(jié)點(diǎn)的數(shù)量11=64的完全二叉樹(shù),在設(shè)置參數(shù) k=6的情況下的有向圖I。
首先,將基于基本方案生成的有向圖H (圖4)與根據(jù)本實(shí)施例的有向 圖I(圖26)進(jìn)行比較,如下兩點(diǎn)是顯而易見(jiàn)的。(l)與有向圖H相比,在 有向圖I中,具有長(zhǎng)度2或更長(zhǎng)的有向邊的數(shù)量減少,并且從一個(gè)坐標(biāo)點(diǎn)延 伸的有向邊的數(shù)量減少。(2)對(duì)于有向圖I上的許多有向路徑,有向邊的數(shù) 量減少。由此,確認(rèn)生成了能夠減少生成集合密鑰所需的計(jì)算量的最差值并 減少要由用戶保存的中間密鑰的數(shù)量的有向圖I。
為了更加量化地理解根據(jù)本實(shí)施例減少密鑰數(shù)量的效果,在圖27中的表 格中示出了在基本方案與本實(shí)施例之間的比較結(jié)果。參照?qǐng)D27,減少要由用 戶保存的密鑰的總和(密鑰的總數(shù))以及要由用戶保存的密鑰的平均數(shù)。盡 管由于在用戶數(shù)量n只有n=64那么小的執(zhí)行中獲得以上結(jié)果,因此要減少的 密鑰數(shù)量的絕對(duì)值似乎不大,但是由于用戶數(shù)量相差懸殊,因此期望在執(zhí)行 環(huán)境中減小的效果作為非常明顯的差別出現(xiàn)。進(jìn)一步,由形成最長(zhǎng)有向路徑 的有向邊的數(shù)量表示生成集合密鑰所需的計(jì)算量的最差值,并且當(dāng)在基于基 本方案生成的有向圖H中所述值為(2k-l"(n"k-l)時(shí),在根據(jù)本實(shí)施例的有向圖I中減少了一半至l^(n,1)。
在上文中描述了生成能夠減少生成集合密鑰所需的計(jì)算量的最差值并減 少要由用戶保存的中間密鑰的數(shù)量的有向圖的邏輯。上述密鑰生成邏輯(有
向圖)的構(gòu)造主要由組成密鑰分發(fā)服務(wù)器152的密鑰生成邏輯構(gòu)建塊來(lái)執(zhí)行。 然而,為了基于以上密鑰生成邏輯執(zhí)行加密密鑰分發(fā),其他元件是必需的。 由此,重新參照?qǐng)D19,在下文中描述其他元件。
重新參照?qǐng)D19,除了上述密鑰生成邏輯構(gòu)建塊之外,密鑰分發(fā)服務(wù)器152 包括初始中間密鑰設(shè)置部分162、密鑰生成部分164、加密部分166、傳送部 分168和子集確定部分170。
(初始中間密鑰設(shè)置部分162 )
初始中間密鑰設(shè)置部分162對(duì)于與樹(shù)的每個(gè)中間節(jié)點(diǎn)對(duì)應(yīng)的每個(gè)有向圖 I,生成與有向圖I的初始坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰。例如,初始中間密鑰設(shè)置 部分162可以使用偽隨機(jī)數(shù)發(fā)生器來(lái)生成隨機(jī)數(shù),并將隨機(jī)數(shù)設(shè)置為與以上 初始坐標(biāo)點(diǎn)(根)對(duì)應(yīng)的每個(gè)中間密鑰,或者可以將給定數(shù)值設(shè)置為每個(gè)中 間密鑰。
(密鑰生成部分164)
對(duì)于組成有向圖I的某個(gè)有向邊,當(dāng)輸入分配給由有向邊的尾部表示的 坐標(biāo)點(diǎn)的給定中間密鑰時(shí),密鑰生成部分164輸出與由有向邊的尾部表示的
的中間密鑰。由此,密鑰生成部分164與基本方案的PRSG對(duì)應(yīng)。然而,密 鑰生成部分164與基本方案的PRSG的不同在于它基于由有向圖生成部分 160生成的有向圖I輸出中間密鑰。如果將密鑰生成部分164表示為與PRSG 相同,則當(dāng)輸入與有向圖I的某個(gè)坐標(biāo)點(diǎn)SO對(duì)應(yīng)的中間密鑰t(SO)時(shí),輸出與
其尾部位于所述坐標(biāo)點(diǎn)的有向邊的頭部對(duì)應(yīng)的中間密鑰t(Sl)、 t(S2)........
t(Sm)(與子集SO對(duì)應(yīng))以及集合密鑰k(SO)。注意,m表示其尾部位于某個(gè) 坐標(biāo)點(diǎn)SO的有向邊的數(shù)量。 (加密部分166)
加密部分166通過(guò)使用集合密鑰加密內(nèi)容密鑰。盡管內(nèi)容密鑰的數(shù)量是 1,但是存在與組成集合系統(tǒng)O的子集數(shù)量相同的集合密鑰的數(shù)量。因此, 在組成集合系統(tǒng)O的所有子集之中,加密部分116通過(guò)使用與由子集確定部 分170選擇的子集對(duì)應(yīng)的每個(gè)集合密鑰來(lái)加密內(nèi)容密鑰(將在后面描述)。
90由此,加密部分166生成與各個(gè)集合密鑰對(duì)應(yīng)的經(jīng)加密的內(nèi)容密鑰。因此,
如果所選擇的子集的數(shù)量是m,則生成m個(gè)經(jīng)加密的內(nèi)容密鑰??商娲兀?加密部分166可以加密內(nèi)容。例如,加密部分166可以使用內(nèi)容密鑰來(lái)加密 內(nèi)容或者可以使用上述各個(gè)集合密鑰來(lái)加密內(nèi)容。然而,使用集合密鑰來(lái)加 密內(nèi)容的配置是本實(shí)施例的可替代的示例。 (傳送部分168)
傳送部分168將由加密部分166加密的內(nèi)容密鑰傳送到與葉節(jié)點(diǎn)對(duì)應(yīng)的 所有用戶。進(jìn)一步,傳送部分168通過(guò)參照上述有向圖I可以向每個(gè)用戶分 發(fā)中間密鑰。此時(shí),傳送部分168可以以每個(gè)用戶均可以導(dǎo)出與其所屬的子 集對(duì)應(yīng)所有中間密鑰的方式分發(fā)最小所需數(shù)量的中間密鑰。具體地說(shuō),傳送 部分168可以從組成集合系統(tǒng)0 (參照以上表達(dá)式(1 ))的子集中提取中間 密鑰的分發(fā)目的地用戶所屬的子集,從與所提取的子集對(duì)應(yīng)的有向圖I的坐 標(biāo)點(diǎn)中選擇一個(gè)坐標(biāo)點(diǎn),以便在與達(dá)到所述坐標(biāo)點(diǎn)的有向邊的尾部對(duì)應(yīng)的子 集中不包括分發(fā)目的地用戶,并僅將與所選擇的坐標(biāo)點(diǎn)對(duì)應(yīng)的中間密鑰分發(fā) 至分發(fā)目的地用戶。然而,如果中間密鑰的分發(fā)目的地用戶所屬的子集與有 向圖I的初始坐標(biāo)點(diǎn)對(duì)應(yīng),則傳送部分168可以^5l將與初始坐標(biāo)點(diǎn)對(duì)應(yīng)的中 間密鑰分發(fā)至分發(fā)目的地用戶。進(jìn)一步,傳送部分168可以用作向每個(gè)用戶 分發(fā)有向圖I的信息的有向圖信息分發(fā)部分。具體地說(shuō),當(dāng)輸入每個(gè)中間密 鑰時(shí),傳送部分168可以分發(fā)與基于有向圖I輸出給定中間密鑰和集合密鑰 的PRSG的密鑰生成算法(如密鑰生成程序)有關(guān)的信息。
通過(guò)使用不同于用于內(nèi)容分發(fā)的信道的通信信道,可以在內(nèi)容的分發(fā)之 前執(zhí)行中間密鑰的分發(fā)。例如,在終端單元的制造工廠中制造終端時(shí),可以 從密鑰分發(fā)服務(wù)器152輸出每個(gè)終端的中間密鑰,并將其記錄在記錄媒體上, 并且可以將從記錄^ 某體中讀取的每個(gè)終端單元的中間密鑰存儲(chǔ)到對(duì)應(yīng)的終端 單元中。
(子集確定部分170)
子集確定部分170確定應(yīng)該對(duì)其禁止內(nèi)容或內(nèi)容密鑰的解密的排除用戶 的集合(R),并通過(guò)使用從與有向圖I的坐標(biāo)點(diǎn)對(duì)應(yīng)的子集中選擇的給定子 集的并集,從所有用戶的集合(N)中消除排除用戶的集合(R),來(lái)定義許 可用戶的集合(N\R),然后以組成許可用戶的集合(N\R)的子集數(shù)量 最小的方式確定組成許可用戶的集合(N \ R)的 一組子集。子集確定部分170可以由如下部分組成許可用戶集合確定部分,用于確定許可用戶的集合(N\R);以及許可用戶子集確定部分,用于確定組成許可用戶的集合(N\R) 的一組子集。在以上述方式由子集確定部分170確定組成許可用戶的集合(N\R=SlUS2U.,.USm; m是自然數(shù))的子集(S1、 S2........ Sm)之后,傳送部分168向每個(gè)用戶分發(fā)許可用戶的集合(N\R)或組成許可用戶的集合(N\R)的子集(Sl、 S2........ Sm)。進(jìn)一步,加密部分166使用與由子集確定部分170確定的子集(Sl、 S2.......、 Sm)對(duì)應(yīng)的集合密鑰,來(lái)加密內(nèi)容或內(nèi)容密鑰,并且傳送部分168將經(jīng)加密的內(nèi)容或內(nèi)容密鑰分發(fā)至每個(gè)用 戶。在上文中描述了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的密鑰分發(fā)服務(wù)器152的配 置。如上所述,本實(shí)施例的特征主要在于密鑰生成邏輯構(gòu)建塊的配置。特別 地,本實(shí)施例具有在用于生成確定密鑰生成邏輯的有向圖的有向圖生成部分 160的配置方面的特征。根據(jù)本實(shí)施例的有向圖生成部分160可以生成能夠 在不增加對(duì)于每個(gè)用戶來(lái)說(shuō)用以生成集合密鑰所需的計(jì)算量的情況下減少要由每個(gè)用戶保存的中間密鑰的數(shù)量的密鑰生成邏輯(有向圖)。結(jié)果,可以 節(jié)省每個(gè)用戶用以保存中間密鑰所需的存儲(chǔ)器容量以及用于密鑰生成的計(jì)算[加密密鑰分發(fā)系統(tǒng)100的應(yīng)用]最后,在下文中描述上述加密密鑰分發(fā)系統(tǒng)100的應(yīng)用。 (應(yīng)用1 )首先,作為應(yīng)用1,在圖28中示出了廣播加密系統(tǒng)300的配置。 圖28是示出了使用廣播衛(wèi)星的廣播加密系統(tǒng)的配置的框圖。在廣播加密 系統(tǒng)300中,將經(jīng)加密的數(shù)據(jù)(即所謂的密文)經(jīng)由廣播信道傳送到接收器 310。廣播加密系統(tǒng)300中的廣播信道是衛(wèi)星廣播分發(fā)信道。例如,作為密文 傳送的數(shù)據(jù)是包含加密密鑰、音頻數(shù)據(jù)、視頻數(shù)據(jù)、文本數(shù)據(jù)等的內(nèi)容。衛(wèi) 星電視廣播設(shè)備302的廣播信托中心(broadcast trusted center) 304向廣播衛(wèi) 星306傳送數(shù)據(jù)。例如,廣播信托中心304選擇用于加密的密鑰,或者控制 數(shù)據(jù)的加密和數(shù)據(jù)的分發(fā)。廣播衛(wèi)星306廣播數(shù)據(jù)。在住宅中安裝的接收器 310包括例如衛(wèi)星廣播接收器,并接310組成的接收器組中的每個(gè)接收器310傳送數(shù)據(jù)。如后面所述,廣播信托中心304以僅授權(quán)接收器310可以解密所廣播的數(shù)據(jù)的方式加密廣播數(shù)據(jù)。 盡管圖28示出了使用廣播衛(wèi)星306的廣播系統(tǒng),但是也可以使用其他廣播信 道,如有線電一見(jiàn)和計(jì)算機(jī)網(wǎng)絡(luò)。在上文中描述了作為加密密鑰分發(fā)系統(tǒng)100的廣播加密系統(tǒng)300的配置。 簡(jiǎn)要地總結(jié)與加密密鑰分發(fā)系統(tǒng)100的關(guān)系,就是廣播信托中心304與密鑰 分發(fā)服務(wù)器102對(duì)應(yīng),而接收器310與接收器122對(duì)應(yīng)。廣播衛(wèi)星306作為 連接它們的網(wǎng)絡(luò)的媒介。 (應(yīng)用2)接著,作為應(yīng)用2,在圖29中示出了廣播加密系統(tǒng)400的配置。 圖29是示出了使用數(shù)據(jù)媒體的廣播加密系統(tǒng)400的配置的框圖。在廣播 加密系統(tǒng)400中,廣播信道是數(shù)據(jù)媒體的分發(fā)。媒體制造商402中的廣播信 托中心404在諸如只讀々某體(如CD-ROM、 DVD-ROM等)和可重寫(xiě)i某體(如 CD-RW、 DVD-RW等)之類的媒體406的每一件數(shù)據(jù)媒體中存儲(chǔ)數(shù)據(jù)。在只 讀々某體中,廣播信托中心404記錄經(jīng)加密的內(nèi)容密鑰和經(jīng)加密的內(nèi)容,以便 僅授權(quán)用戶可以解密內(nèi)容并訪問(wèn)經(jīng)加密的內(nèi)容(如聲音、視頻、文本等)。 另一方面,在可重寫(xiě)媒體中,廣播信托中心404記錄經(jīng)加密的內(nèi)容密鑰,以 便僅授權(quán)的記錄單元可以將對(duì)應(yīng)數(shù)據(jù)記錄到記錄媒體中。例如,媒體制造商 402將媒體406發(fā)送到諸如零售商店之類的分發(fā)中間商。分發(fā)中間商408向 住宅412中的接收器414提供J 某體410。例如,分發(fā)中間商408向一人銷售 媒體410,并且該人將媒體410帶入住宅412中,并將媒體410插入接收器 414。例如,接收器414可以是讀取并回^^某體410中存儲(chǔ)的數(shù)據(jù)的單元,如 CD播放器、DVD播放器和計(jì)算機(jī)。作為另一具體示例,接收器414可以是 能夠?qū)?shù)據(jù)記錄到媒體410中并從媒體410讀取數(shù)據(jù)的盤(pán)單元,如DVD-RW 驅(qū)動(dòng)器。廣播信托中心404以僅授權(quán)接收器414可以解密經(jīng)加密的數(shù)據(jù)的方 式加密數(shù)據(jù)。在上文中描述了作為加密密鑰分發(fā)系統(tǒng)100的一個(gè)應(yīng)用的廣播加密系統(tǒng) 400的配置。簡(jiǎn)單地總結(jié)與加密密鑰分發(fā)系統(tǒng)100的關(guān)系,就是廣播信托中 心404與密鑰分發(fā)服務(wù)器102對(duì)應(yīng),而接收器414與接收器122對(duì)應(yīng)。進(jìn)一 步,代替連接它們的網(wǎng)絡(luò),分發(fā)媒體406和410的分發(fā)中間商408作為媒介存在。盡管參照附圖描述本發(fā)明的優(yōu)選實(shí)施例,但是本發(fā)明當(dāng)然不限于此。對(duì) 于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)顯而易見(jiàn),在不脫離權(quán)利要求的范圍的情況下可以 進(jìn)行各種改變和修改,并且旨在本發(fā)明的技術(shù)范圍內(nèi)的包含。例如,假設(shè)上述樹(shù)結(jié)構(gòu)設(shè)置部分104形成分支從上到下變得更寬的樹(shù)結(jié)構(gòu),不限于此,并且樹(shù)結(jié)構(gòu)可以是這樣的分支從下到上變得更寬,從左到右變得更寬,或從右到左變得更寬。在這種情況下,必須改變與各個(gè)中間節(jié) 點(diǎn)相關(guān)的子集的定義以便適合它。然而,改變是簡(jiǎn)單地旋轉(zhuǎn)由上述樹(shù)結(jié)構(gòu)設(shè)置部分104配置的樹(shù)結(jié)構(gòu),并且其意義與任意情況下完全相同。進(jìn)一步,盡 管臨時(shí)有向圖生成部分108和有向圖生成部分IIO通過(guò)從左至右或從右至左 設(shè)置坐標(biāo)軸來(lái)構(gòu)建有向圖I,和I,但是對(duì)于顛倒了左和右的改變來(lái)說(shuō)是相同 的。具體地說(shuō),盡管在以上描述中為了方便起見(jiàn),基于垂直方向或水平方向 來(lái)定義參數(shù),但是基于普通人或本領(lǐng)域技術(shù)人員的常識(shí),即使旋轉(zhuǎn)或顛倒樹(shù) 結(jié)構(gòu)或有向圖以改變垂直和水平關(guān)系,這也旨在包含于完全相同的技術(shù)范圍。例如,根據(jù)本發(fā)明的實(shí)施例的臨時(shí)有向圖生成部分108不僅可以基于上 述基本方案生成臨時(shí)有向圖,還可以基于另一方案生成臨時(shí)有向圖。例如, 臨時(shí)有向圖可以是通過(guò)簡(jiǎn)單地組合具有長(zhǎng)度1的有向邊和具有長(zhǎng)度2的有向 邊而形成的有向圖,或者可以是將更長(zhǎng)的有向邊朝向更接近或更遠(yuǎn)離有向路 徑的起點(diǎn)的位置放置的有向圖。當(dāng)然,它可以是基于比上述基本方案更復(fù)雜 的邏輯而生成的臨時(shí)有向圖。以這種方式,本發(fā)明的基本構(gòu)思可應(yīng)用的范圍 不限于上述基本方案,而是覆蓋了通過(guò)各種方案生成的有向圖。當(dāng)然,根據(jù) 本實(shí)施例的信息處理單元可以進(jìn)一步包括獲取或接收由另一信息處理單元生 成的有向圖的獲取部分并可以基于給定條件重建有向圖。例如,假設(shè)上述樹(shù)結(jié)構(gòu)設(shè)置部分154形成分支從上到下變得更寬的樹(shù)結(jié) 構(gòu),不限于此,并且樹(shù)結(jié)構(gòu)可以是這樣的分支從下到上變得更寬,從左到 右變得更寬,或從右到左變得更寬。在這種情況下,必須改變與各個(gè)中間節(jié) 點(diǎn)相關(guān)的子集的定義以便適合它。然而,改變是簡(jiǎn)單地旋轉(zhuǎn)由上述樹(shù)結(jié)構(gòu)設(shè) 置部分104配置的樹(shù)結(jié)構(gòu),并且其意義與任意情況下完全相同。進(jìn)一步,盡 管臨時(shí)有向圖生成部分158和有向圖生成部分160通過(guò)從左至右或從右至左 設(shè)置坐標(biāo)軸來(lái)構(gòu)建有向圖I,和I,但是對(duì)于顛倒了左和右的改變來(lái)說(shuō)是相同 的。具體地說(shuō),盡管在以上描述中為了方便起見(jiàn),基于垂直方向或水平方向 來(lái)定義參數(shù),但是基于普通人或本領(lǐng)域技術(shù)人員的常識(shí),即使旋轉(zhuǎn)或顛倒樹(shù)結(jié)構(gòu)或有向圖以改變垂直和水平關(guān)系,這也旨在包含于完全相同的技術(shù)范圍。 例如,根據(jù)本發(fā)明的實(shí)施例的臨時(shí)有向圖生成部分158不僅可以基于上 述基本方案生成臨時(shí)有向圖,還可以基于另一方案生成臨時(shí)有向圖。例如, 臨時(shí)有向圖可以是將更長(zhǎng)的有向邊朝向更接近或更遠(yuǎn)離有向路徑的起點(diǎn)的位 置放置的有向圖。當(dāng)然,它可以是基于比上述基本方案更復(fù)雜的邏輯而生成 的臨時(shí)有向圖。以這種方式,本發(fā)明的基本構(gòu)思可應(yīng)用的范圍不限于上述基本方案,而是覆蓋了通過(guò)各種方案生成的有向圖。進(jìn)一步,根據(jù)本實(shí)施例的 信息處理單元可以進(jìn)一步包括獲取給定有向圖的獲取部分。在這種情況下, 信息處理單元基于所獲取的有向圖可以生成集合密鑰。
權(quán)利要求
1、一種信息處理單元,包括有向圖獲取部分,用于獲取通過(guò)在由多條有向邊組成的臨時(shí)有向圖中以更短的有向邊替換組成所述臨時(shí)有向圖的至少一條有向邊而生成的有向圖;以及密鑰生成部分,用于基于由所述有向圖獲取部分獲取的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
2、 根據(jù)權(quán)利要求1所述的信息處理單元,其中通過(guò)以更短的有向邊替換組成所述臨時(shí)有向圖的至少一條有向邊來(lái)生成 所述有向圖,以便不超過(guò)在組成所述臨時(shí)有向圖的多條有向邊之中的連續(xù)有 向邊的最大數(shù)量。
3、 根據(jù)權(quán)利要求1所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2........ Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
4、 根據(jù)權(quán)利要求1所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
5、 根據(jù)權(quán)利要求1所述的信息處理單元,進(jìn)一步包括初始中間密鑰設(shè)置部分,用于將給定隨機(jī)數(shù)設(shè)置為與每個(gè)有向圖的尾部 對(duì)應(yīng)的中間密鑰。
6、 根據(jù)權(quán)利要求1所述的信息處理單元,進(jìn)一步包括 加密部分,用于使用所述集合密鑰來(lái)加密內(nèi)容或內(nèi)容密鑰。
7、 根據(jù)權(quán)利要求6所述的信息處理單元,進(jìn)一步包括傳送部分,用于向分別與組成給定二叉樹(shù)的葉節(jié)點(diǎn)1到n中的一些或全 部相關(guān)的終端單元傳送由所述加密部分加密的內(nèi)容或內(nèi)容密鑰,其中n是自 然數(shù)。
8、 根據(jù)權(quán)利要求1所述的信息處理單元,其中所述有向圖獲取部分獲取以將更短的有向邊朝向由連續(xù)有向邊組成的每 個(gè)有向路徑的端點(diǎn)而放置的方式進(jìn)行替換的有向圖。
9、 根據(jù)權(quán)利要求7所述的信息處理單元,進(jìn)一步包括 子集確定部分,用于通過(guò)將葉節(jié)點(diǎn)1到n的子集定義為Si,確定允許解密通過(guò)使用集合密鑰或內(nèi)容密鑰而加密的內(nèi)容的終端單元的集合(N \ R),并 確定滿足集合(NXR^SlUS2U…USm的m個(gè)子集Sl到Sm。
10、 根據(jù);仗利要求9所述的信息處理單元,其中 所述子集確定部分確定子集Sl到Sm以便最小化m。
11、 根據(jù)權(quán)利要求9所述的信息處理單元,進(jìn)一步包括傳送部分,用于向所述終端單元傳送指示集合(NXR)的信息或指示組成 集合(NXR)的子集Sl到Sm的信息。
12、 根據(jù)權(quán)利要求1所述的信息處理單元,進(jìn)一步包括 解密部分,用于通過(guò)使用所述集合密鑰來(lái)解密內(nèi)容或內(nèi)容密鑰。
13、 根據(jù)權(quán)利要求12所述的信息處理單元,進(jìn)一步包括 接收部分,其與組成給定二叉樹(shù)的一個(gè)或多個(gè)葉節(jié)點(diǎn)1到n相關(guān)聯(lián),用于接收使用所述集合密鑰而加密的內(nèi)容或內(nèi)容密鑰,其中n是自然數(shù)。
14、 根據(jù)權(quán)利要求13所述的信息處理單元,其中由所述接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由 一個(gè) 或多個(gè)信息處理單元來(lái)解密,所述一個(gè)或多個(gè)信息處理單元與作為集合S的 元素的葉節(jié)點(diǎn)相關(guān)聯(lián),所述集合S包括在定義為葉節(jié)點(diǎn)1到n的子集的集合 Si中與其自身相關(guān)聯(lián)的葉節(jié)點(diǎn)。
15、 一種信息處理單元,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于根 節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位 于左端的葉節(jié)點(diǎn)的編號(hào)定義為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)定義 為rv,對(duì)于自然數(shù)i和j,其中。,假設(shè)將集合(i—j)表示為(W, {U+l}, i+l,...,j-l,j}},而將集合(i—j)表示為U化{j,j-l},...,{j,j-,l,...,i+l,i}},設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn), 對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理單元包括有向圖獲取部分,用于獲取通過(guò)以更短的有向邊替換組成臨時(shí)有向圖的 至少一個(gè)有向邊而生成的有向圖,所述臨時(shí)有向圖是根據(jù)對(duì)于給定整數(shù)k滿 足^x-"、(rv-lv+l)^^k的自然數(shù)x,通過(guò)在第 一到第四水平坐標(biāo)軸上排列具有 長(zhǎng)度n"k的多條有向邊而形成的,其中i=0, 1,……,x-l;以及密鑰生成部分,用于基于由所述有向圖獲取部分獲取的有向圖,生成用 于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
16、 一種信息處理單元,包括樹(shù)結(jié)構(gòu)設(shè)置部分,用于配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是 自然數(shù),并且對(duì)于自然數(shù)i和j,其中Gj,通過(guò)將集合(i—j)定義為《W, {i, i+l}, i+1, ...,j-l,j}},而將集合(i—j)定義為(W, {j,j-l},…,(j,j-l,…,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將 分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的 編號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具 有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)V相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水平坐標(biāo)軸的左端的坐標(biāo) 點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè),并將位于第 一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn); 臨時(shí)有向圖生成部分,用以 通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n(x-1)/k<(rv-lv+l)^nx/k的整數(shù)x,以及 對(duì)于每個(gè)整數(shù)i^0到x-l,通過(guò)連接具有長(zhǎng)度nl/k的一條或多條右向有向邊來(lái)形成具有位 于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo) 點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第 一 到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除 除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的 頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1—n) 有關(guān)的臨時(shí)有向圖;以及有向圖生成部分,用于通過(guò)以更短的有向邊替換剩余的有向邊來(lái)生成有向圖。
17、 根據(jù)權(quán)利要求16所述的信息處理單元,包括密鑰生成部分,用于基于所述有向圖生成用于加密內(nèi)容或內(nèi)容密鑰的集 合密鑰。
18、 根據(jù)權(quán)利要求17所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入,所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2.......、 Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
19、 根據(jù)權(quán)利要求17所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
20、 一種終端單元,包括密鑰生成部分,用于基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密 鑰,其中所述有向圖通過(guò)如下步驟獲得配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于 根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然 數(shù)i和j,其中Sj,將集合(i—j)定義為(W, {i,i+l},…,化i+l, ...,j-l,j}},而 將集合(i—j)定義為(W, {j,j-l},…,...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v 或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào) 設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)V相關(guān),并且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的 左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè),并將位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn);通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及 對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度nl/k的 一條或多條右向有向邊來(lái)形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了 最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度1的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部 的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1 —n)有關(guān) 的臨時(shí)有向圖;在由剩余有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊 的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量 的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
21、根據(jù)權(quán)利要求20所述的終端單元,進(jìn)一步包括解密部分,用于通過(guò)使用所述集合密鑰來(lái)解密經(jīng)加密的內(nèi)容或經(jīng)加密的 內(nèi)容密鑰。
22、 根據(jù)權(quán)利要求20所述的終端單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以 及與位于具有位于所述坐標(biāo)點(diǎn)的尾部的有向邊的頭部的坐標(biāo)點(diǎn)對(duì)應(yīng)的子集 Sl、 S2、 ....... Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
23、 根據(jù)權(quán)利要求20所述的終端單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集s的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
24、 根據(jù)權(quán)利要求21所述的終端單元,其中解密部分通過(guò)使用所述集合密鑰來(lái)解密經(jīng)加密的內(nèi)容密鑰,并使用經(jīng)解 密的內(nèi)容密鑰來(lái)解密經(jīng)加密的內(nèi)容。
25、 根據(jù)權(quán)利要求20所述的終端單元,包括 其中將樹(shù)的葉節(jié)點(diǎn)1到n的子集定義為Si,以及當(dāng)確定了允許解密通過(guò)使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容 的終端單元的集合NXR,確定滿足集合NXR二SlUS2U…USm的m個(gè)子集Sl到Sm,并接收指示集合NXR的信息或指示組成集合NXR的子集Sl到 Sm的信息時(shí),判定部分,用于基于所接收到的信息來(lái)判定所述終端單元是否屬于子集 Sl到Sm中的任意一個(gè),并基于判定結(jié)果來(lái)判定是否允許經(jīng)加密的內(nèi)容的解密。
26、 根據(jù)權(quán)利要求25所述的終端單元,其中當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個(gè)時(shí),解密部分通過(guò) 使用與所述終端單元所屬的子集對(duì)應(yīng)的集合密鑰來(lái)解密內(nèi)容或內(nèi)容密鑰。
27、 一種信息處理方法,包括有向圖獲取步驟,獲取通過(guò)在由多條有向邊組成的臨時(shí)有向圖中以更短 的有向邊替換組成所述臨時(shí)有向圖的至少一條有向邊而生成的有向圖;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成用于加 密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
28、 一種信息處理方法,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中 在位于某個(gè)中間節(jié)點(diǎn)V或某個(gè)根節(jié)點(diǎn)V之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位 于左端的葉節(jié)點(diǎn)的編號(hào)定義為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)定義 為rv,對(duì)于自然數(shù)i和j,其中i^j,假設(shè)將集合(i—j)表示為(W, {i,i+l}, i+1, ...,j-l,j}},而將集合(i—j)表示為U化{j,j-l},…,(j,j-l,…,i+l, i}},設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理方法包括有向圖獲取步驟,獲取通過(guò)以更短的有向邊替換組成臨時(shí)有向圖的至少 一個(gè)有向邊而生成的有向圖,所述臨時(shí)有向圖是根據(jù)對(duì)于給定整數(shù)k滿足 n(x-1)/k<(rv-lv+l)£nx/1^々自然數(shù)x,通過(guò)在第一到第四水平坐標(biāo)軸上排列具有長(zhǎng) 度i/k的多條有向邊而形成的,其中i=0, 1, ......, x-l;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成用于加 密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
29、 一種信息處理方法,包括樹(shù)結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不 同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于 自然數(shù)i和j,其中通過(guò)將集合(i—j)定義為U^, {i, i+l}, ...,{i, i+1,j}},而將集合(i—j)定義為Uj),(i,j-i),…,(i,j-i,…,i+i,W,在位于某個(gè)中間節(jié)點(diǎn)V或某個(gè)根節(jié)點(diǎn)V之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv; 坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具 有分別與集合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具 有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第一到第四水平坐標(biāo)軸的左端的坐標(biāo) 點(diǎn)的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè),并將位于第 一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn); 臨時(shí)有向圖生成步驟通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n(x-1)/k<(rV-lV+l)$nx/k的整數(shù)x,以及 對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度nl/k的 一條或多條右向有向邊來(lái)形成具有位 于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo) 點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第 一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除 除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的 頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1 —n) 有關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定步驟,在由連續(xù)有向邊形成的有向路徑之中,確定具 有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成步驟,通過(guò)以每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向 路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向 邊來(lái)生成有向圖。
30、 一種密鑰生成方法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰, 其中所述有向圖通過(guò)如下步驟獲得配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于 根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中iSj,將集合(i—j)定義為(W, {i,i+l},…,化i+,...,j-l,j}},而 將集合(i—j)定義為UJ), {j,j-l},…,...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v 或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào) 設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將一個(gè)臨時(shí)坐標(biāo)點(diǎn)放置在位于第 一到第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的 左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為臨時(shí)坐標(biāo)點(diǎn); 通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n(x-,〈(rv-lv+l)^i流的整數(shù)x,以及 對(duì)于每個(gè)整數(shù)1=0到x-l,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條右向有向邊來(lái)形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的 尾部或頭部的所有有向邊,以及從到達(dá)第 一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了 最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度1的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的頭部 的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1 —n)有關(guān) 的臨時(shí)有向圖;在由剩余有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
31、 一種信息處理單元,包括有向圖獲取部分,用于獲取通過(guò)在由多條有向邊組成的臨時(shí)有向圖中, 保留在組成所述臨時(shí)有向圖的多條有向邊之中較長(zhǎng)的有向邊而以更短的有向 邊替換留下的至少一條有向邊而生成的有向圖;以及密鑰生成部分,用于基于由所述有向圖獲取部分獲取的有向圖,生成用 于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
32、 根據(jù)權(quán)利要求31所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2........ Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
33、 根據(jù)權(quán)利要求31所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2.......、 Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
34、 根據(jù)權(quán)利要求31所述的信息處理單元,進(jìn)一步包括 加密部分,用于使用所述集合密鑰來(lái)加密內(nèi)容或內(nèi)容密鑰。
35、 根據(jù)權(quán)利要求34所述的信息處理單元,進(jìn)一步包括 傳送部分,用于向分別與組成給定二叉樹(shù)的葉節(jié)點(diǎn)1到n中的一些或全部相關(guān)的終端單元傳送由所述加密部分加密的內(nèi)容或內(nèi)容密鑰,其中n是自 然數(shù)。
36、 根據(jù)權(quán)利要求31所述的信息處理單元,其中個(gè)有向路徑的端點(diǎn)而放置的方式替換有向邊的有向圖。
37、 根據(jù)權(quán)利要求35所述的信息處理單元,進(jìn)一步包括 子集確定部分,通過(guò)將葉節(jié)點(diǎn)1到n的子集定義為Si,用于確定允許解密通過(guò)使用集合密鑰或內(nèi)容密鑰而加密的內(nèi)容的終端單元的集合NXR,并確定滿足集合N、I^SlUS2U…USm的m個(gè)子集Sl到Sm,以便最小化m。
38、 根據(jù)權(quán)利要求37所述的信息處理單元,進(jìn)一步包括 傳送部分,用于向所述終端單元傳送指示集合NXR的信息或指示組成集合NXR的子集S1到Sm的信息。
39、 根據(jù)權(quán)利要求31所述的信息處理單元,進(jìn)一步包括 解密部分,用于通過(guò)使用所述集合密鑰來(lái)解密內(nèi)容或內(nèi)容密鑰。
40、 根據(jù)權(quán)利要求39所述的信息處理單元,進(jìn)一步包括 接收部分,其與組成給定二叉樹(shù)的一個(gè)或多個(gè)葉節(jié)點(diǎn)l到n相關(guān),其中n是自然數(shù),用于接收使用所述集合密鑰而加密的內(nèi)容或內(nèi)容密鑰。
41、 根據(jù)權(quán)利要求40所述的信息處理單元,其中由所述接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由 一個(gè) 或多個(gè)信息處理單元來(lái)解密,所述一個(gè)或多個(gè)信息處理單元與作為集合s的元素的葉節(jié)點(diǎn)相關(guān),所述集合S包括在定義為葉節(jié)點(diǎn)1到n的子集的集合Si 中與其自身相關(guān)的葉節(jié)點(diǎn)。
42、 一種信息處理單元,用以根據(jù)對(duì)于給定整數(shù)k滿足 n(x-1)/k<(rv-lv+l)£nx/l^々自然數(shù)x,處理通過(guò)在第一和第四水平坐標(biāo)軸上排列具 有長(zhǎng)度n流的多條有向邊而形成的臨時(shí)有向圓,其中i二O, 1,……,x-l,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于根 節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)中,將分配給位于 左端的葉節(jié)點(diǎn)的編號(hào)定義為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)定義為 rv,對(duì)于自然數(shù)i和j,其中Sj,將集合(i—j)定義為Ui), {i, i+l}, …, j-l,j}},而將集合(i—j)定義為UJ),化j-l〉,…,{j,j-l,,..,i+U}};設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理單元包括臨時(shí)有向圖獲取部分,用于獲取臨時(shí)有向圖;有向圖生成部分,用于通過(guò)保留在組成由所述臨時(shí)有向圖獲取部分獲取 的所述臨時(shí)有向圖的多條有向邊之中較長(zhǎng)的有向邊來(lái)生成有向圖;最長(zhǎng)有向路徑確定部分,用于確定在組成所述有向圖的多條有向邊之中連續(xù)有向邊的最大數(shù)量;有向邊替換部分,用于通過(guò)以更短的有向邊替換組成所述有向圖的至少一條有向邊來(lái)重建所述有向圖,以便不超過(guò)連續(xù)有向邊的最大數(shù)量;以及 密鑰生成部分,用于基于由所述有向邊替換部分重建的所述有向圖,生成用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
43、 一種信息處理單元,包括樹(shù)結(jié)構(gòu)設(shè)置部分,配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè) 根節(jié)點(diǎn)以及不同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然 數(shù),并且對(duì)于自然數(shù)i和j,其中Sj,通過(guò)將集合(i—j)定義為U^,化i+l}, ...,{i,i+l,…,j-l,j}},而將集合(i—j)定義為(W, (J,卜1},…,(J, J",…,i+l, 在 位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)中,將分配給位于左 端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv; 坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具 有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并 將第二臨時(shí)坐標(biāo)點(diǎn)放置在所述第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè); 臨時(shí)有向圖生成部分,用以 通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n(x-1)/k<(rv-lv+l)^ix/k的整數(shù)x,以及 對(duì)于每個(gè)整數(shù)i^0到x-l,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條右向有向邊來(lái)形成具有位 于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度nl/k的 一條或多條左向有向邊來(lái)形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo) 點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第 一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除 除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度l的、具有位于第一水平坐標(biāo)軸上第一臨時(shí)坐標(biāo)點(diǎn) 的頭部的有向邊添加到與集合(1 —n-1 )相關(guān)的臨時(shí)有向圖,來(lái)生成與集合 (1—n)相關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定部分,用于在由連續(xù)有向邊形成的有向路徑之中,確 定具有組成所述有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成部分,用于通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有 向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每一條有向路徑的 有向邊來(lái)生成有向圖。
44、 根據(jù)權(quán)利要求43所述的信息處理單元,包括密鑰生成部分,用于基于所述有向圖生成用于加密內(nèi)容或內(nèi)容密鑰的集 合密鑰。
45、 根據(jù)權(quán)利要求44所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2.......、 Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
46、 根據(jù)權(quán)利要求44所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
47、 一種終端單元,包括密鑰生成部分,用于基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密 鑰,其中所述有向圖通過(guò)如下步驟而獲得配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于 根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中g(shù)j,將集合(i—j)定義為(W, {i,i+l},…,(i,i+l,…,j-l,j}},而將集合(i—j)定義為UJ}, {J, j_l},…,{J, J",…,i}},在位于某個(gè)中間節(jié)點(diǎn)v 或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào) 設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè) 以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并將第二臨時(shí)坐標(biāo)點(diǎn);故置在第 一臨時(shí)坐標(biāo)點(diǎn)的右側(cè), 通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n^-,〈(rv-lv+l)^^k的整數(shù)x,以及 對(duì)于每個(gè)整數(shù)卜0到x-l,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條右向有向邊來(lái)形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的 尾部或頭部的所有有向邊,以及從到達(dá)第 一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了 最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有關(guān)的臨時(shí)有向圖,通過(guò)將具有長(zhǎng)度1的、具有位于第一水平坐標(biāo)軸的第一臨時(shí)坐標(biāo)點(diǎn)的頭 部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1 —n)有 關(guān)的臨時(shí)有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊 的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
48、 根據(jù)權(quán)利要求47所述的終端單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對(duì)應(yīng)于與所述坐標(biāo)點(diǎn)對(duì)應(yīng)的子集S的集合密鑰k(S)以及位于具有位于所述坐標(biāo)點(diǎn)的尾部的有向邊的頭部的坐標(biāo)點(diǎn)Sl、 S2........Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
49、 根據(jù)權(quán)利要求47所述的終端單元,其中響應(yīng)于與所述有向圖中某個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)的子集s的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點(diǎn)S的尾部的有向邊的頭部的 坐標(biāo)點(diǎn)S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2).......、 k(Sk)。
50、 根據(jù)權(quán)利要求48所述的終端單元,進(jìn)一步包括解密部分,用于使用所述集合密鑰來(lái)解密經(jīng)加密的內(nèi)容密鑰,并使用經(jīng) 解密的內(nèi)容密鑰來(lái)解密經(jīng)加密的內(nèi)容。
51、 根據(jù)權(quán)利要求50所述的終端單元,進(jìn)一步包括 其中將樹(shù)的葉節(jié)點(diǎn)1到n的子集定義為Si,以及當(dāng)確定了允許解密通過(guò)使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容 的終端單元的集合N \ R,確定滿足集合N \ R= S1US2U.. .USm的m個(gè)子集 Sl到Sm,并接收指示集合NXR的信息或指示組成集合NXR的子集S1到 Sm的信息時(shí),判定部分,用于基于所接收到的信息來(lái)判定所述終端單元是否屬于子集 Sl到Sm中的任意一個(gè),并基于判定結(jié)果來(lái)判定是否允許經(jīng)加密的內(nèi)容的解 密,其中當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個(gè)時(shí),所述解密部分 使用與所述終端單元所屬的子集對(duì)應(yīng)的集合密鑰來(lái)解密所述內(nèi)容或內(nèi)容密 鑰。
52、 一種信息處理方法,包括有向圖獲取步驟,在由多條有向邊組成的臨時(shí)有向圖中,獲取通過(guò)在組 成所述臨時(shí)有向圖的多條有向邊之中保留較長(zhǎng)的有向邊而以更短的有向邊替 換留下的至少一條有向邊而生成的有向圖;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成用于加 密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
53、 一種信息處理方法,用以根據(jù)對(duì)于給定整數(shù)k滿足 n ,〈(rv-lv+l)Si^k的自然數(shù)x,處理通過(guò)在第一和第四水平坐標(biāo)軸上排列具 有長(zhǎng)度r^的多條有向邊而形成的臨時(shí)有向圖,其中1=0, 1,……,x-l,在由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于根 節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù)中,其中n是自然數(shù),并且其中在位于某個(gè)中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)中,將分配給位于 左端的葉節(jié)點(diǎn)的編號(hào)定義為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)定義為對(duì)于自然數(shù)i和j,其中i^j,將集合(i—j)定義為Ui〉, {i, i+l}, ...,{i, i+1,…,j-1, j}},而將集合(iH)定義為Uj},化j-i},…,(j, j-i,…,i+l,設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn), 對(duì)于每個(gè)所述中間節(jié)點(diǎn),設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),所述信息處理方法包括臨時(shí)有向圖獲取步驟,獲取臨時(shí)有向圖;有向圖生成步驟,通過(guò)在組成由所述臨時(shí)有向圖獲取部分獲取的所述臨 時(shí)有向圖的多條有向邊之中保留較長(zhǎng)的有向邊來(lái)生成有向圖;最長(zhǎng)有向路徑確定步驟,在組成所述有向圖的多條有向邊之中,確定連續(xù)有向邊的最大數(shù)量;有向邊替換步驟,通過(guò)以更短的有向邊替換組成所述有向圖的至少 一條 有向邊來(lái)重建所述有向圖,以便不超過(guò)連續(xù)有向邊的最大數(shù)量,以及密鑰生成步驟,基于由所述有向邊替換部分重建的所述有向圖,生成用 于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
54、 一種信息處理方法,包括樹(shù)結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不 同于根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),其中n是自然數(shù),并且 對(duì)于自然數(shù)i和j,其中i^j,通過(guò)將集合(i—j)定義為Ui), {i, i+l}, ...,{i, i+l,…, j-l,j}},而將集合(i—j)定義為U化{j,j-l},…,…,i+l, i}},在位于某個(gè) 中間節(jié)點(diǎn)v或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉 節(jié)點(diǎn)的編號(hào)設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分別與集合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具 有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān), 并且具有分別與集合(lv+l —rv)中包括的子集相關(guān)的、且以包含度從右至左增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè),以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并 將第二臨時(shí)坐標(biāo)點(diǎn)放置在第一臨時(shí)坐標(biāo)點(diǎn)的右側(cè);臨時(shí)有向圖生成步驟 通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n(x-1)/k<(rv-lv+l)^ix/k的整數(shù)x,以及對(duì)于每個(gè)整數(shù)i二O到x-l,通過(guò)連接具有長(zhǎng)度nl/k的一條或多條右向有向邊來(lái)形成具有位 于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條左向有向邊來(lái)形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第 一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo) 點(diǎn)的尾部或頭部的所有有向邊,以及從到達(dá)第 一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除 除了最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時(shí)有向圖,以及通過(guò)將具有長(zhǎng)度1的、具有位于第一水平坐標(biāo)軸上第一臨時(shí)坐標(biāo)點(diǎn) 的頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合 (1—n)有關(guān)的臨時(shí)有向圖;最長(zhǎng)有向路徑確定步驟,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的最大數(shù)量的最長(zhǎng)有向路徑;以及有向圖生成步驟,通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊來(lái)生成有向圖。
55、 一種密鑰生成方法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰, 其中所述有向圖通過(guò)如下步驟而獲得配置由向其分配了編號(hào)1到n的、n個(gè)葉節(jié)點(diǎn)、 一個(gè)根節(jié)點(diǎn)以及不同于 根節(jié)點(diǎn)和葉節(jié)點(diǎn)的多個(gè)中間節(jié)點(diǎn)組成的二叉樹(shù),n是自然數(shù),并且對(duì)于自然數(shù)i和j,其中。,將集合(i—j)定義為(W, (i,i+l),…,化i+l,…,j-1J}},而 將集合(i—j)定義為(W, {j,j-l},...,...,i+l,i}},在位于某個(gè)中間節(jié)點(diǎn)v 或某個(gè)根節(jié)點(diǎn)v之下的多個(gè)葉節(jié)點(diǎn)之中,將分配給位于左端的葉節(jié)點(diǎn)的編號(hào) 設(shè)置為lv,而將分配給位于右端的葉節(jié)點(diǎn)的編號(hào)設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點(diǎn)相關(guān),并且具有分 別與集合(2"n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點(diǎn),對(duì)于每個(gè)所述中間節(jié)點(diǎn),第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個(gè)中間節(jié)點(diǎn)v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點(diǎn),以及將兩個(gè)臨時(shí)坐標(biāo)點(diǎn)均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)的右側(cè) 以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點(diǎn)的左側(cè);將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點(diǎn)設(shè)置為第一臨時(shí)坐標(biāo)點(diǎn),并將第 二臨時(shí)坐標(biāo)點(diǎn)放置在第 一臨時(shí)坐標(biāo)點(diǎn)的右側(cè),通過(guò)設(shè)置給定整數(shù)k,計(jì)算滿足n(x-1)/k<(rv-lv+1 )^n流的整數(shù)x ,以及 對(duì)于每個(gè)整數(shù)i二0到x-l,通過(guò)連接具有長(zhǎng)度ni/k的 一條或多條右向有向邊來(lái)形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,通過(guò)連接具有長(zhǎng)度nl/k的一條或多條左向有向邊來(lái)形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點(diǎn)的尾部的有向路徑,對(duì)于第一到第四水平坐標(biāo)軸中的每個(gè),排除具有位于臨時(shí)坐標(biāo)點(diǎn)的 尾部或頭部的所有有向邊,以及從到達(dá)第一到第四水平坐標(biāo)軸上的每個(gè)坐標(biāo)點(diǎn)的有向邊中排除除了 最長(zhǎng)有向邊之外的有向邊,來(lái)生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有關(guān)的臨時(shí)有向圖,通過(guò)將具有長(zhǎng)度1的、具有位于第一水平坐標(biāo)軸的第一臨時(shí)坐標(biāo)點(diǎn)的頭 部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時(shí)有向圖,來(lái)生成與集合(1—n)有 關(guān)的臨時(shí)有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊 的最大數(shù)量的最長(zhǎng)有向路徑,以及通過(guò)每個(gè)有向路徑的有向邊的數(shù)量不超過(guò)最長(zhǎng)有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個(gè)有向路徑的有向邊。
全文摘要
公開(kāi)了信息處理設(shè)備、終端、信息處理方法、密鑰創(chuàng)建方法和程序,其均能夠使用戶保存減少了數(shù)量的密鑰。信息處理設(shè)備繪制有向圖,所述有向圖表示用于導(dǎo)出用以加密內(nèi)容或內(nèi)容密鑰的集合密鑰的加密密鑰創(chuàng)建邏輯。在該技術(shù)中,將用戶終端的集合劃分為多個(gè)子集,將集合密鑰和中間密鑰分配給每個(gè)子集,并且如果輸入與子集相關(guān)聯(lián)的中間密鑰,則輸出對(duì)應(yīng)于與集合密鑰相關(guān)聯(lián)的子集的中間密鑰以及對(duì)應(yīng)于與所輸入的中間密鑰相關(guān)聯(lián)的子集的有向分支。本發(fā)明進(jìn)一步涉及根據(jù)預(yù)定替換法則、以更短的有向分支替換有向圖中包括的有向分支的技術(shù)。該技術(shù)生成了減少每個(gè)用戶必須保存的中間密鑰的數(shù)量的效果。
文檔編號(hào)H04L9/08GK101536401SQ200780042720
公開(kāi)日2009年9月16日 申請(qǐng)日期2007年10月3日 優(yōu)先權(quán)日2006年11月16日
發(fā)明者淺野智之, 草川雅文 申請(qǐng)人:索尼株式會(huì)社