專利名稱:信息處理設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理單元、終端單元、信息處理方法、密鑰生成方法和 程序。
背景技術(shù):
如今,涉及通過網(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)容的一個分發(fā)者,存在具有有效接收權(quán)利的n個(n是大 于等于2的自然數(shù))接收者,并且在存在于網(wǎng)絡(luò)上的無限個攔截者之中僅有 這n個接收者可以解密經(jīng)加密的內(nèi)容。進一步,由于具有有效接收權(quán)利的接 收者的數(shù)量n隨時間變化,因此存在對于在接收者的集合中能夠靈活地處理 變化的方案的需求。
此外,在這種方案的實現(xiàn)中,在分發(fā)者中出現(xiàn)涉及加密密鑰的生成、保 存和分發(fā)、內(nèi)容的加密等的處理負荷,并且自然在接收者中出現(xiàn)涉及解密密 鑰的保存和接收、內(nèi)容的解密等的處理負荷。通過各種最近的技術(shù)發(fā)展(如, 吞吐量信息處理設(shè)備的存儲容量等的提高、信息傳輸路徑的通信速度的提 高),關(guān)于上述加密分發(fā)處理負荷的負荷正在相對地降低是事實。然而,由于 內(nèi)容分發(fā)服務(wù)的消費者的數(shù)量的急劇增加以及安全到足以防范有經(jīng)驗的惡意 攔截者的加密技術(shù)的需求,加密分發(fā)而引起的處理負荷相應(yīng)地增大。
在這樣的情況下,作為用以通過使用廣播信道安全地將信息傳送到由分 發(fā)者任意選擇的一組接收者的技術(shù),已經(jīng)提出了諸如撤銷方案(revocation scheme)和廣播加密方案之類的方案。廣播加密方案的一個示例是在下面的 非專利文獻l中公開的加密密鑰分發(fā)方案,并且所述方案的特征是使用現(xiàn)有 的分層樹結(jié)構(gòu),對密鑰分發(fā)方案進行密鑰導(dǎo)出路徑(key derivation path )的 改進。具體地說,該方案(其中,將接收者的集合看作被劃分為多個子集) 通過將不包括在 一子集中的接收者添加到某個子集來創(chuàng)建新的子集,并且作為重復(fù)該處理的結(jié)果而創(chuàng)建子集鏈,然后沿著所述鏈導(dǎo)出與每個子集對應(yīng)的 加密密鑰。由此可以減少要由接收者保存的密鑰的數(shù)量、用以生成解密密鑰
的計算量以及用于密鑰分發(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ā)明要解決的問題
與諸如CD方案(完整子樹方案,Complete Subtree Scheme )和SD方案 (子集差方案,SubsetDifferencescheme)之類的密鑰分發(fā)方案相比,根據(jù)上 述非專利文獻1的加密密鑰分發(fā)方案具有顯著的優(yōu)點。然而,從假設(shè)實現(xiàn)的 實踐角度來看,存在如下問題在接收者的數(shù)量很大的情況下,在接收者端 要由終端單元保存的密鑰的數(shù)量以及內(nèi)容解密所需的計算量仍然很大。
已經(jīng)完成本發(fā)明來解決以上問題,由此本發(fā)明的目標(biāo)是提供新的、改進 的、能夠減小在接收者端要由終端單元保存的密鑰的數(shù)量的信息處理單元、 終端單元、信息處理方法、密鑰生成方法和程序。
解決問題的裝置
為了解決以上問題,根據(jù)本發(fā)明的一個方面,提供了信息處理單元,包 括有向圖獲取部分,在由多條有向邊組成的臨時有向圖中,獲取通過以更 短的有向邊替換組成所述臨時有向圖的至少一條有向邊而生成的有向圖;以 及密鑰生成部分,基于由所述有向圖獲取部分獲取的有向圖,生成用于加密 或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的一個方面,提供了信息處理 單元,在由向其分配了編號1到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié) 點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中在
位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于 左端的葉節(jié)點的編號定義為lv,而將分配給位于右端的葉節(jié)點的編號定義為 rv,對于自然數(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é)點相關(guān),并且具有分別與集
25合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐
標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),
并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的 方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平 坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合 (lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個 中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以 包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理單 元包括有向圖獲取部分,獲取通過以更短的有向邊替換組成臨時有向圖的 至少 一個有向邊而生成的有向圖,所述臨時有向圖是根據(jù)對于給定整數(shù)k滿 足i^-,〈(rv-lv+l)^^k的自然數(shù)x,通過在第一到第四水平坐標(biāo)軸上排列具有 長度n"k的多條有向邊而形成的,其中i二0, 1,……,x-l;以及密鑰生成部 分,基于由所述有向圖獲取部分獲取的有向圖,生成用于加密或解密內(nèi)容或 內(nèi)容密鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的一個方面,提供了信息處理 單元,包括樹結(jié)構(gòu)設(shè)置部分,配置由向其分配了編號1到n的、n個葉節(jié) 點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是 自然數(shù),并且對于自然數(shù)i和j,其中Sj,通過將集合(i—j)定義為Hi), {i, i+l}, ...,{i, i+l, ...,j-l,j}},而將集合(i—j)定義為U化{j,j-l},…,(j,j-l,…, i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將 分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的 編號設(shè)置為rv;
進一步包括坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平 坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以 包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐 標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括 的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo) 點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與 某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、 且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點V相關(guān),并且具有分別 與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列 在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水 平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo) 點的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點,
進一步包括臨時有向圖生成部分,用以通過設(shè)置給定整數(shù)k,計算滿足
r^-'v、(rv-lv+l)^/k的整數(shù)x,以及對于每個整數(shù)i=0到x-l ,通過連接具有 長度n'A的一條或多條右向有向邊來形成具有位于第一和第三水平坐標(biāo)軸的 最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的一條或多條左向有 向邊來形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路 徑,對于第一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部 或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的 有向邊中排除除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集 合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)相關(guān)的臨時有向圖,以及通過將具 有長度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加 到與集合(1 —n-1 )相關(guān)的臨時有向圖,來生成與集合(1 —n)相關(guān)的臨時有向圖,
進一步包括最長有向路徑確定部分,用以在由連續(xù)有向邊形成的有向路 徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及
進一步包括有向圖生成部分,用以通過每個有向路徑的有向邊的數(shù)量不 超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有 向路徑的有向邊來生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)以及集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密 的信息時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需 的計算量的最差值的情況下,減少要由每個用戶保存的密鑰的數(shù)量。
在與集合(l—n)、集合(2—n)、集合(lv+l—rv)和集合(lv—i,v-l)相關(guān)的臨 時有向圖之中,最長有向路徑確定部分可以關(guān)于不包括最長有向路徑的各個 臨時有向圖,確定在每個臨時有向圖中的最長有向路徑。進一步,在對于各 個臨時有向圖的每個臨時有向圖中,有向圖生成部分可以通過每個有向路徑 的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向
邊替換組成每個有向路徑的有向邊來生成有向圖。
27信息處理單元可以進一步包括密鑰生成部分,用以基于所迷有向圖生成 用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入,
所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2、 ....... Sk
的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集s的集合密鑰k(S)的輸
入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
信息處理單元可以進一步包括初始中間密鑰設(shè)置部分,用以將給定隨機 數(shù)設(shè)置為與每個有向圖的尾部對應(yīng)的中間密鑰。
信息處理單元可以進一步包括加密部分,用以使用集合密鑰來解密內(nèi)容 或內(nèi)容密鑰。
信息處理單元可以進一步包括傳送部分,用以向分別與組成給定二叉樹 的葉節(jié)點l到n(n是自然數(shù))中的一些或全部相關(guān)的終端單元傳送由加密部 分加密的內(nèi)容或內(nèi)容密鑰。
的方式來替換臨時有向圖的有向邊。
信息處理單元可以進一步包括子集確定部分,通過將葉節(jié)點1到n的子 集設(shè)置為Si,確定允許解密通過使用集合密鑰而加密的內(nèi)容或內(nèi)容密鑰的終 端單元的集合(N\R),并確定滿足集合(NXR^SlUS2U…USm的m個子集 Sl到Sm。
子集確定部分可疑確定子集Sl到Sm以便最小化m。 信息處理單元可以進一步包括傳送部分,用以向終端單元傳送指示集合
(NXR)的信息或指示組成集合(N乂R)的子集Sl到Sm的信息。
信息處理單元可以進一步包括解密部分,用以使用集合密鑰來解密內(nèi)容
或內(nèi)容密鑰。
信息處理單元可以進一步包括接收部分,其與組成給定二叉樹的一個或 多個葉節(jié)點1到n ( n是自然數(shù))相關(guān),接收使用集合密鑰加密的內(nèi)容或內(nèi)容 密鑰。
由接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由一個或多
28個信息處理單元來解密,所述一個或多個信息處理單元與作為集合S的元素
的葉節(jié)點相關(guān),所述集合S包括在定義為葉節(jié)點l到n的子集的集合Si中與
其自身相關(guān)的葉節(jié)點。
進一步,為了解決以上問題,根據(jù)本發(fā)明的另一方面,提供了終端單元,
包括密鑰生成部分,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰。 由終端單元參照的所述有向圖通過如下步驟獲得配置由向其分配了編 號l到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié) 點組成的二叉樹,n是自然數(shù),并且對于自然數(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}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多 個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位 于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含
度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸, 所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對 于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中 間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合 (1 v+1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水平坐標(biāo) 軸的左端的坐標(biāo)點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右 側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點,通過設(shè)置 給定整數(shù)k,計算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及對于每個整數(shù)i二0 到x-l,通過連接具有長度i/k的一條或多條右向有向邊來形成具有位于第一 和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度n'/k 的一條或多條左向有向邊來形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐 標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo)軸中的每個,排除具有位 于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo) 軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-1 )有關(guān)的臨時 有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo) 點的頭部的有向邊添加到與集合(1—n-l)相關(guān)的臨時有向圖,來生成與集合 (1—n)有關(guān)的臨時有向圖;在由連續(xù)有向邊形成的有向路徑之中,確定具有組 成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的 有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊 替換組成每個有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
終端單元可以進一步包括解密部分,用以使用集合密鑰來解密經(jīng)加密的 內(nèi)容或經(jīng)加密的內(nèi)容密鑰。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點s的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2........ Sk
的中間密鑰t(S)、t(S2)........ t(Sk)。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
解密部分通過使用所述集合密鑰來解密經(jīng)加密的內(nèi)容密鑰,并使用經(jīng)解 密的內(nèi)容密鑰來解密經(jīng)加密的內(nèi)容。
終端單元進一步包括判定部分,基于所接收到的信息來判定所述終端單 元是否屬于子集Sl到Sm中的任意一個,并基于判定結(jié)果來判定是否允許經(jīng) 加密的內(nèi)容的解密,其中將樹的葉節(jié)點1到n的子集定義為Si,以及當(dāng)確定 了允許解密通過使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容的終端單元 的集合(NX R)時,確定滿足集合(NX R)= SlUS2U…USm的m個子集Sl到Sm, 并接收指示集合(NYR)的信息或指示組成集合(NXR)的子集Sl到Sm的信 自、
當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個時,解密部分通過 使用與所述終端單元所屬的子集對應(yīng)的集合密鑰來解密內(nèi)容或內(nèi)容密鑰。
30進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了信息處理 方法,包括有向圖獲取步驟,在由多條有向邊組成的臨時有向圖中,獲取 通過以更短的有向邊替換組成所述臨時有向圖的至少一條有向邊而生成的有
向圖;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成 用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了信息處理 方法,在由向其分配了編號1到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié) 點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中在
位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于 左端的葉節(jié)點的編號定義為lv,而將分配給位于右端的葉節(jié)點的編號定義為 rv,對于自然數(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é)點相關(guān),并且具有分別與集
合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐 標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān), 并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的 方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平 坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合 (lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個 中間節(jié)點v相關(guān),并且具有分別與集合(iv+l—rv)中包括的子集相關(guān)的、且以 包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理方 法包括有向圖獲取步驟,獲取通過以更短的有向邊替換組成臨時有向圖的 至少一個有向邊而生成的有向圖,所述臨時有向圖是根據(jù)對于給定整數(shù)k滿 足n(x-1)/k<(rv-lv+l)^nx/k的自然數(shù)x,通過在第 一到第四水平坐標(biāo)軸上排列具有 長度n改的多條有向邊而形成的,其中i二O, 1,……,x-1;以及密鑰生成步 驟,基于由所述有向圖獲取步驟獲取的有向圖,生成用于加密或解密內(nèi)容或 內(nèi)容密鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了信息處理 單元,包括樹結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號1到n的、n個葉節(jié) 點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(shù)i和j,其中iSj,通過將集合(i—j)定義為Ui), {i, i+l}, ...,j-l,j}},而將集合(i—j)定義為(W, {j,j-l},…,(j,j-l,…,
i+l,i}},在位于某個中間節(jié)點V或某個根節(jié)點V之下的多個葉節(jié)點之中,將
分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的 編號設(shè)置為rv;坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含 度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸, 所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對 于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中 間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合 (lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水平坐標(biāo) 軸的左端的坐標(biāo)點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右 側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點;臨時有向 圖生成步驟通過設(shè)置給定整數(shù)k,計算滿足r/x"V、(rv-lv+l)^^的整數(shù)x, 以及對于每個整數(shù)1=0到x-l,通過連接具有長度n'A的一條或多條右向有向 邊來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路 徑,通過連接具有長度n"k的一條或多條左向有向邊來形成具有位于第二和第 四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo) 軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從
到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊 之外的有向邊,來生成分別與集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集
合(lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時 有向圖,來生成與集合(1—n)有關(guān)的臨時有向圖;最長有向路徑確定步驟,在 由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大
數(shù)量的最長有向路徑;以及有向圖生成步驟,通過以每個有向路徑的有向邊 的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向邊來生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明再一方面,提供了密鑰生成方
法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
用于密鑰生成方法的所述有向圖通過如下步驟獲得配置由向其分配了 編號l到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間 節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(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}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多 個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位 于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含
所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對 于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中 間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合 (lv+l —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水平坐標(biāo) 軸的左端的坐標(biāo)點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右 側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點;通過設(shè)置 給定整數(shù)k,計算滿足n"-,〈(rv-lv+l)^/k的整數(shù)x,以及對于每個整數(shù)i, 到x-l,通過連接具有長度r^的一條或多條右向有向邊來形成具有位于第一 和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k 的 一條或多條左向有向邊來形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐
33標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo)軸中的每個,排除具有位 于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第 一到第四水平坐標(biāo) 軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有向邊,來生成分
別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-1 )有關(guān)的臨時 有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo) 點的頭部的有向邊添加到與集合(1 一n-1 )有關(guān)的臨時有向圖,來生成與集合 (1—n)有關(guān)的臨時有向圖;在由連續(xù)有向邊形成的有向路徑之中,確定具有組 成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的 有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊 替換組成每個有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了一種程序, 使得計算機執(zhí)行如下功能樹結(jié)構(gòu)設(shè)置功能配置由向其分配了編號1到n 的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的 二叉樹,n是自然數(shù),并且對于自然數(shù)i和j,其中iS,通過將集合(i—j)定義 為{{i}, {i, i+l}, ...,{i, i+1,…,j-l,JU,而將集合(i—j)定義為(W, {j, j-1},…,{j, j-l, ...,i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之 中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉 節(jié)點的編號設(shè)置為rv;坐標(biāo)軸設(shè)置功能設(shè)置第一水平坐標(biāo)軸,所述第一水 平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且 以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平 坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包 括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐 標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸 與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、 且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第 四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別 與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第 一到第四水 平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo) 點的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點;臨
時有向圖生成功能通過設(shè)置給定整數(shù)k,計算滿足n ,〈(rv-lv+l)^/k的整 數(shù)x,以及對于每個整數(shù)1=0到x-l,通過連接具有長度n'A的一條或多條右 向有向邊來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有 向路徑,通過連接具有長度nl/k的一條或多條左向有向邊來形成具有位于第二 和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平
坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以 及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有 向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv) 和集合(lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第 一水平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)有關(guān)的 臨時有向圖,來生成與集合(1 —n)有關(guān)的臨時有向圖;最長有向路徑確定功能, 在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最 大數(shù)量的最長有向路徑;以及有向圖生成功能,通過以每個有向路徑的有向 邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換 組成每個有向路徑的有向邊來生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了一種程序, 使得計算機執(zhí)行以下功能密鑰生成功能,基于由所述有向圖獲取步驟獲取 的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
根據(jù)所述程序的有向圖通過如下步驟獲得配置由向其分配了編號1到 n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的 二叉樹,n是自然數(shù),并且對于自然數(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}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將 分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第 一到第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點;通過設(shè)置給定整數(shù)k,計算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及對于每個整數(shù)i=0到x-l,通過連接具有長度!/k的一條或多條右向有向邊來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度n改的一條或多條左向有向邊來形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖,通過將具有長度1的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合(1 —n)有關(guān)的臨時有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,
以更短的有向邊替換組成每個有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的
36計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明的一個方面,提供了信息處理單元,包括有向圖獲取部分,在由多條有向邊組成的臨時有向圖中,獲取通過在組成所述臨時有向圖的多條有向邊之中保留較長的有向邊而以更短的有向邊替換留下的至少一條有向邊而生成的有向圖;以及密鑰生成部分,基于由所述有向圖獲取部分獲取的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的一個方面,提供了一種信息
處理單元,用以根據(jù)對于給定整數(shù)k滿足^x-,〈(rv-lv+l)^iXA的自然數(shù)x,處理通過在第 一和第四水平坐標(biāo)軸上排列具有長度nl/k的多條有向邊而形成的有向圖,其中i二O, 1,……,x-l,在由向其分配了編號l到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右
端的葉節(jié)點的編號設(shè)置為rv,對于自然數(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é)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理單元包括臨時有向圖獲取部分,獲取臨時有向圖;有向圖生成部分,通過在組成由所述臨時有向圖獲取部分獲取的所述臨時有向圖的多條有向邊之中保留較長的有向邊來生成有向圖;最長有向路徑確定部分,在組成所述有向圖的多條有向邊之中,確定連續(xù)有向邊的最大數(shù)量;有向邊替換部分,通過以更短的有向邊替換組成所述有向圖的至少一條有向邊來重建所述有向圖,以便不超過連續(xù)有向邊的最大數(shù)量,以及密鑰生成部分,基于由所述有向邊替換部分重建的所述有向圖,生成用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的一個方面,提供了信息處理
單元,包括樹結(jié)構(gòu)設(shè)置部分,配置由向其分配了編號1到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(shù)i和j,其中Sj,通過將集合(i—j)定義為Ui), {i,
i+i},…,(i, i+i,…,j-i,j",而將集合(i—j)定義為(W, {j,j-i},…,…,
i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編
號設(shè)置為rv;坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并將第二臨時坐標(biāo)點放置在所述第一臨時坐標(biāo)點的右側(cè);臨時有向圖生成部分,用以通過設(shè)置給定整數(shù)k,計算滿足r^x-,〈(rv-lv+l)^^的整數(shù)x,以及對于每個整數(shù)1=0到x-l,通過連接具有長度i/k的一條或多條右向有向邊來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度n流的一條或多條左向有向邊來形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每
個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸上第 一臨時坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)相關(guān)的臨時有向圖,來生成與集合(1—n)相關(guān)的臨時有向圖;最長有向路徑確定部分,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的
最大數(shù)量的最長有向路徑;以及有向圖生成部分,通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每一條有向路徑的有向邊來生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
在與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖之中,最長有向路徑確定部分可以關(guān)于不包括最長有向路徑的各個臨時有向圖,確定在每個臨時有向圖中的最長有向路徑。進一步,在對于各個臨時有向圖的每個臨時有向圖中,有向圖生成部分可以通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向邊。
信息處理單元可以進一步包括密鑰生成部分,基于有向圖生成用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入,所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2.......、 Sk
的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
信息處理單元可以進一步包括加密部分,用以使用所述集合密鑰來加密內(nèi)容或內(nèi)容密鑰。
信息處理單元可以進一步包括傳送部分,用以向分別與組成給定二叉樹的葉節(jié)點1到n中的一些或全部相關(guān)的終端單元傳送由所述加密部分加密的
39內(nèi)容或內(nèi)容密鑰,其中n是自然數(shù)。有向圖獲取部分可以獲取以將」
個有向路徑的端點而放置的方式替換有向邊的有向圖。
信息處理單元可以進一步包括子集確定部分,用以通過將葉節(jié)點1到n的子集定義為Si,確定允許解密通過使用集合密鑰或內(nèi)容密鑰而加密的內(nèi)容的終端單元的集合(N \ R),并確定滿足集合(N \ R)= S1US2U...USm的m個子集Sl到Sm,以便最小化m。
信息處理單元可以進一步包括傳送部分,用以向所述終端單元傳送指示集合(N乂R)的信息或指示組成集合(N乂R)的子集Sl到Sm的信息。
信息處理單元可以進一步包括解密部分,用以通過使用所述集合密鑰來解密內(nèi)容或內(nèi)容密鑰。
信息處理單元可以進一步包括接收部分,其與組成給定二叉樹的一個或多個葉節(jié)點1到n (n是自然數(shù))相關(guān),用以接收通過使用所述集合密鑰而加密的內(nèi)容或內(nèi)容密鑰。
由所述接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由 一個或多個信息處理單元來解密,所述一個或多個信息處理單元與作為集合S的元素的葉節(jié)點相關(guān),所述集合S包括在定義為葉節(jié)點1到n的子集的集合Si中與其自身相關(guān)的葉節(jié)點。
進一步,為了解決以上問題,根據(jù)本發(fā)明的另一方面,提供了終端單元,包括密鑰生成部分,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰。其中所述有向圖通過如下步驟而獲得配置由向其分配了編號1到n的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(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}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點V相關(guān),并且具有分
別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排
列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與
某個中間節(jié)點v相關(guān),并且具有分別與集合(>+1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);將位于第 一水平坐標(biāo)軸的右端
的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并將第二臨時坐標(biāo)點放置在第一臨時坐標(biāo)點的右側(cè),通過設(shè)置給定整數(shù)k,計算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及對于每個整數(shù)1=0到x-l,通過連接具有長度n"k的一條或多條右向有向邊
來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的一條或多條左向有向邊來形成具有位于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖,通過將具有長度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時有向圖,來生成與集合(l—n)有關(guān)的臨時有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入,所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以
及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2........ Sk
的中間密鑰t(Sl)、 t(S2)、 ....... t(Sk)。
響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的
坐標(biāo)點S1、 S2、 ....... Sk的集合密鑰k(Sl)、 k(S2).......、 k(Sk)。
終端單元可以進一步包括解密部分,用以使用所述集合密鑰來解密經(jīng)加 密的內(nèi)容密鑰,并使用經(jīng)解密的內(nèi)容密鑰來解密經(jīng)加密的內(nèi)容。
終端單元可以進一步包括判定部分,用以基于所接收到的信息來判定所 述終端單元是否屬于子集Sl到Sm中的任意一個,并基于判定結(jié)果來判定是 否允許經(jīng)加密的內(nèi)容的解密,其中將樹的葉節(jié)點1到n的子集定義為Si,以 及當(dāng)確定了允許解密通過使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容的 終端單元的集合(T"AR)時,確定滿足集合(NXR)二SlUS2U…USm的m個子集 Sl到Sm,并接收指示集合(N乂R)的信息或指示組成集合(N乂R)的子集Sl到 Sm的信息。當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個時,所述 解密部分使用與所述終端單元所屬的子集對應(yīng)的集合密鑰來解密所述內(nèi)容或 內(nèi)容密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的另一方面,提供了信息處理 方法,包括有向圖獲取步驟,在由多條有向邊組成的臨時有向圖中,獲取 通過在組成所述臨時有向圖的多條有向邊之中保留較長的有向邊而以更短的 有向邊替換留下的至少一條有向邊而生成的有向圖;以及密鑰生成步驟,基 于由所述有向圖獲取步驟獲取的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密 鑰的集合密鑰。
進一步,為了解決以上問題,根據(jù)本發(fā)明的另一方面,提供了信息處理 方法,用以根據(jù)對于給定整數(shù)k滿足i^-,〈(rv-lv+l)^/k的自然數(shù)x,處理通 過在第 一和第四水平坐標(biāo)軸上排列具有長度ni/k的多條有向邊而形成的有向 圖,其中1=0, 1,……,x-l,在由向其分配了編號1到n的、n個葉節(jié)點、 根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n 是自然數(shù),并且其中在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié) 點中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的 葉節(jié)點的編號設(shè)置為rv,對于自然數(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é)點相關(guān),并且具 有分別與集合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從
右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,
設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具 有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方 式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平 坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所 述信息處理方法包括臨時有向圖獲取步驟,獲取臨時有向圖;有向圖生成 步驟,通過在組成由所述臨時有向圖獲取步驟獲取的所述臨時有向圖的多條 有向邊之中保留較長的有向邊來生成有向圖;最長有向路徑確定步驟,在組 成所述有向圖的多條有向邊之中,確定連續(xù)有向邊的最大數(shù)量;有向邊替換 步驟,通過以更短的有向邊替換組成所述有向圖的至少一條有向邊來重建所 述有向圖,以便不超過連續(xù)有向邊的最大數(shù)量,以及密鑰生成步驟,基于由 所述有向邊替換步驟重建的所述有向圖,生成用于加密內(nèi)容或內(nèi)容密鑰的集 合密鑰。
進一步,為了解決以上問難,根據(jù)本發(fā)明的再一方面,提供了信息處理 方法,包括樹結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號1到n (n是自然數(shù)) 的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的 二叉樹,并且對于自然數(shù)i和j,其中通過將集合(i—j)定義為Ui), {i, i+l}, ...,{i,i+l, ...,j-l,j}},而將集合(i—j)定義為(W, {j,j-l},…,(j,j-l,…, i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將 分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的 編號設(shè)置為rv;坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo) 軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、且以包含
所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集 相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對 于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中 間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包 含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平 坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+1—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平 坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的 右端的坐標(biāo)點的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左 側(cè),以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并
將第二臨時坐標(biāo)點放置在第一臨時坐標(biāo)點的右側(cè);臨時有向圖生成步驟通
過設(shè)置給定整數(shù)k,計算滿足i^-"、(rv-lv+l)^^k的整數(shù)x,以及對于每個整
數(shù)1=0到x-l,通過連接具有長度n^的一條或多條右向有向邊來形成具有位
于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有
長度ni/k的一條或多條左向有向邊來形成具有位于第二和第四水平坐標(biāo)軸的
最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo)軸中的每個,排 除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一到第四
水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有向邊, 來生成分別與集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有 關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸上第 一臨時坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時有向圖,來生 成與集合(1—n)有關(guān)的臨時有向圖;最長有向路徑確定步驟,在由連續(xù)有向邊 形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的最大數(shù)量的最 長有向路徑;以及有向圖生成步驟,通過每個有向路徑的有向邊的數(shù)量不超 過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向 路徑的有向邊來生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了密鑰生成 方法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集 合密鑰。所述有向圖通過如下步驟而獲得配置由向其分配了編號1到n的、 n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉 樹,n是自然數(shù),并且對于自然數(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}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的
編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān), 并且具有分別與集合(l —n)中包括的子集相關(guān)的、且以包含度從左至右增大的 方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐 標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包 含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間 節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第 四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括 的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo) 點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);將位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并將第二臨時坐標(biāo)點放置 在第一臨時坐標(biāo)點的右側(cè),通過設(shè)置給定整數(shù)k,計算滿足r^-,〈(rv-lv+l)^/k 的整數(shù)x,以及對于每個整數(shù)i=0到x-l,通過連接具有長度n"k的一條或多 條右向有向邊來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部
的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位于 第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四 水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊, 以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長 有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv) 和集合(lv—rv-l)有關(guān)的臨時有向圖,通過將具有長度l的、具有位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時 有向圖,來生成與集合(1—n)有關(guān)的臨時有向圖,在由連續(xù)有向邊形成的有向 路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以 及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的 方式,以更短的有向邊替換組成每個有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了一種程序,
使計算機執(zhí)行如下功能樹結(jié)構(gòu)設(shè)置功能配置由向其分配了編號1到n的、 n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉 樹,其中n是自然數(shù),并且對于自然數(shù)i和j,其中i^j,通過將集合(i—j)定
義為(W, {i, i+i}, ...,{i, i+i, ...,j-i,j}},而將集合(iH)定義為U", {j,j-i},…,
(j,j-l, ...,i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點 之中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的 葉節(jié)點的編號設(shè)置為rv;坐標(biāo)軸設(shè)置功能設(shè)置第一水平坐標(biāo)軸,所述第一 水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1—n)中包括的子集相關(guān)的、 且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水 平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n) 中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上 的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐 標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相 關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及 設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具 有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方 式排列在水平坐標(biāo)軸上的坐標(biāo)點,將兩個臨時坐標(biāo)點均放置在位于第三水平 坐標(biāo)軸的右端的坐標(biāo),存、的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo) 點的左側(cè),以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo) 點,并將第二臨時坐標(biāo)點放置在第一臨時坐標(biāo)點的右側(cè);臨時有向圖生成功 能通過設(shè)置給定整數(shù)k,計算滿足n^,〈(rv-lv+l)^i流的整數(shù)x,以及對于 每個整數(shù)i=0到x-l,通過連接具有長度n^的一條或多條右向有向邊來形成 具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連 接具有長度ni/k的一條或多條左向有向邊來形成具有位于第二和第四水平坐 標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每 個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一 到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長有向邊之外的有
向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸上第一臨時坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時
有向圖,來生成與集合(1—n)有關(guān)的臨時有向圖;最長有向路徑確定功能,在 由連續(xù)有向邊形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的 最大數(shù)量的最長有向路徑;以及有向圖生成功能,通過每個有向路徑的有向 邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換 組成每個有向路徑的有向邊來生成有向圖。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
進一步,為了解決以上問題,根據(jù)本發(fā)明的再一方面,提供了一種程序, 使得計算機執(zhí)行密鑰生成功能,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的 集合密鑰。所述有向圖通過以下步驟而獲得配置由向其分配了編號1到n 的、n個葉節(jié)點、根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的 二叉樹,n是自然數(shù),并且對于自然數(shù)i和j,其中將集合(i—j)定義為Ui〉, {i, i+l},…,(i, i+l,…,j-l,j}},而將集合(i—j)定義為(W, {j, j-l},…,…, i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將 分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的
編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān), 并且具有分別與集合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的
方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐 標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包 含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間 節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第 四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括 的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo) 點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);將位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并將第二臨時坐標(biāo)點放置在第 一臨時坐標(biāo)點的右側(cè),通過設(shè)置給定整數(shù)k,計算滿足n^V、(rv-lv+l)^^k 的整數(shù)x,以及對于每個整數(shù)i二O到x-l,通過連接具有長度n"k的一條或多
條右向有向邊來形成具有位于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部 的有向路徑,通過連接具有長度n1/k的 一條或多條左向有向邊來形成具有位于 第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第一到第四 水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊, 以及從到達第 一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了最長
有向邊之外的有向邊,來生成分別與集合(1 —n-1)、集合(2—n)、集合0+1 —rv) 和集合(lv—rv-l)有關(guān)的臨時有向圖,通過將具有長度l的、具有位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點的頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時 有向圖,來生成與集合(1—n)有關(guān)的臨時有向圖,在由連續(xù)有向邊形成的有向 路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以 及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的 方式,以更短的有向邊替換組成每個有向路徑的有向邊。
如上所述,使用中間密鑰和集合密鑰的加密密鑰分發(fā)方案使能基于上述 有向圖的中間密鑰的分發(fā)和集合密鑰的生成,由此當(dāng)解密所分發(fā)的經(jīng)加密的 內(nèi)容時,在不增大對于每個用戶(終端單元)來說用以生成解密密鑰所需的 計算量的最差值的情況下,能夠減少要由每個用戶保存的密鑰的數(shù)量。
因此,通過應(yīng)用以上技術(shù),可以提供新的、改進的信息處理單元、終端 單元、信息處理方法、密鑰生成方法和程序,其能夠在接收者端減少要由終 端單元保存的密鑰數(shù)量,并且能夠減少用于導(dǎo)出加密密鑰所需的計算量。
本發(fā)明的優(yōu)點
如在上文中所述,根據(jù)本發(fā)明,可以在接收者端減少要由終端單元保存 的密鑰數(shù)量。
圖1是示出了根據(jù)本發(fā)明的一個實施例的加密密鑰分發(fā)系統(tǒng)的說明圖; 圖2是示出了根據(jù)所述實施例的密鑰分發(fā)服務(wù)器和接收器的配置的框
圖3是示出了根據(jù)基本方案的二叉樹結(jié)構(gòu)的說明圖; 圖4是示出了根據(jù)基本方案的有向圖的說明圖;圖5是示出了根據(jù)基本方案的有向圖計算方法的流程圖; 圖6是示出了根據(jù)基本方案的中間密鑰分發(fā)方法的流程圖; 圖7是示出了根據(jù)基本方案的集合密鑰生成方法的流程圖; 圖8是示出了根據(jù)本發(fā)明的第一實施例的密鑰分發(fā)服務(wù)器和終端單元的 配置的框圖9是示出了根據(jù)所述實施例的有向圖生成方法的基本構(gòu)思的說明圖; 圖IO是示出了根據(jù)所述實施例的有向圖生成方法的流程圖; 圖ll是示出了根據(jù)所述實施例的(臨時)有向圖生成方法的流程圖; 圖12是示出了根據(jù)所迷實施例的有向圖生成方法(LP確定)的流程圖; 圖13是示出了根據(jù)所述實施例的有向圖生成方法(PLP確定)的流程圖; 圖14是示出了根據(jù)所述實施例的有向圖生成方法的流程圖; 圖15是示出了根據(jù)所述實施例的有向圖的一個示例(k=6)的說明圖; 圖16是示出了根據(jù)基本方案的有向圖的一個示例(k=3)的說明圖; 圖17是示出了根據(jù)所迷實施例的有向圖的一個示例(k=3)的說明圖; 圖18是示出了基本方案與根據(jù)所述實施例的密鑰分發(fā)方案之間的比較 的比4支表;
圖19是示出了根據(jù)本發(fā)明的第二實施例的信息處理單元和終端單元的 配置的框圖20是示出了根據(jù)所述實施例的臨時有向圖生成方法的流程圖21是示出了根據(jù)所述實施例的臨時有向圖的一個示例(k=6)的說明
圖22是示出了根據(jù)所述實施例的有向圖生成方法的概要的流程圖; 圖23是示出了根據(jù)所述實施例的有向圖生成方法(LP確定)的流程圖; 圖24是示出了根據(jù)所述實施例的有向圖生成方法(PLP確定)的流程圖; 圖25是示出了根據(jù)所述實施例的有向圖生成方法的流程圖; 圖26是示出了根據(jù)所述實施例的有向圖的一個示例(k=6)的說明圖; 圖27是示出了基本方案與根據(jù)所述實施例的密鑰分發(fā)方案之間的比較 的比一支表;
圖28是示出了根據(jù)本發(fā)明的一個實施例的加密密鑰分發(fā)系統(tǒng)的一個應(yīng) 用的i兌明圖;以及
圖29是示出了根據(jù)本發(fā)明的一個實施例的加密密鑰分發(fā)系統(tǒng)的一個應(yīng)用的說明圖。
附虔l標(biāo)記說明
100加密密鑰分發(fā)系統(tǒng)
102密鑰分發(fā)服務(wù)器
104樹結(jié)構(gòu)設(shè)置部分
106坐標(biāo)軸設(shè)置部分
108臨時有向圖生成部分
110有向圖生成部分
112初始中間密鑰設(shè)置部分
114密鑰生成部分
116加密部分
118傳送部分
120子集確定部分
122終端單元
124才妾收部分
126判定部分
128密鑰生成部分
130解密部分
202控制器
204處理單元
206輸入/輸出接口
208安全存儲部分
210主存儲部分
212網(wǎng)絡(luò)接口
216々某體接口
218信息媒體
152密鑰分發(fā)服務(wù)器
154樹結(jié)構(gòu)設(shè)置部分
156坐標(biāo)軸設(shè)置部分
158臨時有向圖生成部分160有向圖生成部分
162初始中間密鑰設(shè)置部分
164密鑰生成部分
166加密部分
168傳送部分
170子集確定部分
172終端單元
174 4妻收部分
176判定部分
178密鑰生成部分
180解密部分
具體實施例方式
在下文中,將參照附圖詳細描述本發(fā)明的優(yōu)選實施例。注意,在該說明 書和附圖中,具有基本上相同功能和配置的元件以相同的附圖標(biāo)記來表示, 并省略其重復(fù)的說明。盡管為了描述的目的在一些部分中以正常字體書寫下 標(biāo),但是它表示相同的東西。例如,注意,BTR和BTR表示相同的東西。
<第一實施例〉
在下文中,描述根據(jù)本發(fā)明的第一實施例的加密密鑰分發(fā)系統(tǒng)100的配 置。圖1是示出了根據(jù)所述實施例的加密密鑰分發(fā)系統(tǒng)100的配置的說明圖。
參照圖1,加密密鑰分發(fā)系統(tǒng)100包括密鑰分發(fā)服務(wù)器102,被配置為 根據(jù)所述實施例的信息處理單元的示例;多個終端單元122,其分別由多個 用戶所有;以及網(wǎng)絡(luò),其將密鑰分發(fā)服務(wù)器102與終端單元122進行連接。
上述網(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)和無線LAN之類的專線通信網(wǎng)等配置該網(wǎng) 絡(luò),例如有線或無線。
由具有服務(wù)器功能的計算機單元等配置密鑰分發(fā)服務(wù)器102,并且可以通過網(wǎng)絡(luò)向外部單元傳送各種信息。例如,密鑰分發(fā)服務(wù)器102可以以廣播 加密方案生成加密密鑰,并向終端單元122分發(fā)加密密鑰。進一步,根據(jù)本
實施例的密鑰分發(fā)服務(wù)器102配備有作為提供內(nèi)容分發(fā)服務(wù)(如視頻分發(fā)服
務(wù)和電子音樂分發(fā)服務(wù))的內(nèi)容分發(fā)服務(wù)器的功能,并且它可以向終端單元
122分發(fā)內(nèi)容。當(dāng)然,密鑰分發(fā)服務(wù)器102和內(nèi)容分發(fā)服務(wù)器可以被配置為 分離的單元。
例如,所述內(nèi)容可以是諸如由運動圖像或靜止圖像集合成的視頻內(nèi)容(如 視頻、電視節(jié)目、視頻節(jié)目和圖表)、音頻內(nèi)容(如音樂、講座和電臺節(jié)目)、 游戲內(nèi)容、文檔內(nèi)容、軟件之類的任何內(nèi)容數(shù)據(jù)。視頻內(nèi)容不僅可以包含視 頻數(shù)據(jù),還可以包含音頻數(shù)據(jù)。
終端單元122是能夠通過網(wǎng)絡(luò)與外部單元進行數(shù)據(jù)通信的密鑰分發(fā)服務(wù) 器,并且其由每個用戶所有。盡管由諸如圖中所示的個人計算機(在下文中 稱為"PC,,)之類的計算機單元(筆記本型或臺式)來配置終端單元122,但 是其不限于此,并且可以由諸如PDA (個人數(shù)字助理)、家用視頻游戲機、 DVD/HDD記錄器和電視機之類的家用信息設(shè)備、電視廣播調(diào)諧器或解碼器 等來配置終端單元122,只要它具有通過網(wǎng)絡(luò)的通信功能即可。進一步,例 如,終端單元122可以是諸如便攜式視頻游戲機、蜂窩電話、便攜式視頻/音 頻播放器、PDA和PHS之類的、能夠由用戶攜帶的便攜式設(shè)備。
終端單元122可以從密鑰分發(fā)服務(wù)器102接收各種信息。例如,終端單 元122可以接收從密鑰分發(fā)服務(wù)器102分發(fā)的內(nèi)容。在內(nèi)容分發(fā)時,密鑰分 發(fā)服務(wù)器102可以加密各種電子數(shù)據(jù),并將它們進行分發(fā)。例如,密鑰分發(fā) 服務(wù)器102可以生成用于加密內(nèi)容的內(nèi)容密鑰,并將其進行分發(fā)。例如,內(nèi) 容密鑰可以由偽隨機數(shù)發(fā)生器生成的隨機數(shù)(偽隨機數(shù))、給定字符串或序列 等來表示。通過使用內(nèi)容密鑰,密鑰分發(fā)服務(wù)器102可以通過給定加密邏輯 來加密內(nèi)容。進一步,密鑰分發(fā)服務(wù)器102可以向任意終端單元122分發(fā)內(nèi) 容密鑰或與內(nèi)容密鑰對應(yīng)的解密密鑰。另一方面,終端單元122可以使用從 密鑰分發(fā)服務(wù)器102接收到的、內(nèi)容密鑰或與內(nèi)容密鑰對應(yīng)的解密密鑰來解 密經(jīng)加密的內(nèi)容。
用于生成內(nèi)容密鑰的偽隨機數(shù)發(fā)生器是能夠通過輸入給定的種子值 (seed value)而輸出長間隔偽隨機數(shù)序列的單元或程序,并且通常使用諸如 線性同余方法或馬其賽特旋轉(zhuǎn)(Mersenne Twister)方法之類的邏輯來實現(xiàn)。
52可應(yīng)用于本實施例的偽隨機數(shù)發(fā)生器當(dāng)前不限于此,并且使用其他邏輯可以 生成偽隨機數(shù),或者它可以是能夠生成包含特殊信息或條件的偽隨機數(shù)序列 的單元或程序。
進一步,根據(jù)本實施例的密鑰分發(fā)服務(wù)器102不僅加密內(nèi)容,還加密內(nèi) 容密鑰,并將其進行分發(fā)。的確,加密并分發(fā)內(nèi)容確保了一定程度的安全級
戶(在下文中稱為"許可用戶")的加入和刪除,加密內(nèi)容密鑰并將其進行分 發(fā)的方法是更有利的。在這種情況下,在該實施例中,密鑰分發(fā)服務(wù)器102 首先生成用于加密和解密內(nèi)容密鑰的多個集合密鑰。多個集合密鑰分別與從 大量用戶中提取出的許可用戶的多個子集相關(guān),如在后面所述的那樣。具體
地說,密鑰分發(fā)服務(wù)器102使用設(shè)置成只有許可用戶的集合才可以解密內(nèi)容 密鑰的集合密鑰來加密內(nèi)容密鑰,并向所有用戶的終端單元122分發(fā)經(jīng)加密 的內(nèi)容密鑰。在該配置中,僅許可用戶的終端單元122可以解密經(jīng)加密的內(nèi) 容密鑰,然后通過使用內(nèi)容密鑰來解密經(jīng)加密的內(nèi)容,由此使得內(nèi)容可視等。 在許可用戶的集合變化的情況下,密鑰分發(fā)服務(wù)器102通過改變要用于加密 內(nèi)容密鑰的集合密鑰可以處理所述改變。為了建立以上加密密鑰分發(fā)邏輯, 必須配置密鑰分發(fā)服務(wù)器102等,以便實現(xiàn)與集合密鑰的生成和分發(fā)相關(guān)的 算法。
在下文中,首先描述根據(jù)本實施例的密鑰分發(fā)服務(wù)器102和終端單元122 的配置的示例性硬件配置。其次,描述與根據(jù)本實施例的加密密鑰分發(fā)邏輯 有關(guān)的基本技術(shù)。第三,詳細描述根據(jù)本實施例的密鑰分發(fā)服務(wù)器102和終 端單元122的配置,并具體地描述與基本技術(shù)在配置和效果上的差別。最后, 描述根據(jù)本實施例的加密密鑰分發(fā)系統(tǒng)的應(yīng)用。
首先參照圖2,在下文中描述根據(jù)本實施例的密鑰分發(fā)服務(wù)器102和終 端單元122的示例性硬件配置。圖2示出了能夠執(zhí)行根據(jù)本實施例的密鑰分 發(fā)服務(wù)器102和終端單元122的功能的硬件配置的示例。
例如,密鑰分發(fā)服務(wù)器102和終端單元122包括控制器202、處理單元 204、輸入/輸出接口 206、安全存儲部分208、主存儲部分210、網(wǎng)絡(luò)接口 212 和々某體接口 216。
(控制器202)控制器202通過總線連接到其他元件,并且它主要用以基于在主存儲部
分210中存儲的程序和數(shù)據(jù)來控制所述單元的每個部分??梢杂芍T如CPU(中 央處理單元)之類的處理單元來配置控制器202。 (處理單元204 (密鑰分發(fā)服務(wù)器102 ))
例如,密鑰分發(fā)服務(wù)器102中包括的處理單元204可以執(zhí)行內(nèi)容的加密、 內(nèi)容密鑰的加密、集合密鑰的生成和用于生成集合密鑰的中間密鑰的導(dǎo)出。 由此,處理單元204可以用作基于給定數(shù)據(jù)(種子值等)生成偽隨機數(shù)的偽 隨機數(shù)發(fā)生器,并且處理單元204還可以基于給定算法加密內(nèi)容或內(nèi)容密鑰。
進一步,可以將給定信息存儲在主存儲部分210或安全存儲部分208中。處 理單元204可以在主存儲部分210或安全存儲部分208中記錄執(zhí)行以上處理 的輸出結(jié)果??梢杂芍T如CPU之類的處理單元來配置處理單元204,或者處 理單元204可以與上述控制器202整體地形成。 (處理單元204 (終端單元122 ))
另 一方面,例如,終端單元122中包括的處理單元204可以執(zhí)行內(nèi)容的 解密、內(nèi)容密鑰的解密、集合密鑰的生成和用于生成集合密鑰的中間密鑰的 生成。由此,處理單元204可以用作基于給定數(shù)據(jù)(種子值等)生成偽隨機 數(shù)的偽隨機數(shù)發(fā)生器,并且處理單元204還可以基于給定算法解密內(nèi)容或內(nèi) 容密鑰??梢詫⒔o定算法作為由處理單元204可讀的程序存儲在主存儲部分 210中。進一步,可以將給定信息存儲在主存儲部分210或安全存儲部分208 中。處理單元204可以記錄在主存儲部分210或安全存儲部分208中l(wèi)丸行以 上處理的輸出結(jié)果??梢杂芍T如CPU之類的處理單元來配置處理單元204, 或者處理單元204可以與上述控制器202整體地形成。 (輸入/輸出接口 206)
輸入/輸出接口 206主要連接到用于用戶輸入信息的輸入設(shè)備和用以輸出 內(nèi)容的處理結(jié)果或描述的輸出設(shè)備。例如,輸入設(shè)備可以是鍵盤、鼠標(biāo)、軌 跡球、觸摸筆、鍵區(qū)、觸摸板等,并且它可以經(jīng)由有線或無線連接到輸入/輸 出接口 206。在一些情況下,輸入設(shè)備可以是經(jīng)由有線或無線連接的便攜式 電子設(shè)備(如蜂窩電話或PDA (個人數(shù)字助理))。另一方面,例如,輸出設(shè) 備可以是顯示單元(如顯示器)、音頻輸出設(shè)備(如揚聲器)等,并且它可以 經(jīng)由有線或無線連接到輸入/輸出接口 206。輸入/輸出設(shè)備可以內(nèi)置在密鑰分發(fā)服務(wù)器102或終端單元122中或者與密鑰分發(fā)服務(wù)器102或終端單元]22 集成。
輸入/輸出接口 206通過總線連接到其他元件,并且它可以向主存儲部分 210等傳送經(jīng)由輸入/輸出接口 206輸入的信息。相反,輸入/輸出接口 206可 以向輸出設(shè)備輸出在主存儲部分210等中存儲的信息、經(jīng)由網(wǎng)絡(luò)接口 212等 輸入的信息或通過在處理單元204等中處理這些信息而獲得的結(jié)果。 (安全存儲部分208 )
安全存儲部分208主要安全地存儲隱藏所需的信息,如內(nèi)容密鑰、集合 密鑰和中間密鑰。例如,可以由磁存儲單元(如硬盤)、光存儲單元(如光盤)、 磁光存儲單元、半導(dǎo)體存儲單元等來配置安全存儲部分208。進一步,例如, 可以由抗干擾(tamper-resistant)存儲單元來配置安全存儲部分208。 (主存儲部分210)
例如,主存儲部分210可以存儲用于控制其他元件的控制程序、用于加 密內(nèi)容、內(nèi)容密鑰等的加密程序、用于解密經(jīng)加密的內(nèi)容、內(nèi)容密鑰等的解 密程序、用于生成集合密鑰或中間密鑰的密鑰生成程序等。進一步,主存儲 部分210可以臨時或永久地存儲從處理單元204輸出的計算結(jié)果或存儲從輸 入/輸出接口 206、網(wǎng)絡(luò)接口 212、媒體接口 216等輸入的信息。例如,可以 由磁存儲單元(如硬盤)、光存儲單元(如光盤)、磁光存儲單元、半導(dǎo)體存 儲單元等來配置主存儲部分210。進一步,主存儲部分210可以與安全存儲 部分208整體地形成。 (網(wǎng)絡(luò)接口 212)
例如,網(wǎng)絡(luò)接口 212連接到網(wǎng)絡(luò)上的另一個通信單元等,并且例如,它 是用于傳送和接收諸如經(jīng)加密的內(nèi)容或內(nèi)容密鑰、集合密鑰和中間密鑰的信 息、與加密有關(guān)的參數(shù)信息和與許可用戶的集合有關(guān)的信息的接口裝置。網(wǎng) 絡(luò)接口 212通過總線連接到其他元件,并且它可以向其他元件傳送從網(wǎng)絡(luò)上信息。
(媒體接口 216)
媒體接口 216是用于通過可拆卸地連接信息媒體218來讀和寫信息的接 口,并且它通過總線連接到其他元件。例如,媒體接口 216可以從所連接的 信息媒體218讀信息,并且將其傳送到其他元件,或者將從其他元件提供的
55信息寫入信息媒體218。例如,信息媒體218可以是諸如光盤、磁盤和半導(dǎo) 體存儲器之類的便攜式存儲媒體(可拆卸存儲媒體)、在不通過網(wǎng)絡(luò)的情況下 在相對短的距離內(nèi)經(jīng)由有線或無線連接的信息終端的存儲媒體等。
在前文中,描述了能夠?qū)崿F(xiàn)根據(jù)本實施例的密鑰分發(fā)服務(wù)器102和終端 單元122的功能的硬件配置的示例。通過使用通用組件來配置以上元件中的 每個,或者可以由專用于每個元件的功能的硬件來配置以上元件中的每個。 由此當(dāng)執(zhí)行本實施例時,根據(jù)技術(shù)水平,可以合適地改變要使用的硬件配置。 進一步,上述硬件配置僅為示例,當(dāng)然其不限于此。例如,可以由相同的處 理單元來配置控制器202和處理單元204,并且可以由相同的存儲單元來配 置安全存儲部分208和主存儲部分210。進一步,視使用而定,取消媒體接 口 216、輸入/輸出接口 206等的配置是可行的。在下文中,詳細描述由具有 上述硬件配置的密鑰分發(fā)服務(wù)器102和終端單元122實現(xiàn)的加密密鑰分發(fā)方 案。
在提供根據(jù)本實施例的加密密鑰分發(fā)方案的詳細說明之前,在下文中描 述形成用于實現(xiàn)本實施例的基礎(chǔ)的技術(shù)問題。配置本實施例,以便通過向下 述基本技術(shù)添加改進來獲得更多顯著的優(yōu)點。因此,與改進有關(guān)的技術(shù)是本 實施例的特征。由此,要注意的是,盡管本實施例遵循在下文中所述的技術(shù) 問題的基本構(gòu)思,但是本實施例的本質(zhì)被并入了改進的部分,并且配置是明 顯不同的,而且還存在與基本技術(shù)在優(yōu)點上的明顯區(qū)別。
將在下文中描述的根據(jù)基本技術(shù)的加密密鑰分發(fā)方案稱為基本方案?;?本方案將要向其分發(fā)內(nèi)容的用戶的終端單元的集合劃分為多個子集,然后通 過分配到每一子集的集合密鑰來加密內(nèi)容密鑰,并將其進行分發(fā)?;痉桨?提供了用于解決關(guān)于要選擇哪一子集、如何生成集合密鑰和如何分發(fā)集合密 鑰以便減少用于加密密鑰分發(fā)的通信量、要由每個用戶保存的解密密鑰的數(shù) 量、每個用戶用以生成解密密鑰所需的計算量等問題的一種手段。參照圖3 到圖7,在下文中描述基本方案。 (樹結(jié)構(gòu)的設(shè)置)
在基本方案中,將作為內(nèi)容分發(fā)目標(biāo)的終端單元(用戶)的集合看作被 劃分為多個子集。參照圖3,在下文中描述根據(jù)基本方案劃分子集的一種方 式。盡管劃分子集的方式當(dāng)前不止一種,但是在基本方案中采用利用二叉樹劃分子集的方式。示意性地,基本方案考慮節(jié)點之間的位置關(guān)系,向形成二 叉樹的每個節(jié)點分配一個給定子集,由此以給定組合廣泛地選擇用戶的子集, 如在下面詳細描述的那樣。通過圖3所示的二叉樹的示例將更清楚地理解這 種選擇方法的優(yōu)點。參照圖3,在下文中描述構(gòu)建二叉樹的方法。 首先,將在以下的描述中使用的集合定義如下。
-所有終端單元(用戶)的集合N二U, 2, ......, n)(n是2的冪)
對于自然數(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]}
在下文中,將位于二叉樹(BT)的底部的節(jié)點稱為葉節(jié)點,將位于頂部 的節(jié)點稱為根節(jié)點,并且將在根節(jié)點和葉節(jié)點之間的節(jié)點稱為中間節(jié)點。葉 節(jié)點與各個終端單元對應(yīng)。進一步,為了描述的方便,在下文中假設(shè)終端單 元和用戶處于——對應(yīng),并且在一些情況下由詞語"用戶"來表示與葉節(jié)點 相關(guān)的"終端單元"。圖3示出了 BT的葉節(jié)點的數(shù)量『64的示例。
首先,以葉節(jié)點的數(shù)量是n (=64)的方式創(chuàng)建BT。然后,從左至右向 各個葉節(jié)點分配編號l、 2........ n。
接著,定義用于調(diào)整(regulate)要分配給某個中間節(jié)點v的子集的索引 lv和rv。在位于某個中間節(jié)點v下方的葉節(jié)點之中,將分配給最左側(cè)葉節(jié)點 的編號定義為lv,而將分配給最右側(cè)葉節(jié)點的編號定義為rv。注意,v可以 是分配給各個中間節(jié)點的順序編號。由此,中間節(jié)點v指示具有索引v的BT 的中間節(jié)點。
然后,通過將BT的中間節(jié)點分類為兩集合來定義BT的中間節(jié)點。在 BT的中間節(jié)點之中,將位于父節(jié)點左側(cè)的中間節(jié)點的集合定義為BTL,而將 位于父節(jié)點右側(cè)的中間節(jié)點的集合定義為BTR。本文所指的父子關(guān)系指示在 BT上連接的節(jié)點的分層關(guān)系,并且它意味著父節(jié)點位于上層而子節(jié)點位于下 層的關(guān)系。
進一步,與各個葉節(jié)點相關(guān)的用戶集合的子集與BT的根節(jié)點相關(guān)。首先,將集合(1—n)和集合(2—n)與根節(jié)點相關(guān)聯(lián)。由于所有葉節(jié)點均在根節(jié)點
的下層連接,因此由廣泛地或選擇性地包括那些葉節(jié)點的集合表示根節(jié)點。
具體地說,將集合(1—64)和集合(2—64)與圖3的根節(jié)點相關(guān)聯(lián)。例如,考慮
集合(1—64)。集合(1—64)包括子集[1, l]、 [1, 2]........ [1, 64]作為其元
素。例如,為了表示所有用戶(葉節(jié)點),可以使用子集[l, 64],并且其被 作為集合(1—64)的元素而包括。進一步,為了表示除了具有編號16之外的所 有用戶,可以使用子集[l, 15]和[17, 64],并且其分別被作為集合(1—64)和 集合(2—64)的元素而包括。以這種方式,位于根節(jié)點的下層的葉節(jié)點(用戶) 的組合可以由相關(guān)聯(lián)的集合的子集表示。
然后,將用戶集合的子集與BT的中間節(jié)點相關(guān)聯(lián)。首先,將集合(lv+l—rv) 與屬于上述集合BTL的中間節(jié)點v相關(guān)聯(lián)。另一方面,將集合(lv—rv-l)與屬 于上述集合BTR的中間節(jié)點v相關(guān)聯(lián)。當(dāng)然,這些集合與BT的所有中間節(jié) 點v相關(guān)聯(lián)。參照圖3,在各個中間節(jié)點附近來指示這些集合。例如,關(guān)于 與集合(2—4)相關(guān)聯(lián)的中間節(jié)點,分別與集合(2—2)和集合(3—3)相關(guān)聯(lián)的兩 個中間節(jié)點存在于所述中間節(jié)點的下層,并且具有編號1到4的葉節(jié)點被進 一步連接到其。當(dāng)表示除了具有編號3的一個之外的那些葉節(jié)點的組合時, 可以由子集的群{[1, 1], [2, 2], [4, 4]}或{[1, 2], [4, 4]}來表示。雖然子 集[l, l]和[l, 2]是與根節(jié)點相關(guān)的集合(1—64)的元素時,但子集[2, 2]和[4, 4]分別是集合(2—2)和集合(2—4)的元素。
以這種方式,基本方案通過使用二叉樹BT定義了用戶集合的子集。該
方法使得能夠以各種組合表示用戶的子集。將由那些子集組成的全集稱為集
合系統(tǒng)cD,并將其定義為下面的表達式(1 )。由此,下面的表達式(l)在
數(shù)學(xué)上表示由以上方法構(gòu)建的二叉樹。 [表達式1]
U(" + l—")u U(/v_>rv —)u("")u(2 — w)
ve肌 veS77 ( 1 )
在上文中描述了配置調(diào)整子集的二叉樹的方法?;痉桨傅幕緲?gòu)思是
對于各個子集設(shè)置用于加密內(nèi)容密鑰的集合密鑰,通過使用各個集合密鑰來
加密內(nèi)容密鑰,并將其分發(fā)到所有用戶。通過定義如上所述的子集,至少調(diào)
整了用于分類用戶的組合的一種方式。在下文中,描述通過使用這些子集來
58生成集合密鑰的算法。 (有向圖的生成)
在下文中參照圖4描述生成表示用于生成集合密鑰的算法的有向圖的方 法。然而,在此之前,在下文中描述用于加密內(nèi)容密鑰的集合密鑰與用于生 成集合密鑰的中間密鑰之間的關(guān)系。
如在上面筒要地提到的那樣,基本方案使用生成集合密鑰的特定偽隨機
數(shù)發(fā)生器PRSG (偽隨機序列發(fā)生器)。當(dāng)輸入與某個子集SO對應(yīng)的中間密 鑰t(S0)時,PRSG輸出與子集SO對應(yīng)的集合密鑰k (S0)以及與子集S1、
S2........ Sk(其與子集SO有關(guān))對應(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)系的
有向圖。
將用于下面的描述的符號定義如下 -與子集Si對應(yīng)的中間密鑰t(Si) -與子集Si對應(yīng)的集合密鑰:k(Si) -內(nèi)容密鑰 mek
-偽隨機數(shù)發(fā)生器 PRSG
(注意,將t(SO)的輸入表示為PRSG(t(SO))。另一方面,將來自PRSG 的輸出表示為t(S 1 )| I... I |t(Sk)| |1((S0)—PRSG(t(SO))) -有向圖 H
(注意,將與集合(i—j)對應(yīng)的有向圖表示為H(i—j))
-有向邊 E
-有向路徑 p
首先,確定參數(shù)k(k是自然數(shù))。為了簡化,假設(shè)在該示例中k|log(n) (在下文中,1og的底數(shù)是2)。由于參數(shù)k最終影響要由終端單元122保存 的中間密鑰的數(shù)量以及生成集合密鑰所需的計算量,因此必須根據(jù)情況合適 地設(shè)置參數(shù)k。在圖4中,例如,設(shè)置1(=6。
接著,在下文中描述繪制有向圖的特定方式。首先,作為圖示,描述與 屬于BTR的中間節(jié)點v對應(yīng)的有向圖H(lv—rv-l)。
(步驟1 )設(shè)置用于構(gòu)建有向圖H(lv—rv-l)的水平坐標(biāo)軸。在水平坐標(biāo)軸上,將形成集合(lv—rv-l)的元素的子集Si作為坐標(biāo)點分配。以包含度從左 至右變大的方式排列形成坐標(biāo)點的子集Si。例如,采用有向圖 H(5—7"H(([5,5],[5,6],[5,7]"作為示例,坐標(biāo)軸具有從左側(cè)順序地向其分配了 子集[5,5]、 [5,6]、 [5,7]的三個坐標(biāo)點。
如果在第一和第三水平坐標(biāo)軸上右向有向圖H的起點所位于的垂直線是 x,則有向圖H與垂直線y的交叉點表示[x,y],而如果在第二和第四水平坐標(biāo) 軸上左向有向圖H的起點所位于的垂直線是z,則有向圖H與垂直線y的交 叉點表示[y,z]。
此后,將用作起點的臨時坐標(biāo)點置于位于坐標(biāo)軸最左側(cè)的坐標(biāo)點的左側(cè), 并且將用作終點的臨時坐標(biāo)點置于位于坐標(biāo)軸最右側(cè)的坐標(biāo)點的右側(cè)。在以 這種方式設(shè)置的坐標(biāo)軸中,從左端的臨時坐標(biāo)點(起點)到右端的臨時坐標(biāo) 點(終點)的長度Lv為Lv二rv-lv+l。
(步驟2)設(shè)置構(gòu)成有向圖H(lv—rv-l)的有向邊。 (S2-l )計算滿足n(x-,〈Lv^i流的整數(shù)x。整數(shù)x滿足lSx^k。 (S2-2 )通過從0到x-l改變計數(shù)i來執(zhí)行以下操作。從水平坐標(biāo)軸的左 端處的起點開始,重復(fù)設(shè)置延伸到距離坐標(biāo)點n流的坐標(biāo)點的右向有向邊(跳 到距離坐標(biāo)點n"k的坐標(biāo)點)直到有向邊的頭達到水平坐標(biāo)軸的右端的終點或 者下 一待設(shè)置的頭超過終點為止。
(步驟3 )刪除其尾或頭位于臨時坐標(biāo)點的所有有向邊。 (步驟4)如果存在達到某個坐標(biāo)點的多個有向邊,則僅留下最長有向 邊,并刪除除了所述最長有向邊之外的所有有向邊。
在執(zhí)行了以上步驟(步驟1 )到(步驟4)之后,完成了有向圖H(lv—rv-l)。 例如,參照位于作為示例的圖4的頂部起第三層上右側(cè)的有向圖H(33—63), 有向圖H(33—63)的實質(zhì)是由作為拱形曲線和連接到拱形曲線的一端并在水 平方向中延伸的直線的有向邊組成的一組線。進一步,構(gòu)成有向圖H(33—63) 曲線和直線是有向邊。有向邊的一端與垂直線的交叉點是坐標(biāo)點。盡管在圖 4中沒有清楚地示出水平坐標(biāo)軸,但是水平坐標(biāo)軸由垂直線與有向邊的一端 之間的一組交叉點組成。進一步,在有向圖H(33—63)上描繪了輪廓箭頭,并 且其指示有向邊的方向。具體地說,它表示構(gòu)成有向圖H(33—63)的所有有向 邊均為向右。
以與有向圖H(lv一rv-1 )相同的方式,設(shè)置與屬于BTL的中間節(jié)點v相關(guān)聯(lián)的有向圖H(lv+1—rv)和與根節(jié)點相關(guān)聯(lián)的有向圖H(l—n)和H(2—n)。注 意,當(dāng)設(shè)置有向圖H(lv+1—rv)和H(2—n)的坐標(biāo)軸時,以包含度從右至左變 大的方式在水平坐標(biāo)軸上排列子集Si,并且有向邊的方向是向左。進一步, 通過將有向邊E([l,n-l], [l,n])添加到有向圖H(l—n-l),生成有向圖H(l—n)。 另一方面,通過與有向圖H(lv+1—rv)相同的方法設(shè)置有向圖H(2—n)。
通過采用圖4的有向圖H(l—64)作為示例,在下文中提供附加說明。首 先,在有向圖H(l—64)的水平坐標(biāo)軸中,最左側(cè)坐標(biāo)點(與垂直線1的交叉 點)是[1,1]={1},在其右側(cè)附近的坐標(biāo)點(與垂直線2的交叉點)是[1,2]={1,2}, 并且再在其右側(cè)附近的坐標(biāo)點是[1,3]={1,2,3}。進一步,每個有向圖緊上方或 緊下方的箭頭指示構(gòu)成該有向圖H的所有有向邊的方向。例如,有向圖 H(l—64)具有從坐標(biāo)點[1,1]到[1,2]的一條有向邊以及從坐標(biāo)點[1,2]延伸到 [1,3]和[1,4]的兩條有向邊。進一步,在圖4的頂部描繪的黑點從左側(cè)起分別 表示有向圖H(2—2)、 H(3—3).......、 H(63—63)。
在上文中描述了配置有向圖H的方法。圖4示出了通過上述方法繪制與 BT的中間節(jié)點和根節(jié)點對應(yīng)的有向圖H的結(jié)果。該示例是11=64且1<=6的情 況。在下文中描述通過使用有向圖H來生成集合密鑰的邏輯。 (集合密鑰的生成)
如之前所述的那樣,基本方案通過使用分配給組成以上集合系統(tǒng)0>的每 個子集Si的集合密鑰k(Si)來加密內(nèi)容密鑰mek,并將其進行分發(fā)。由此,上 述有向圖H的每個坐標(biāo)點均與由一個或多個用戶組成的子集Si對應(yīng),并且向 其分配集合密鑰k(Si)。進一步,還將中間密鑰t(Si)分配給上述每個子集Si, 并將其用于生成集合密鑰k(Si)。
順便提及,由于在(2-2)的上述處理中重復(fù)次數(shù)是x,其中Kx^k,因 此最多k條有向邊源自有向圖H的每個坐標(biāo)點。作為源自某個坐標(biāo)點(子集 S0 )的一個或多于一個有向邊的目的地的坐標(biāo)點的子集是以對某個坐標(biāo)點的
接近度為順序(以有向邊的短度為順序)的S1、 S2........ Sk。注意,如果
源自坐標(biāo)點(子集SO)的有向邊的數(shù)量為q(q〈k),則將Sq+l、 Sq+2........
Sk作為啞元(dummy )對待,實際上不使用它們。
基本方案使用響應(yīng)于X位輸入而輸出(k+l)X位輸出的上述PRSG,以便 生成集合密鑰k(Si)。如果輸入與某個坐標(biāo)點(子集SO)對應(yīng)的中間密鑰t(S0), 則PRSG輸出與在其尾部位于某個坐標(biāo)點的有向邊的頭部的各個坐標(biāo)點(子集S1、 S2.......、 Sk)對應(yīng)的中間密鑰t(Sl)、 t(S2)........ t(Sk)以及對于子
集S0的集合密鑰k(S0)。由此,t(Sl)ll…llt(Sk川k(SO)—PRSG(t(SO》。通過將 PRSG的輸出從左側(cè)劃界為每個都具有X位,獲得了中間密鑰t(Sl)、 t(S2)........ t(Sk)和集合密鑰k(SO)。
例如,參照圖4的有向圖H(1—64),并將注意力集中在坐標(biāo)點(子集SO) =[1,8] Q人左端起第八個坐標(biāo)點),四條有向邊源自坐標(biāo)點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)。進一步,如果將 所獲得的t(S4)輸入到PRSG,則可以獲得與S11=[1,7]、S12=[1,18]、S13=[1,20]、 S14呵l,24]和S15呵l,32]對應(yīng)的k(S4)以及t(S11)、 t(S12)、 t(S13)、 t(S14)和 t(S15)。以這種方式,可以通過重復(fù)地使用PRSG來計算多個集合密鑰k(Si)。
為了提高安全性的目的使用中間密鑰。在存在降低用于集合密鑰生成的 處理量的需求同時不特別需要關(guān)注安全性的情況下,在不使用中間密鑰的情 況下直接從某個集合密鑰計算另一個集合密鑰是可行的。例如,在以上示例 中,當(dāng)向PRSG輸入子集SO的集合密鑰k(SO)時的輸出可以是k(Sl)、 k(S2)、 k(S3)和k(S4),其用作各個子集Sl到S4的集合密鑰。
如從以上示例容易推斷的那樣,利用某個中間密鑰,通過PRSG的重復(fù) 使用,可以導(dǎo)出與有向邊鏈可達到的坐標(biāo)點對應(yīng)的中間密鑰以及集合密鑰, 所述有向邊鏈從與某個中間密鑰對應(yīng)的坐標(biāo)點延伸。因此,每個用戶只需要 保存最小數(shù)量的中間密鑰,其可以導(dǎo)出與包括用戶的子集對應(yīng)的所有中間密 鑰。另一方面,如果生成用于加密內(nèi)容密鑰的集合密鑰的密鑰分發(fā)服務(wù)器至 少保存與每個有向圖H的初始坐標(biāo)點對應(yīng)的中間密鑰,則通過使用PRSG重 復(fù)地執(zhí)行處理,可以導(dǎo)出與有向圖的其他坐標(biāo)點對應(yīng)的集合密鑰。
由此,在密鑰分發(fā)系統(tǒng)的建立時,密鑰分發(fā)系統(tǒng)的管理員對于密鑰分發(fā) 服務(wù)器中每個有向圖H的初始坐標(biāo)點(根),設(shè)置X位隨機數(shù),例如,作為 中間密鑰。有向圖H的初始坐標(biāo)點(根)是有向邊起源但沒有有向邊到達的 坐標(biāo)點。例如,圖4中有向圖H(1—64)初始坐標(biāo)點是水平坐標(biāo)軸的左端的坐 標(biāo)點[l,l]。
以上描述了生成集合密鑰的方法。上述集合密鑰生成方法不僅用在內(nèi)容 密鑰的傳送端的密鑰生成服務(wù)器中,而且用在接收端的終端單元中。 (中間密鑰的分發(fā))
62在下文中描述從密鑰分發(fā)服務(wù)器向每個用戶的終端單元的中間密鑰的分 發(fā)。如之前簡要提到的那樣,必須向每個用戶的終端單元提供能夠?qū)С雠c包 括用戶的終端單元的所有子集對應(yīng)的集合密鑰的多個中間密鑰。當(dāng)然,必須 避免提供使能與不包括用戶的終端單元的子集對應(yīng)的集合密鑰的導(dǎo)出的中間 密鑰,并且優(yōu)選的是所提供的中間密鑰的數(shù)量在存儲器容量的有效性方面是 最小的。
據(jù)此,中間密鑰的分發(fā)者提取具有用戶U的終端單元所屬的子集(在下 文中也稱為"用戶U所屬的子集"或"包括用戶U的子集")作為元素的所
有有向圖H。然后,如果在與有向圖H的初始坐標(biāo)點(根)對應(yīng)的子集中包 括用戶u,則分發(fā)者只向用戶u的終端單元提供與初始坐標(biāo)點對應(yīng)的中間密 鑰。另一方面,如果用戶u屬于與有向圖H的初始坐標(biāo)點不同的坐標(biāo)點對應(yīng) 的任意子集,則分發(fā)者尋找這樣的子集SO,即在子集SO中包括用戶u,而 在作為子集SO之父的子集parent(SO)中不包括用戶u,并且向用戶u的終端 單元提供子集SO的中間密鑰t (S0)。換句話說,如果與初始坐標(biāo)點不同且 與包括用戶u的子集對應(yīng)的多個坐標(biāo)點存在于有向圖H中,則分發(fā)者從那些 坐標(biāo)點中提取這樣的坐標(biāo)點S0,即在與到達與子集SO對應(yīng)的坐標(biāo)點的有 向邊的尾部對應(yīng)的子集parent(SO)中不包括用戶u,并且向用戶u的終端單元 提供坐標(biāo)點(S0)的中間密鑰t(S0)。如果存在多個這樣的坐標(biāo)點SO,則提供 各個坐標(biāo)點的中間密鑰t(S0)。由有向邊確定坐標(biāo)點的父子關(guān)系,并且位于有 向邊尾部的坐標(biāo)點用作位于頭部的坐標(biāo)點之父,而位于有向邊的頭部的坐標(biāo) 點用作位于尾部的坐標(biāo)點之子。在下文中,將位于到達某個坐標(biāo)點SO的有向 邊的尾部的坐標(biāo)點parent(S0)稱為父坐標(biāo)點。如果某個坐標(biāo)點S0是有向圖H 的起點,則不存在父坐標(biāo)點,而如果它不是有向圖H的起點,則僅存在一個 父坐標(biāo)點。在一個有向圖H中,在一些情況下,可以存在多個這樣的坐標(biāo)點, 即在與其對應(yīng)的子集中包括用戶u,而在與其父坐標(biāo)點對應(yīng)的子集中不包 括用戶u。
參照圖4的示例,在下文中具體描述中間密鑰的分發(fā)方法。 (示例1)考慮分發(fā)至用戶l的中間密鑰。首先,作為搜索具有用戶1 所屬的子集作為元素的有向圖H的結(jié)果,僅發(fā)現(xiàn)有向圖H(1—64)。用戶l屬 于作為有向圖H(1—64)的初始坐標(biāo)點的子集[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)點的子集[l, l],而屬于位于第三及后續(xù)點的子集[1,3]、........ [1,64]。在這些坐標(biāo)點之中,其父坐標(biāo)點不包括用戶3的坐標(biāo)點
僅為[1,3]和[1,4]。具體地說,在作為包括用戶3的坐標(biāo)點[1,3]和[1,4]的父坐標(biāo) 點parent([l,3])和parent([l,4])的坐標(biāo)點[l,2]中不包括用戶3。因此,向用戶3 提供t([l,3])和t([l,4])作為與有向圖H(1—64)對應(yīng)的中間密鑰。以相同的方式, 對于其他有向圖H(2—64), H(2—32), H(2—16), H(2—8), H(2—4)和H(3—3)選 擇對應(yīng)的中間密鑰,并將其提供給用戶3。結(jié)果,向用戶3提供共計八個中 間密鑰。
參照圖5筒要地總結(jié)直到將中間密鑰分發(fā)至每個用戶的終端單元為止的 處理。圖5是示出了在系統(tǒng)建立時密鑰分發(fā)服務(wù)器中中間密鑰分發(fā)的處理流 程的流程圖。
如圖5所示,密鑰分發(fā)系統(tǒng)的密鑰分發(fā)服務(wù)器首先設(shè)置參數(shù)等。例如, 密鑰分發(fā)服務(wù)器確定用戶的數(shù)量n、集合密鑰和中間密鑰的位數(shù)人、給定參數(shù) k、通過PRSG的偽隨機數(shù)生成算法等,并將它們公布(publish)到所有用戶 的終端單元(S102)。接著,密鑰分發(fā)服務(wù)器將用戶集合劃分為給定子集, 然后確定并公布由并集(union)表示的集合系統(tǒng)①(參照以上表達式(1)) (S104)。然后,確定并公布有向圖H和形成各個有向圖H的有向邊T (步 驟S106)。進一步,確定與組成集合系統(tǒng)①的各個子集對應(yīng)的中間密鑰 (S108)。此后,向每個用戶的終端單元122分發(fā)必要的中間密鑰,以便每 個用戶可以導(dǎo)出與包括用戶的子集對應(yīng)的集合密鑰(S110)。
在上文中描述了中間密鑰的分發(fā)方法。如果使用以上分發(fā)方法,則分發(fā) 用以生成集合密鑰的、對于每個許可用戶的終端單元所需的最小數(shù)量的中間 密鑰,由此使得能夠減少密鑰分發(fā)服務(wù)器與終端單元之間的通信量,并且能 夠減少每個用戶的終端單元中用于中間密鑰的存儲器容量。 (內(nèi)容密鑰的分發(fā))
在下文中描述通過密鑰分發(fā)服務(wù)器分發(fā)經(jīng)加密的內(nèi)容密鑰mek的方法。 首先,密鑰分發(fā)服務(wù)器通過使用僅可以由許可用戶的終端單元122生成的集 合密鑰來加密內(nèi)容密鑰mek。具體地說,密鑰分發(fā)服務(wù)器確定要排除的用戶(在下文中稱為排除用戶)的終端單元的集合R,然后通過從所有用戶的終
端單元1到n的集合N中排除掉排除用戶的終端單元的集合R (在下文中稱 為"排除用戶的集合(R)"),來確定許可用戶的終端單元的集合NXR(在 下文中稱為"許可用戶的集合(N\R)")。然后,通過從組成集合系統(tǒng)O
的子集中選擇的子集Si (i=l、 2........ m)的并集來表示許可用戶的集合(N
\R)=SlUS2U...USm。盡管存在子集Si的大量組合,但是選擇具有最小值m 的子集Si。在以這種方式選擇子集Si之后,密鑰分發(fā)服務(wù)器通過使用與每個 子集Si對應(yīng)的集合密鑰k(Si)來加密內(nèi)容密鑰mek。具體地說,通過集合密鑰
k(Sl)、 k(S2)、 ....... k(Sm)來加密內(nèi)容密鑰mek,并且內(nèi)容密鑰mek變?yōu)閙
個經(jīng)加密的內(nèi)容密鑰mek。然后,將m個經(jīng)加密的內(nèi)容密鑰mek分發(fā)至所有 用戶的終端單元l到n。此時,還將指示許可用戶的集合NXR的信息或指示 m個子集Si的信息分發(fā)至所有用戶的終端單元1到n。
參照圖6簡要地總結(jié)經(jīng)加密的內(nèi)容密鑰mek的分發(fā)的處理流程。圖6是 示出了用于內(nèi)容密鑰的分發(fā)的處理流程的流程圖。
如圖6所示,密鑰分發(fā)服務(wù)器首先確定排除用戶的集合R,并荻取許可 用戶的集合NXR (S112)。接著,從組成集合系統(tǒng)①的子集中以使得m值
最小的方式選擇具有并集N乂R的m個子集Si(i-l、 2........m) (S114)。
然后,通過使用分別與所選擇的子集Si對應(yīng)的集合密鑰k(Si)來加密內(nèi)容密鑰 mek(S116)。進一步,向所有用戶的終端單元1到n分發(fā)指示許可用戶的 集合N乂R或各個子集Si的信息以及m個經(jīng)加密的內(nèi)容密鑰mek (S118)。
在上文中描述了內(nèi)容密鑰mek的加密方法和分發(fā)方法。如果使用以上加 密方法,則以集合密鑰的數(shù)量是所需的最小值的方式有效地選擇子集Si。由 于通過使用最小所需數(shù)量的集合密鑰來由此加密內(nèi)容密鑰mek,因此可以節(jié) 省加密所需的計算量,并且還可以減少要分發(fā)的經(jīng)加密的內(nèi)容密鑰mek的數(shù) 量,由此減少通信量。
(內(nèi)容密鑰的解密)
在下文中描述每個用戶的終端單元中經(jīng)加密的內(nèi)容密鑰的解密處理。解 密處理是這樣的處理終端單元基于從上述密鑰分發(fā)服務(wù)器接收到的、指示 許可用戶的集合NXR或m個子集Si的信息以及m個密文,來獲取內(nèi)容密 鑰mek。
終端單元從上述密鑰分發(fā)服務(wù)器接收經(jīng)加密的內(nèi)容密鑰以及指示許可用戶的集合NXR的信息或表示m個子集Si的信息。進一步,終端單元分析所 述信息,并判定其是否屬于m個子集Si中的任意一個。如果終端單元不屬于 子集中的任意一個,則結(jié)束解密處理,因為它是排除用戶的終端單元。另一 方面,如果終端單元發(fā)現(xiàn)其所屬的子集Si,則它通過使用上述PRSG導(dǎo)出與 子集Si對應(yīng)的集合密鑰k(Si)。 PRSG的配置如之前描述的那樣。
在該步驟中,如果在系統(tǒng)建立時預(yù)先從密鑰分發(fā)服務(wù)器向終端單元提供 與以上子集Si對應(yīng)的中間密鑰t(Si)并將其預(yù)先保存,則通過向PRSG輸入中 間密鑰t(Si)可以導(dǎo)出與以上子集Si對應(yīng)的集合密鑰k(Si)。另一方面,如果終 端單元不保存相關(guān)的中間密鑰t(Si),則終端單元通過重復(fù)地向PRSG輸入所 保存的中間密鑰可以導(dǎo)出期望的集合密鑰k(Si)。進一步,終端單元通過使用 以這種方式導(dǎo)出的集合密鑰k(Si)解密經(jīng)加密的內(nèi)容密鑰mek。
參照圖4的示例具體描述終端單元中上述集合密鑰k(Si)的導(dǎo)出。在用戶 3的終端單元中,假設(shè)選擇"1, 8"作為其所屬的子集。如上所述,用戶3 的終端單元保存子集[1,4]的中間密鑰。參照圖4的有向圖H(1—64),設(shè)置從 坐標(biāo)點[1,4]向坐標(biāo)點[1,8]延伸的有向邊,并且該有向邊在其尾部位于坐標(biāo)點 [1,4]的有向邊之中具有第三最短長度(跳躍距離)。由此,在向PRSG輸入 用于子集[1,4]的中間密鑰t([l,4])時的輸出之中,從頂部起的第三X位部分是 用于子集[1 ,8]的中間密鑰t([ 1,8])。終端單元從PRSG的輸出中提取中間密鑰 t([1,8]),并將其再次輸入到PRSG,并提取最終的X位部分,由此獲取期望的 集合密鑰k([1,8])。
同樣地,在用戶l的終端單元中,假設(shè)選擇[1,8]作為其所屬的子集。用 戶1的終端單元保存子集[l,l]的中間密鑰。在這種情況下,終端單元122通 過從向PRSG輸入用于[1,1]的中間密鑰t([l,l])時的輸出中提取從頂部起第一 人位部分(與中間密鑰t([l,2])對應(yīng)),然后從向PRSG輸入中間密鑰t([1,2]) 時的輸出中提取從頂部起第二X位部分(與中間密鑰t([l,4])對應(yīng)),進一步 從向PRSG輸入中間密鑰t([l,4])時的輸出中提取從頂部起第三X位部分(與 中間密鑰t([l,8])對應(yīng)),并最終從向PRSG輸入中間密鑰t([l,8])時的輸出中 提取最后部分(與集合密鑰k([l,8])對應(yīng)),可以獲取期望的集合密鑰k([1,8])。
參照圖7總結(jié)用于在每個用戶的終端單元中解密經(jīng)加密的內(nèi)容密鑰mek 的處理流程。圖7是示出了在每個用戶的終端單元中用于內(nèi)容密鑰的解密的 處理流程的流程圖。如圖7所示,每個用戶的終端單元首先從密鑰分發(fā)服務(wù)器接收m個經(jīng)加 密的內(nèi)容密鑰mek和指示許可用戶的集合N \ R的信息或者指示m個子集Si (i=l, 2,……,m)的信息(S120)。接著,終端單元基于所述信息搜索其 所屬的子集Si (S122),并判定其是否屬于m個子集Si中的任意一個(步 驟S124)。
結(jié)果,如果終端單元發(fā)現(xiàn)其所屬的子集Si,則它通過使用以上PRSG導(dǎo) 出與子集Si對應(yīng)的集合密鑰k(Si)(S126) 。 PRSG的配置如之前所述的那樣。 如果在建立時由密鑰分發(fā)服務(wù)器向終端單元提供與子集Si對應(yīng)的中間密鑰 t(Si)并將其預(yù)先保存,則它通過一次性地使用PRSG可以導(dǎo)出集合密鑰k(Si)。 另一方面,如果終端單元不保存相關(guān)的中間密鑰t(Si),則它通過重復(fù)地使用 PRSG可以導(dǎo)出期望的集合密鑰k(Si)。此后,終端單元通過使用以這種方式 導(dǎo)出的集合密鑰k(Si)解密經(jīng)加密的內(nèi)容密鑰mek (S128)。
另一方面,如果終端單元在步驟S124判定它不屬于子集Si中的任意一
是排除用戶)(S130),并結(jié)束內(nèi)容密鑰的解密處理。
在上文中描述了在終端單元中內(nèi)容密鑰的解密方法。通過利用用于生成 中間密鑰和集合密鑰的PRSG,基于與有向圖H有關(guān)的信息執(zhí)行以上解密方 案。由此,在每個用戶的終端單元中與有向圖有關(guān)的信息和PRSG也是必需 的。然而,使用PRSG的方法使得能夠最小化要由每個用戶的終端單元保存 的中間密鑰的數(shù)量。
在上文中描述了根據(jù)所述實施例的基本技術(shù)的加密密鑰分發(fā)方案。通過 利用基本方案,要由每個用戶的終端單元保存的中間密鑰的數(shù)量是 0(k*log(n)),并且生成集合密鑰所需的計算量(PRSG的操作次數(shù))不超過 (2k-l)*(n1/k-l)。然而,根據(jù)基本技術(shù)的加密密鑰分發(fā)方案(如在下面描述的 圖13所示)存在如下問題要由每個用戶的終端單元保存的中間密鑰的數(shù)量 仍然很大。
進一步,當(dāng)解密經(jīng)加密的內(nèi)容密鑰mek時終端單元所需的計算量的決定 因素取決于為了導(dǎo)出期望的中間密鑰而執(zhí)行PRSG的次數(shù)。最差的值由有向 圖H中從初始坐標(biāo)點(根)到最遠的最終坐標(biāo)點(沒有有向邊源自的葉)有 向邊的數(shù)量(即,跳躍的數(shù)量)表示。在圖4所示的示例中,為了從有向圖 H( 1 —64)的初始坐標(biāo)點[1,1 ]達到最終的坐標(biāo)點[1,64],必須穿過十一條有向邊
67(執(zhí)行十一次跳躍),這意味著執(zhí)行PRSG十一次。由此,根據(jù)基本技術(shù)的
加密密鑰分發(fā)方案存在另一個問題PRSG的執(zhí)行次數(shù)太多,并且由此用于 導(dǎo)出中間密鑰的計算量很大。
本發(fā)明的第一實施例的加密密鑰分發(fā)方案(如在下文中所述)。根據(jù)本實施 例的加密密鑰分發(fā)方案通過以更短的有向邊替換了組成有向圖的一條有向邊 而重建了有向圖,由此實現(xiàn)了要由終端單元122保存的中間密鑰的數(shù)量的減 少。在下文中,詳細描述要執(zhí)行根據(jù)本實施例的加密密鑰分發(fā)方案的密鑰分 發(fā)服務(wù)器102和終端單元122的功能性配置,以及加密密鑰分發(fā)方案的特征 和優(yōu)點。
參照圖8,在下文中詳細描述根據(jù)本實施例的密鑰分發(fā)服務(wù)器102的配 置。圖8是示出了根據(jù)本實施例的密鑰分發(fā)服務(wù)器102和終端單元122的配 置的框圖。
如圖8所示,密鑰分發(fā)服務(wù)器102由樹結(jié)構(gòu)設(shè)置部分104、坐標(biāo)軸設(shè)置 部分106、臨時有向圖生成部分108、有向圖生成部分110、初始中間密鑰設(shè) 置部分112、密鑰生成部分114、加密部分116、傳送部分118和子集確定部 分120組成。特別地,將樹結(jié)構(gòu)設(shè)置部分104、坐標(biāo)軸設(shè)置部分106、臨時有 向圖生成部分108和有向圖生成部分110統(tǒng)稱為密鑰生成邏輯構(gòu)建塊。同樣 地,將初始中間密鑰設(shè)置部分112和密鑰生成部分114統(tǒng)稱為密鑰生成塊。
在下文中描述組成密鑰生成邏輯構(gòu)建塊的元件。密鑰生成邏輯構(gòu)建塊執(zhí) 行與上述[基本技術(shù)描述]中(樹結(jié)構(gòu)的設(shè)置)和(有向圖的生成)對應(yīng)的處理。 (樹結(jié)構(gòu)設(shè)置部分104)
樹結(jié)構(gòu)設(shè)置部分104配置由向其分配了編號l到n (n是自然數(shù))的n 個葉節(jié)點、根節(jié)點和多個除了根節(jié)點和葉節(jié)點之外的中間節(jié)點組成的二叉樹, 并在位于某個中間節(jié)點v或根節(jié)點v的下層的多個葉節(jié)點之中,將位于左端 的葉節(jié)點的編號設(shè)置為lv,將位于右端的葉節(jié)點的編號設(shè)置為rv。進一步, 樹結(jié)構(gòu)設(shè)置部分104將集合(l—n)和集合(2—n)分配給根節(jié)點,并且如果某個 中間節(jié)點v位于其父節(jié)點的左側(cè),則將集合(lv+l—rv)分配給中間節(jié)點,如果 中間節(jié)點v位于其父節(jié)點的右側(cè),則將集合(lv—rv-l)分配給中間節(jié)點。
如上所述,樹結(jié)構(gòu)設(shè)置部分104具有能夠構(gòu)造m層樹結(jié)構(gòu)并且假設(shè)m=2(二叉樹)的情況的配置,例如,可以構(gòu)造與根據(jù)基本方案的二叉樹結(jié)構(gòu)(圖
3)相同的樹結(jié)構(gòu)。由此,由樹結(jié)構(gòu)設(shè)置部分104構(gòu)造的樹結(jié)構(gòu)的每個節(jié)點的
意義與根據(jù)之前所述的基本方案構(gòu)建的二叉樹結(jié)構(gòu)的每個節(jié)點的意義基本上 相同。盡管為了描述的方便起見,在下文中僅描述二叉樹結(jié)構(gòu),但是其不限 于此。
(坐標(biāo)軸i殳置部分106)
坐標(biāo)軸設(shè)置部分106設(shè)置與根節(jié)點對應(yīng)的第一水平坐標(biāo)軸,其上與集合 (1—n)中包括的各個子集相關(guān)的坐標(biāo)點在所述水平坐標(biāo)軸上以包含度從左至 右變大的方式排列。接著,坐標(biāo)軸設(shè)置部分106設(shè)置與根節(jié)點對應(yīng)的第二水 平坐標(biāo)軸,其上與集合(2—n)中包括的各個子集相關(guān)的坐標(biāo)點在所述水平坐標(biāo) 軸上以包含度從右至左變大的方式排列。然后,對于每個中間節(jié)點,坐標(biāo)軸 設(shè)置部分106設(shè)置與某個中間節(jié)點v對應(yīng)的第三水平坐標(biāo)軸,其上與集合 (lv—rv-l)中包括的各個子集相關(guān)的坐標(biāo)點在所述水平坐標(biāo)軸上以包含度從左 至右變大的方式排列,并且設(shè)置與某個中間節(jié)點v對應(yīng)的第四水平坐標(biāo)軸, 其上與集合(lv+l—rv)中包括的各個子集相關(guān)的坐標(biāo)點在所述水平坐標(biāo)軸上 以包含度從右至左變大的方式排列。進一步,坐標(biāo)軸設(shè)置部分106將一個臨 時坐標(biāo)點;改置在位于第 一到第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè)和位于第 二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè),并將位于第一水平坐標(biāo)軸的右 端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點。
如上所述,坐標(biāo)軸設(shè)置部分106設(shè)置用于構(gòu)建與由樹結(jié)構(gòu)設(shè)置部分104 配置的樹結(jié)構(gòu)的各個節(jié)點對應(yīng)的有向圖的坐標(biāo)軸。第 一水平坐標(biāo)軸表示與集 合(1—n)的坐標(biāo)軸,第二水平坐標(biāo)軸表示與集合(2—n)對應(yīng)的坐標(biāo)軸,第三水 平坐標(biāo)軸表示與集合(lv—rv-l)的坐標(biāo)軸,而第四水平坐標(biāo)軸表示與集合 (lv+l—rv)對應(yīng)的坐標(biāo)軸。由于對于每個中間節(jié)點v設(shè)置第三水平坐標(biāo)軸和第 四水平坐標(biāo)軸,因此分別設(shè)置多個坐標(biāo)軸。具體地說,設(shè)置與中間節(jié)點的數(shù) 量相同的第三水平坐標(biāo)軸和第四水平坐標(biāo)軸的數(shù)量。 (臨時有向圖生成部分108)
臨時有向圖生成部分108設(shè)置給定整數(shù)k,并計算滿足
n(x—1)/k<(rv-1v+l)^i威的自然數(shù)x。接著,對于每個整數(shù)1=0到x-l,臨時有向
圖生成部分108通過連接(couple)具有長度n"k的一條或多條右向有向邊, 形成其起點位于第一和第三坐標(biāo)軸上的最左側(cè)的坐標(biāo)點的有向路徑,并進一步通過連接具有長度n^的一條或多條左向有向邊,形成其起點位于第二和第 四坐標(biāo)軸上的最右側(cè)的坐標(biāo)點的有向路徑。然后,臨時有向圖生成部分108 對于第一到第四水平坐標(biāo)軸中的每個,排除其尾部或頭部位于每個臨時坐標(biāo) 點的所有有向邊。進一步,臨時有向圖生成部分108從到達第一到第四水平 坐標(biāo)軸上每個坐標(biāo)點的有向邊中,排除除了最長有向邊之外的有向邊,由此
生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān) 的臨時有向圖1,(1—n-l)、 1,(2—n)、 I,(lv+1—rv)和I'(lv—rv-l)。此后,臨時 有向圖生成部分108將具有長度1的有向邊(其頭部是位于第一水平坐標(biāo)軸 的右端的坐標(biāo)點)添加到與集合(1—n-l)有關(guān)的臨時有向圖I'(l—n-l),由此 生成與集合(l—n)有關(guān)的臨時有向圖1,(1—n)。
如上所述,臨時有向圖生成部分108生成臨時有向圖r作為生成期望的 有向圖i的預(yù)處理。臨時有向圖r與基本方案中的有向圖H對應(yīng)。 (有向圖生成部分110)
有向園生成部分IIO在由連續(xù)的有向邊形成的有向路徑之中,確定具有
形成有向路徑的最大數(shù)量的有向邊的最長有向路徑。確定最長有向路徑的處 理可以由最長有向路徑確定部分來執(zhí)行,例如所述最長有向路徑確定部分可
以包括在有向圖生成部分110中。進一步,有向圖生成部分110以每個有向
路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的 有向邊來替換形成每個有向路徑的有向邊,由此生成有向圖。
如上所述,有向圖生成部分110以更短的有向邊來替換組成臨時有向圖
r的有向邊,由此構(gòu)建臨時有向圖r并生成期望的有向圖i。在下文中詳細描 述與由有向圖生成部分11o執(zhí)行的臨時有向圖r的重建有關(guān)的技術(shù)構(gòu)思和處
理流程。
首先,參照圖9描述與有向圖生成部分110的處理有關(guān)的基本概念。圖 9是示意性地示出了有向圖生成部分110的處理的說明圖。
參照圖9,繪出了兩個有向圖Q,(A—G)和Q(A—G)(其為了說明的目的 而創(chuàng)建)。有向圖Q,(A—G)與基本方案對應(yīng),而有向圖Q(A—G)與本實施例 對應(yīng)。進一步,除了每個有向圖之外還繪出了多條垂直線,并且將標(biāo)記A到 G中的任意一個分配給每一條垂直線。標(biāo)記A到G分別表示用戶的終端單元。 在基本方案的以上描述中,通過將標(biāo)記1到n分配給用戶來給出說明,并且 它們與其對應(yīng)。因此,從左側(cè)將子集[A,A]、 [A,B]、 ....... [A,G]分配給每個坐標(biāo)軸的坐標(biāo)點。進一步,在每個坐標(biāo)點下,描述要由與每一條垂直線對應(yīng) 的用戶保存的中間密鑰的數(shù)量。
作為基本方案的描述中提到的事項的回顧,首先筒要描述有向圖
Q,(A—G)。有向圖Q,(A—G)由具有長度1的四條有向邊(A4B,B4C, D4E, F4G)、具有長度2的一條有向邊(B4D)以及具有長度4的一條有向邊(B4F) 組成??紤]從坐標(biāo)點[A,A]到坐標(biāo)點[A,G]的有向路徑P([A,A], [A,G]),有向路 徑P([A,A], [A,G])通過由具有長度1的有向邊(A^B)、具有長度4的有向邊 (B4F)以及具有長度1的有向邊(F4G)組成的有向邊鏈表示。
因此,具有中間密鑰t([A,A])的用戶A (1)通過向PRSG輸入中間密鑰 t([A,A])可以導(dǎo)出中間密鑰t([A,B]), ( 2 )通過向PRSG輸入中間密鑰t([A,B]) 可以導(dǎo)出中間密鑰t([A,C])、 t([A,D])和t([A,F]),以及(3 )通過向PRSG輸入 中間密鑰t([A,F])可以導(dǎo)出中間密鑰t([A,G])。由此,對于用戶A來說必須執(zhí) 行PRSG與形成有向路徑P([A,A],[A,G])的有向邊的數(shù)量相同的次數(shù),以便導(dǎo) 出與有向路徑P([A,A],[A,G])的終點對應(yīng)的中間密鑰t([A,G])。這是確定用戶 的計算量的次數(shù)。在有向圖Q,(A—G)的情況下,由于有向路徑P([A,A],[A,G]) 和有向路徑p([A,A],[A,E])具有最小數(shù)量的有向邊,因此那些有向路徑的長度 與用戶的計算量的最差值對應(yīng)。
另 一 方面,每個用戶應(yīng)該能夠生成與用戶所屬的子集對應(yīng)的所有中間密 鑰。由于該原因,要由用戶預(yù)先保存的中間密鑰應(yīng)該是這樣的要通過重復(fù) 使用PRSG生成的多個中間密鑰包括與其所屬子集對應(yīng)的全部中間密鑰。進 一步,應(yīng)該選擇要由每個用戶保存的中間密鑰,以便最小化其數(shù)量。由此, 用戶通過參照有向圖,從與用戶所屬的子集對應(yīng)的坐標(biāo)點中選擇坐標(biāo)點,以 便與到達所述坐標(biāo)點的有向邊的尾部對應(yīng)的子集不包括所述用戶,并保存與 所述坐標(biāo)點對應(yīng)的中間密鑰。
例如,通過參照有向圖Q,(A—G)來考慮要由用戶C保存的中間密鑰。
用戶C所屬的子集是[A,C]、 [A,D]........ [A,G]。將注意力集中在有向圖
Q,(A—G),達到子集[A,C]、 [A,D]、 [A,F]的有向邊的尾部全部是坐標(biāo)點[A,B], 其不包括用戶C。由此,用戶C需要保存中間密鑰t([A,C])、t([A,D])和t([A,F])。 實際上,要由每個用戶保存的中間密鑰的數(shù)量由與每個用戶對應(yīng)的垂直線與 有向圖之間的交叉點的數(shù)量表示。例如,由于交叉點的數(shù)量為2,因此用戶D 需要保存兩個中間密鑰。通過以上方法,在每個有向圖下,計算并描述要由每個用戶保存的中間密鑰的數(shù)量。
以上說明僅簡要描述了有向圖的意義?;谝陨险f明,在下文中描述本 實施例的基本概念。如已經(jīng)提到的那樣,本實施例旨在減少密鑰的數(shù)量而不 增加計算量。考慮到此情況,在下文中描述所釆取的用以減少密鑰數(shù)量的方法。
現(xiàn)在重新參照圖9。如果采用基于有向圖Q,(A—G)的密鑰分發(fā)方案,則 存在具有最多三個密鑰的用戶C。進一步,要由所有用戶保存的密鑰的數(shù)量 是11。然后,將有向圖Q,(A—G)改變到Q(A—G)。具體地說,以從坐標(biāo)點[A,D] 延伸到[A,F]的有向邊E([A,D], [A,F])替換從坐標(biāo)點[A,B]延伸到[A,F]的有向邊 E([A,B], [A,F])。如果進行了這樣的改變,則要由每個用戶保存的密鑰數(shù)量的 最大值是2,其與用戶C和用戶E對應(yīng)。進一步,要由所有用戶保存的密鑰 的數(shù)量是9。由此,在改變之前和之后密鑰的數(shù)量減少。然而,在該改變的 示例中,沒有考慮計算量。因此,有向圖Q(A—G)在從坐標(biāo)點[A,A]到[A,G] 有向路徑P([A,A], [A,G])中包括四條有向邊,并且與有向圖Q,(A—G)相比計 算量的最差值略有增加。
據(jù)此,本實施例提供了在不進行導(dǎo)致超出計算量的最差值的有向圖改變 的條件下,基于圖9所示的基本概念能夠減少密鑰數(shù)量的有向圖生成部分110 的配置。參照圖10到圖14,在下文中具體描述通過有向圖生成部分IIO生 成有向圖I的方法。
首先參照圖10,簡要地描述通過有向圖生成部分110的有向圖生成方法 的概要。圖IO是示出了生成有向圖的處理流程的示例的流程圖。
首先,有向圖生成部分IIO使用由臨時有向圖生成部分108生成的臨時
有向圖r,以便生成期望的有向圖i。如之前所述的那樣,臨時有向圖r是以
與通過基本方案的有向圖H相同的方式而生成的。執(zhí)行通過臨時有向圖生成 部分108的臨時有向圖I,的生成作為第一步驟(S140)。
然后,有向圖生成部分iio從組成所有生成的臨時有向圖r的有向路徑
提取最長有向路徑LP (LongestPath,最長路徑)(S142)。例如,可以由 包括在有向圖生成部分110中的最長有向路徑生成部分來執(zhí)行提取有向路徑 LP的步驟。進一步,從不包括最長有向路徑LP的所有生成的臨時有向圖I, 的每個中提取最長有向路徑PLP ( Partially Longest Path,部分最長路徑) (S144)。由此,從臨時有向圖I,中提取有向路徑PLP。此后,從組成臨時
72有向圖I,的有向邊中選擇給定有向邊,并以更短的有向邊來替換它(S146)。
此時,有向圖生成部分110在不增大計算量的最差值的上述條件下,基于提 取的有向路徑LP和有向路徑PLP的長度執(zhí)行有向邊的替換。進一步,例如, 可以由有向圖生成部分110中包括的有向邊替換部分來執(zhí)行上述有向邊替換步驟。
在上文中描述了由有向圖生成部分110進行的有向圖生成步驟的概要。 如上所述,有向圖生成部分ll(M人由臨時有向圖生成部分108生成的臨時有
向圖r中提取有向路徑LP和有向路徑PLP,然后基于那些有向路徑的長度選 擇并替換給定有向邊,由此生成期望的有向圖。在下文中給出與上述每個步 驟對應(yīng)的更詳細的說明。
首先參照圖ii,描述臨時有向圖r的生成步驟。注意,在下文中僅描述 臨時有向圖r之中與中間節(jié)點v對應(yīng)的有向圖r(lv—rv-i)。首先,臨時有向
圖生成部分108設(shè)置給定整數(shù)k,定義Lv二rv-lv+l,并計算滿足n^,〈Lv^n^ 的整數(shù)x(S150)。臨時有向圖生成部分108通過將計數(shù)i從0改變到x-l來 執(zhí)行下面的操作。從水平坐標(biāo)軸的左端的起點開始,重復(fù)延伸到遠離所述坐 標(biāo)點n'A的坐標(biāo)點的右向有向邊的設(shè)置(跳躍到遠離所述坐標(biāo)點n^的坐標(biāo) 點),直到有向邊的頭部達到水平坐標(biāo)軸的右端的終點或者下一個要設(shè)置的 有向邊的頭部超過終點為止(S152)。然后,臨時有向圖生成部分108消除 其尾部或頭部位于臨時坐標(biāo)點的所有有向邊(S154)。進一步,臨時有向圖 生成部分108在達到坐標(biāo)軸上的各個坐標(biāo)點的有向邊之中,消除除了最長有 向邊之外的有向邊(S156)。
接著參照圖12,在下文中描述提取最長有向路徑LP (S160)的步驟。 在描述最長有向路徑LP之前,定義兩個表達式如下。
-DDT:表示最長有向路徑LP的長度。
-J(a,b):表示存在于某個有向路徑中的具有長度b的、數(shù)量為a的連續(xù)有向邊。
(例如,釆用圖9所示的有向圖Q,(A—G)作為示例,由于有向路徑 P([A,A],[A,G]))由具有長度1的一條有向邊、具有長度4的一條有向邊和具 有長度1的一條有向邊組成,因此將其表示為J(l,l)、 J(1,4)、 J(l,l))。
有向圖生成部分IIO可以對于組成臨時有向圖I,的每一條有向路徑計算 J(a,b)。例如,考慮從臨時有向圖I,(l一n)的坐標(biāo)點[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)。在由
上述臨時有向圖生成部分108生成的臨時有向圖r的情況下,最長有向路徑
LP是組成臨時有向圖I,(l—n)的有向路徑P([l,l],[l,n])。有向圖生成部分110 可以提取最長有向路徑LP或唯一地提取組成臨時有向圖I,(l—n)的有向路徑 P([l,l],[l,n]),并且在一些情況下,有向圖生成部分IIO可以計算組成臨時有
向圖r的所有有向路徑的長度,并從它們之中選擇最長有向路徑LP。此時,
將最長有向路徑LP的長度DDT表示為DDT=(2k-l)*(n1/k-l)。此后,有向圖 生成部分110向形成最長有向路徑LP的所有有向邊設(shè)置表示有效的激活標(biāo)記 (active mark )。
接著,參照圖13,描述計算與根節(jié)點和各個中間節(jié)點對應(yīng)的每個臨時有 向圖I,的最長有向路徑PLP (除了包括最長有向路徑LP的圖)的步驟。圖 13是示出了有向路徑PLP的計算步驟的流程圖。
在對于每個有向圖提取最長有向路徑PLP的步驟的描述之前,定義如下 兩個表達式。
-CP ( Current Path ):所考慮的有向路徑(將其稱為當(dāng)前路徑) -釘P(CP) :在有向路徑中包括的有向邊的數(shù)量。
有向圖生成部分IIO基于下述算法提取有向路徑PLP。 (步驟1 )有向圖生成部分110確定從有向圖I,的起點到終點的當(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的有向邊之中提取最 長有向邊,并將其長度設(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二r/k的自然ltj (S170)。
(步驟6)有向圖生成部分110在具有形成當(dāng)前路徑CP的長度為J的有 向邊之中,提取距離當(dāng)前路徑CP的起點最遠的有向邊(S172)。
(步驟7 )有向圖生成部分110緊接在從(步驟6 )中提取的有向邊的尾 部延伸的、具有長度i/i-"a的數(shù)量為n"k"的有向邊之后,添加具有長度n^, 的一條有向邊,并移除在(步驟6)中提取的有向邊(S174)。此后,進行 到(步驟1 )并重復(fù)以上步驟。
如果執(zhí)行有向邊的進一步替換,則當(dāng)從有向圖I,的起點到終點的有向路 徑由全部具有長度l的有向邊組成時,或者當(dāng)形成有向路徑的有向邊的數(shù)量 超過DDT時,在上述(步驟l)到(步驟6)中出現(xiàn)的處理的循環(huán)結(jié)束。通 過以上處理,可以對于每個有向圖設(shè)置最長有向路徑PLP。
然后參照圖14,在下文中描述替換給定有向邊的步驟。在該步驟中,在 形成有向路徑的有向邊的數(shù)量不超過DDT的條件下,對于每個有向圖構(gòu)建用 以以更短的有向邊替換給定有向邊的處理的算法。 有向圖生成部分110基于以下算法替換有向邊。
(步驟i )有向圖生成部分110在組成有向圖I,的有向邊之中,提取被 設(shè)置為激活、還沒有被處理(沒有設(shè)置完成)且最長的有向邊。進一步,有
向圖生成部分iio將所提取的有向邊的長度設(shè)置為r。如果存在具有長度j, 的多條有向邊,則有向圖生成部分uo選擇距離有向圖r的起點最遠的有向
邊(S180)。將所選擇的有向邊稱為WJ (Working Jump,工作跳躍),將有 向邊WJ的起點稱為WJS,并且將終點稱為WJE。進一步,將形成從有向圖 I,的起點到達WJS的有向路徑的有向邊的數(shù)量表示為D。
(步驟2)有向圖生成部分110判定有向邊WJ的長度J,是否為JS1 (S182),如果J,S1,則將僅由被設(shè)置為激活的有向邊組成的有向圖設(shè)置為期 望的有向圖I(S202 )。如果J,〉1,則進行到(步驟3)。
(步驟3)如果有向邊wj的長度r為r>i,則有向圖生成部分no將
從WJS到達(WJE-1 )的有向路徑設(shè)置為當(dāng)前路徑CP ( S184 ) 。 ( WJE-1 ) 是緊接在WJE之前的坐標(biāo)點。
(步驟4)有向圖生成部分110在形成當(dāng)前路徑CP的有向邊之中提取最 長有向邊,并將其長度設(shè)置為J (S186)。
75(步驟5 )有向圖生成部分110判定所提取的有向邊的長度J是否為J^l
(S188 ),并且如果J^l,則向形成當(dāng)前路徑CP的所有有向邊設(shè)置激活(S198 ) 并向有向邊WJ設(shè)置完成(done) ( S200 )。此后,再次v^人(步驟1 )的處理 開始。如果》1,則進行到(步驟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)。此后, 再次開始從(步驟l)的處理。如果弁JP(CP)+n"k-l^DDT-D,則進行到(步驟 7)。
(步驟7 )如果弁JP(CP)+n"k-l^DDT-D,則有向圖生成部分110計算滿足 J二n^的自然凄tj (S192)。
(步驟8 )有向圖生成部分110在形成當(dāng)前路徑CP的具有長度J的有向 邊之中,提取距離當(dāng)前路徑CP的起點最遠的有向邊(S194)。
(步驟9 )有向圖生成部分110緊接在從(步驟8 )中提取的有向邊的尾 部延伸的、具有長度nG-,的數(shù)量為n〃k"的有向邊之后,添加具有長度r^,
的一條有向邊,并移除在(步驟8)中提取的有向邊(S196)。此后,進行 到(步驟3)并重復(fù)以上步驟。
如果執(zhí)行有向邊的進一步替換,則當(dāng)從WJS到WJE-1的有向路徑由全 部具有長度i的有向邊組成時,或者當(dāng)形成從WJS到WJE-1的有向路徑的有 向邊的數(shù)量超過DDT時,在上述(步驟3)到(步驟9)中出現(xiàn)的處理的循 環(huán)結(jié)束。另一方面,當(dāng)沒有對組成有向圖I,的任意有向邊設(shè)置完成,并且不 存在具有長度2或更長的有向邊時,在上述(步驟1 )到(步驟5 )或(步驟 6)中出現(xiàn)的處理的循環(huán)結(jié)束。通過以上處理,可以生成期望的有向圖I。
最后,示出了通過使用上述有向圖生成方法而生成的有向圖I的示例。 圖15示出了在基于具有葉節(jié)點數(shù)11=64的完全二叉樹(如圖3所示)設(shè)置參 數(shù)1(=6的情況下的有向圖I。
首先,將基于基本方案生成的有向圖H (圖4)與根據(jù)本實施例的有向 圖I(圖15)進行比較,如下兩點是顯而易見的。(l)與有向圖H相比,在 有向圖I中,具有長度2或更長的有向邊的數(shù)量減少,并且從一個坐標(biāo)點延 伸的有向邊的數(shù)量減少。(2)組成有向圖I的任意有向路徑不超過有向圖H 的最長有向路徑LP(P[1,1],[1,64])的長度。由此,確認生成了能夠在不增加生成集合密鑰所需的計算量的最差值的情況下減少要由用戶保存的中間密鑰的 數(shù)量的有向圖I。
同樣地,關(guān)于設(shè)置參數(shù)1^3的情況進行比較。在基于基本方案的密鑰分
發(fā)方案中,要分發(fā)到每個用戶的中間密鑰的數(shù)量是0(l^log(n)),并且隨著參 數(shù)k減小,要由每個用戶保存的密鑰的數(shù)量也減少。然而,存在如下問題 參數(shù)k的減小引起了計算量的增加。考慮到該問題,具體地進行當(dāng)參數(shù)k減 小時的效果的研究。圖16示出了基于基本方案生成的有向圖H,而圖17示 出了根據(jù)本實施例的有向圖I。
將通過使用相同的基本方案生成的有向圖H (圖4: k=6,圖6: k=3 ) 進行比較,在具有]^3的有向圖H中,具有長度2或更長的有向邊的數(shù)量減 少,并且從一個坐標(biāo)點延伸的有向邊的數(shù)量減少。然而,在]^=3的情況下, 形成有向圖H的最長有向路徑LP([1,1],[1,64])的有向邊的數(shù)量是15,其大于 k=6的情況下的有向邊的數(shù)量(有向邊的數(shù)量=11 )。然后,關(guān)于k^3的相同 情況將根據(jù)基本方案的有向圖H (圖16)與根據(jù)本實施例的有向圖I (圖17) 進行比較,盡管形成最長有向路徑LP的有向邊的數(shù)量是15 (其是相同的), 但是有向圖I中具有長度2或更長的有向邊的數(shù)量更少。由此確認,不論參 數(shù)k如何都可以獲得本實施例的效果。
為了更加量化地理解根據(jù)本實施例減少密鑰數(shù)量的效果,在圖18中的表 格中示出了在基本方案(由現(xiàn)有方案表示)與本實施例之間的比較結(jié)果。參 照圖18,在1^=6的情況下,對所有用戶減少要保存的密鑰數(shù)量。當(dāng)然,這對 于密鑰總數(shù)和密鑰平均數(shù)是相同的。進一步,將基本方案(k=3 )和本實施例 的方案(k=6)進行比較,要由每個用戶保存的密鑰數(shù)量幾乎相同。比較示出 了通過應(yīng)用本實施例可以減少計算量而又同時保持幾乎相同的密鑰數(shù)量的效 果。盡管由于在用戶數(shù)量n只有n-64那么小的實現(xiàn)中獲得以上結(jié)果,因此要 減少的密鑰數(shù)量的絕對值似乎不大,但是由于用戶數(shù)量的量級相差懸殊,因 此在實現(xiàn)環(huán)境中減少的效果是非常明顯的。
在上文中描述了能夠在不增大生成集合密鑰所需的計算量的最差值的情 況下,減少要由用戶保存的中間密鑰的數(shù)量的有向圖的生成邏輯。上述密鑰 生成邏輯(有向圖)的構(gòu)造主要由組成密鑰分發(fā)服務(wù)器102的密鑰生成邏輯 構(gòu)建塊執(zhí)行。然而,為了基于以上密鑰生成邏輯來執(zhí)行加密密鑰分發(fā),其他 元件是必需的。由此,重新參照圖8在下文中描述其他元件。重新參照圖8,除了上述密鑰生成邏輯構(gòu)建塊之外,密鑰分發(fā)服務(wù)器102
還包括初始中間密鑰設(shè)置部分112、密鑰生成部分114、加密部分116、傳送 部分118和子集確定部分120。
(初始中間密鑰設(shè)置部分112 )
初始中間密鑰設(shè)置部分112對于與樹的每個中間節(jié)點對應(yīng)的每個有向圖 I,生成與有向圖I的初始坐標(biāo)點對應(yīng)的中間密鑰。例如,初始中間密鑰設(shè)置 部分112可以使用偽隨機數(shù)發(fā)生器來生成隨機數(shù),并將隨機數(shù)設(shè)置為與以上 初始坐標(biāo)點(根)對應(yīng)的每個中間密鑰,或者可以將給定數(shù)值設(shè)置為每個中 間密鑰。
(密鑰生成部分114)
對于組成有向圖I的某個有向邊,當(dāng)輸入分配給由有向邊的尾部指示的 坐標(biāo)點的給定中間密鑰時,密鑰生成部分114輸出與由有向邊的尾部表示的
的中間密鑰。由此,密鑰生成部分114與基本方案的PRSG對應(yīng)。然而,密 鑰生成部分114與基本方案的PRSG的不同在于它基于由有向圖生成部分 110生成的有向圖I輸出中間密鑰。如果將密鑰生成部分114表示為與PRSG 相同,則當(dāng)輸入與有向圖I的某個坐標(biāo)點SO對應(yīng)的中間密鑰t(SO)時,輸出與
其尾部位于所述坐標(biāo)點的有向邊的頭部對應(yīng)的中間密鑰t(Sl)、 t(S2)........
t(Sm)(與子集S0對應(yīng))以及集合密鑰k(SO)。注意,m表示其尾部位于某個 坐標(biāo)點S0的有向邊的數(shù)量。 (傳送部分118)
傳送部分U8將由加密部分116加密的內(nèi)容密鑰(將在后面描述)傳送 到與葉節(jié)點對應(yīng)的所有用戶。傳送部分118通過參照上述有向圖I向每個用 戶分發(fā)中間密鑰。此時,傳送部分118可以以每個用戶可以導(dǎo)出與其所屬的 子集對應(yīng)所有中間密鑰的方式分發(fā)最小所需數(shù)量的中間密鑰。具體地說,傳 送部分118可以從組成集合系統(tǒng)(D (參照以上表達式(1 ))的子集中提取中 間密鑰的分發(fā)目的地用戶所屬的子集,從與所提取的子集對應(yīng)的有向圖I的 坐標(biāo)點中選擇一 個坐標(biāo)點,以便在與達到所述坐標(biāo)點的有向邊的尾部對應(yīng)的 子集中不包括分發(fā)目的地用戶,并僅將與所選擇的坐標(biāo)點對應(yīng)的中間密鑰分 發(fā)至分發(fā)目的地用戶。然而,如果中間密鑰的分發(fā)目的地用戶所屬的子集與 有向圖I的初始坐標(biāo)點對應(yīng),則傳送部分118可以僅將與初始坐標(biāo)點對應(yīng)的
78中間密鑰分發(fā)至分發(fā)目的地用戶。進一步,傳送部分118可以用作向每個用 戶分發(fā)有向圖I的信息的有向圖信息分發(fā)部分。具體地說,當(dāng)輸入每個中間 密鑰時,傳送部分118可以分發(fā)與基于有向圖I輸出給定中間密鑰和集合密
鑰的PRSG的密鑰生成算法(如密鑰生成程序)有關(guān)的信息。
通過使用不同于用于內(nèi)容分發(fā)的信道的通信信道,可以在內(nèi)容的分發(fā)之 前執(zhí)行中間密鑰的分發(fā)。例如,在終端單元的制造工廠中制造終端時,可以
從密鑰分發(fā)服務(wù)器102輸出每個終端的中間密鑰,并將其記錄在記錄媒體上, 并且可以將從記錄媒體中讀取的每個終端單元的中間密鑰存儲到對應(yīng)的終端 單元中。
(加密部分116)
加密部分116通過使用集合密鑰加密內(nèi)容密鑰。盡管內(nèi)容密鑰的數(shù)量是 1,但是存在與組成集合系統(tǒng)O的子集數(shù)量相同的集合密鑰的數(shù)量。在組成 集合系統(tǒng)(D的所有子集之中,加密部分116通過使用與由子集確定部分120 選擇的子集對應(yīng)的每個集合密鑰,來加密內(nèi)容密鑰(將在后面描述)。由此,
加密密鑰116生成與各個集合密鑰對應(yīng)的經(jīng)加密的內(nèi)容密鑰。因此,如果所 選擇的子集的數(shù)量是m,則生成m個經(jīng)加密的內(nèi)容密鑰??商娲?,加密部 分116可以加密內(nèi)容。例如,加密部分116可以使用內(nèi)容密鑰來加密內(nèi)容或 者可以使用上述各個集合密鑰來加密內(nèi)容。然而,使用集合密鑰來加密內(nèi)容 的配置是本實施例的可替代的示例。 (子集確定部分120)
子集確定部分120確定應(yīng)該對其禁止內(nèi)容或內(nèi)容密鑰的解密的排除用戶 的集合(R),并通過使用從與有向圖I的坐標(biāo)點對應(yīng)的子集中選擇的給定子 集的并集,從所有用戶的集合(N)中消除排除用戶的集合(R),來定義許 可用戶的集合(N\R),然后以組成許可用戶的集合(N\R)的子集數(shù)量 最小的方式確定組成許可用戶的集合(NXR)的一組子集。子集確定部分120 可以由如下部分組成許可用戶集合確定部分,用于確定許可用戶的集合(N \R);以及許可用戶子集確定部分,用于確定組成許可用戶的集合(N\R) 的一組子集。
在以上述方式由子集確定部分120確定組成許可用戶的集合的子集(Sl、
S2........ Sm)之后,傳送部分118向每個用戶分發(fā)許可用戶的集合(N\
R)或組成許可用戶的集合(N\R)的子集(Sl、 S2........ Sm)。進一步,加密部分116使用與由子集確定部分120確定的子集(Sl、 S2........ Sm)
對應(yīng)的集合密鑰,來加密內(nèi)容或內(nèi)容密鑰,并且傳送部分118將經(jīng)加密的內(nèi) 容或內(nèi)容密鑰分發(fā)至每個用戶。
在上文中描述了根據(jù)本發(fā)明的優(yōu)選實施例的密鑰分發(fā)服務(wù)器102的配 置。如上所述,本實施例的特征主要是密鑰生成邏輯構(gòu)建塊的配置。特別地, 本實施例具有在用于生成確定密鑰生成邏輯的有向圖的有向圖生成部分110 的配置方面的特征。根據(jù)本實施例的有向圖生成部分IIO可以生成能夠在不 增加對于每個用戶來說用以生成集合密鑰所需的計算量的情況下,減少要由 每個用戶保存的中間密鑰的數(shù)量。結(jié)果,可以節(jié)省每個用戶的終端單元用以 保存中間密鑰所需的存儲器容量,并且還可以降低向每個用戶的終端單元分 發(fā)中間密鑰的分發(fā)成本。
參照圖8,在下文中描述根據(jù)本實施例的終端單元122的配置。 參照圖8,終端單元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)的 信息等。進一步,接收部分124可以從多個信息源收集信息,而不是僅從單 一信息源接收信息。例如,接收部分124可以從多個通過有線或無線網(wǎng)絡(luò)連 接的信息源(如密鑰分發(fā)服務(wù)器102)或者在不通過網(wǎng)絡(luò)的情況下直接或間 接連接的信息源(如諸如光盤單元、磁盤單元和便攜式終端單元之類的信息 媒體)獲取信息。由于接收部分124當(dāng)然可以從另一終端單元122接收信息, 因此可以將其進行配置以便與例如屬于相同分發(fā)目的地組的另 一終端單元 122共享有向圖I的信息。在這種情況下,相同分發(fā)目的地組意味著授權(quán)為從 相同或多個密鑰分發(fā)服務(wù)器102分發(fā)的內(nèi)容的查看用戶(vieweruser)的組, 這與上述樹結(jié)構(gòu)的葉節(jié)點對應(yīng)的用戶的集合對應(yīng)。進一步,可以預(yù)先向終端 單元提供上述中間密鑰,并將其存儲在終端單元中。 (判定部分126)
判定部分126判定它是否作為與用于加密的集合密鑰對應(yīng)的任意子集中的元素而包括。由于終端單元122僅保存用于生成與其所屬的子集對應(yīng)的集
合密鑰的中間密鑰,因此必須基于與由密鑰分發(fā)服務(wù)器102使用的、用以加
密內(nèi)容或內(nèi)容密鑰的集合密鑰有關(guān)的信息,預(yù)先判定其所屬的子集是否包括
在與集合密鑰對應(yīng)的子集中。這樣的判定由判定部分126進行。以與內(nèi)容密 鑰相同的定時或不同的定時,從密鑰分發(fā)服務(wù)器102分發(fā)與用于加密的集合 密鑰有關(guān)的信息,并由接收部分124接收所述信息。如果判定與其所屬的子 集對應(yīng)的集合密鑰不包括在用于加密的集合密鑰中,則終端單元122結(jié)束內(nèi) 容密鑰的處理,而不執(zhí)行使用其自身保存的中間密鑰來生成集合密鑰的處理。 相反,如果發(fā)現(xiàn)了與其所屬的子集對應(yīng)的集合密鑰,則終端單元122通過利 用PRSG,使用其自身保存的中間密鑰來生成集合密鑰。 (密鑰生成部分128) 對于組成有向圖I的某個有向邊,當(dāng)輸入分配給由有向邊的尾部所表示 的坐標(biāo)點的給定中間密鑰時,密鑰生成部分128輸出與由有向邊的尾部所表
對應(yīng)的中間密鑰。由此,密鑰生成部分128與密鑰分發(fā)月l務(wù)器102中包括的 密鑰生成部分114對應(yīng)。如果將密鑰生成部分128表示為PRSG,如果輸入 與有向圖I的某個坐標(biāo)點SO對應(yīng)的中間密鑰t(SO),則輸出與其尾部位于坐標(biāo)
點SO的有向邊的頭部對應(yīng)的中間密鑰t(Sl)、 t(S2)........ t(Sm)以及集合密
鑰k(SO)。注意,m表示其尾部位于某個坐標(biāo)點SO的有向邊的數(shù)量??梢詮?密鑰分發(fā)服務(wù)器102獲取有向圖I的信息,或者將其存儲在終端單元122中 包括的存儲部分(未示出)中。 (解密部分130)
解密部分130使用集合密鑰來解密內(nèi)容密鑰。具體地說,解密部分130 從與集合密鑰對應(yīng)的子集中提取將它作為元素包括的子集,并使用與所述子
集對應(yīng)的集合密鑰來解密內(nèi)容或內(nèi)容密鑰。
在上文中描述了根據(jù)本實施例的終端單元122的配置。如上所述,終端 單元122可以基于由上述密鑰分發(fā)服務(wù)器102中包括的有向圖生成部分110 生成的特殊的密鑰生成邏輯(有向圖I)來生成期望的集合密鑰。結(jié)果,對于 終端單元122來說,可以減少生成用以解密內(nèi)容密鑰的集合密鑰所需保存的
中間密鑰的數(shù)量。 <第二實施例>接著,描述根據(jù)本發(fā)明的第二實施例的加密密鑰分發(fā)方案。根據(jù)本實施 例的加密密鑰分發(fā)方案通過生成由更長的有向邊組成的臨時有向圖,然后以 更短的有向邊來替換組成臨時有向圖的有向邊以由此重建有向圖,能夠減少 對于終端單元122來說、用以生成集合密鑰所需的計算量,同時減少要由終
端單元122保存的中間密鑰的數(shù)量。在下文中,詳細描述執(zhí)行根據(jù)本實施例 的加密密鑰分發(fā)方案的密鑰分發(fā)服務(wù)器152的功能性配置、加密密鑰分發(fā)方 案的特征和優(yōu)點。與上述第一實施例的主要區(qū)別在于密鑰分發(fā)服務(wù)器152的 功能性配置。由此,由相同的符號表示與上述第一實施例中的組件基本上相 同的組件,并省略冗余說明。
參照圖19,在下文中詳細描述根據(jù)本實施例的密鑰分發(fā)服務(wù)器152的配 置。圖19是示出了根據(jù)本實施例的密鑰分發(fā)服務(wù)器152和終端單元122的配
置的框圖。
如圖19所示,密鑰分發(fā)服務(wù)器152由樹結(jié)構(gòu)設(shè)置部分154、坐標(biāo)軸設(shè)置 部分156、臨時有向圖生成部分158、有向圖生成部分160、初始中間密鑰設(shè) 置部分162、密鑰生成部分164、加密部分166、傳送部分168和子集確定部 分170組成。特別地,將樹結(jié)構(gòu)設(shè)置部分154、坐標(biāo)軸設(shè)置部分156、臨時有 向圖生成部分158和有向圖生成部分160統(tǒng)稱為密鑰生成邏輯構(gòu)建塊。同樣 地,將初始中間密鑰i殳置部分162和密鑰生成部分164統(tǒng)稱為密鑰生成塊。
在下文中描述組成密鑰生成邏輯構(gòu)建塊的元件。密鑰生成邏輯構(gòu)建塊執(zhí) 行與上述[基本技術(shù)描述]中的(樹結(jié)構(gòu)的設(shè)置)和(有向圖的生成)對應(yīng)的處 理。
(樹結(jié)構(gòu)設(shè)置部分154)
樹結(jié)構(gòu)設(shè)置部分154配置由向其分配了編號l到n (n是自然數(shù))的n 個葉節(jié)點、根節(jié)點和多個除了根節(jié)點和葉節(jié)點之外的中間節(jié)點組成的二叉樹, 并在位于某個中間節(jié)點v或根節(jié)點v的下層的多個葉節(jié)點之中,將位于左端 的葉節(jié)點的編號設(shè)置為lv,將位于右端的葉節(jié)點的編號設(shè)置為rv。進一步, 樹結(jié)構(gòu)設(shè)置部分154將集合(1—n)和集合(2—n)分配給根節(jié)點,并且如果某個 中間節(jié)點v位于其父節(jié)點的左側(cè),則將集合(lv+l—rv)分配給中間節(jié)點,如果 中間節(jié)點v位于其父節(jié)點的右側(cè),則將集合(lv—rv-1 )分配給中間節(jié)點。
如上所述,樹結(jié)構(gòu)設(shè)置部分154具有能夠構(gòu)造m層樹結(jié)構(gòu)并且假設(shè)m=2(二叉樹)的情況的配置,例如,可以構(gòu)造與根據(jù)基本方案的二叉樹結(jié)構(gòu)(圖 3)相同的樹結(jié)構(gòu)。由此,由樹結(jié)構(gòu)設(shè)置部分154構(gòu)造的樹結(jié)構(gòu)的每個節(jié)點的 意義與根據(jù)之前所述的基本方案構(gòu)建的二叉樹結(jié)構(gòu)的每個節(jié)點的意義基本上 相同。盡管為了描述的方便起見,在下文中僅描述二叉樹結(jié)構(gòu),但是其不限 于此。
(坐標(biāo)軸設(shè)置部分156)
坐標(biāo)軸設(shè)置部分156設(shè)置第一水平坐標(biāo)軸,其上與集合(1—n)中包括的 各個子集相關(guān)的坐標(biāo)點以包含度向右變大的方式排列。接著,坐標(biāo)軸設(shè)置部 分156設(shè)置第二水平坐標(biāo)軸,其上與集合(2—n)中包括的各個子集相關(guān)的坐標(biāo) 點以包含度向左變大的方式排列。然后,對于每個中間節(jié)點v,坐標(biāo)軸設(shè)置 部分156設(shè)置第三水平坐標(biāo)軸,其上與集合(lv—rv-l)中包括的各個子集相關(guān) 的坐標(biāo)點以包含度向右變大的方式排列。進一步,對于每個中間節(jié)點v,坐 標(biāo)軸設(shè)置部分156設(shè)置第四水平坐標(biāo)軸,其上與集合(lv+l—rv)中包括的各個
坐標(biāo)軸設(shè)置部分156將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端 的坐標(biāo)點的右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè)。進 一步,坐標(biāo)軸設(shè)置部分156將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第 一臨時坐標(biāo)點,并將第二臨時坐標(biāo)點放置在第一臨時坐標(biāo)點右側(cè)。
如上所述,坐標(biāo)軸設(shè)置部分156設(shè)置用于構(gòu)建與由樹結(jié)構(gòu)設(shè)置部分154 配置的樹結(jié)構(gòu)的各個節(jié)點對應(yīng)的有向圖的坐標(biāo)軸。第 一水平坐標(biāo)軸表示與集 合(l—n)的坐標(biāo)軸,第二水平坐標(biāo)軸表示與集合(2—n)對應(yīng)的坐標(biāo)軸,第三水 平坐標(biāo)軸表示與集合(lv—rv-l)的坐標(biāo)軸,而第四水平坐標(biāo)軸表示與集合 (lv+l—rv)對應(yīng)的坐標(biāo)軸。由于對于每個中間節(jié)點v設(shè)置第三水平坐標(biāo)軸和第 四水平坐標(biāo)軸,因此分別設(shè)置多個坐標(biāo)軸。具體地說,設(shè)置與中間節(jié)點的數(shù) 量相同的第三水平坐標(biāo)軸和第四水平坐標(biāo)軸的數(shù)量。 (臨時有向圖生成部分158)
臨時有向圖生成部分158設(shè)置給定整數(shù)k,并計算滿足 n"-,〈(rv-lv+l)^nx/k的自然數(shù)x。接著,對于每個整數(shù)i咱到x-l,臨時有向
圖生成部分15 8通過連接具有長度ni/k的 一條或多條右向有向邊,形成其尾部 位于第一和第三坐標(biāo)軸上的最左側(cè)的坐標(biāo)點的有向路徑,并進一步通過連接 具有長度ni/k的一條或多條左向有向邊,形成其尾部位于第二和第四坐標(biāo)軸上的最右側(cè)的坐標(biāo)點的有向路徑。然后,臨時有向圖生成部分158對于第一到 第四水平坐標(biāo)軸中的每個,排除其尾部或頭部位于臨時坐標(biāo)點的所有有向邊。
進一步,臨時有向圖生成部分158從到達第一到第四水平坐標(biāo)軸上每個坐標(biāo) 點的有向邊中,排除除了最長有向邊之外的有向邊,由此生成分別與集合 (1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖。 此后,臨時有向圖生成部分158將具有長度1的有向邊(其頭部是位于第一 水平坐標(biāo)軸的右端的坐標(biāo)點)添加到與集合(1—n-l)有關(guān)的臨時有向圖,由此 生成與集合(1 —n)有關(guān)的臨時有向圖。
如上所述,臨時有向圖生成部分158通過與基本方案類似的方法生成有 向圖。然而,與基本方案的有向圖相比,臨時有向圖生成部分158可以生成 由更長的有向邊組成的有向圖。這減少了對于每個用戶來說、用以導(dǎo)出集合 密鑰所需的計算量(如后面所述)。在下文中參照圖20詳細描述由臨時有向 圖生成部分158執(zhí)行的處理的處理流程。圖20是示出了由臨時有向圖生成部 分158進行的有向圖生成的處理流程的流程圖。
參照圖20,臨時有向圖生成部分158通過下述步驟生成有向圖。通過例 證的方式描述生成與集合(lv—rv-l)對應(yīng)的臨時有向圖I'(lv—rv-l)的方法。
(步驟l; S240 )臨時有向圖生成部分158通過將集合(lv—rv-l)中包括 的各個子集以包含度從左至右變大的方式排列,而將其放置在水平直線(水 平坐標(biāo)軸)上。準(zhǔn)確地說,臨時有向圖生成部分158將作為集合(lv—rv-l)的 元素的子集分配給水平坐標(biāo)軸上的各個坐標(biāo)點,并以所分配的子集的包含度 向右變大的方式放置坐標(biāo)點。然后,臨時有向圖生成部分158將兩個臨時坐 標(biāo)點放置在位于水平坐標(biāo)軸上最右側(cè)的坐標(biāo)點的右側(cè)。從坐標(biāo)軸上最左側(cè)坐 標(biāo)點到最右側(cè)坐標(biāo)點的距離Lv為Lv=rv-lv+l 。此時,臨時有向圖生成部分 158計算滿足n(x-,〈Lv^n^的整數(shù)x(lSx^c)。
(步驟2; S242)臨時有向圖生成部分158將整數(shù)值i設(shè)置為計數(shù),并 通過從0變化到x-l的計數(shù)i執(zhí)行如下操作。從水平坐標(biāo)軸的左端處的起點開 始,臨時有向圖生成部分158重復(fù)延伸到遠離所述坐標(biāo)點n"k的坐標(biāo)點的右向 有向邊的設(shè)置(跳躍到遠離所述坐標(biāo)點n"k的坐標(biāo)點),直到有向邊的頭部達 到水平坐標(biāo)軸上其右端或左端的臨時坐標(biāo)點為止或者下一個要設(shè)置的有向邊 的頭部超過任意臨時坐標(biāo)點為止。
(步驟3; S244)臨時有向圖生成部分158從在(步驟2 )中創(chuàng)建的有向邊中刪除到達臨時坐標(biāo)點的所有有向邊。
(步驟4; S246)如果存在到達某個坐標(biāo)點的多個有向邊,則臨時有向 圖生成部分158刪除除了最長有向邊之外的所有有向邊。
通過以上處理,臨時有向圖生成部分158可以由與基本方案相比更長的 有向邊組成的有向圖。進一步,對于組成樹結(jié)構(gòu)的所有中間節(jié)點和根節(jié)點, 臨時有向圖生成部分158通過與以上臨時有向圖I,(lv—rv-l)相同的方法生成 有向圖。例如,臨時有向圖生成部分158生成與某個中間節(jié)點v對應(yīng)的臨時 有向圖I'(lv—rv-l),并進一步生成與根節(jié)點對應(yīng)的臨時有向圖I'(1—n)和 1(2—n)。在水平坐標(biāo)軸上形成臨時有向圖I,(lv+1—rv)和I(2—n),在所述水平 坐標(biāo)軸上以每個圖中包括的子集的包含度在"向左方向"中變大的方式排列 坐標(biāo)點。由此,顛倒由以上(步驟l)設(shè)置的水平坐標(biāo)軸上的坐標(biāo)點排列規(guī) 則。進一步,將用于組成臨時有向圖I,(lv+1—rv)和1(2—n)的兩個臨時坐標(biāo)點 放置在位于水平坐標(biāo)軸上最左側(cè)的坐標(biāo)點的左側(cè)。通過將有向邊 e([l,n-l],[l,n])添加到有向圖1(1—n-l)來生成有向圖1(1—n)。
通過利用上述有向圖生成方法,生成圖2i中所示的臨時有向圖r。圖
21示出了基于如圖3所示具有葉節(jié)點數(shù)n二64的完全二叉樹,當(dāng)設(shè)置參數(shù)k-6 時形成的臨時有向圖I'。 . (有向圖生成部分160)
有向圖生成部分160在由多條所連接的有向邊組成的有向路徑之中,確 定具有形成有向路徑的有向邊的最大數(shù)量的最長有向路徑。然后,有向圖生 成部分160通過以更短的有向邊的集合來替換形成每個有向路徑的有向邊來 重建每個有向路徑,以便不超過形成最長有向路徑的有向邊的數(shù)量,并生成 由重建的有向路徑組成的有向圖。
如上所述,有向圖生成部分160基于由臨時有向圖生成部分158構(gòu)建的 臨時有向圖I,生成期望的有向圖I。具體地說,盡管基本方案僅可以生成基本
上與臨時有向圖r基本上相同的有向圖h,但是根據(jù)本實施例的密鑰分發(fā)服
務(wù)器152可以生成表示更有效的集合密鑰生成邏輯的有向圖I,這是因為它包 括有向圖生成部分160。在下文中詳細描述由有向圖生成部分160執(zhí)行的處 理的處理流程。
參照圖22,簡要地描述由有向圖生成部分160進行的有向圖生成方法的 概要。圖22是示出了生成有向圖的處理流程的示例的流程圖。首先,有向圖生成部分160使用由臨時有向圖生成部分158生成的臨時 有向圖I,,以便生成期望的有向圖I。
然后,有向圖生成部分16(^人形成所有生成的臨時有向圖r的有向路徑
中提取最長有向路徑LP (LongestPath) ( S250 )。例如,提取有向路徑LP 的步驟可以由有向圖生成部分160中包括的最長有向路徑生成部分來執(zhí)行。 進一步,從不包括最長有向路徑LP的所有生成的臨時有向圖I,的每個中提取 最長有向路徑PLP ( Partially Longest Path,部分最長路徑)(S252 )。因此,
從每個臨時有向圖i,提取有向路徑plp。此后,從組成臨時有向圖r的有向
邊中選擇給定有向邊,并以更短'的有向邊來替換它(S254)。此時,有向圖 生成部分160在上述計算量的最差值不增加的條件下,基于所提取的有向路 徑LP和有向路徑PLP的長度,執(zhí)行有向邊的替換。例如,上述給定有向邊 選擇步驟可以由有向圖生成部分160中包括的替換有向邊選擇部分來執(zhí)行。 進一步,例如,上述有向邊替換步驟可以由有向圖生成部分160中包括的有 向邊替換部分來執(zhí)行。
在上文中描述了由有向圖生成部分160進行的有向圖生成步驟的概要。 如上所述,有向圖生成部分160從由臨時有向圖生成部分158生成的臨時有 向圖I,中提取有向路徑LP和有向路徑PLP,然后基于那些有向路徑的長度選 擇并替換給定有向邊,由此生成期望的有向圖。在下文中給出與上述每個步 驟對應(yīng)的更詳細的說明。
首先參照圖23,在下文中描述提取最長有向路徑LP (S260 )的步驟。 在最長有向路徑LP的描述之前,定義如下兩個表達式。
-DDT:表示最長有向路徑LP的長度。
-J(a,b):表示在某個有向路徑中具有長度b的、數(shù)量為a的連續(xù)有向邊。 有向圖生成部分160可以對于組成臨時有向圖I,的每個有向路徑計算 J(a,b)。例如,考慮從臨時有向圖1,(1—n)的坐標(biāo)點[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)。在由上述臨時有向圖生成部分158生成的臨時有向圖I, 的情況下,有向路徑LP是組成臨時有向圖I,(l—n)的有向路徑P([l,l],[l,n])。 有向圖生成部分160可以提取最長有向路徑LP或唯一地提取組成臨時有向圖 I,(l—n)的有向路徑P([l,l],[l,n]),并且在一些情況下,有向圖生成部分160 可以計算組成臨時有向圖I,(l—n)的所有有向路徑的長度,并從其中選擇最長有向路徑LP。此時,將最長有向路徑LP的長度DDT表示為DDT=k*(n1/k-l)。 此后,有向圖生成部分160向形成最長有向路徑LP的所有有向邊設(shè)置表示有 效的激活標(biāo)記。
接著,參照圖24描述對于與根節(jié)點和各個中間節(jié)點的每個臨時有向圖I, (除了包括最長有向路徑LP的圖)計算最長有向路徑PLP的步驟。圖24是 示出了有向路徑PLP的計算步驟的流程圖。
在描述對于每個有向圖提取最長有向路徑PLP的步驟之前,定義如下兩 個表達式。
-CP ( Current Path ):所考慮的有向路徑(將其稱為當(dāng)前路徑) -#JP(CP) :有向路徑中包括的有向邊的數(shù)量。
有向圖生成部分160基于下述算法提取有向路徑PLP。 (步驟1 )有向圖生成部分160確定從有向圖I,的起點到終點的當(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的有向邊之中提取最 長有向邊,并將其長度設(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二i/k的自然數(shù)j (S270 )。
(步驟6 )有向圖生成部分160在具有形成當(dāng)前路徑CP的長度J的有向 邊之中,提取距離當(dāng)前路徑CP的起點最遠的有向邊(S272)。
(步驟7 )有向圖生成部分160緊接在從(步驟6 )中提取的有向邊的尾 部延伸的、具有長度^-,的數(shù)量為n"k"的有向邊之后,添加具有長度nG—'^ 的一條有向邊,并移除在(步驟6)中提取的有向邊(S174)。此后,進行
87到(步驟1 )并重復(fù)以上步驟。
如果執(zhí)行有向邊的進一步替換,則當(dāng)從有向圖I,的起點到終點的有向路 徑由全部具有長度l的有向邊組成時,或者當(dāng)形成有向路徑的有向邊的數(shù)量
超過DDT時,在上述(步驟l)到(步驟6)中出現(xiàn)的處理的循環(huán)結(jié)束。通 過以上處理,可以對于每個有向圖設(shè)置最長有向路徑PLP。
參照圖25,在下文中描述替換給定有向邊的步驟。在該步驟中,在形成 有向路徑的有向邊的數(shù)量不超過DDT的條件下,對于每個有向路徑,構(gòu)建以 更短的有向邊替換給定有向邊的處理的算法。
有向圖生成部分160基于以下算法替換有向邊。
(步驟l)有向圖生成部分160在組成有向圖I,的有向邊之中,提取被 設(shè)置為激活、還沒有被處理(沒有設(shè)置完成)且最長的有向邊。進一步,有 向圖生成部分160將所提取的有向邊的長度設(shè)置為J,。如果存在具有長度J, 的多條有向邊,則有向圖生成部分160選擇距離有向圖I,的起點最遠的有向 邊(S280 )。將所選擇的有向邊稱為WJ ( Working Jump ),將有向邊WJ的 起點稱為WJS,并且將終點稱為WJE。進一步,將形成從有向圖I,的起點到 達WJS的有向路徑的有向邊的數(shù)量表示為D。
(步驟2 )有向圖生成部分160判定有向邊WJ的長度J,是否為JS1 (S282),如果J,Sl,則將僅由被設(shè)置為激活的有向邊組成的有向圖設(shè)置為期 望的有向圖I(S302 )。如果J,M,則進行到(步驟3)。
(步驟3)如果有向邊WJ的長度J,為J,>1,則有向圖生成部分160將 從WJS到達(WJE-1 )的有向路徑設(shè)置為當(dāng)前路徑CP ( S284 ) 。
( WJE-1 ) 是緊接在WJE之前的坐標(biāo)點。
(步驟4 )有向圖生成部分160在形成當(dāng)前路徑CP的有向邊之中提取最 長有向邊,并將其長度設(shè)置為J (S286 )。
(步驟5 )有向圖生成部分160判定所提取的有向邊的長度J是否為Kl (S288 ),并且如果Kl,則向形成當(dāng)前路徑CP的所有有向邊設(shè)置激活(S298 ) 并向有向邊WJ設(shè)置完成(S300 )。此后,再次從(步驟l)的處理開始。
(步驟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 )的處理開始。(步驟7 )如果弁JP(CP)+n"k-l^DDT-D,則有向圖生成部分160計算滿足 J二i/k的自然凄tj (S292)。
(步驟8 )有向圖生成部分160在形成當(dāng)前路徑CP的具有長度J的有向 邊之中,提取距離當(dāng)前路徑CP的起點最遠的有向邊(S294)。
(步驟9 )有向圖生成部分160緊接在從(步驟8 )中提取的有向邊的尾 部延伸的、具有長度,,的數(shù)量為n^的有向邊之后,添加具有長度i^-, 的一條有向邊,并移除在(步驟8)中提取的有向邊(S296)。此后,進行 到(步驟3)并重復(fù)以上步驟。
如果執(zhí)行有向邊的進一步替換,則當(dāng)從WJS到WJE-1的有向路徑由全 部具有長度1的有向邊組成時,或者當(dāng)形成/人WJS到WJE-1的有向路徑的有 向邊的數(shù)量超過DDT時,在上述(步驟3)到(步驟9)中出現(xiàn)的處理的循 環(huán)結(jié)束。另一方面,當(dāng)沒有對組成有向圖I,的任意有向邊設(shè)置完成,并且不 存在具有長度2或更長的有向邊時,在上述(步驟l)到(步驟5)或(步驟 6)中出現(xiàn)的處理的循環(huán)結(jié)束。通過以上處理,可以生成期望的有向圖I。
最后,示出了使用上述有向圖生成方法而生成的有向圖I的示例。圖26 示出了基于具有圖3所示的葉節(jié)點的數(shù)量11=64的完全二叉樹,在設(shè)置參數(shù) k=6的情況下的有向圖I。
首先,將基于基本方案生成的有向圖H (圖4)與根據(jù)本實施例的有向 圖I(圖26)進行比較,如下兩點是顯而易見的。(l)與有向圖H相比,在 有向圖I中,具有長度2或更長的有向邊的數(shù)量減少,并且從一個坐標(biāo)點延 伸的有向邊的數(shù)量減少。(2)對于有向圖I上的許多有向路徑,有向邊的數(shù) 量減少。由此,確認生成了能夠減少生成集合密鑰所需的計算量的最差值并 減少要由用戶保存的中間密鑰的數(shù)量的有向圖I。
為了更加量化地理解根據(jù)本實施例減少密鑰數(shù)量的效果,在圖27中的表 格中示出了在基本方案與本實施例之間的比較結(jié)果。參照圖27,減少要由用 戶保存的密鑰的總和(密鑰的總數(shù))以及要由用戶保存的密鑰的平均數(shù)。盡 管由于在用戶數(shù)量n只有n=64那么小的執(zhí)行中獲得以上結(jié)果,因此要減少的 密鑰數(shù)量的絕對值似乎不大,但是由于用戶數(shù)量相差懸殊,因此期望在執(zhí)行 環(huán)境中減小的效果作為非常明顯的差別出現(xiàn)。進一步,由形成最長有向路徑 的有向邊的數(shù)量表示生成集合密鑰所需的計算量的最差值,并且當(dāng)在基于基 本方案生成的有向圖H中所述值為(2k-l"(n"k-l)時,在根據(jù)本實施例的有向圖I中減少了一半至l^(n,1)。
在上文中描述了生成能夠減少生成集合密鑰所需的計算量的最差值并減 少要由用戶保存的中間密鑰的數(shù)量的有向圖的邏輯。上述密鑰生成邏輯(有
向圖)的構(gòu)造主要由組成密鑰分發(fā)服務(wù)器152的密鑰生成邏輯構(gòu)建塊來執(zhí)行。 然而,為了基于以上密鑰生成邏輯執(zhí)行加密密鑰分發(fā),其他元件是必需的。 由此,重新參照圖19,在下文中描述其他元件。
重新參照圖19,除了上述密鑰生成邏輯構(gòu)建塊之外,密鑰分發(fā)服務(wù)器152 包括初始中間密鑰設(shè)置部分162、密鑰生成部分164、加密部分166、傳送部 分168和子集確定部分170。
(初始中間密鑰設(shè)置部分162 )
初始中間密鑰設(shè)置部分162對于與樹的每個中間節(jié)點對應(yīng)的每個有向圖 I,生成與有向圖I的初始坐標(biāo)點對應(yīng)的中間密鑰。例如,初始中間密鑰設(shè)置 部分162可以使用偽隨機數(shù)發(fā)生器來生成隨機數(shù),并將隨機數(shù)設(shè)置為與以上 初始坐標(biāo)點(根)對應(yīng)的每個中間密鑰,或者可以將給定數(shù)值設(shè)置為每個中 間密鑰。
(密鑰生成部分164)
對于組成有向圖I的某個有向邊,當(dāng)輸入分配給由有向邊的尾部表示的 坐標(biāo)點的給定中間密鑰時,密鑰生成部分164輸出與由有向邊的尾部表示的
的中間密鑰。由此,密鑰生成部分164與基本方案的PRSG對應(yīng)。然而,密 鑰生成部分164與基本方案的PRSG的不同在于它基于由有向圖生成部分 160生成的有向圖I輸出中間密鑰。如果將密鑰生成部分164表示為與PRSG 相同,則當(dāng)輸入與有向圖I的某個坐標(biāo)點SO對應(yīng)的中間密鑰t(SO)時,輸出與
其尾部位于所述坐標(biāo)點的有向邊的頭部對應(yīng)的中間密鑰t(Sl)、 t(S2)........
t(Sm)(與子集SO對應(yīng))以及集合密鑰k(SO)。注意,m表示其尾部位于某個 坐標(biāo)點SO的有向邊的數(shù)量。 (加密部分166)
加密部分166通過使用集合密鑰加密內(nèi)容密鑰。盡管內(nèi)容密鑰的數(shù)量是 1,但是存在與組成集合系統(tǒng)O的子集數(shù)量相同的集合密鑰的數(shù)量。因此, 在組成集合系統(tǒng)O的所有子集之中,加密部分116通過使用與由子集確定部 分170選擇的子集對應(yīng)的每個集合密鑰來加密內(nèi)容密鑰(將在后面描述)。
90由此,加密部分166生成與各個集合密鑰對應(yīng)的經(jīng)加密的內(nèi)容密鑰。因此,
如果所選擇的子集的數(shù)量是m,則生成m個經(jīng)加密的內(nèi)容密鑰??商娲?, 加密部分166可以加密內(nèi)容。例如,加密部分166可以使用內(nèi)容密鑰來加密 內(nèi)容或者可以使用上述各個集合密鑰來加密內(nèi)容。然而,使用集合密鑰來加 密內(nèi)容的配置是本實施例的可替代的示例。 (傳送部分168)
傳送部分168將由加密部分166加密的內(nèi)容密鑰傳送到與葉節(jié)點對應(yīng)的 所有用戶。進一步,傳送部分168通過參照上述有向圖I可以向每個用戶分 發(fā)中間密鑰。此時,傳送部分168可以以每個用戶均可以導(dǎo)出與其所屬的子 集對應(yīng)所有中間密鑰的方式分發(fā)最小所需數(shù)量的中間密鑰。具體地說,傳送 部分168可以從組成集合系統(tǒng)0 (參照以上表達式(1 ))的子集中提取中間 密鑰的分發(fā)目的地用戶所屬的子集,從與所提取的子集對應(yīng)的有向圖I的坐 標(biāo)點中選擇一個坐標(biāo)點,以便在與達到所述坐標(biāo)點的有向邊的尾部對應(yīng)的子 集中不包括分發(fā)目的地用戶,并僅將與所選擇的坐標(biāo)點對應(yīng)的中間密鑰分發(fā) 至分發(fā)目的地用戶。然而,如果中間密鑰的分發(fā)目的地用戶所屬的子集與有 向圖I的初始坐標(biāo)點對應(yīng),則傳送部分168可以^5l將與初始坐標(biāo)點對應(yīng)的中 間密鑰分發(fā)至分發(fā)目的地用戶。進一步,傳送部分168可以用作向每個用戶 分發(fā)有向圖I的信息的有向圖信息分發(fā)部分。具體地說,當(dāng)輸入每個中間密 鑰時,傳送部分168可以分發(fā)與基于有向圖I輸出給定中間密鑰和集合密鑰 的PRSG的密鑰生成算法(如密鑰生成程序)有關(guān)的信息。
通過使用不同于用于內(nèi)容分發(fā)的信道的通信信道,可以在內(nèi)容的分發(fā)之 前執(zhí)行中間密鑰的分發(fā)。例如,在終端單元的制造工廠中制造終端時,可以 從密鑰分發(fā)服務(wù)器152輸出每個終端的中間密鑰,并將其記錄在記錄媒體上, 并且可以將從記錄^ 某體中讀取的每個終端單元的中間密鑰存儲到對應(yīng)的終端 單元中。
(子集確定部分170)
子集確定部分170確定應(yīng)該對其禁止內(nèi)容或內(nèi)容密鑰的解密的排除用戶 的集合(R),并通過使用從與有向圖I的坐標(biāo)點對應(yīng)的子集中選擇的給定子 集的并集,從所有用戶的集合(N)中消除排除用戶的集合(R),來定義許 可用戶的集合(N\R),然后以組成許可用戶的集合(N\R)的子集數(shù)量 最小的方式確定組成許可用戶的集合(N \ R)的 一組子集。子集確定部分170可以由如下部分組成許可用戶集合確定部分,用于確定許可用戶的集合(N\R);以及許可用戶子集確定部分,用于確定組成許可用戶的集合(N\R) 的一組子集。在以上述方式由子集確定部分170確定組成許可用戶的集合(N\R=SlUS2U.,.USm; m是自然數(shù))的子集(S1、 S2........ Sm)之后,傳送部分168向每個用戶分發(fā)許可用戶的集合(N\R)或組成許可用戶的集合(N\R)的子集(Sl、 S2........ Sm)。進一步,加密部分166使用與由子集確定部分170確定的子集(Sl、 S2.......、 Sm)對應(yīng)的集合密鑰,來加密內(nèi)容或內(nèi)容密鑰,并且傳送部分168將經(jīng)加密的內(nèi)容或內(nèi)容密鑰分發(fā)至每個用 戶。在上文中描述了根據(jù)本發(fā)明的優(yōu)選實施例的密鑰分發(fā)服務(wù)器152的配 置。如上所述,本實施例的特征主要在于密鑰生成邏輯構(gòu)建塊的配置。特別 地,本實施例具有在用于生成確定密鑰生成邏輯的有向圖的有向圖生成部分 160的配置方面的特征。根據(jù)本實施例的有向圖生成部分160可以生成能夠 在不增加對于每個用戶來說用以生成集合密鑰所需的計算量的情況下減少要由每個用戶保存的中間密鑰的數(shù)量的密鑰生成邏輯(有向圖)。結(jié)果,可以 節(jié)省每個用戶用以保存中間密鑰所需的存儲器容量以及用于密鑰生成的計算[加密密鑰分發(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組成的接收器組中的每個接收器310傳送數(shù)據(jù)。如后面所述,廣播信托中心304以僅授權(quán)接收器310可以解密所廣播的數(shù)據(jù)的方式加密廣播數(shù)據(jù)。 盡管圖28示出了使用廣播衛(wèi)星306的廣播系統(tǒng),但是也可以使用其他廣播信 道,如有線電一見和計算機網(wǎng)絡(luò)。在上文中描述了作為加密密鑰分發(fā)系統(tǒng)100的廣播加密系統(tǒng)300的配置。 簡要地總結(jié)與加密密鑰分發(fā)系統(tǒng)100的關(guān)系,就是廣播信托中心304與密鑰 分發(fā)服務(wù)器102對應(yīng),而接收器310與接收器122對應(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等)和可重寫i某體(如 CD-RW、 DVD-RW等)之類的媒體406的每一件數(shù)據(jù)媒體中存儲數(shù)據(jù)。在只 讀々某體中,廣播信托中心404記錄經(jīng)加密的內(nèi)容密鑰和經(jīng)加密的內(nèi)容,以便 僅授權(quán)用戶可以解密內(nèi)容并訪問經(jīng)加密的內(nèi)容(如聲音、視頻、文本等)。 另一方面,在可重寫媒體中,廣播信托中心404記錄經(jīng)加密的內(nèi)容密鑰,以 便僅授權(quán)的記錄單元可以將對應(yīng)數(shù)據(jù)記錄到記錄媒體中。例如,媒體制造商 402將媒體406發(fā)送到諸如零售商店之類的分發(fā)中間商。分發(fā)中間商408向 住宅412中的接收器414提供J 某體410。例如,分發(fā)中間商408向一人銷售 媒體410,并且該人將媒體410帶入住宅412中,并將媒體410插入接收器 414。例如,接收器414可以是讀取并回^^某體410中存儲的數(shù)據(jù)的單元,如 CD播放器、DVD播放器和計算機。作為另一具體示例,接收器414可以是 能夠?qū)?shù)據(jù)記錄到媒體410中并從媒體410讀取數(shù)據(jù)的盤單元,如DVD-RW 驅(qū)動器。廣播信托中心404以僅授權(quán)接收器414可以解密經(jīng)加密的數(shù)據(jù)的方 式加密數(shù)據(jù)。在上文中描述了作為加密密鑰分發(fā)系統(tǒng)100的一個應(yīng)用的廣播加密系統(tǒng) 400的配置。簡單地總結(jié)與加密密鑰分發(fā)系統(tǒng)100的關(guān)系,就是廣播信托中 心404與密鑰分發(fā)服務(wù)器102對應(yīng),而接收器414與接收器122對應(yīng)。進一 步,代替連接它們的網(wǎng)絡(luò),分發(fā)媒體406和410的分發(fā)中間商408作為媒介存在。盡管參照附圖描述本發(fā)明的優(yōu)選實施例,但是本發(fā)明當(dāng)然不限于此。對 于本領(lǐng)域的技術(shù)人員來說顯而易見,在不脫離權(quán)利要求的范圍的情況下可以 進行各種改變和修改,并且旨在本發(fā)明的技術(shù)范圍內(nèi)的包含。例如,假設(shè)上述樹結(jié)構(gòu)設(shè)置部分104形成分支從上到下變得更寬的樹結(jié)構(gòu),不限于此,并且樹結(jié)構(gòu)可以是這樣的分支從下到上變得更寬,從左到右變得更寬,或從右到左變得更寬。在這種情況下,必須改變與各個中間節(jié) 點相關(guān)的子集的定義以便適合它。然而,改變是簡單地旋轉(zhuǎn)由上述樹結(jié)構(gòu)設(shè)置部分104配置的樹結(jié)構(gòu),并且其意義與任意情況下完全相同。進一步,盡 管臨時有向圖生成部分108和有向圖生成部分IIO通過從左至右或從右至左 設(shè)置坐標(biāo)軸來構(gòu)建有向圖I,和I,但是對于顛倒了左和右的改變來說是相同 的。具體地說,盡管在以上描述中為了方便起見,基于垂直方向或水平方向 來定義參數(shù),但是基于普通人或本領(lǐng)域技術(shù)人員的常識,即使旋轉(zhuǎn)或顛倒樹 結(jié)構(gòu)或有向圖以改變垂直和水平關(guān)系,這也旨在包含于完全相同的技術(shù)范圍。例如,根據(jù)本發(fā)明的實施例的臨時有向圖生成部分108不僅可以基于上 述基本方案生成臨時有向圖,還可以基于另一方案生成臨時有向圖。例如, 臨時有向圖可以是通過簡單地組合具有長度1的有向邊和具有長度2的有向 邊而形成的有向圖,或者可以是將更長的有向邊朝向更接近或更遠離有向路 徑的起點的位置放置的有向圖。當(dāng)然,它可以是基于比上述基本方案更復(fù)雜 的邏輯而生成的臨時有向圖。以這種方式,本發(fā)明的基本構(gòu)思可應(yīng)用的范圍 不限于上述基本方案,而是覆蓋了通過各種方案生成的有向圖。當(dāng)然,根據(jù) 本實施例的信息處理單元可以進一步包括獲取或接收由另一信息處理單元生 成的有向圖的獲取部分并可以基于給定條件重建有向圖。例如,假設(shè)上述樹結(jié)構(gòu)設(shè)置部分154形成分支從上到下變得更寬的樹結(jié) 構(gòu),不限于此,并且樹結(jié)構(gòu)可以是這樣的分支從下到上變得更寬,從左到 右變得更寬,或從右到左變得更寬。在這種情況下,必須改變與各個中間節(jié) 點相關(guān)的子集的定義以便適合它。然而,改變是簡單地旋轉(zhuǎn)由上述樹結(jié)構(gòu)設(shè) 置部分104配置的樹結(jié)構(gòu),并且其意義與任意情況下完全相同。進一步,盡 管臨時有向圖生成部分158和有向圖生成部分160通過從左至右或從右至左 設(shè)置坐標(biāo)軸來構(gòu)建有向圖I,和I,但是對于顛倒了左和右的改變來說是相同 的。具體地說,盡管在以上描述中為了方便起見,基于垂直方向或水平方向 來定義參數(shù),但是基于普通人或本領(lǐng)域技術(shù)人員的常識,即使旋轉(zhuǎn)或顛倒樹結(jié)構(gòu)或有向圖以改變垂直和水平關(guān)系,這也旨在包含于完全相同的技術(shù)范圍。 例如,根據(jù)本發(fā)明的實施例的臨時有向圖生成部分158不僅可以基于上 述基本方案生成臨時有向圖,還可以基于另一方案生成臨時有向圖。例如, 臨時有向圖可以是將更長的有向邊朝向更接近或更遠離有向路徑的起點的位 置放置的有向圖。當(dāng)然,它可以是基于比上述基本方案更復(fù)雜的邏輯而生成 的臨時有向圖。以這種方式,本發(fā)明的基本構(gòu)思可應(yīng)用的范圍不限于上述基本方案,而是覆蓋了通過各種方案生成的有向圖。進一步,根據(jù)本實施例的 信息處理單元可以進一步包括獲取給定有向圖的獲取部分。在這種情況下, 信息處理單元基于所獲取的有向圖可以生成集合密鑰。
權(quán)利要求
1、一種信息處理單元,包括有向圖獲取部分,用于獲取通過在由多條有向邊組成的臨時有向圖中以更短的有向邊替換組成所述臨時有向圖的至少一條有向邊而生成的有向圖;以及密鑰生成部分,用于基于由所述有向圖獲取部分獲取的有向圖,生成用于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
2、 根據(jù)權(quán)利要求1所述的信息處理單元,其中通過以更短的有向邊替換組成所述臨時有向圖的至少一條有向邊來生成 所述有向圖,以便不超過在組成所述臨時有向圖的多條有向邊之中的連續(xù)有 向邊的最大數(shù)量。
3、 根據(jù)權(quán)利要求1所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2........ Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
4、 根據(jù)權(quán)利要求1所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
5、 根據(jù)權(quán)利要求1所述的信息處理單元,進一步包括初始中間密鑰設(shè)置部分,用于將給定隨機數(shù)設(shè)置為與每個有向圖的尾部 對應(yīng)的中間密鑰。
6、 根據(jù)權(quán)利要求1所述的信息處理單元,進一步包括 加密部分,用于使用所述集合密鑰來加密內(nèi)容或內(nèi)容密鑰。
7、 根據(jù)權(quán)利要求6所述的信息處理單元,進一步包括傳送部分,用于向分別與組成給定二叉樹的葉節(jié)點1到n中的一些或全 部相關(guān)的終端單元傳送由所述加密部分加密的內(nèi)容或內(nèi)容密鑰,其中n是自 然數(shù)。
8、 根據(jù)權(quán)利要求1所述的信息處理單元,其中所述有向圖獲取部分獲取以將更短的有向邊朝向由連續(xù)有向邊組成的每 個有向路徑的端點而放置的方式進行替換的有向圖。
9、 根據(jù)權(quán)利要求7所述的信息處理單元,進一步包括 子集確定部分,用于通過將葉節(jié)點1到n的子集定義為Si,確定允許解密通過使用集合密鑰或內(nèi)容密鑰而加密的內(nèi)容的終端單元的集合(N \ R),并 確定滿足集合(NXR^SlUS2U…USm的m個子集Sl到Sm。
10、 根據(jù);仗利要求9所述的信息處理單元,其中 所述子集確定部分確定子集Sl到Sm以便最小化m。
11、 根據(jù)權(quán)利要求9所述的信息處理單元,進一步包括傳送部分,用于向所述終端單元傳送指示集合(NXR)的信息或指示組成 集合(NXR)的子集Sl到Sm的信息。
12、 根據(jù)權(quán)利要求1所述的信息處理單元,進一步包括 解密部分,用于通過使用所述集合密鑰來解密內(nèi)容或內(nèi)容密鑰。
13、 根據(jù)權(quán)利要求12所述的信息處理單元,進一步包括 接收部分,其與組成給定二叉樹的一個或多個葉節(jié)點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)容密鑰可以由 一個 或多個信息處理單元來解密,所述一個或多個信息處理單元與作為集合S的 元素的葉節(jié)點相關(guān)聯(lián),所述集合S包括在定義為葉節(jié)點1到n的子集的集合 Si中與其自身相關(guān)聯(lián)的葉節(jié)點。
15、 一種信息處理單元,在由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于根 節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位 于左端的葉節(jié)點的編號定義為lv,而將分配給位于右端的葉節(jié)點的編號定義 為rv,對于自然數(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é)點相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點, 對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理單元包括有向圖獲取部分,用于獲取通過以更短的有向邊替換組成臨時有向圖的 至少一個有向邊而生成的有向圖,所述臨時有向圖是根據(jù)對于給定整數(shù)k滿 足^x-"、(rv-lv+l)^^k的自然數(shù)x,通過在第 一到第四水平坐標(biāo)軸上排列具有 長度n"k的多條有向邊而形成的,其中i=0, 1,……,x-l;以及密鑰生成部分,用于基于由所述有向圖獲取部分獲取的有向圖,生成用 于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
16、 一種信息處理單元,包括樹結(jié)構(gòu)設(shè)置部分,用于配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是 自然數(shù),并且對于自然數(shù)i和j,其中Gj,通過將集合(i—j)定義為《W, {i, i+l}, i+1, ...,j-l,j}},而將集合(i—j)定義為(W, {j,j-l},…,(j,j-l,…,i+l,i}},在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將 分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的 編號設(shè)置為rv;坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具 有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點V相關(guān),并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水平坐標(biāo)軸的左端的坐標(biāo) 點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè),并將位于第 一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點; 臨時有向圖生成部分,用以 通過設(shè)置給定整數(shù)k,計算滿足n(x-1)/k<(rv-lv+l)^nx/k的整數(shù)x,以及 對于每個整數(shù)i^0到x-l,通過連接具有長度nl/k的一條或多條右向有向邊來形成具有位 于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo) 點的尾部或頭部的所有有向邊,以及從到達第 一 到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除 除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的 頭部的有向邊添加到與集合(1—n-l)有關(guān)的臨時有向圖,來生成與集合(1—n) 有關(guān)的臨時有向圖;以及有向圖生成部分,用于通過以更短的有向邊替換剩余的有向邊來生成有向圖。
17、 根據(jù)權(quán)利要求16所述的信息處理單元,包括密鑰生成部分,用于基于所述有向圖生成用于加密內(nèi)容或內(nèi)容密鑰的集 合密鑰。
18、 根據(jù)權(quán)利要求17所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入,所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2.......、 Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
19、 根據(jù)權(quán)利要求17所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
20、 一種終端單元,包括密鑰生成部分,用于基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密 鑰,其中所述有向圖通過如下步驟獲得配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于 根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然 數(shù)i和j,其中Sj,將集合(i—j)定義為(W, {i,i+l},…,化i+l, ...,j-l,j}},而 將集合(i—j)定義為(W, {j,j-l},…,...,i+l,i}},在位于某個中間節(jié)點v 或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號 設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點V相關(guān),并且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水平坐標(biāo)軸的左端的坐標(biāo)點的 左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè),并將位于第一水 平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點;通過設(shè)置給定整數(shù)k,計算滿足n^,〈(rv-lv+l)^^k的整數(shù)x,以及 對于每個整數(shù)1=0到x-l,通過連接具有長度nl/k的 一條或多條右向有向邊來形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的尾部或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了 最長有向邊之外的有向邊,來生成分別與集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度1的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的頭部 的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合(1 —n)有關(guān) 的臨時有向圖;在由剩余有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊 的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量 的方式,以更短的有向邊替換組成每個有向路徑的有向邊。
21、根據(jù)權(quán)利要求20所述的終端單元,進一步包括解密部分,用于通過使用所述集合密鑰來解密經(jīng)加密的內(nèi)容或經(jīng)加密的 內(nèi)容密鑰。
22、 根據(jù)權(quán)利要求20所述的終端單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以 及與位于具有位于所述坐標(biāo)點的尾部的有向邊的頭部的坐標(biāo)點對應(yīng)的子集 Sl、 S2、 ....... Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
23、 根據(jù)權(quán)利要求20所述的終端單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集s的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
24、 根據(jù)權(quán)利要求21所述的終端單元,其中解密部分通過使用所述集合密鑰來解密經(jīng)加密的內(nèi)容密鑰,并使用經(jīng)解 密的內(nèi)容密鑰來解密經(jīng)加密的內(nèi)容。
25、 根據(jù)權(quán)利要求20所述的終端單元,包括 其中將樹的葉節(jié)點1到n的子集定義為Si,以及當(dāng)確定了允許解密通過使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容 的終端單元的集合NXR,確定滿足集合NXR二SlUS2U…USm的m個子集Sl到Sm,并接收指示集合NXR的信息或指示組成集合NXR的子集Sl到 Sm的信息時,判定部分,用于基于所接收到的信息來判定所述終端單元是否屬于子集 Sl到Sm中的任意一個,并基于判定結(jié)果來判定是否允許經(jīng)加密的內(nèi)容的解密。
26、 根據(jù)權(quán)利要求25所述的終端單元,其中當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個時,解密部分通過 使用與所述終端單元所屬的子集對應(yīng)的集合密鑰來解密內(nèi)容或內(nèi)容密鑰。
27、 一種信息處理方法,包括有向圖獲取步驟,獲取通過在由多條有向邊組成的臨時有向圖中以更短 的有向邊替換組成所述臨時有向圖的至少一條有向邊而生成的有向圖;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成用于加 密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
28、 一種信息處理方法,在由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中 在位于某個中間節(jié)點V或某個根節(jié)點V之下的多個葉節(jié)點之中,將分配給位 于左端的葉節(jié)點的編號定義為lv,而將分配給位于右端的葉節(jié)點的編號定義 為rv,對于自然數(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é)點相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理方法包括有向圖獲取步驟,獲取通過以更短的有向邊替換組成臨時有向圖的至少 一個有向邊而生成的有向圖,所述臨時有向圖是根據(jù)對于給定整數(shù)k滿足 n(x-1)/k<(rv-lv+l)£nx/1^々自然數(shù)x,通過在第一到第四水平坐標(biāo)軸上排列具有長 度i/k的多條有向邊而形成的,其中i=0, 1, ......, x-l;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成用于加 密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
29、 一種信息處理方法,包括樹結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不 同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于 自然數(shù)i和j,其中通過將集合(i—j)定義為U^, {i, i+l}, ...,{i, i+1,j}},而將集合(i—j)定義為Uj),(i,j-i),…,(i,j-i,…,i+i,W,在位于某個中間節(jié)點V或某個根節(jié)點V之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv; 坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具 有分別與集合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具 有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第一到第四水平坐標(biāo)軸的左端的坐標(biāo) 點的左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè),并將位于第 一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點; 臨時有向圖生成步驟通過設(shè)置給定整數(shù)k,計算滿足n(x-1)/k<(rV-lV+l)$nx/k的整數(shù)x,以及 對于每個整數(shù)1=0到x-l,通過連接具有長度nl/k的 一條或多條右向有向邊來形成具有位 于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo) 點的尾部或頭部的所有有向邊,以及從到達第 一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除 除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的 頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合(1 —n) 有關(guān)的臨時有向圖;最長有向路徑確定步驟,在由連續(xù)有向邊形成的有向路徑之中,確定具 有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑;以及有向圖生成步驟,通過以每個有向路徑的有向邊的數(shù)量不超過最長有向 路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向 邊來生成有向圖。
30、 一種密鑰生成方法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰, 其中所述有向圖通過如下步驟獲得配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于 根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(shù)i和j,其中iSj,將集合(i—j)定義為(W, {i,i+l},…,化i+,...,j-l,j}},而 將集合(i—j)定義為UJ), {j,j-l},…,...,i+l,i}},在位于某個中間節(jié)點v 或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號 設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將一個臨時坐標(biāo)點放置在位于第 一到第四水平坐標(biāo)軸的左端的坐標(biāo)點的 左側(cè)和位于第二到第四水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè),并將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為臨時坐標(biāo)點; 通過設(shè)置給定整數(shù)k,計算滿足n(x-,〈(rv-lv+l)^i流的整數(shù)x,以及 對于每個整數(shù)1=0到x-l,通過連接具有長度ni/k的 一條或多條右向有向邊來形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的 尾部或頭部的所有有向邊,以及從到達第 一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了 最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有關(guān)的臨時有向圖,以及通過將具有長度1的、具有位于第一水平坐標(biāo)軸的右端的坐標(biāo)點的頭部 的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合(1 —n)有關(guān) 的臨時有向圖;在由剩余有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向邊。
31、 一種信息處理單元,包括有向圖獲取部分,用于獲取通過在由多條有向邊組成的臨時有向圖中, 保留在組成所述臨時有向圖的多條有向邊之中較長的有向邊而以更短的有向 邊替換留下的至少一條有向邊而生成的有向圖;以及密鑰生成部分,用于基于由所述有向圖獲取部分獲取的有向圖,生成用 于加密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
32、 根據(jù)權(quán)利要求31所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2........ Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
33、 根據(jù)權(quán)利要求31所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2.......、 Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
34、 根據(jù)權(quán)利要求31所述的信息處理單元,進一步包括 加密部分,用于使用所述集合密鑰來加密內(nèi)容或內(nèi)容密鑰。
35、 根據(jù)權(quán)利要求34所述的信息處理單元,進一步包括 傳送部分,用于向分別與組成給定二叉樹的葉節(jié)點1到n中的一些或全部相關(guān)的終端單元傳送由所述加密部分加密的內(nèi)容或內(nèi)容密鑰,其中n是自 然數(shù)。
36、 根據(jù)權(quán)利要求31所述的信息處理單元,其中個有向路徑的端點而放置的方式替換有向邊的有向圖。
37、 根據(jù)權(quán)利要求35所述的信息處理單元,進一步包括 子集確定部分,通過將葉節(jié)點1到n的子集定義為Si,用于確定允許解密通過使用集合密鑰或內(nèi)容密鑰而加密的內(nèi)容的終端單元的集合NXR,并確定滿足集合N、I^SlUS2U…USm的m個子集Sl到Sm,以便最小化m。
38、 根據(jù)權(quán)利要求37所述的信息處理單元,進一步包括 傳送部分,用于向所述終端單元傳送指示集合NXR的信息或指示組成集合NXR的子集S1到Sm的信息。
39、 根據(jù)權(quán)利要求31所述的信息處理單元,進一步包括 解密部分,用于通過使用所述集合密鑰來解密內(nèi)容或內(nèi)容密鑰。
40、 根據(jù)權(quán)利要求39所述的信息處理單元,進一步包括 接收部分,其與組成給定二叉樹的一個或多個葉節(jié)點l到n相關(guān),其中n是自然數(shù),用于接收使用所述集合密鑰而加密的內(nèi)容或內(nèi)容密鑰。
41、 根據(jù)權(quán)利要求40所述的信息處理單元,其中由所述接收部分接收到的經(jīng)加密的內(nèi)容或經(jīng)加密的內(nèi)容密鑰可以由 一個 或多個信息處理單元來解密,所述一個或多個信息處理單元與作為集合s的元素的葉節(jié)點相關(guān),所述集合S包括在定義為葉節(jié)點1到n的子集的集合Si 中與其自身相關(guān)的葉節(jié)點。
42、 一種信息處理單元,用以根據(jù)對于給定整數(shù)k滿足 n(x-1)/k<(rv-lv+l)£nx/l^々自然數(shù)x,處理通過在第一和第四水平坐標(biāo)軸上排列具 有長度n流的多條有向邊而形成的臨時有向圓,其中i二O, 1,……,x-l,在由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于根 節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點中,將分配給位于 左端的葉節(jié)點的編號定義為lv,而將分配給位于右端的葉節(jié)點的編號定義為 rv,對于自然數(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é)點相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理單元包括臨時有向圖獲取部分,用于獲取臨時有向圖;有向圖生成部分,用于通過保留在組成由所述臨時有向圖獲取部分獲取 的所述臨時有向圖的多條有向邊之中較長的有向邊來生成有向圖;最長有向路徑確定部分,用于確定在組成所述有向圖的多條有向邊之中連續(xù)有向邊的最大數(shù)量;有向邊替換部分,用于通過以更短的有向邊替換組成所述有向圖的至少一條有向邊來重建所述有向圖,以便不超過連續(xù)有向邊的最大數(shù)量;以及 密鑰生成部分,用于基于由所述有向邊替換部分重建的所述有向圖,生成用于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
43、 一種信息處理單元,包括樹結(jié)構(gòu)設(shè)置部分,配置由向其分配了編號1到n的、n個葉節(jié)點、 一個 根節(jié)點以及不同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然 數(shù),并且對于自然數(shù)i和j,其中Sj,通過將集合(i—j)定義為U^,化i+l}, ...,{i,i+l,…,j-l,j}},而將集合(i—j)定義為(W, (J,卜1},…,(J, J",…,i+l, 在 位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點中,將分配給位于左 端的葉節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv; 坐標(biāo)軸設(shè)置部分,用以設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具 有分別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并 將第二臨時坐標(biāo)點放置在所述第一臨時坐標(biāo)點的右側(cè); 臨時有向圖生成部分,用以 通過設(shè)置給定整數(shù)k,計算滿足n(x-1)/k<(rv-lv+l)^ix/k的整數(shù)x,以及 對于每個整數(shù)i^0到x-l,通過連接具有長度ni/k的 一條或多條右向有向邊來形成具有位 于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度nl/k的 一條或多條左向有向邊來形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo) 點的尾部或頭部的所有有向邊,以及從到達第 一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除 除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度l的、具有位于第一水平坐標(biāo)軸上第一臨時坐標(biāo)點 的頭部的有向邊添加到與集合(1 —n-1 )相關(guān)的臨時有向圖,來生成與集合 (1—n)相關(guān)的臨時有向圖;最長有向路徑確定部分,用于在由連續(xù)有向邊形成的有向路徑之中,確 定具有組成所述有向路徑的有向邊的最大數(shù)量的最長有向路徑;以及有向圖生成部分,用于通過每個有向路徑的有向邊的數(shù)量不超過最長有 向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每一條有向路徑的 有向邊來生成有向圖。
44、 根據(jù)權(quán)利要求43所述的信息處理單元,包括密鑰生成部分,用于基于所述有向圖生成用于加密內(nèi)容或內(nèi)容密鑰的集 合密鑰。
45、 根據(jù)權(quán)利要求44所述的信息處理單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以及位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2.......、 Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
46、 根據(jù)權(quán)利要求44所述的信息處理單元,其中 響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)的輸入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2)........ k(Sk)。
47、 一種終端單元,包括密鑰生成部分,用于基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密 鑰,其中所述有向圖通過如下步驟而獲得配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于 根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(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}},在位于某個中間節(jié)點v 或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號 設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè) 以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并將第二臨時坐標(biāo)點;故置在第 一臨時坐標(biāo)點的右側(cè), 通過設(shè)置給定整數(shù)k,計算滿足n^-,〈(rv-lv+l)^^k的整數(shù)x,以及 對于每個整數(shù)卜0到x-l,通過連接具有長度ni/k的 一條或多條右向有向邊來形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的 尾部或頭部的所有有向邊,以及從到達第 一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了 最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有關(guān)的臨時有向圖,通過將具有長度1的、具有位于第一水平坐標(biāo)軸的第一臨時坐標(biāo)點的頭 部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合(1 —n)有 關(guān)的臨時有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊 的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向邊。
48、 根據(jù)權(quán)利要求47所述的終端單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集S的中間密鑰t(S)的輸入, 所述密鑰生成部分輸出對應(yīng)于與所述坐標(biāo)點對應(yīng)的子集S的集合密鑰k(S)以及位于具有位于所述坐標(biāo)點的尾部的有向邊的頭部的坐標(biāo)點Sl、 S2........Sk的中間密鑰t(Sl)、 t(S2)........ t(Sk)。
49、 根據(jù)權(quán)利要求47所述的終端單元,其中響應(yīng)于與所述有向圖中某個坐標(biāo)點對應(yīng)的子集s的集合密鑰k(S)的輸 入,所述密鑰生成部分輸出位于具有位于坐標(biāo)點S的尾部的有向邊的頭部的 坐標(biāo)點S1、 S2........ Sk的集合密鑰k(Sl)、 k(S2).......、 k(Sk)。
50、 根據(jù)權(quán)利要求48所述的終端單元,進一步包括解密部分,用于使用所述集合密鑰來解密經(jīng)加密的內(nèi)容密鑰,并使用經(jīng) 解密的內(nèi)容密鑰來解密經(jīng)加密的內(nèi)容。
51、 根據(jù)權(quán)利要求50所述的終端單元,進一步包括 其中將樹的葉節(jié)點1到n的子集定義為Si,以及當(dāng)確定了允許解密通過使用所述集合密鑰或所述內(nèi)容密鑰而加密的內(nèi)容 的終端單元的集合N \ R,確定滿足集合N \ R= S1US2U.. .USm的m個子集 Sl到Sm,并接收指示集合NXR的信息或指示組成集合NXR的子集S1到 Sm的信息時,判定部分,用于基于所接收到的信息來判定所述終端單元是否屬于子集 Sl到Sm中的任意一個,并基于判定結(jié)果來判定是否允許經(jīng)加密的內(nèi)容的解 密,其中當(dāng)判定所述終端單元屬于子集Sl到Sm中的任意一個時,所述解密部分 使用與所述終端單元所屬的子集對應(yīng)的集合密鑰來解密所述內(nèi)容或內(nèi)容密 鑰。
52、 一種信息處理方法,包括有向圖獲取步驟,在由多條有向邊組成的臨時有向圖中,獲取通過在組 成所述臨時有向圖的多條有向邊之中保留較長的有向邊而以更短的有向邊替 換留下的至少一條有向邊而生成的有向圖;以及密鑰生成步驟,基于由所述有向圖獲取部分獲取的有向圖,生成用于加 密或解密內(nèi)容或內(nèi)容密鑰的集合密鑰。
53、 一種信息處理方法,用以根據(jù)對于給定整數(shù)k滿足 n ,〈(rv-lv+l)Si^k的自然數(shù)x,處理通過在第一和第四水平坐標(biāo)軸上排列具 有長度r^的多條有向邊而形成的臨時有向圖,其中1=0, 1,……,x-l,在由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于根 節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹中,其中n是自然數(shù),并且其中在位于某個中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點中,將分配給位于 左端的葉節(jié)點的編號定義為lv,而將分配給位于右端的葉節(jié)點的編號定義為對于自然數(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é)點相關(guān),并且具有分 別與集合(l—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,設(shè)置第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點, 對于每個所述中間節(jié)點,設(shè)置第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-1)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及設(shè)置第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv十1 —rv)中包括的子集相關(guān)的、且以包含度從右至左增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,所述信息處理方法包括臨時有向圖獲取步驟,獲取臨時有向圖;有向圖生成步驟,通過在組成由所述臨時有向圖獲取部分獲取的所述臨 時有向圖的多條有向邊之中保留較長的有向邊來生成有向圖;最長有向路徑確定步驟,在組成所述有向圖的多條有向邊之中,確定連續(xù)有向邊的最大數(shù)量;有向邊替換步驟,通過以更短的有向邊替換組成所述有向圖的至少 一條 有向邊來重建所述有向圖,以便不超過連續(xù)有向邊的最大數(shù)量,以及密鑰生成步驟,基于由所述有向邊替換部分重建的所述有向圖,生成用 于加密內(nèi)容或內(nèi)容密鑰的集合密鑰。
54、 一種信息處理方法,包括樹結(jié)構(gòu)設(shè)置步驟配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不 同于根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,其中n是自然數(shù),并且 對于自然數(shù)i和j,其中i^j,通過將集合(i—j)定義為Ui), {i, i+l}, ...,{i, i+l,…, j-l,j}},而將集合(i—j)定義為U化{j,j-l},…,…,i+l, i}},在位于某個 中間節(jié)點v或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉 節(jié)點的編號設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;坐標(biāo)軸設(shè)置步驟設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分別與集合(1 —n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具 有分別與集合(2—n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排 列在水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān), 并且具有分別與集合(lv+l —rv)中包括的子集相關(guān)的、且以包含度從右至左增 大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的 右側(cè)以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè),以及將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并 將第二臨時坐標(biāo)點放置在第一臨時坐標(biāo)點的右側(cè);臨時有向圖生成步驟 通過設(shè)置給定整數(shù)k,計算滿足n(x-1)/k<(rv-lv+l)^ix/k的整數(shù)x,以及對于每個整數(shù)i二O到x-l,通過連接具有長度nl/k的一條或多條右向有向邊來形成具有位 于第一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度ni/k的 一條或多條左向有向邊來形成具有位 于第二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第 一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo) 點的尾部或頭部的所有有向邊,以及從到達第 一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除 除了最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有關(guān)的臨時有向圖,以及通過將具有長度1的、具有位于第一水平坐標(biāo)軸上第一臨時坐標(biāo)點 的頭部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合 (1—n)有關(guān)的臨時有向圖;最長有向路徑確定步驟,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成所述有向路徑的有向邊的最大數(shù)量的最長有向路徑;以及有向圖生成步驟,通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向邊來生成有向圖。
55、 一種密鑰生成方法,包括密鑰生成步驟,基于有向圖生成用于解密內(nèi)容或內(nèi)容密鑰的集合密鑰, 其中所述有向圖通過如下步驟而獲得配置由向其分配了編號1到n的、n個葉節(jié)點、 一個根節(jié)點以及不同于 根節(jié)點和葉節(jié)點的多個中間節(jié)點組成的二叉樹,n是自然數(shù),并且對于自然數(shù)i和j,其中。,將集合(i—j)定義為(W, (i,i+l),…,化i+l,…,j-1J}},而 將集合(i—j)定義為(W, {j,j-l},...,...,i+l,i}},在位于某個中間節(jié)點v 或某個根節(jié)點v之下的多個葉節(jié)點之中,將分配給位于左端的葉節(jié)點的編號 設(shè)置為lv,而將分配給位于右端的葉節(jié)點的編號設(shè)置為rv;設(shè)置第一水平坐標(biāo)軸,所述第一水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(1—n)中包括的子集相關(guān)的、且以包含度從左至右增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,第二水平坐標(biāo)軸,所述第二水平坐標(biāo)軸與根節(jié)點相關(guān),并且具有分 別與集合(2"n)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在 水平坐標(biāo)軸上的坐標(biāo)點,對于每個所述中間節(jié)點,第三水平坐標(biāo)軸,所述第三水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv—rv-l)中包括的子集相關(guān)的、且以包含度從左至右增大 的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及第四水平坐標(biāo)軸,所述第四水平坐標(biāo)軸與某個中間節(jié)點v相關(guān),并 且具有分別與集合(lv+l—rv)中包括的子集相關(guān)的、且以包含度從右至左增大的方式排列在水平坐標(biāo)軸上的坐標(biāo)點,以及將兩個臨時坐標(biāo)點均放置在位于第三水平坐標(biāo)軸的右端的坐標(biāo)點的右側(cè) 以及位于第二和第四水平坐標(biāo)軸的左端的坐標(biāo)點的左側(cè);將位于第一水平坐標(biāo)軸的右端的坐標(biāo)點設(shè)置為第一臨時坐標(biāo)點,并將第 二臨時坐標(biāo)點放置在第 一臨時坐標(biāo)點的右側(cè),通過設(shè)置給定整數(shù)k,計算滿足n(x-1)/k<(rv-lv+1 )^n流的整數(shù)x ,以及 對于每個整數(shù)i二0到x-l,通過連接具有長度ni/k的 一條或多條右向有向邊來形成具有位于第 一和第三水平坐標(biāo)軸的最左側(cè)坐標(biāo)點的尾部的有向路徑,通過連接具有長度nl/k的一條或多條左向有向邊來形成具有位于第 二和第四水平坐標(biāo)軸的最右側(cè)坐標(biāo)點的尾部的有向路徑,對于第一到第四水平坐標(biāo)軸中的每個,排除具有位于臨時坐標(biāo)點的 尾部或頭部的所有有向邊,以及從到達第一到第四水平坐標(biāo)軸上的每個坐標(biāo)點的有向邊中排除除了 最長有向邊之外的有向邊,來生成分別與集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有關(guān)的臨時有向圖,通過將具有長度1的、具有位于第一水平坐標(biāo)軸的第一臨時坐標(biāo)點的頭 部的有向邊添加到與集合(1 —n-1 )有關(guān)的臨時有向圖,來生成與集合(1—n)有 關(guān)的臨時有向圖,在由連續(xù)有向邊形成的有向路徑之中,確定具有組成有向路徑的有向邊 的最大數(shù)量的最長有向路徑,以及通過每個有向路徑的有向邊的數(shù)量不超過最長有向路徑的有向邊的數(shù)量的方式,以更短的有向邊替換組成每個有向路徑的有向邊。
全文摘要
公開了信息處理設(shè)備、終端、信息處理方法、密鑰創(chuàng)建方法和程序,其均能夠使用戶保存減少了數(shù)量的密鑰。信息處理設(shè)備繪制有向圖,所述有向圖表示用于導(dǎo)出用以加密內(nèi)容或內(nèi)容密鑰的集合密鑰的加密密鑰創(chuàng)建邏輯。在該技術(shù)中,將用戶終端的集合劃分為多個子集,將集合密鑰和中間密鑰分配給每個子集,并且如果輸入與子集相關(guān)聯(lián)的中間密鑰,則輸出對應(yīng)于與集合密鑰相關(guān)聯(lián)的子集的中間密鑰以及對應(yīng)于與所輸入的中間密鑰相關(guān)聯(lián)的子集的有向分支。本發(fā)明進一步涉及根據(jù)預(yù)定替換法則、以更短的有向分支替換有向圖中包括的有向分支的技術(shù)。該技術(shù)生成了減少每個用戶必須保存的中間密鑰的數(shù)量的效果。
文檔編號H04L9/08GK101536401SQ200780042720
公開日2009年9月16日 申請日期2007年10月3日 優(yōu)先權(quán)日2006年11月16日
發(fā)明者淺野智之, 草川雅文 申請人:索尼株式會社