信息处理设备的制作方法

文档序号:7680069阅读:194来源:国知局
专利名称:信息处理设备的制作方法
技术领域
本发明涉及信息处理单元、终端单元、信息处理方法、密钥生成方法和 程序。
背景技术
如今,涉及通过网络等的内容分发(contents distribution )的加密技术的 发展吸引了广泛的关注。特别地,安全并有效地分发用于解密经加密的内容 的加密密钥的方法吸引了特别的关注。 一般而言,如下的方案是必需的关 于分发经加密的内容的一个分发者,存在具有有效接收权利的n个(n是大 于等于2的自然数)接收者,并且在存在于网络上的无限个拦截者之中仅有 这n个接收者可以解密经加密的内容。进一步,由于具有有效接收权利的接 收者的数量n随时间变化,因此存在对于在接收者的集合中能够灵活地处理 变化的方案的需求。
此外,在这种方案的实现中,在分发者中出现涉及加密密钥的生成、保 存和分发、内容的加密等的处理负荷,并且自然在接收者中出现涉及解密密 钥的保存和接收、内容的解密等的处理负荷。通过各种最近的技术发展(如, 吞吐量信息处理设备的存储容量等的提高、信息传输路径的通信速度的提 高),关于上述加密分发处理负荷的负荷正在相对地降低是事实。然而,由于 内容分发服务的消费者的数量的急剧增加以及安全到足以防范有经验的恶意 拦截者的加密技术的需求,加密分发而引起的处理负荷相应地增大。
在这样的情况下,作为用以通过使用广播信道安全地将信息传送到由分 发者任意选择的一组接收者的技术,已经提出了诸如撤销方案(revocation scheme)和广播加密方案之类的方案。广播加密方案的一个示例是在下面的 非专利文献l中公开的加密密钥分发方案,并且所述方案的特征是使用现有 的分层树结构,对密钥分发方案进行密钥导出路径(key derivation path )的 改进。具体地说,该方案(其中,将接收者的集合看作被划分为多个子集) 通过将不包括在 一子集中的接收者添加到某个子集来创建新的子集,并且作为重复该处理的结果而创建子集链,然后沿着所述链导出与每个子集对应的 加密密钥。由此可以减少要由接收者保存的密钥的数量、用以生成解密密钥
的计算量以及用于密钥分发的通信量(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)。

发明内容
本发明要解决的问题
与诸如CD方案(完整子树方案,Complete Subtree Scheme )和SD方案 (子集差方案,SubsetDifferencescheme)之类的密钥分发方案相比,根据上 述非专利文献1的加密密钥分发方案具有显著的优点。然而,从假设实现的 实践角度来看,存在如下问题在接收者的数量很大的情况下,在接收者端 要由终端单元保存的密钥的数量以及内容解密所需的计算量仍然很大。
已经完成本发明来解决以上问题,由此本发明的目标是提供新的、改进 的、能够减小在接收者端要由终端单元保存的密钥的数量的信息处理单元、 终端单元、信息处理方法、密钥生成方法和程序。
解决问题的装置
为了解决以上问题,根据本发明的一个方面,提供了信息处理单元,包 括有向图获取部分,在由多条有向边组成的临时有向图中,获取通过以更 短的有向边替换组成所述临时有向图的至少一条有向边而生成的有向图;以 及密钥生成部分,基于由所述有向图获取部分获取的有向图,生成用于加密 或解密内容或内容密钥的集合密钥。
进一步,为了解决以上问题,根据本发明的一个方面,提供了信息处理 单元,在由向其分配了编号1到n的、n个叶节点、根节点以及不同于根节 点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中在
位于某个中间节点v或某个根节点v之下的多个叶节点之中,将分配给位于 左端的叶节点的编号定义为lv,而将分配给位于右端的叶节点的编号定义为 rv,对于自然数i和j,其中Sj,假设将集合(i—j)表示为Hi), {i, i+l}, ...,{i,
i+l,...,j-l,j}},而将集合(i—j)表示为UJh {j,j-l},..., {j,j-l,...,i+l,i}},设 置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集
25合(1 —n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐
标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,
并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的 方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平 坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具有分別与集合 (lv—rv-1)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平 坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个 中间节点v相关,并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以 包含度从右至左增大的方式排列在水平坐标轴上的坐标点,所述信息处理单 元包括有向图获取部分,获取通过以更短的有向边替换组成临时有向图的 至少 一个有向边而生成的有向图,所述临时有向图是根据对于给定整数k满 足i^-,〈(rv-lv+l)^^k的自然数x,通过在第一到第四水平坐标轴上排列具有 长度n"k的多条有向边而形成的,其中i二0, 1,……,x-l;以及密钥生成部 分,基于由所述有向图获取部分获取的有向图,生成用于加密或解密内容或 内容密钥的集合密钥。
进一步,为了解决以上问题,根据本发明的一个方面,提供了信息处理 单元,包括树结构设置部分,配置由向其分配了编号1到n的、n个叶节 点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树,n是 自然数,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将 分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的 编号设置为rv;
进一步包括坐标轴设置部分,用以设置第一水平坐标轴,所述第一水平 坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以 包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐 标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括 的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标 点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与 某个中间节点v相关,并且具有分别与集合(lv—rv-1)中包括的子集相关的、 且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点V相关,并且具有分别 与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列 在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水 平坐标轴的左端的坐标点的左侧和位于第二到第四水平坐标轴的右端的坐标 点的右侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点,
进一步包括临时有向图生成部分,用以通过设置给定整数k,计算满足
r^-'v、(rv-lv+l)^/k的整数x,以及对于每个整数i=0到x-l ,通过连接具有 长度n'A的一条或多条右向有向边来形成具有位于第一和第三水平坐标轴的 最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的一条或多条左向有 向边来形成具有位于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路 径,对于第一到第四水平坐标轴中的每个,排除具有位于临时坐标点的尾部 或头部的所有有向边,以及从到达第一到第四水平坐标轴上的每个坐标点的 有向边中排除除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集 合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)相关的临时有向图,以及通过将具 有长度l的、具有位于第一水平坐标轴的右端的坐标点的头部的有向边添加 到与集合(1 —n-1 )相关的临时有向图,来生成与集合(1 —n)相关的临时有向图,
进一步包括最长有向路径确定部分,用以在由连续有向边形成的有向路 径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以及
进一步包括有向图生成部分,用以通过每个有向路径的有向边的数量不 超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有 向路径的有向边来生成有向图。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发以及集合密钥的生成,由此当解密所分发的经加密 的信息时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需 的计算量的最差值的情况下,减少要由每个用户保存的密钥的数量。
在与集合(l—n)、集合(2—n)、集合(lv+l—rv)和集合(lv—i,v-l)相关的临 时有向图之中,最长有向路径确定部分可以关于不包括最长有向路径的各个 临时有向图,确定在每个临时有向图中的最长有向路径。进一步,在对于各 个临时有向图的每个临时有向图中,有向图生成部分可以通过每个有向路径 的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向
边替换组成每个有向路径的有向边来生成有向图。
27信息处理单元可以进一步包括密钥生成部分,用以基于所迷有向图生成 用于加密内容或内容密钥的集合密钥。
响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入,
所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以
及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2、 ....... Sk
的中间密钥t(Sl)、 t(S2)........ t(Sk)。
响应于与所述有向图中某个坐标点对应的子集s的集合密钥k(S)的输
入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
信息处理单元可以进一步包括初始中间密钥设置部分,用以将给定随机 数设置为与每个有向图的尾部对应的中间密钥。
信息处理单元可以进一步包括加密部分,用以使用集合密钥来解密内容 或内容密钥。
信息处理单元可以进一步包括传送部分,用以向分别与组成给定二叉树 的叶节点l到n(n是自然数)中的一些或全部相关的终端单元传送由加密部 分加密的内容或内容密钥。
的方式来替换临时有向图的有向边。
信息处理单元可以进一步包括子集确定部分,通过将叶节点1到n的子 集设置为Si,确定允许解密通过使用集合密钥而加密的内容或内容密钥的终 端单元的集合(N\R),并确定满足集合(NXR^SlUS2U…USm的m个子集 Sl到Sm。
子集确定部分可疑确定子集Sl到Sm以便最小化m。 信息处理单元可以进一步包括传送部分,用以向终端单元传送指示集合
(NXR)的信息或指示组成集合(N乂R)的子集Sl到Sm的信息。
信息处理单元可以进一步包括解密部分,用以使用集合密钥来解密内容
或内容密钥。
信息处理单元可以进一步包括接收部分,其与组成给定二叉树的一个或 多个叶节点1到n ( n是自然数)相关,接收使用集合密钥加密的内容或内容 密钥。
由接收部分接收到的经加密的内容或经加密的内容密钥可以由一个或多
28个信息处理单元来解密,所述一个或多个信息处理单元与作为集合S的元素
的叶节点相关,所述集合S包括在定义为叶节点l到n的子集的集合Si中与
其自身相关的叶节点。
进一步,为了解决以上问题,根据本发明的另一方面,提供了终端单元,
包括密钥生成部分,基于有向图生成用于解密内容或内容密钥的集合密钥。 由终端单元参照的所述有向图通过如下步骤获得配置由向其分配了编 号l到n的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节 点组成的二叉树,n是自然数,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多 个叶节点之中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位 于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标 轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含
度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴, 所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集 相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对 于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中 间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包 含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平 坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合 (1 v+1 —rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平 坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水平坐标 轴的左端的坐标点的左侧和位于第二到第四水平坐标轴的右端的坐标点的右 侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点,通过设置 给定整数k,计算满足n^,〈(rv-lv+l)^^k的整数x,以及对于每个整数i二0 到x-l,通过连接具有长度i/k的一条或多条右向有向边来形成具有位于第一 和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度n'/k 的一条或多条左向有向边来形成具有位于第二和第四水平坐标轴的最右侧坐 标点的尾部的有向路径,对于第一到第四水平坐标轴中的每个,排除具有位 于临时坐标点的尾部或头部的所有有向边,以及从到达第一到第四水平坐标 轴上的每个坐标点的有向边中排除除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-1 )有关的临时 有向图,以及通过将具有长度l的、具有位于第一水平坐标轴的右端的坐标 点的头部的有向边添加到与集合(1—n-l)相关的临时有向图,来生成与集合 (1—n)有关的临时有向图;在由连续有向边形成的有向路径之中,确定具有组 成有向路径的有向边的最大数量的最长有向路径,以及通过每个有向路径的 有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边 替换组成每个有向路径的有向边。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
终端单元可以进一步包括解密部分,用以使用集合密钥来解密经加密的 内容或经加密的内容密钥。
响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入, 所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以
及位于具有位于坐标点s的尾部的有向边的头部的坐标点Sl、 S2........ Sk
的中间密钥t(S)、t(S2)........ t(Sk)。
响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输 入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
解密部分通过使用所述集合密钥来解密经加密的内容密钥,并使用经解 密的内容密钥来解密经加密的内容。
终端单元进一步包括判定部分,基于所接收到的信息来判定所述终端单 元是否属于子集Sl到Sm中的任意一个,并基于判定结果来判定是否允许经 加密的内容的解密,其中将树的叶节点1到n的子集定义为Si,以及当确定 了允许解密通过使用所述集合密钥或所述内容密钥而加密的内容的终端单元 的集合(NX R)时,确定满足集合(NX R)= SlUS2U…USm的m个子集Sl到Sm, 并接收指示集合(NYR)的信息或指示组成集合(NXR)的子集Sl到Sm的信 自、
当判定所述终端单元属于子集Sl到Sm中的任意一个时,解密部分通过 使用与所述终端单元所属的子集对应的集合密钥来解密内容或内容密钥。
30进一步,为了解决以上问题,根据本发明的再一方面,提供了信息处理 方法,包括有向图获取步骤,在由多条有向边组成的临时有向图中,获取 通过以更短的有向边替换组成所述临时有向图的至少一条有向边而生成的有
向图;以及密钥生成步骤,基于由所述有向图获取部分获取的有向图,生成 用于加密或解密内容或内容密钥的集合密钥。
进一步,为了解决以上问题,根据本发明的再一方面,提供了信息处理 方法,在由向其分配了编号1到n的、n个叶节点、根节点以及不同于根节 点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中在
位于某个中间节点v或某个根节点v之下的多个叶节点之中,将分配给位于 左端的叶节点的编号定义为lv,而将分配给位于右端的叶节点的编号定义为 rv,对于自然数i和j,其中Sj,假设将集合(i—j)表示为(W, {i,i+l},
…,j-l, j}},而将集合(i—j)表示为{{j}, {j, j-l},…,{j, i+1, i ,设
置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集
合(l—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐 标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关, 并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的 方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平 坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具有分别与集合 (lv—rv-l)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平 坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个 中间节点v相关,并且具有分别与集合(iv+l—rv)中包括的子集相关的、且以 包含度从右至左增大的方式排列在水平坐标轴上的坐标点,所述信息处理方 法包括有向图获取步骤,获取通过以更短的有向边替换组成临时有向图的 至少一个有向边而生成的有向图,所述临时有向图是根据对于给定整数k满 足n(x-1)/k<(rv-lv+l)^nx/k的自然数x,通过在第 一到第四水平坐标轴上排列具有 长度n改的多条有向边而形成的,其中i二O, 1,……,x-1;以及密钥生成步 骤,基于由所述有向图获取步骤获取的有向图,生成用于加密或解密内容或 内容密钥的集合密钥。
进一步,为了解决以上问题,根据本发明的再一方面,提供了信息处理 单元,包括树结构设置步骤配置由向其分配了编号1到n的、n个叶节 点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然数i和j,其中iSj,通过将集合(i—j)定义为Ui), {i, i+l}, ...,j-l,j}},而将集合(i—j)定义为(W, {j,j-l},…,(j,j-l,…,
i+l,i}},在位于某个中间节点V或某个根节点V之下的多个叶节点之中,将
分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的 编号设置为rv;坐标轴设置步骤设置第一水平坐标轴,所述第一水平坐标 轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含 度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴, 所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集 相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对 于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中 间节点v相关,并且具有分別与集合(lv—rv-l)中包括的子集相关的、且以包 含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平 坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合 (lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平 坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水平坐标 轴的左端的坐标点的左侧和位于第二到第四水平坐标轴的右端的坐标点的右 侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点;临时有向 图生成步骤通过设置给定整数k,计算满足r/x"V、(rv-lv+l)^^的整数x, 以及对于每个整数1=0到x-l,通过连接具有长度n'A的一条或多条右向有向 边来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路 径,通过连接具有长度n"k的一条或多条左向有向边来形成具有位于第二和第 四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第一到第四水平坐标 轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边,以及从
到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长有向边 之外的有向边,来生成分别与集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集
合(lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第一水 平坐标轴的右端的坐标点的头部的有向边添加到与集合(1 —n-1 )有关的临时 有向图,来生成与集合(1—n)有关的临时有向图;最长有向路径确定步骤,在 由连续有向边形成的有向路径之中,确定具有组成有向路径的有向边的最大
数量的最长有向路径;以及有向图生成步骤,通过以每个有向路径的有向边 的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向边来生成有向图。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明再一方面,提供了密钥生成方
法,包括密钥生成步骤,基于有向图生成用于解密内容或内容密钥的集合密钥。
用于密钥生成方法的所述有向图通过如下步骤获得配置由向其分配了 编号l到n的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间 节点组成的二叉树,n是自然数,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多 个叶节点之中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位 于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标 轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含
所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集 相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对 于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中 间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包 含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平 坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分別与集合 (lv+l —rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平 坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水平坐标 轴的左端的坐标点的左侧和位于第二到第四水平坐标轴的右端的坐标点的右 侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点;通过设置 给定整数k,计算满足n"-,〈(rv-lv+l)^/k的整数x,以及对于每个整数i, 到x-l,通过连接具有长度r^的一条或多条右向有向边来形成具有位于第一 和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k 的 一条或多条左向有向边来形成具有位于第二和第四水平坐标轴的最右侧坐
33标点的尾部的有向路径,对于第一到第四水平坐标轴中的每个,排除具有位 于临时坐标点的尾部或头部的所有有向边,以及从到达第 一到第四水平坐标 轴上的每个坐标点的有向边中排除除了最长有向边之外的有向边,来生成分
别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-1 )有关的临时 有向图,以及通过将具有长度l的、具有位于第一水平坐标轴的右端的坐标 点的头部的有向边添加到与集合(1 一n-1 )有关的临时有向图,来生成与集合 (1—n)有关的临时有向图;在由连续有向边形成的有向路径之中,确定具有组 成有向路径的有向边的最大数量的最长有向路径,以及通过每个有向路径的 有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边 替换组成每个有向路径的有向边。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明的再一方面,提供了一种程序, 使得计算机执行如下功能树结构设置功能配置由向其分配了编号1到n 的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的 二叉树,n是自然数,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多个叶节点之 中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶 节点的编号设置为rv;坐标轴设置功能设置第一水平坐标轴,所述第一水 平坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且 以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平 坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包 括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐 标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴 与某个中间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、 且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第 四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别 与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第 一到第四水 平坐标轴的左端的坐标点的左侧和位于第二到第四水平坐标轴的右端的坐标 点的右侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点;临
时有向图生成功能通过设置给定整数k,计算满足n ,〈(rv-lv+l)^/k的整 数x,以及对于每个整数1=0到x-l,通过连接具有长度n'A的一条或多条右 向有向边来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部的有 向路径,通过连接具有长度nl/k的一条或多条左向有向边来形成具有位于第二 和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平
坐标轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边,以 及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长有 向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv) 和集合(lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第 一水平坐标轴的右端的坐标点的头部的有向边添加到与集合(1—n-l)有关的 临时有向图,来生成与集合(1 —n)有关的临时有向图;最长有向路径确定功能, 在由连续有向边形成的有向路径之中,确定具有组成有向路径的有向边的最 大数量的最长有向路径;以及有向图生成功能,通过以每个有向路径的有向 边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换 组成每个有向路径的有向边来生成有向图。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明的再一方面,提供了一种程序, 使得计算机执行以下功能密钥生成功能,基于由所述有向图获取步骤获取 的有向图,生成用于加密或解密内容或内容密钥的集合密钥。
根据所述程序的有向图通过如下步骤获得配置由向其分配了编号1到 n的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的 二叉树,n是自然数,并且对于自然数i和j,其中i^j,将集合(i—j)定义为Ui〉, (i, i+l}, ...,{i, i+l,…,j-l,川,而将集合(i—j)定义为UJ〉, {j,j-l},…,…, i+l,i}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将 分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第 一到第四水平坐标轴的左端的坐标点的左侧和位于第二到第四水平坐标轴的右端的坐标点的右侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点;通过设置给定整数k,计算满足n^,〈(rv-lv+l)^^k的整数x,以及对于每个整数i=0到x-l,通过连接具有长度!/k的一条或多条右向有向边来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度n改的一条或多条左向有向边来形成具有位于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第一到第四水平坐标轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边,以及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图,通过将具有长度1的、具有位于第一水平坐标轴的右端的坐标点的头部的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合(1 —n)有关的临时有向图,在由连续有向边形成的有向路径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以及在由连续有向边形成的有向路径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,
以更短的有向边替换组成每个有向路径的有向边。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的
36计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明的一个方面,提供了信息处理单元,包括有向图获取部分,在由多条有向边组成的临时有向图中,获取通过在组成所述临时有向图的多条有向边之中保留较长的有向边而以更短的有向边替换留下的至少一条有向边而生成的有向图;以及密钥生成部分,基于由所述有向图获取部分获取的有向图,生成用于加密或解密内容或内容密钥的集合密钥。
进一步,为了解决以上问题,根据本发明的一个方面,提供了一种信息
处理单元,用以根据对于给定整数k满足^x-,〈(rv-lv+l)^iXA的自然数x,处理通过在第 一和第四水平坐标轴上排列具有长度nl/k的多条有向边而形成的有向图,其中i二O, 1,……,x-l,在由向其分配了编号l到n的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中在位于某个中间节点v或某个根节点v之下的多个叶节点中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右
端的叶节点的编号设置为rv,对于自然数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}};设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,所述信息处理单元包括临时有向图获取部分,获取临时有向图;有向图生成部分,通过在组成由所述临时有向图获取部分获取的所述临时有向图的多条有向边之中保留较长的有向边来生成有向图;最长有向路径确定部分,在组成所述有向图的多条有向边之中,确定连续有向边的最大数量;有向边替换部分,通过以更短的有向边替换组成所述有向图的至少一条有向边来重建所述有向图,以便不超过连续有向边的最大数量,以及密钥生成部分,基于由所述有向边替换部分重建的所述有向图,生成用于加密内容或内容密钥的集合密钥。
进一步,为了解决以上问题,根据本发明的一个方面,提供了信息处理
单元,包括树结构设置部分,配置由向其分配了编号1到n的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然数i和j,其中Sj,通过将集合(i—j)定义为Ui), {i,
i+i},…,(i, i+i,…,j-i,j",而将集合(i—j)定义为(W, {j,j-i},…,…,
i+l,i}},在位于某个中间节点v或某个根节点v之下的多个叶节点中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的编
号设置为rv;坐标轴设置部分,用以设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧;以及将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标点,并将第二临时坐标点放置在所述第一临时坐标点的右侧;临时有向图生成部分,用以通过设置给定整数k,计算满足r^x-,〈(rv-lv+l)^^的整数x,以及对于每个整数1=0到x-l,通过连接具有长度i/k的一条或多条右向有向边来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度n流的一条或多条左向有向边来形成具有位于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每
个,排除具有位于临时坐标点的尾部或头部的所有有向边,以及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第一水平坐标轴上第 一临时坐标点的头部的有向边添加到与集合(1—n-l)相关的临时有向图,来生成与集合(1—n)相关的临时有向图;最长有向路径确定部分,在由连续有向边形成的有向路径之中,确定具有组成所述有向路径的有向边的
最大数量的最长有向路径;以及有向图生成部分,通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每一条有向路径的有向边来生成有向图。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
在与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图之中,最长有向路径确定部分可以关于不包括最长有向路径的各个临时有向图,确定在每个临时有向图中的最长有向路径。进一步,在对于各个临时有向图的每个临时有向图中,有向图生成部分可以通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向边。
信息处理单元可以进一步包括密钥生成部分,基于有向图生成用于加密内容或内容密钥的集合密钥。
响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入,所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以
及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2.......、 Sk
的中间密钥t(Sl)、 t(S2)........ t(Sk)。
响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
信息处理单元可以进一步包括加密部分,用以使用所述集合密钥来加密内容或内容密钥。
信息处理单元可以进一步包括传送部分,用以向分别与组成给定二叉树的叶节点1到n中的一些或全部相关的终端单元传送由所述加密部分加密的
39内容或内容密钥,其中n是自然数。有向图获取部分可以获取以将」
个有向路径的端点而放置的方式替换有向边的有向图。
信息处理单元可以进一步包括子集确定部分,用以通过将叶节点1到n的子集定义为Si,确定允许解密通过使用集合密钥或内容密钥而加密的内容的终端单元的集合(N \ R),并确定满足集合(N \ R)= S1US2U...USm的m个子集Sl到Sm,以便最小化m。
信息处理单元可以进一步包括传送部分,用以向所述终端单元传送指示集合(N乂R)的信息或指示组成集合(N乂R)的子集Sl到Sm的信息。
信息处理单元可以进一步包括解密部分,用以通过使用所述集合密钥来解密内容或内容密钥。
信息处理单元可以进一步包括接收部分,其与组成给定二叉树的一个或多个叶节点1到n (n是自然数)相关,用以接收通过使用所述集合密钥而加密的内容或内容密钥。
由所述接收部分接收到的经加密的内容或经加密的内容密钥可以由 一个或多个信息处理单元来解密,所述一个或多个信息处理单元与作为集合S的元素的叶节点相关,所述集合S包括在定义为叶节点1到n的子集的集合Si中与其自身相关的叶节点。
进一步,为了解决以上问题,根据本发明的另一方面,提供了终端单元,包括密钥生成部分,基于有向图生成用于解密内容或内容密钥的集合密钥。其中所述有向图通过如下步骤而获得配置由向其分配了编号1到n的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然数i和j,其中Sj,将集合(i—j)定义为(W, (i,
i+l},…,(i, i+l,…,j-l,JU,而将集合(i—j)定义为UJ〉, (i,j-i},…,…,i+l,i}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点第三水平坐标轴,所述第三水平坐标轴与某个中间节点V相关,并且具有分
别与集合(lv—rv-1)中包括的子集相关的、且以包含度从左至右增大的方式排
列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与
某个中间节点v相关,并且具有分别与集合(>+1 —rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧;将位于第 一水平坐标轴的右端
的坐标点设置为第一临时坐标点,并将第二临时坐标点放置在第一临时坐标点的右侧,通过设置给定整数k,计算满足n^,〈(rv-lv+l)^^k的整数x,以及对于每个整数1=0到x-l,通过连接具有长度n"k的一条或多条右向有向边
来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的一条或多条左向有向边来形成具有位于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第一到第四水平坐标轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边,以及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图,通过将具有长度l的、具有位于第一水平坐标轴的右端的坐标点的头部的有向边添加到与集合(1—n-l)有关的临时有向图,来生成与集合(l—n)有关的临时有向图,在由连续有向边形成的有向路径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入,所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以
及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2........ Sk
的中间密钥t(Sl)、 t(S2)、 ....... t(Sk)。
响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的
坐标点S1、 S2、 ....... Sk的集合密钥k(Sl)、 k(S2).......、 k(Sk)。
终端单元可以进一步包括解密部分,用以使用所述集合密钥来解密经加 密的内容密钥,并使用经解密的内容密钥来解密经加密的内容。
终端单元可以进一步包括判定部分,用以基于所接收到的信息来判定所 述终端单元是否属于子集Sl到Sm中的任意一个,并基于判定结果来判定是 否允许经加密的内容的解密,其中将树的叶节点1到n的子集定义为Si,以 及当确定了允许解密通过使用所述集合密钥或所述内容密钥而加密的内容的 终端单元的集合(T"AR)时,确定满足集合(NXR)二SlUS2U…USm的m个子集 Sl到Sm,并接收指示集合(N乂R)的信息或指示组成集合(N乂R)的子集Sl到 Sm的信息。当判定所述终端单元属于子集Sl到Sm中的任意一个时,所述 解密部分使用与所述终端单元所属的子集对应的集合密钥来解密所述内容或 内容密钥。
进一步,为了解决以上问题,根据本发明的另一方面,提供了信息处理 方法,包括有向图获取步骤,在由多条有向边组成的临时有向图中,获取 通过在组成所述临时有向图的多条有向边之中保留较长的有向边而以更短的 有向边替换留下的至少一条有向边而生成的有向图;以及密钥生成步骤,基 于由所述有向图获取步骤获取的有向图,生成用于加密或解密内容或内容密 钥的集合密钥。
进一步,为了解决以上问题,根据本发明的另一方面,提供了信息处理 方法,用以根据对于给定整数k满足i^-,〈(rv-lv+l)^/k的自然数x,处理通 过在第 一和第四水平坐标轴上排列具有长度ni/k的多条有向边而形成的有向 图,其中1=0, 1,……,x-l,在由向其分配了编号1到n的、n个叶节点、 根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树中,其中n 是自然数,并且其中在位于某个中间节点v或某个根节点v之下的多个叶节 点中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的 叶节点的编号设置为rv,对于自然数i和j,其中将集合(i—_])定义为{{1}, {i, i+l}, i+l,…,j-l, j}},而将集合(i—j)定义为(W, {j, j-1},…,{j, j-l,…,
i+l,i}};设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具 有分别与集合(1 —n)中包括的子集相关的、且以包含度从左至右增大的方式排 列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从
右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,
设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具 有分别与集合(lv—rv-1)中包括的子集相关的、且以包含度从左至右增大的方 式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平 坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括的子集 相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,所 述信息处理方法包括临时有向图获取步骤,获取临时有向图;有向图生成 步骤,通过在组成由所述临时有向图获取步骤获取的所述临时有向图的多条 有向边之中保留较长的有向边来生成有向图;最长有向路径确定步骤,在组 成所述有向图的多条有向边之中,确定连续有向边的最大数量;有向边替换 步骤,通过以更短的有向边替换组成所述有向图的至少一条有向边来重建所 述有向图,以便不超过连续有向边的最大数量,以及密钥生成步骤,基于由 所述有向边替换步骤重建的所述有向图,生成用于加密内容或内容密钥的集 合密钥。
进一步,为了解决以上问难,根据本发明的再一方面,提供了信息处理 方法,包括树结构设置步骤配置由向其分配了编号1到n (n是自然数) 的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的 二叉树,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将 分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的 编号设置为rv;坐标轴设置步骤设置第一水平坐标轴,所述第一水平坐标 轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、且以包含
所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集 相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对 于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中 间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包 含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及设置第四水平 坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+1—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平 坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的 右端的坐标点的右侧以及位于第二和第四水平坐标轴的左端的坐标点的左 侧,以及将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标点,并
将第二临时坐标点放置在第一临时坐标点的右侧;临时有向图生成步骤通
过设置给定整数k,计算满足i^-"、(rv-lv+l)^^k的整数x,以及对于每个整
数1=0到x-l,通过连接具有长度n^的一条或多条右向有向边来形成具有位
于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有
长度ni/k的一条或多条左向有向边来形成具有位于第二和第四水平坐标轴的
最右侧坐标点的尾部的有向路径,对于第一到第四水平坐标轴中的每个,排 除具有位于临时坐标点的尾部或头部的所有有向边,以及从到达第一到第四
水平坐标轴上的每个坐标点的有向边中排除除了最长有向边之外的有向边, 来生成分别与集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有 关的临时有向图,以及通过将具有长度l的、具有位于第一水平坐标轴上第 一临时坐标点的头部的有向边添加到与集合(1—n-l)有关的临时有向图,来生 成与集合(1—n)有关的临时有向图;最长有向路径确定步骤,在由连续有向边 形成的有向路径之中,确定具有组成所述有向路径的有向边的最大数量的最 长有向路径;以及有向图生成步骤,通过每个有向路径的有向边的数量不超 过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向 路径的有向边来生成有向图。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明的再一方面,提供了密钥生成 方法,包括密钥生成步骤,基于有向图生成用于解密内容或内容密钥的集 合密钥。所述有向图通过如下步骤而获得配置由向其分配了编号1到n的、 n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉 树,n是自然数,并且对于自然数i和j,其中Sj,将集合(i—j)定义为UQ, {i,
i+l},…,(i, i+1,…,j-l, j}},而将集合(iH)定义为(W, {J, J-",…,{J, J-〗,…, i+1, i}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的
编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关, 并且具有分别与集合(l —n)中包括的子集相关的、且以包含度从左至右增大的 方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐 标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包 含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间 节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增 大的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第 四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括 的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标 点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的 右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧;将位于第一水 平坐标轴的右端的坐标点设置为第一临时坐标点,并将第二临时坐标点放置 在第一临时坐标点的右侧,通过设置给定整数k,计算满足r^-,〈(rv-lv+l)^/k 的整数x,以及对于每个整数i=0到x-l,通过连接具有长度n"k的一条或多 条右向有向边来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部
的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位于 第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四 水平坐标轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边, 以及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长 有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv) 和集合(lv—rv-l)有关的临时有向图,通过将具有长度l的、具有位于第一水 平坐标轴的右端的坐标点的头部的有向边添加到与集合(1—n-l)有关的临时 有向图,来生成与集合(1—n)有关的临时有向图,在由连续有向边形成的有向 路径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以 及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的 方式,以更短的有向边替换组成每个有向路径的有向边。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明的再一方面,提供了一种程序,
使计算机执行如下功能树结构设置功能配置由向其分配了编号1到n的、 n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的二叉 树,其中n是自然数,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多个叶节点 之中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的 叶节点的编号设置为rv;坐标轴设置功能设置第一水平坐标轴,所述第一 水平坐标轴与根节点相关,并且具有分别与集合(1—n)中包括的子集相关的、 且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水 平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n) 中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上 的坐标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐 标轴与某个中间节点v相关,并且具有分别与集合(lv—rv-l)中包括的子集相 关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及 设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具 有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方 式排列在水平坐标轴上的坐标点,将两个临时坐标点均放置在位于第三水平 坐标轴的右端的坐标,存、的右侧以及位于第二和第四水平坐标轴的左端的坐标 点的左侧,以及将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标 点,并将第二临时坐标点放置在第一临时坐标点的右侧;临时有向图生成功 能通过设置给定整数k,计算满足n^,〈(rv-lv+l)^i流的整数x,以及对于 每个整数i=0到x-l,通过连接具有长度n^的一条或多条右向有向边来形成 具有位于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连 接具有长度ni/k的一条或多条左向有向边来形成具有位于第二和第四水平坐 标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每 个,排除具有位于临时坐标点的尾部或头部的所有有向边,以及从到达第一 到第四水平坐标轴上的每个坐标点的有向边中排除除了最长有向边之外的有
向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第一水平坐标轴上第一临时坐标点的头部的有向边添加到与集合(1—n-l)有关的临时
有向图,来生成与集合(1—n)有关的临时有向图;最长有向路径确定功能,在 由连续有向边形成的有向路径之中,确定具有组成所述有向路径的有向边的 最大数量的最长有向路径;以及有向图生成功能,通过每个有向路径的有向 边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换 组成每个有向路径的有向边来生成有向图。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
进一步,为了解决以上问题,根据本发明的再一方面,提供了一种程序, 使得计算机执行密钥生成功能,基于有向图生成用于解密内容或内容密钥的 集合密钥。所述有向图通过以下步骤而获得配置由向其分配了编号1到n 的、n个叶节点、根节点以及不同于根节点和叶节点的多个中间节点组成的 二叉树,n是自然数,并且对于自然数i和j,其中将集合(i—j)定义为Ui〉, {i, i+l},…,(i, i+l,…,j-l,j}},而将集合(i—j)定义为(W, {j, j-l},…,…, i+l,i}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将 分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的
编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关, 并且具有分别与集合(l—n)中包括的子集相关的、且以包含度从左至右增大的
方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐 标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包 含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间 节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增 大的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第 四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括 的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标 点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的 右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧;将位于第一水 平坐标轴的右端的坐标点设置为第一临时坐标点,并将第二临时坐标点放置在第 一临时坐标点的右侧,通过设置给定整数k,计算满足n^V、(rv-lv+l)^^k 的整数x,以及对于每个整数i二O到x-l,通过连接具有长度n"k的一条或多
条右向有向边来形成具有位于第一和第三水平坐标轴的最左侧坐标点的尾部 的有向路径,通过连接具有长度n1/k的 一条或多条左向有向边来形成具有位于 第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第一到第四 水平坐标轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边, 以及从到达第 一到第四水平坐标轴上的每个坐标点的有向边中排除除了最长
有向边之外的有向边,来生成分别与集合(1 —n-1)、集合(2—n)、集合0+1 —rv) 和集合(lv—rv-l)有关的临时有向图,通过将具有长度l的、具有位于第一水 平坐标轴的右端的坐标点的头部的有向边添加到与集合(1—n-l)有关的临时 有向图,来生成与集合(1—n)有关的临时有向图,在由连续有向边形成的有向 路径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以 及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的 方式,以更短的有向边替换组成每个有向路径的有向边。
如上所述,使用中间密钥和集合密钥的加密密钥分发方案使能基于上述 有向图的中间密钥的分发和集合密钥的生成,由此当解密所分发的经加密的 内容时,在不增大对于每个用户(终端单元)来说用以生成解密密钥所需的 计算量的最差值的情况下,能够减少要由每个用户保存的密钥的数量。
因此,通过应用以上技术,可以提供新的、改进的信息处理单元、终端 单元、信息处理方法、密钥生成方法和程序,其能够在接收者端减少要由终 端单元保存的密钥数量,并且能够减少用于导出加密密钥所需的计算量。
本发明的优点
如在上文中所述,根据本发明,可以在接收者端减少要由终端单元保存 的密钥数量。


图1是示出了根据本发明的一个实施例的加密密钥分发系统的说明图; 图2是示出了根据所述实施例的密钥分发服务器和接收器的配置的框
图3是示出了根据基本方案的二叉树结构的说明图; 图4是示出了根据基本方案的有向图的说明图;图5是示出了根据基本方案的有向图计算方法的流程图; 图6是示出了根据基本方案的中间密钥分发方法的流程图; 图7是示出了根据基本方案的集合密钥生成方法的流程图; 图8是示出了根据本发明的第一实施例的密钥分发服务器和终端单元的 配置的框图9是示出了根据所述实施例的有向图生成方法的基本构思的说明图; 图IO是示出了根据所述实施例的有向图生成方法的流程图; 图ll是示出了根据所述实施例的(临时)有向图生成方法的流程图; 图12是示出了根据所迷实施例的有向图生成方法(LP确定)的流程图; 图13是示出了根据所述实施例的有向图生成方法(PLP确定)的流程图; 图14是示出了根据所述实施例的有向图生成方法的流程图; 图15是示出了根据所述实施例的有向图的一个示例(k=6)的说明图; 图16是示出了根据基本方案的有向图的一个示例(k=3)的说明图; 图17是示出了根据所迷实施例的有向图的一个示例(k=3)的说明图; 图18是示出了基本方案与根据所述实施例的密钥分发方案之间的比较 的比4支表;
图19是示出了根据本发明的第二实施例的信息处理单元和终端单元的 配置的框图20是示出了根据所述实施例的临时有向图生成方法的流程图21是示出了根据所述实施例的临时有向图的一个示例(k=6)的说明
图22是示出了根据所述实施例的有向图生成方法的概要的流程图; 图23是示出了根据所述实施例的有向图生成方法(LP确定)的流程图; 图24是示出了根据所述实施例的有向图生成方法(PLP确定)的流程图; 图25是示出了根据所述实施例的有向图生成方法的流程图; 图26是示出了根据所述实施例的有向图的一个示例(k=6)的说明图; 图27是示出了基本方案与根据所述实施例的密钥分发方案之间的比较 的比一支表;
图28是示出了根据本发明的一个实施例的加密密钥分发系统的一个应 用的i兑明图;以及
图29是示出了根据本发明的一个实施例的加密密钥分发系统的一个应用的说明图。
附虔l标记说明
100加密密钥分发系统
102密钥分发服务器
104树结构设置部分
106坐标轴设置部分
108临时有向图生成部分
110有向图生成部分
112初始中间密钥设置部分
114密钥生成部分
116加密部分
118传送部分
120子集确定部分
122终端单元
124才妾收部分
126判定部分
128密钥生成部分
130解密部分
202控制器
204处理单元
206输入/输出接口
208安全存储部分
210主存储部分
212网络接口
216々某体接口
218信息媒体
152密钥分发服务器
154树结构设置部分
156坐标轴设置部分
158临时有向图生成部分160有向图生成部分
162初始中间密钥设置部分
164密钥生成部分
166加密部分
168传送部分
170子集确定部分
172终端单元
174 4妻收部分
176判定部分
178密钥生成部分
180解密部分
具体实施例方式
在下文中,将参照附图详细描述本发明的优选实施例。注意,在该说明 书和附图中,具有基本上相同功能和配置的元件以相同的附图标记来表示, 并省略其重复的说明。尽管为了描述的目的在一些部分中以正常字体书写下 标,但是它表示相同的东西。例如,注意,BTR和BTR表示相同的东西。
<第一实施例〉
在下文中,描述根据本发明的第一实施例的加密密钥分发系统100的配 置。图1是示出了根据所述实施例的加密密钥分发系统100的配置的说明图。
参照图1,加密密钥分发系统100包括密钥分发服务器102,被配置为 根据所述实施例的信息处理单元的示例;多个终端单元122,其分别由多个 用户所有;以及网络,其将密钥分发服务器102与终端单元122进行连接。
上述网络是连接密钥分发服务器102与终端单元122以便允许双路通信 或单路通信的通信网络。由诸如因特网、电话线网络、卫星通信网和广播信 道之类的公共网络、诸如WAN (广域网,Wide Area Network )、 LAN (局域 网,Local Area Network )、 IP-VPN (网际协议虚拟专用通信网,Internet
Protocol-Virtual Private Network)和无线LAN之类的专线通信网等配置该网 络,例如有线或无线。
由具有服务器功能的计算机单元等配置密钥分发服务器102,并且可以通过网络向外部单元传送各种信息。例如,密钥分发服务器102可以以广播 加密方案生成加密密钥,并向终端单元122分发加密密钥。进一步,根据本
实施例的密钥分发服务器102配备有作为提供内容分发服务(如视频分发服
务和电子音乐分发服务)的内容分发服务器的功能,并且它可以向终端单元
122分发内容。当然,密钥分发服务器102和内容分发服务器可以被配置为 分离的单元。
例如,所述内容可以是诸如由运动图像或静止图像集合成的视频内容(如 视频、电视节目、视频节目和图表)、音频内容(如音乐、讲座和电台节目)、 游戏内容、文档内容、软件之类的任何内容数据。视频内容不仅可以包含视 频数据,还可以包含音频数据。
终端单元122是能够通过网络与外部单元进行数据通信的密钥分发服务 器,并且其由每个用户所有。尽管由诸如图中所示的个人计算机(在下文中 称为"PC,,)之类的计算机单元(笔记本型或台式)来配置终端单元122,但 是其不限于此,并且可以由诸如PDA (个人数字助理)、家用视频游戏机、 DVD/HDD记录器和电视机之类的家用信息设备、电视广播调谐器或解码器 等来配置终端单元122,只要它具有通过网络的通信功能即可。进一步,例 如,终端单元122可以是诸如便携式视频游戏机、蜂窝电话、便携式视频/音 频播放器、PDA和PHS之类的、能够由用户携带的便携式设备。
终端单元122可以从密钥分发服务器102接收各种信息。例如,终端单 元122可以接收从密钥分发服务器102分发的内容。在内容分发时,密钥分 发服务器102可以加密各种电子数据,并将它们进行分发。例如,密钥分发 服务器102可以生成用于加密内容的内容密钥,并将其进行分发。例如,内 容密钥可以由伪随机数发生器生成的随机数(伪随机数)、给定字符串或序列 等来表示。通过使用内容密钥,密钥分发服务器102可以通过给定加密逻辑 来加密内容。进一步,密钥分发服务器102可以向任意终端单元122分发内 容密钥或与内容密钥对应的解密密钥。另一方面,终端单元122可以使用从 密钥分发服务器102接收到的、内容密钥或与内容密钥对应的解密密钥来解 密经加密的内容。
用于生成内容密钥的伪随机数发生器是能够通过输入给定的种子值 (seed value)而输出长间隔伪随机数序列的单元或程序,并且通常使用诸如 线性同余方法或马其赛特旋转(Mersenne Twister)方法之类的逻辑来实现。
52可应用于本实施例的伪随机数发生器当前不限于此,并且使用其他逻辑可以 生成伪随机数,或者它可以是能够生成包含特殊信息或条件的伪随机数序列 的单元或程序。
进一步,根据本实施例的密钥分发服务器102不仅加密内容,还加密内 容密钥,并将其进行分发。的确,加密并分发内容确保了一定程度的安全级
户(在下文中称为"许可用户")的加入和删除,加密内容密钥并将其进行分 发的方法是更有利的。在这种情况下,在该实施例中,密钥分发服务器102 首先生成用于加密和解密内容密钥的多个集合密钥。多个集合密钥分别与从 大量用户中提取出的许可用户的多个子集相关,如在后面所述的那样。具体
地说,密钥分发服务器102使用设置成只有许可用户的集合才可以解密内容 密钥的集合密钥来加密内容密钥,并向所有用户的终端单元122分发经加密 的内容密钥。在该配置中,仅许可用户的终端单元122可以解密经加密的内 容密钥,然后通过使用内容密钥来解密经加密的内容,由此使得内容可视等。 在许可用户的集合变化的情况下,密钥分发服务器102通过改变要用于加密 内容密钥的集合密钥可以处理所述改变。为了建立以上加密密钥分发逻辑, 必须配置密钥分发服务器102等,以便实现与集合密钥的生成和分发相关的 算法。
在下文中,首先描述根据本实施例的密钥分发服务器102和终端单元122 的配置的示例性硬件配置。其次,描述与根据本实施例的加密密钥分发逻辑 有关的基本技术。第三,详细描述根据本实施例的密钥分发服务器102和终 端单元122的配置,并具体地描述与基本技术在配置和效果上的差别。最后, 描述根据本实施例的加密密钥分发系统的应用。
首先参照图2,在下文中描述根据本实施例的密钥分发服务器102和终 端单元122的示例性硬件配置。图2示出了能够执行根据本实施例的密钥分 发服务器102和终端单元122的功能的硬件配置的示例。
例如,密钥分发服务器102和终端单元122包括控制器202、处理单元 204、输入/输出接口 206、安全存储部分208、主存储部分210、网络接口 212 和々某体接口 216。
(控制器202)控制器202通过总线连接到其他元件,并且它主要用以基于在主存储部
分210中存储的程序和数据来控制所述单元的每个部分。可以由诸如CPU(中 央处理单元)之类的处理单元来配置控制器202。 (处理单元204 (密钥分发服务器102 ))
例如,密钥分发服务器102中包括的处理单元204可以执行内容的加密、 内容密钥的加密、集合密钥的生成和用于生成集合密钥的中间密钥的导出。 由此,处理单元204可以用作基于给定数据(种子值等)生成伪随机数的伪 随机数发生器,并且处理单元204还可以基于给定算法加密内容或内容密钥。
进一步,可以将给定信息存储在主存储部分210或安全存储部分208中。处 理单元204可以在主存储部分210或安全存储部分208中记录执行以上处理 的输出结果。可以由诸如CPU之类的处理单元来配置处理单元204,或者处 理单元204可以与上述控制器202整体地形成。 (处理单元204 (终端单元122 ))
另 一方面,例如,终端单元122中包括的处理单元204可以执行内容的 解密、内容密钥的解密、集合密钥的生成和用于生成集合密钥的中间密钥的 生成。由此,处理单元204可以用作基于给定数据(种子值等)生成伪随机 数的伪随机数发生器,并且处理单元204还可以基于给定算法解密内容或内 容密钥。可以将给定算法作为由处理单元204可读的程序存储在主存储部分 210中。进一步,可以将给定信息存储在主存储部分210或安全存储部分208 中。处理单元204可以记录在主存储部分210或安全存储部分208中l丸行以 上处理的输出结果。可以由诸如CPU之类的处理单元来配置处理单元204, 或者处理单元204可以与上述控制器202整体地形成。 (输入/输出接口 206)
输入/输出接口 206主要连接到用于用户输入信息的输入设备和用以输出 内容的处理结果或描述的输出设备。例如,输入设备可以是键盘、鼠标、轨 迹球、触摸笔、键区、触摸板等,并且它可以经由有线或无线连接到输入/输 出接口 206。在一些情况下,输入设备可以是经由有线或无线连接的便携式 电子设备(如蜂窝电话或PDA (个人数字助理))。另一方面,例如,输出设 备可以是显示单元(如显示器)、音频输出设备(如扬声器)等,并且它可以 经由有线或无线连接到输入/输出接口 206。输入/输出设备可以内置在密钥分发服务器102或终端单元122中或者与密钥分发服务器102或终端单元]22 集成。
输入/输出接口 206通过总线连接到其他元件,并且它可以向主存储部分 210等传送经由输入/输出接口 206输入的信息。相反,输入/输出接口 206可 以向输出设备输出在主存储部分210等中存储的信息、经由网络接口 212等 输入的信息或通过在处理单元204等中处理这些信息而获得的结果。 (安全存储部分208 )
安全存储部分208主要安全地存储隐藏所需的信息,如内容密钥、集合 密钥和中间密钥。例如,可以由磁存储单元(如硬盘)、光存储单元(如光盘)、 磁光存储单元、半导体存储单元等来配置安全存储部分208。进一步,例如, 可以由抗干扰(tamper-resistant)存储单元来配置安全存储部分208。 (主存储部分210)
例如,主存储部分210可以存储用于控制其他元件的控制程序、用于加 密内容、内容密钥等的加密程序、用于解密经加密的内容、内容密钥等的解 密程序、用于生成集合密钥或中间密钥的密钥生成程序等。进一步,主存储 部分210可以临时或永久地存储从处理单元204输出的计算结果或存储从输 入/输出接口 206、网络接口 212、媒体接口 216等输入的信息。例如,可以 由磁存储单元(如硬盘)、光存储单元(如光盘)、磁光存储单元、半导体存 储单元等来配置主存储部分210。进一步,主存储部分210可以与安全存储 部分208整体地形成。 (网络接口 212)
例如,网络接口 212连接到网络上的另一个通信单元等,并且例如,它 是用于传送和接收诸如经加密的内容或内容密钥、集合密钥和中间密钥的信 息、与加密有关的参数信息和与许可用户的集合有关的信息的接口装置。网 络接口 212通过总线连接到其他元件,并且它可以向其他元件传送从网络上信息。
(媒体接口 216)
媒体接口 216是用于通过可拆卸地连接信息媒体218来读和写信息的接 口,并且它通过总线连接到其他元件。例如,媒体接口 216可以从所连接的 信息媒体218读信息,并且将其传送到其他元件,或者将从其他元件提供的
55信息写入信息媒体218。例如,信息媒体218可以是诸如光盘、磁盘和半导 体存储器之类的便携式存储媒体(可拆卸存储媒体)、在不通过网络的情况下 在相对短的距离内经由有线或无线连接的信息终端的存储媒体等。
在前文中,描述了能够实现根据本实施例的密钥分发服务器102和终端 单元122的功能的硬件配置的示例。通过使用通用组件来配置以上元件中的 每个,或者可以由专用于每个元件的功能的硬件来配置以上元件中的每个。 由此当执行本实施例时,根据技术水平,可以合适地改变要使用的硬件配置。 进一步,上述硬件配置仅为示例,当然其不限于此。例如,可以由相同的处 理单元来配置控制器202和处理单元204,并且可以由相同的存储单元来配 置安全存储部分208和主存储部分210。进一步,视使用而定,取消媒体接 口 216、输入/输出接口 206等的配置是可行的。在下文中,详细描述由具有 上述硬件配置的密钥分发服务器102和终端单元122实现的加密密钥分发方 案。
在提供根据本实施例的加密密钥分发方案的详细说明之前,在下文中描 述形成用于实现本实施例的基础的技术问题。配置本实施例,以便通过向下 述基本技术添加改进来获得更多显著的优点。因此,与改进有关的技术是本 实施例的特征。由此,要注意的是,尽管本实施例遵循在下文中所述的技术 问题的基本构思,但是本实施例的本质被并入了改进的部分,并且配置是明 显不同的,而且还存在与基本技术在优点上的明显区别。
将在下文中描述的根据基本技术的加密密钥分发方案称为基本方案。基 本方案将要向其分发内容的用户的终端单元的集合划分为多个子集,然后通 过分配到每一子集的集合密钥来加密内容密钥,并将其进行分发。基本方案 提供了用于解决关于要选择哪一子集、如何生成集合密钥和如何分发集合密 钥以便减少用于加密密钥分发的通信量、要由每个用户保存的解密密钥的数 量、每个用户用以生成解密密钥所需的计算量等问题的一种手段。参照图3 到图7,在下文中描述基本方案。 (树结构的设置)
在基本方案中,将作为内容分发目标的终端单元(用户)的集合看作被 划分为多个子集。参照图3,在下文中描述根据基本方案划分子集的一种方 式。尽管划分子集的方式当前不止一种,但是在基本方案中采用利用二叉树划分子集的方式。示意性地,基本方案考虑节点之间的位置关系,向形成二 叉树的每个节点分配一个给定子集,由此以给定组合广泛地选择用户的子集, 如在下面详细描述的那样。通过图3所示的二叉树的示例将更清楚地理解这 种选择方法的优点。参照图3,在下文中描述构建二叉树的方法。 首先,将在以下的描述中使用的集合定义如下。
-所有终端单元(用户)的集合N二U, 2, ......, n)(n是2的幂)
对于自然数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)的底部的节点称为叶节点,将位于顶部 的节点称为根节点,并且将在根节点和叶节点之间的节点称为中间节点。叶 节点与各个终端单元对应。进一步,为了描述的方便,在下文中假设终端单 元和用户处于——对应,并且在一些情况下由词语"用户"来表示与叶节点 相关的"终端单元"。图3示出了 BT的叶节点的数量『64的示例。
首先,以叶节点的数量是n (=64)的方式创建BT。然后,从左至右向 各个叶节点分配编号l、 2........ n。
接着,定义用于调整(regulate)要分配给某个中间节点v的子集的索引 lv和rv。在位于某个中间节点v下方的叶节点之中,将分配给最左侧叶节点 的编号定义为lv,而将分配给最右侧叶节点的编号定义为rv。注意,v可以 是分配给各个中间节点的顺序编号。由此,中间节点v指示具有索引v的BT 的中间节点。
然后,通过将BT的中间节点分类为两集合来定义BT的中间节点。在 BT的中间节点之中,将位于父节点左侧的中间节点的集合定义为BTL,而将 位于父节点右侧的中间节点的集合定义为BTR。本文所指的父子关系指示在 BT上连接的节点的分层关系,并且它意味着父节点位于上层而子节点位于下 层的关系。
进一步,与各个叶节点相关的用户集合的子集与BT的根节点相关。首先,将集合(1—n)和集合(2—n)与根节点相关联。由于所有叶节点均在根节点
的下层连接,因此由广泛地或选择性地包括那些叶节点的集合表示根节点。
具体地说,将集合(1—64)和集合(2—64)与图3的根节点相关联。例如,考虑
集合(1—64)。集合(1—64)包括子集[1, l]、 [1, 2]........ [1, 64]作为其元
素。例如,为了表示所有用户(叶节点),可以使用子集[l, 64],并且其被 作为集合(1—64)的元素而包括。进一步,为了表示除了具有编号16之外的所 有用户,可以使用子集[l, 15]和[17, 64],并且其分别被作为集合(1—64)和 集合(2—64)的元素而包括。以这种方式,位于根节点的下层的叶节点(用户) 的组合可以由相关联的集合的子集表示。
然后,将用户集合的子集与BT的中间节点相关联。首先,将集合(lv+l—rv) 与属于上述集合BTL的中间节点v相关联。另一方面,将集合(lv—rv-l)与属 于上述集合BTR的中间节点v相关联。当然,这些集合与BT的所有中间节 点v相关联。参照图3,在各个中间节点附近来指示这些集合。例如,关于 与集合(2—4)相关联的中间节点,分别与集合(2—2)和集合(3—3)相关联的两 个中间节点存在于所述中间节点的下层,并且具有编号1到4的叶节点被进 一步连接到其。当表示除了具有编号3的一个之外的那些叶节点的组合时, 可以由子集的群{[1, 1], [2, 2], [4, 4]}或{[1, 2], [4, 4]}来表示。虽然子 集[l, l]和[l, 2]是与根节点相关的集合(1—64)的元素时,但子集[2, 2]和[4, 4]分别是集合(2—2)和集合(2—4)的元素。
以这种方式,基本方案通过使用二叉树BT定义了用户集合的子集。该
方法使得能够以各种组合表示用户的子集。将由那些子集组成的全集称为集
合系统cD,并将其定义为下面的表达式(1 )。由此,下面的表达式(l)在
数学上表示由以上方法构建的二叉树。 [表达式1]
U(" + l—")u U(/v_>rv —)u("")u(2 — w)
ve肌 veS77 ( 1 )
在上文中描述了配置调整子集的二叉树的方法。基本方案的基本构思是
对于各个子集设置用于加密内容密钥的集合密钥,通过使用各个集合密钥来
加密内容密钥,并将其分发到所有用户。通过定义如上所述的子集,至少调
整了用于分类用户的组合的一种方式。在下文中,描述通过使用这些子集来
58生成集合密钥的算法。 (有向图的生成)
在下文中参照图4描述生成表示用于生成集合密钥的算法的有向图的方 法。然而,在此之前,在下文中描述用于加密内容密钥的集合密钥与用于生 成集合密钥的中间密钥之间的关系。
如在上面筒要地提到的那样,基本方案使用生成集合密钥的特定伪随机
数发生器PRSG (伪随机序列发生器)。当输入与某个子集SO对应的中间密 钥t(S0)时,PRSG输出与子集SO对应的集合密钥k (S0)以及与子集S1、
S2........ Sk(其与子集SO有关)对应的中间密钥t(Sl)、 t(S2)........t(Sk)。
当然,集合S0和S1、 S2........ Sk是构成集合系统(D的任意子集。由此,
PRSG是密钥生成单元。基本方案的特征是调整PRSG的输入和输出之间关
系的逻辑。在下文中描述调整集合S0和集合S1、 S2........ Sk之间关系的
有向图。
将用于下面的描述的符号定义如下 -与子集Si对应的中间密钥t(Si) -与子集Si对应的集合密钥:k(Si) -内容密钥 mek
-伪随机数发生器 PRSG
(注意,将t(SO)的输入表示为PRSG(t(SO))。另一方面,将来自PRSG 的输出表示为t(S 1 )| I... I |t(Sk)| |1((S0)—PRSG(t(SO))) -有向图 H
(注意,将与集合(i—j)对应的有向图表示为H(i—j))
-有向边 E
-有向路径 p
首先,确定参数k(k是自然数)。为了简化,假设在该示例中k|log(n) (在下文中,1og的底数是2)。由于参数k最终影响要由终端单元122保存 的中间密钥的数量以及生成集合密钥所需的计算量,因此必须根据情况合适 地设置参数k。在图4中,例如,设置1(=6。
接着,在下文中描述绘制有向图的特定方式。首先,作为图示,描述与 属于BTR的中间节点v对应的有向图H(lv—rv-l)。
(步骤1 )设置用于构建有向图H(lv—rv-l)的水平坐标轴。在水平坐标轴上,将形成集合(lv—rv-l)的元素的子集Si作为坐标点分配。以包含度从左 至右变大的方式排列形成坐标点的子集Si。例如,采用有向图 H(5—7"H(([5,5],[5,6],[5,7]"作为示例,坐标轴具有从左侧顺序地向其分配了 子集[5,5]、 [5,6]、 [5,7]的三个坐标点。
如果在第一和第三水平坐标轴上右向有向图H的起点所位于的垂直线是 x,则有向图H与垂直线y的交叉点表示[x,y],而如果在第二和第四水平坐标 轴上左向有向图H的起点所位于的垂直线是z,则有向图H与垂直线y的交 叉点表示[y,z]。
此后,将用作起点的临时坐标点置于位于坐标轴最左侧的坐标点的左侧, 并且将用作终点的临时坐标点置于位于坐标轴最右侧的坐标点的右侧。在以 这种方式设置的坐标轴中,从左端的临时坐标点(起点)到右端的临时坐标 点(终点)的长度Lv为Lv二rv-lv+l。
(步骤2)设置构成有向图H(lv—rv-l)的有向边。 (S2-l )计算满足n(x-,〈Lv^i流的整数x。整数x满足lSx^k。 (S2-2 )通过从0到x-l改变计数i来执行以下操作。从水平坐标轴的左 端处的起点开始,重复设置延伸到距离坐标点n流的坐标点的右向有向边(跳 到距离坐标点n"k的坐标点)直到有向边的头达到水平坐标轴的右端的终点或 者下 一待设置的头超过终点为止。
(步骤3 )删除其尾或头位于临时坐标点的所有有向边。 (步骤4)如果存在达到某个坐标点的多个有向边,则仅留下最长有向 边,并删除除了所述最长有向边之外的所有有向边。
在执行了以上步骤(步骤1 )到(步骤4)之后,完成了有向图H(lv—rv-l)。 例如,参照位于作为示例的图4的顶部起第三层上右侧的有向图H(33—63), 有向图H(33—63)的实质是由作为拱形曲线和连接到拱形曲线的一端并在水 平方向中延伸的直线的有向边组成的一组线。进一步,构成有向图H(33—63) 曲线和直线是有向边。有向边的一端与垂直线的交叉点是坐标点。尽管在图 4中没有清楚地示出水平坐标轴,但是水平坐标轴由垂直线与有向边的一端 之间的一组交叉点组成。进一步,在有向图H(33—63)上描绘了轮廓箭头,并 且其指示有向边的方向。具体地说,它表示构成有向图H(33—63)的所有有向 边均为向右。
以与有向图H(lv一rv-1 )相同的方式,设置与属于BTL的中间节点v相关联的有向图H(lv+1—rv)和与根节点相关联的有向图H(l—n)和H(2—n)。注 意,当设置有向图H(lv+1—rv)和H(2—n)的坐标轴时,以包含度从右至左变 大的方式在水平坐标轴上排列子集Si,并且有向边的方向是向左。进一步, 通过将有向边E([l,n-l], [l,n])添加到有向图H(l—n-l),生成有向图H(l—n)。 另一方面,通过与有向图H(lv+1—rv)相同的方法设置有向图H(2—n)。
通过采用图4的有向图H(l—64)作为示例,在下文中提供附加说明。首 先,在有向图H(l—64)的水平坐标轴中,最左侧坐标点(与垂直线1的交叉 点)是[1,1]={1},在其右侧附近的坐标点(与垂直线2的交叉点)是[1,2]={1,2}, 并且再在其右侧附近的坐标点是[1,3]={1,2,3}。进一步,每个有向图紧上方或 紧下方的箭头指示构成该有向图H的所有有向边的方向。例如,有向图 H(l—64)具有从坐标点[1,1]到[1,2]的一条有向边以及从坐标点[1,2]延伸到 [1,3]和[1,4]的两条有向边。进一步,在图4的顶部描绘的黑点从左侧起分别 表示有向图H(2—2)、 H(3—3).......、 H(63—63)。
在上文中描述了配置有向图H的方法。图4示出了通过上述方法绘制与 BT的中间节点和根节点对应的有向图H的结果。该示例是11=64且1<=6的情 况。在下文中描述通过使用有向图H来生成集合密钥的逻辑。 (集合密钥的生成)
如之前所述的那样,基本方案通过使用分配给组成以上集合系统0>的每 个子集Si的集合密钥k(Si)来加密内容密钥mek,并将其进行分发。由此,上 述有向图H的每个坐标点均与由一个或多个用户组成的子集Si对应,并且向 其分配集合密钥k(Si)。进一步,还将中间密钥t(Si)分配给上述每个子集Si, 并将其用于生成集合密钥k(Si)。
顺便提及,由于在(2-2)的上述处理中重复次数是x,其中Kx^k,因 此最多k条有向边源自有向图H的每个坐标点。作为源自某个坐标点(子集 S0 )的一个或多于一个有向边的目的地的坐标点的子集是以对某个坐标点的
接近度为顺序(以有向边的短度为顺序)的S1、 S2........ Sk。注意,如果
源自坐标点(子集SO)的有向边的数量为q(q〈k),则将Sq+l、 Sq+2........
Sk作为哑元(dummy )对待,实际上不使用它们。
基本方案使用响应于X位输入而输出(k+l)X位输出的上述PRSG,以便 生成集合密钥k(Si)。如果输入与某个坐标点(子集SO)对应的中间密钥t(S0), 则PRSG输出与在其尾部位于某个坐标点的有向边的头部的各个坐标点(子集S1、 S2.......、 Sk)对应的中间密钥t(Sl)、 t(S2)........ t(Sk)以及对于子
集S0的集合密钥k(S0)。由此,t(Sl)ll…llt(Sk川k(SO)—PRSG(t(SO》。通过将 PRSG的输出从左侧划界为每个都具有X位,获得了中间密钥t(Sl)、 t(S2)........ t(Sk)和集合密钥k(SO)。
例如,参照图4的有向图H(1—64),并将注意力集中在坐标点(子集SO) =[1,8] Q人左端起第八个坐标点),四条有向边源自坐标点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]对应的k(S4)以及t(S11)、 t(S12)、 t(S13)、 t(S14)和 t(S15)。以这种方式,可以通过重复地使用PRSG来计算多个集合密钥k(Si)。
为了提高安全性的目的使用中间密钥。在存在降低用于集合密钥生成的 处理量的需求同时不特别需要关注安全性的情况下,在不使用中间密钥的情 况下直接从某个集合密钥计算另一个集合密钥是可行的。例如,在以上示例 中,当向PRSG输入子集SO的集合密钥k(SO)时的输出可以是k(Sl)、 k(S2)、 k(S3)和k(S4),其用作各个子集Sl到S4的集合密钥。
如从以上示例容易推断的那样,利用某个中间密钥,通过PRSG的重复 使用,可以导出与有向边链可达到的坐标点对应的中间密钥以及集合密钥, 所述有向边链从与某个中间密钥对应的坐标点延伸。因此,每个用户只需要 保存最小数量的中间密钥,其可以导出与包括用户的子集对应的所有中间密 钥。另一方面,如果生成用于加密内容密钥的集合密钥的密钥分发服务器至 少保存与每个有向图H的初始坐标点对应的中间密钥,则通过使用PRSG重 复地执行处理,可以导出与有向图的其他坐标点对应的集合密钥。
由此,在密钥分发系统的建立时,密钥分发系统的管理员对于密钥分发 服务器中每个有向图H的初始坐标点(根),设置X位随机数,例如,作为 中间密钥。有向图H的初始坐标点(根)是有向边起源但没有有向边到达的 坐标点。例如,图4中有向图H(1—64)初始坐标点是水平坐标轴的左端的坐 标点[l,l]。
以上描述了生成集合密钥的方法。上述集合密钥生成方法不仅用在内容 密钥的传送端的密钥生成服务器中,而且用在接收端的终端单元中。 (中间密钥的分发)
62在下文中描述从密钥分发服务器向每个用户的终端单元的中间密钥的分 发。如之前简要提到的那样,必须向每个用户的终端单元提供能够导出与包 括用户的终端单元的所有子集对应的集合密钥的多个中间密钥。当然,必须 避免提供使能与不包括用户的终端单元的子集对应的集合密钥的导出的中间 密钥,并且优选的是所提供的中间密钥的数量在存储器容量的有效性方面是 最小的。
据此,中间密钥的分发者提取具有用户U的终端单元所属的子集(在下 文中也称为"用户U所属的子集"或"包括用户U的子集")作为元素的所
有有向图H。然后,如果在与有向图H的初始坐标点(根)对应的子集中包 括用户u,则分发者只向用户u的终端单元提供与初始坐标点对应的中间密 钥。另一方面,如果用户u属于与有向图H的初始坐标点不同的坐标点对应 的任意子集,则分发者寻找这样的子集SO,即在子集SO中包括用户u,而 在作为子集SO之父的子集parent(SO)中不包括用户u,并且向用户u的终端 单元提供子集SO的中间密钥t (S0)。换句话说,如果与初始坐标点不同且 与包括用户u的子集对应的多个坐标点存在于有向图H中,则分发者从那些 坐标点中提取这样的坐标点S0,即在与到达与子集SO对应的坐标点的有 向边的尾部对应的子集parent(SO)中不包括用户u,并且向用户u的终端单元 提供坐标点(S0)的中间密钥t(S0)。如果存在多个这样的坐标点SO,则提供 各个坐标点的中间密钥t(S0)。由有向边确定坐标点的父子关系,并且位于有 向边尾部的坐标点用作位于头部的坐标点之父,而位于有向边的头部的坐标 点用作位于尾部的坐标点之子。在下文中,将位于到达某个坐标点SO的有向 边的尾部的坐标点parent(S0)称为父坐标点。如果某个坐标点S0是有向图H 的起点,则不存在父坐标点,而如果它不是有向图H的起点,则仅存在一个 父坐标点。在一个有向图H中,在一些情况下,可以存在多个这样的坐标点, 即在与其对应的子集中包括用户u,而在与其父坐标点对应的子集中不包 括用户u。
参照图4的示例,在下文中具体描述中间密钥的分发方法。 (示例1)考虑分发至用户l的中间密钥。首先,作为搜索具有用户1 所属的子集作为元素的有向图H的结果,仅发现有向图H(1—64)。用户l属 于作为有向图H(1—64)的初始坐标点的子集[1, l]。由此,仅向用户l提供 中间密钥t([l,l])。(示例2)考虑分发至用户3的中间密钥。首先,作为搜索具有用户3
所属的子集作为元素的有向图H的结果,发现有向图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不属于初始坐标点的子集[l, l],而属于位于第三及后续点的子集[1,3]、........ [1,64]。在这些坐标点之中,其父坐标点不包括用户3的坐标点
仅为[1,3]和[1,4]。具体地说,在作为包括用户3的坐标点[1,3]和[1,4]的父坐标 点parent([l,3])和parent([l,4])的坐标点[l,2]中不包括用户3。因此,向用户3 提供t([l,3])和t([l,4])作为与有向图H(1—64)对应的中间密钥。以相同的方式, 对于其他有向图H(2—64), H(2—32), H(2—16), H(2—8), H(2—4)和H(3—3)选 择对应的中间密钥,并将其提供给用户3。结果,向用户3提供共计八个中 间密钥。
参照图5筒要地总结直到将中间密钥分发至每个用户的终端单元为止的 处理。图5是示出了在系统建立时密钥分发服务器中中间密钥分发的处理流 程的流程图。
如图5所示,密钥分发系统的密钥分发服务器首先设置参数等。例如, 密钥分发服务器确定用户的数量n、集合密钥和中间密钥的位数人、给定参数 k、通过PRSG的伪随机数生成算法等,并将它们公布(publish)到所有用户 的终端单元(S102)。接着,密钥分发服务器将用户集合划分为给定子集, 然后确定并公布由并集(union)表示的集合系统①(参照以上表达式(1)) (S104)。然后,确定并公布有向图H和形成各个有向图H的有向边T (步 骤S106)。进一步,确定与组成集合系统①的各个子集对应的中间密钥 (S108)。此后,向每个用户的终端单元122分发必要的中间密钥,以便每 个用户可以导出与包括用户的子集对应的集合密钥(S110)。
在上文中描述了中间密钥的分发方法。如果使用以上分发方法,则分发 用以生成集合密钥的、对于每个许可用户的终端单元所需的最小数量的中间 密钥,由此使得能够减少密钥分发服务器与终端单元之间的通信量,并且能 够减少每个用户的终端单元中用于中间密钥的存储器容量。 (内容密钥的分发)
在下文中描述通过密钥分发服务器分发经加密的内容密钥mek的方法。 首先,密钥分发服务器通过使用仅可以由许可用户的终端单元122生成的集 合密钥来加密内容密钥mek。具体地说,密钥分发服务器确定要排除的用户(在下文中称为排除用户)的终端单元的集合R,然后通过从所有用户的终
端单元1到n的集合N中排除掉排除用户的终端单元的集合R (在下文中称 为"排除用户的集合(R)"),来确定许可用户的终端单元的集合NXR(在 下文中称为"许可用户的集合(N\R)")。然后,通过从组成集合系统O
的子集中选择的子集Si (i=l、 2........ m)的并集来表示许可用户的集合(N
\R)=SlUS2U...USm。尽管存在子集Si的大量组合,但是选择具有最小值m 的子集Si。在以这种方式选择子集Si之后,密钥分发服务器通过使用与每个 子集Si对应的集合密钥k(Si)来加密内容密钥mek。具体地说,通过集合密钥
k(Sl)、 k(S2)、 ....... k(Sm)来加密内容密钥mek,并且内容密钥mek变为m
个经加密的内容密钥mek。然后,将m个经加密的内容密钥mek分发至所有 用户的终端单元l到n。此时,还将指示许可用户的集合NXR的信息或指示 m个子集Si的信息分发至所有用户的终端单元1到n。
参照图6简要地总结经加密的内容密钥mek的分发的处理流程。图6是 示出了用于内容密钥的分发的处理流程的流程图。
如图6所示,密钥分发服务器首先确定排除用户的集合R,并荻取许可 用户的集合NXR (S112)。接着,从组成集合系统①的子集中以使得m值
最小的方式选择具有并集N乂R的m个子集Si(i-l、 2........m) (S114)。
然后,通过使用分别与所选择的子集Si对应的集合密钥k(Si)来加密内容密钥 mek(S116)。进一步,向所有用户的终端单元1到n分发指示许可用户的 集合N乂R或各个子集Si的信息以及m个经加密的内容密钥mek (S118)。
在上文中描述了内容密钥mek的加密方法和分发方法。如果使用以上加 密方法,则以集合密钥的数量是所需的最小值的方式有效地选择子集Si。由 于通过使用最小所需数量的集合密钥来由此加密内容密钥mek,因此可以节 省加密所需的计算量,并且还可以减少要分发的经加密的内容密钥mek的数 量,由此减少通信量。
(内容密钥的解密)
在下文中描述每个用户的终端单元中经加密的内容密钥的解密处理。解 密处理是这样的处理终端单元基于从上述密钥分发服务器接收到的、指示 许可用户的集合NXR或m个子集Si的信息以及m个密文,来获取内容密 钥mek。
终端单元从上述密钥分发服务器接收经加密的内容密钥以及指示许可用户的集合NXR的信息或表示m个子集Si的信息。进一步,终端单元分析所 述信息,并判定其是否属于m个子集Si中的任意一个。如果终端单元不属于 子集中的任意一个,则结束解密处理,因为它是排除用户的终端单元。另一 方面,如果终端单元发现其所属的子集Si,则它通过使用上述PRSG导出与 子集Si对应的集合密钥k(Si)。 PRSG的配置如之前描述的那样。
在该步骤中,如果在系统建立时预先从密钥分发服务器向终端单元提供 与以上子集Si对应的中间密钥t(Si)并将其预先保存,则通过向PRSG输入中 间密钥t(Si)可以导出与以上子集Si对应的集合密钥k(Si)。另一方面,如果终 端单元不保存相关的中间密钥t(Si),则终端单元通过重复地向PRSG输入所 保存的中间密钥可以导出期望的集合密钥k(Si)。进一步,终端单元通过使用 以这种方式导出的集合密钥k(Si)解密经加密的内容密钥mek。
参照图4的示例具体描述终端单元中上述集合密钥k(Si)的导出。在用户 3的终端单元中,假设选择"1, 8"作为其所属的子集。如上所述,用户3 的终端单元保存子集[1,4]的中间密钥。参照图4的有向图H(1—64),设置从 坐标点[1,4]向坐标点[1,8]延伸的有向边,并且该有向边在其尾部位于坐标点 [1,4]的有向边之中具有第三最短长度(跳跃距离)。由此,在向PRSG输入 用于子集[1,4]的中间密钥t([l,4])时的输出之中,从顶部起的第三X位部分是 用于子集[1 ,8]的中间密钥t([ 1,8])。终端单元从PRSG的输出中提取中间密钥 t([1,8]),并将其再次输入到PRSG,并提取最终的X位部分,由此获取期望的 集合密钥k([1,8])。
同样地,在用户l的终端单元中,假设选择[1,8]作为其所属的子集。用 户1的终端单元保存子集[l,l]的中间密钥。在这种情况下,终端单元122通 过从向PRSG输入用于[1,1]的中间密钥t([l,l])时的输出中提取从顶部起第一 人位部分(与中间密钥t([l,2])对应),然后从向PRSG输入中间密钥t([1,2]) 时的输出中提取从顶部起第二X位部分(与中间密钥t([l,4])对应),进一步 从向PRSG输入中间密钥t([l,4])时的输出中提取从顶部起第三X位部分(与 中间密钥t([l,8])对应),并最终从向PRSG输入中间密钥t([l,8])时的输出中 提取最后部分(与集合密钥k([l,8])对应),可以获取期望的集合密钥k([1,8])。
参照图7总结用于在每个用户的终端单元中解密经加密的内容密钥mek 的处理流程。图7是示出了在每个用户的终端单元中用于内容密钥的解密的 处理流程的流程图。如图7所示,每个用户的终端单元首先从密钥分发服务器接收m个经加 密的内容密钥mek和指示许可用户的集合N \ R的信息或者指示m个子集Si (i=l, 2,……,m)的信息(S120)。接着,终端单元基于所述信息搜索其 所属的子集Si (S122),并判定其是否属于m个子集Si中的任意一个(步 骤S124)。
结果,如果终端单元发现其所属的子集Si,则它通过使用以上PRSG导 出与子集Si对应的集合密钥k(Si)(S126) 。 PRSG的配置如之前所述的那样。 如果在建立时由密钥分发服务器向终端单元提供与子集Si对应的中间密钥 t(Si)并将其预先保存,则它通过一次性地使用PRSG可以导出集合密钥k(Si)。 另一方面,如果终端单元不保存相关的中间密钥t(Si),则它通过重复地使用 PRSG可以导出期望的集合密钥k(Si)。此后,终端单元通过使用以这种方式 导出的集合密钥k(Si)解密经加密的内容密钥mek (S128)。
另一方面,如果终端单元在步骤S124判定它不属于子集Si中的任意一
是排除用户)(S130),并结束内容密钥的解密处理。
在上文中描述了在终端单元中内容密钥的解密方法。通过利用用于生成 中间密钥和集合密钥的PRSG,基于与有向图H有关的信息执行以上解密方 案。由此,在每个用户的终端单元中与有向图有关的信息和PRSG也是必需 的。然而,使用PRSG的方法使得能够最小化要由每个用户的终端单元保存 的中间密钥的数量。
在上文中描述了根据所述实施例的基本技术的加密密钥分发方案。通过 利用基本方案,要由每个用户的终端单元保存的中间密钥的数量是 0(k*log(n)),并且生成集合密钥所需的计算量(PRSG的操作次数)不超过 (2k-l)*(n1/k-l)。然而,根据基本技术的加密密钥分发方案(如在下面描述的 图13所示)存在如下问题要由每个用户的终端单元保存的中间密钥的数量 仍然很大。
进一步,当解密经加密的内容密钥mek时终端单元所需的计算量的决定 因素取决于为了导出期望的中间密钥而执行PRSG的次数。最差的值由有向 图H中从初始坐标点(根)到最远的最终坐标点(没有有向边源自的叶)有 向边的数量(即,跳跃的数量)表示。在图4所示的示例中,为了从有向图 H( 1 —64)的初始坐标点[1,1 ]达到最终的坐标点[1,64],必须穿过十一条有向边
67(执行十一次跳跃),这意味着执行PRSG十一次。由此,根据基本技术的
加密密钥分发方案存在另一个问题PRSG的执行次数太多,并且由此用于 导出中间密钥的计算量很大。
本发明的第一实施例的加密密钥分发方案(如在下文中所述)。根据本实施 例的加密密钥分发方案通过以更短的有向边替换了组成有向图的一条有向边 而重建了有向图,由此实现了要由终端单元122保存的中间密钥的数量的减 少。在下文中,详细描述要执行根据本实施例的加密密钥分发方案的密钥分 发服务器102和终端单元122的功能性配置,以及加密密钥分发方案的特征 和优点。
参照图8,在下文中详细描述根据本实施例的密钥分发服务器102的配 置。图8是示出了根据本实施例的密钥分发服务器102和终端单元122的配 置的框图。
如图8所示,密钥分发服务器102由树结构设置部分104、坐标轴设置 部分106、临时有向图生成部分108、有向图生成部分110、初始中间密钥设 置部分112、密钥生成部分114、加密部分116、传送部分118和子集确定部 分120组成。特别地,将树结构设置部分104、坐标轴设置部分106、临时有 向图生成部分108和有向图生成部分110统称为密钥生成逻辑构建块。同样 地,将初始中间密钥设置部分112和密钥生成部分114统称为密钥生成块。
在下文中描述组成密钥生成逻辑构建块的元件。密钥生成逻辑构建块执 行与上述[基本技术描述]中(树结构的设置)和(有向图的生成)对应的处理。 (树结构设置部分104)
树结构设置部分104配置由向其分配了编号l到n (n是自然数)的n 个叶节点、根节点和多个除了根节点和叶节点之外的中间节点组成的二叉树, 并在位于某个中间节点v或根节点v的下层的多个叶节点之中,将位于左端 的叶节点的编号设置为lv,将位于右端的叶节点的编号设置为rv。进一步, 树结构设置部分104将集合(l—n)和集合(2—n)分配给根节点,并且如果某个 中间节点v位于其父节点的左侧,则将集合(lv+l—rv)分配给中间节点,如果 中间节点v位于其父节点的右侧,则将集合(lv—rv-l)分配给中间节点。
如上所述,树结构设置部分104具有能够构造m层树结构并且假设m=2(二叉树)的情况的配置,例如,可以构造与根据基本方案的二叉树结构(图
3)相同的树结构。由此,由树结构设置部分104构造的树结构的每个节点的
意义与根据之前所述的基本方案构建的二叉树结构的每个节点的意义基本上 相同。尽管为了描述的方便起见,在下文中仅描述二叉树结构,但是其不限 于此。
(坐标轴i殳置部分106)
坐标轴设置部分106设置与根节点对应的第一水平坐标轴,其上与集合 (1—n)中包括的各个子集相关的坐标点在所述水平坐标轴上以包含度从左至 右变大的方式排列。接着,坐标轴设置部分106设置与根节点对应的第二水 平坐标轴,其上与集合(2—n)中包括的各个子集相关的坐标点在所述水平坐标 轴上以包含度从右至左变大的方式排列。然后,对于每个中间节点,坐标轴 设置部分106设置与某个中间节点v对应的第三水平坐标轴,其上与集合 (lv—rv-l)中包括的各个子集相关的坐标点在所述水平坐标轴上以包含度从左 至右变大的方式排列,并且设置与某个中间节点v对应的第四水平坐标轴, 其上与集合(lv+l—rv)中包括的各个子集相关的坐标点在所述水平坐标轴上 以包含度从右至左变大的方式排列。进一步,坐标轴设置部分106将一个临 时坐标点;改置在位于第 一到第四水平坐标轴的左端的坐标点的左侧和位于第 二到第四水平坐标轴的右端的坐标点的右侧,并将位于第一水平坐标轴的右 端的坐标点设置为临时坐标点。
如上所述,坐标轴设置部分106设置用于构建与由树结构设置部分104 配置的树结构的各个节点对应的有向图的坐标轴。第 一水平坐标轴表示与集 合(1—n)的坐标轴,第二水平坐标轴表示与集合(2—n)对应的坐标轴,第三水 平坐标轴表示与集合(lv—rv-l)的坐标轴,而第四水平坐标轴表示与集合 (lv+l—rv)对应的坐标轴。由于对于每个中间节点v设置第三水平坐标轴和第 四水平坐标轴,因此分别设置多个坐标轴。具体地说,设置与中间节点的数 量相同的第三水平坐标轴和第四水平坐标轴的数量。 (临时有向图生成部分108)
临时有向图生成部分108设置给定整数k,并计算满足
n(x—1)/k<(rv-1v+l)^i威的自然数x。接着,对于每个整数1=0到x-l,临时有向
图生成部分108通过连接(couple)具有长度n"k的一条或多条右向有向边, 形成其起点位于第一和第三坐标轴上的最左侧的坐标点的有向路径,并进一步通过连接具有长度n^的一条或多条左向有向边,形成其起点位于第二和第 四坐标轴上的最右侧的坐标点的有向路径。然后,临时有向图生成部分108 对于第一到第四水平坐标轴中的每个,排除其尾部或头部位于每个临时坐标 点的所有有向边。进一步,临时有向图生成部分108从到达第一到第四水平 坐标轴上每个坐标点的有向边中,排除除了最长有向边之外的有向边,由此
生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关 的临时有向图1,(1—n-l)、 1,(2—n)、 I,(lv+1—rv)和I'(lv—rv-l)。此后,临时 有向图生成部分108将具有长度1的有向边(其头部是位于第一水平坐标轴 的右端的坐标点)添加到与集合(1—n-l)有关的临时有向图I'(l—n-l),由此 生成与集合(l—n)有关的临时有向图1,(1—n)。
如上所述,临时有向图生成部分108生成临时有向图r作为生成期望的 有向图i的预处理。临时有向图r与基本方案中的有向图H对应。 (有向图生成部分110)
有向园生成部分IIO在由连续的有向边形成的有向路径之中,确定具有
形成有向路径的最大数量的有向边的最长有向路径。确定最长有向路径的处 理可以由最长有向路径确定部分来执行,例如所述最长有向路径确定部分可
以包括在有向图生成部分110中。进一步,有向图生成部分110以每个有向
路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的 有向边来替换形成每个有向路径的有向边,由此生成有向图。
如上所述,有向图生成部分110以更短的有向边来替换组成临时有向图
r的有向边,由此构建临时有向图r并生成期望的有向图i。在下文中详细描 述与由有向图生成部分11o执行的临时有向图r的重建有关的技术构思和处
理流程。
首先,参照图9描述与有向图生成部分110的处理有关的基本概念。图 9是示意性地示出了有向图生成部分110的处理的说明图。
参照图9,绘出了两个有向图Q,(A—G)和Q(A—G)(其为了说明的目的 而创建)。有向图Q,(A—G)与基本方案对应,而有向图Q(A—G)与本实施例 对应。进一步,除了每个有向图之外还绘出了多条垂直线,并且将标记A到 G中的任意一个分配给每一条垂直线。标记A到G分别表示用户的终端单元。 在基本方案的以上描述中,通过将标记1到n分配给用户来给出说明,并且 它们与其对应。因此,从左侧将子集[A,A]、 [A,B]、 ....... [A,G]分配给每个坐标轴的坐标点。进一步,在每个坐标点下,描述要由与每一条垂直线对应 的用户保存的中间密钥的数量。
作为基本方案的描述中提到的事项的回顾,首先筒要描述有向图
Q,(A—G)。有向图Q,(A—G)由具有长度1的四条有向边(A4B,B4C, D4E, F4G)、具有长度2的一条有向边(B4D)以及具有长度4的一条有向边(B4F) 组成。考虑从坐标点[A,A]到坐标点[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])可以导出中间密钥t([A,B]), ( 2 )通过向PRSG输入中间密钥t([A,B]) 可以导出中间密钥t([A,C])、 t([A,D])和t([A,F]),以及(3 )通过向PRSG输入 中间密钥t([A,F])可以导出中间密钥t([A,G])。由此,对于用户A来说必须执 行PRSG与形成有向路径P([A,A],[A,G])的有向边的数量相同的次数,以便导 出与有向路径P([A,A],[A,G])的终点对应的中间密钥t([A,G])。这是确定用户 的计算量的次数。在有向图Q,(A—G)的情况下,由于有向路径P([A,A],[A,G]) 和有向路径p([A,A],[A,E])具有最小数量的有向边,因此那些有向路径的长度 与用户的计算量的最差值对应。
另 一 方面,每个用户应该能够生成与用户所属的子集对应的所有中间密 钥。由于该原因,要由用户预先保存的中间密钥应该是这样的要通过重复 使用PRSG生成的多个中间密钥包括与其所属子集对应的全部中间密钥。进 一步,应该选择要由每个用户保存的中间密钥,以便最小化其数量。由此, 用户通过参照有向图,从与用户所属的子集对应的坐标点中选择坐标点,以 便与到达所述坐标点的有向边的尾部对应的子集不包括所述用户,并保存与 所述坐标点对应的中间密钥。
例如,通过参照有向图Q,(A—G)来考虑要由用户C保存的中间密钥。
用户C所属的子集是[A,C]、 [A,D]........ [A,G]。将注意力集中在有向图
Q,(A—G),达到子集[A,C]、 [A,D]、 [A,F]的有向边的尾部全部是坐标点[A,B], 其不包括用户C。由此,用户C需要保存中间密钥t([A,C])、t([A,D])和t([A,F])。 实际上,要由每个用户保存的中间密钥的数量由与每个用户对应的垂直线与 有向图之间的交叉点的数量表示。例如,由于交叉点的数量为2,因此用户D 需要保存两个中间密钥。通过以上方法,在每个有向图下,计算并描述要由每个用户保存的中间密钥的数量。
以上说明仅简要描述了有向图的意义。基于以上说明,在下文中描述本 实施例的基本概念。如已经提到的那样,本实施例旨在减少密钥的数量而不 增加计算量。考虑到此情况,在下文中描述所釆取的用以减少密钥数量的方法。
现在重新参照图9。如果采用基于有向图Q,(A—G)的密钥分发方案,则 存在具有最多三个密钥的用户C。进一步,要由所有用户保存的密钥的数量 是11。然后,将有向图Q,(A—G)改变到Q(A—G)。具体地说,以从坐标点[A,D] 延伸到[A,F]的有向边E([A,D], [A,F])替换从坐标点[A,B]延伸到[A,F]的有向边 E([A,B], [A,F])。如果进行了这样的改变,则要由每个用户保存的密钥数量的 最大值是2,其与用户C和用户E对应。进一步,要由所有用户保存的密钥 的数量是9。由此,在改变之前和之后密钥的数量减少。然而,在该改变的 示例中,没有考虑计算量。因此,有向图Q(A—G)在从坐标点[A,A]到[A,G] 有向路径P([A,A], [A,G])中包括四条有向边,并且与有向图Q,(A—G)相比计 算量的最差值略有增加。
据此,本实施例提供了在不进行导致超出计算量的最差值的有向图改变 的条件下,基于图9所示的基本概念能够减少密钥数量的有向图生成部分110 的配置。参照图10到图14,在下文中具体描述通过有向图生成部分IIO生 成有向图I的方法。
首先参照图10,简要地描述通过有向图生成部分110的有向图生成方法 的概要。图IO是示出了生成有向图的处理流程的示例的流程图。
首先,有向图生成部分IIO使用由临时有向图生成部分108生成的临时
有向图r,以便生成期望的有向图i。如之前所述的那样,临时有向图r是以
与通过基本方案的有向图H相同的方式而生成的。执行通过临时有向图生成 部分108的临时有向图I,的生成作为第一步骤(S140)。
然后,有向图生成部分iio从组成所有生成的临时有向图r的有向路径
提取最长有向路径LP (LongestPath,最长路径)(S142)。例如,可以由 包括在有向图生成部分110中的最长有向路径生成部分来执行提取有向路径 LP的步骤。进一步,从不包括最长有向路径LP的所有生成的临时有向图I, 的每个中提取最长有向路径PLP ( Partially Longest Path,部分最长路径) (S144)。由此,从临时有向图I,中提取有向路径PLP。此后,从组成临时
72有向图I,的有向边中选择给定有向边,并以更短的有向边来替换它(S146)。
此时,有向图生成部分110在不增大计算量的最差值的上述条件下,基于提 取的有向路径LP和有向路径PLP的长度执行有向边的替换。进一步,例如, 可以由有向图生成部分110中包括的有向边替换部分来执行上述有向边替换步骤。
在上文中描述了由有向图生成部分110进行的有向图生成步骤的概要。 如上所述,有向图生成部分ll(M人由临时有向图生成部分108生成的临时有
向图r中提取有向路径LP和有向路径PLP,然后基于那些有向路径的长度选 择并替换给定有向边,由此生成期望的有向图。在下文中给出与上述每个步 骤对应的更详细的说明。
首先参照图ii,描述临时有向图r的生成步骤。注意,在下文中仅描述 临时有向图r之中与中间节点v对应的有向图r(lv—rv-i)。首先,临时有向
图生成部分108设置给定整数k,定义Lv二rv-lv+l,并计算满足n^,〈Lv^n^ 的整数x(S150)。临时有向图生成部分108通过将计数i从0改变到x-l来 执行下面的操作。从水平坐标轴的左端的起点开始,重复延伸到远离所述坐 标点n'A的坐标点的右向有向边的设置(跳跃到远离所述坐标点n^的坐标 点),直到有向边的头部达到水平坐标轴的右端的终点或者下一个要设置的 有向边的头部超过终点为止(S152)。然后,临时有向图生成部分108消除 其尾部或头部位于临时坐标点的所有有向边(S154)。进一步,临时有向图 生成部分108在达到坐标轴上的各个坐标点的有向边之中,消除除了最长有 向边之外的有向边(S156)。
接着参照图12,在下文中描述提取最长有向路径LP (S160)的步骤。 在描述最长有向路径LP之前,定义两个表达式如下。
-DDT:表示最长有向路径LP的长度。
-J(a,b):表示存在于某个有向路径中的具有长度b的、数量为a的连续有向边。
(例如,釆用图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)的坐标点[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的所有有向边设置表示有效的激活标记 (active mark )。
接着,参照图13,描述计算与根节点和各个中间节点对应的每个临时有 向图I,的最长有向路径PLP (除了包括最长有向路径LP的图)的步骤。图 13是示出了有向路径PLP的计算步骤的流程图。
在对于每个有向图提取最长有向路径PLP的步骤的描述之前,定义如下 两个表达式。
-CP ( Current Path ):所考虑的有向路径(将其称为当前路径) -釘P(CP) :在有向路径中包括的有向边的数量。
有向图生成部分IIO基于下述算法提取有向路径PLP。 (步骤1 )有向图生成部分110确定从有向图I,的起点到终点的当前路 径CP。如果所考虑的有向图是有向图I,(a—b),则将有向路径P([a,a],[a,b]) 设置为当前路径CP,而如果是有向图I,(a—b),则将有向路径P([b,b],[a,b]) 设置为当前路径CP (S162)。
(步骤2 )有向图生成部分110在形成当前路径CP的有向边之中提取最 长有向边,并将其长度设置为J (S164)。
(步骤3 )有向图生成部分110判定J^l是否成立(S166 ),并且如果, 则将当前路径CP确定为有向路径PLP ,并向形成有向路径PLP的所有有向 边设置激活标记(S176)。
(步骤4 )如果J>1,则有向图生成部分110判定釘P(CP)+n"k-l^DDT是 否成立(S168),并且如果弁JP(CP)+n"k-l^DDT不成立,则将当前路径CP 确定为有向路径PLP,并向形成有向路径PLP的所有有向边设置激活标记 (S176)。(步骤5)如果^JP(CP)+n"k-l^DDT,则有向图生成部分110计算满足 J二r/k的自然ltj (S170)。
(步骤6)有向图生成部分110在具有形成当前路径CP的长度为J的有 向边之中,提取距离当前路径CP的起点最远的有向边(S172)。
(步骤7 )有向图生成部分110紧接在从(步骤6 )中提取的有向边的尾 部延伸的、具有长度i/i-"a的数量为n"k"的有向边之后,添加具有长度n^, 的一条有向边,并移除在(步骤6)中提取的有向边(S174)。此后,进行 到(步骤1 )并重复以上步骤。
如果执行有向边的进一步替换,则当从有向图I,的起点到终点的有向路 径由全部具有长度l的有向边组成时,或者当形成有向路径的有向边的数量 超过DDT时,在上述(步骤l)到(步骤6)中出现的处理的循环结束。通 过以上处理,可以对于每个有向图设置最长有向路径PLP。
然后参照图14,在下文中描述替换给定有向边的步骤。在该步骤中,在 形成有向路径的有向边的数量不超过DDT的条件下,对于每个有向图构建用 以以更短的有向边替换给定有向边的处理的算法。 有向图生成部分110基于以下算法替换有向边。
(步骤i )有向图生成部分110在组成有向图I,的有向边之中,提取被 设置为激活、还没有被处理(没有设置完成)且最长的有向边。进一步,有
向图生成部分iio将所提取的有向边的长度设置为r。如果存在具有长度j, 的多条有向边,则有向图生成部分uo选择距离有向图r的起点最远的有向
边(S180)。将所选择的有向边称为WJ (Working Jump,工作跳跃),将有 向边WJ的起点称为WJS,并且将终点称为WJE。进一步,将形成从有向图 I,的起点到达WJS的有向路径的有向边的数量表示为D。
(步骤2)有向图生成部分110判定有向边WJ的长度J,是否为JS1 (S182),如果J,S1,则将仅由被设置为激活的有向边组成的有向图设置为期 望的有向图I(S202 )。如果J,〉1,则进行到(步骤3)。
(步骤3)如果有向边wj的长度r为r>i,则有向图生成部分no将
从WJS到达(WJE-1 )的有向路径设置为当前路径CP ( S184 ) 。 ( WJE-1 ) 是紧接在WJE之前的坐标点。
(步骤4)有向图生成部分110在形成当前路径CP的有向边之中提取最 长有向边,并将其长度设置为J (S186)。
75(步骤5 )有向图生成部分110判定所提取的有向边的长度J是否为J^l
(S188 ),并且如果J^l,则向形成当前路径CP的所有有向边设置激活(S198 ) 并向有向边WJ设置完成(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,则向形成当前路径CP 的所有有向边设置激活(S198),并向有向边WJ设置完成(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在形成当前路径CP的具有长度J的有向 边之中,提取距离当前路径CP的起点最远的有向边(S194)。
(步骤9 )有向图生成部分110紧接在从(步骤8 )中提取的有向边的尾 部延伸的、具有长度nG-,的数量为n〃k"的有向边之后,添加具有长度r^,
的一条有向边,并移除在(步骤8)中提取的有向边(S196)。此后,进行 到(步骤3)并重复以上步骤。
如果执行有向边的进一步替换,则当从WJS到WJE-1的有向路径由全 部具有长度i的有向边组成时,或者当形成从WJS到WJE-1的有向路径的有 向边的数量超过DDT时,在上述(步骤3)到(步骤9)中出现的处理的循 环结束。另一方面,当没有对组成有向图I,的任意有向边设置完成,并且不 存在具有长度2或更长的有向边时,在上述(步骤1 )到(步骤5 )或(步骤 6)中出现的处理的循环结束。通过以上处理,可以生成期望的有向图I。
最后,示出了通过使用上述有向图生成方法而生成的有向图I的示例。 图15示出了在基于具有叶节点数11=64的完全二叉树(如图3所示)设置参 数1(=6的情况下的有向图I。
首先,将基于基本方案生成的有向图H (图4)与根据本实施例的有向 图I(图15)进行比较,如下两点是显而易见的。(l)与有向图H相比,在 有向图I中,具有长度2或更长的有向边的数量减少,并且从一个坐标点延 伸的有向边的数量减少。(2)组成有向图I的任意有向路径不超过有向图H 的最长有向路径LP(P[1,1],[1,64])的长度。由此,确认生成了能够在不增加生成集合密钥所需的计算量的最差值的情况下减少要由用户保存的中间密钥的 数量的有向图I。
同样地,关于设置参数1^3的情况进行比较。在基于基本方案的密钥分
发方案中,要分发到每个用户的中间密钥的数量是0(l^log(n)),并且随着参 数k减小,要由每个用户保存的密钥的数量也减少。然而,存在如下问题 参数k的减小引起了计算量的增加。考虑到该问题,具体地进行当参数k减 小时的效果的研究。图16示出了基于基本方案生成的有向图H,而图17示 出了根据本实施例的有向图I。
将通过使用相同的基本方案生成的有向图H (图4: k=6,图6: k=3 ) 进行比较,在具有]^3的有向图H中,具有长度2或更长的有向边的数量减 少,并且从一个坐标点延伸的有向边的数量减少。然而,在]^=3的情况下, 形成有向图H的最长有向路径LP([1,1],[1,64])的有向边的数量是15,其大于 k=6的情况下的有向边的数量(有向边的数量=11 )。然后,关于k^3的相同 情况将根据基本方案的有向图H (图16)与根据本实施例的有向图I (图17) 进行比较,尽管形成最长有向路径LP的有向边的数量是15 (其是相同的), 但是有向图I中具有长度2或更长的有向边的数量更少。由此确认,不论参 数k如何都可以获得本实施例的效果。
为了更加量化地理解根据本实施例减少密钥数量的效果,在图18中的表 格中示出了在基本方案(由现有方案表示)与本实施例之间的比较结果。参 照图18,在1^=6的情况下,对所有用户减少要保存的密钥数量。当然,这对 于密钥总数和密钥平均数是相同的。进一步,将基本方案(k=3 )和本实施例 的方案(k=6)进行比较,要由每个用户保存的密钥数量几乎相同。比较示出 了通过应用本实施例可以减少计算量而又同时保持几乎相同的密钥数量的效 果。尽管由于在用户数量n只有n-64那么小的实现中获得以上结果,因此要 减少的密钥数量的绝对值似乎不大,但是由于用户数量的量级相差悬殊,因 此在实现环境中减少的效果是非常明显的。
在上文中描述了能够在不增大生成集合密钥所需的计算量的最差值的情 况下,减少要由用户保存的中间密钥的数量的有向图的生成逻辑。上述密钥 生成逻辑(有向图)的构造主要由组成密钥分发服务器102的密钥生成逻辑 构建块执行。然而,为了基于以上密钥生成逻辑来执行加密密钥分发,其他 元件是必需的。由此,重新参照图8在下文中描述其他元件。重新参照图8,除了上述密钥生成逻辑构建块之外,密钥分发服务器102
还包括初始中间密钥设置部分112、密钥生成部分114、加密部分116、传送 部分118和子集确定部分120。
(初始中间密钥设置部分112 )
初始中间密钥设置部分112对于与树的每个中间节点对应的每个有向图 I,生成与有向图I的初始坐标点对应的中间密钥。例如,初始中间密钥设置 部分112可以使用伪随机数发生器来生成随机数,并将随机数设置为与以上 初始坐标点(根)对应的每个中间密钥,或者可以将给定数值设置为每个中 间密钥。
(密钥生成部分114)
对于组成有向图I的某个有向边,当输入分配给由有向边的尾部指示的 坐标点的给定中间密钥时,密钥生成部分114输出与由有向边的尾部表示的
的中间密钥。由此,密钥生成部分114与基本方案的PRSG对应。然而,密 钥生成部分114与基本方案的PRSG的不同在于它基于由有向图生成部分 110生成的有向图I输出中间密钥。如果将密钥生成部分114表示为与PRSG 相同,则当输入与有向图I的某个坐标点SO对应的中间密钥t(SO)时,输出与
其尾部位于所述坐标点的有向边的头部对应的中间密钥t(Sl)、 t(S2)........
t(Sm)(与子集S0对应)以及集合密钥k(SO)。注意,m表示其尾部位于某个 坐标点S0的有向边的数量。 (传送部分118)
传送部分U8将由加密部分116加密的内容密钥(将在后面描述)传送 到与叶节点对应的所有用户。传送部分118通过参照上述有向图I向每个用 户分发中间密钥。此时,传送部分118可以以每个用户可以导出与其所属的 子集对应所有中间密钥的方式分发最小所需数量的中间密钥。具体地说,传 送部分118可以从組成集合系统(D (参照以上表达式(1 ))的子集中提取中 间密钥的分发目的地用户所属的子集,从与所提取的子集对应的有向图I的 坐标点中选择一 个坐标点,以便在与达到所述坐标点的有向边的尾部对应的 子集中不包括分发目的地用户,并仅将与所选择的坐标点对应的中间密钥分 发至分发目的地用户。然而,如果中间密钥的分发目的地用户所属的子集与 有向图I的初始坐标点对应,则传送部分118可以仅将与初始坐标点对应的
78中间密钥分发至分发目的地用户。进一步,传送部分118可以用作向每个用 户分发有向图I的信息的有向图信息分发部分。具体地说,当输入每个中间 密钥时,传送部分118可以分发与基于有向图I输出给定中间密钥和集合密
钥的PRSG的密钥生成算法(如密钥生成程序)有关的信息。
通过使用不同于用于内容分发的信道的通信信道,可以在内容的分发之 前执行中间密钥的分发。例如,在终端单元的制造工厂中制造终端时,可以
从密钥分发服务器102输出每个终端的中间密钥,并将其记录在记录媒体上, 并且可以将从记录媒体中读取的每个终端单元的中间密钥存储到对应的终端 单元中。
(加密部分116)
加密部分116通过使用集合密钥加密内容密钥。尽管内容密钥的数量是 1,但是存在与组成集合系统O的子集数量相同的集合密钥的数量。在组成 集合系统(D的所有子集之中,加密部分116通过使用与由子集确定部分120 选择的子集对应的每个集合密钥,来加密内容密钥(将在后面描述)。由此,
加密密钥116生成与各个集合密钥对应的经加密的内容密钥。因此,如果所 选择的子集的数量是m,则生成m个经加密的内容密钥。可替代地,加密部 分116可以加密内容。例如,加密部分116可以使用内容密钥来加密内容或 者可以使用上述各个集合密钥来加密内容。然而,使用集合密钥来加密内容 的配置是本实施例的可替代的示例。 (子集确定部分120)
子集确定部分120确定应该对其禁止内容或内容密钥的解密的排除用户 的集合(R),并通过使用从与有向图I的坐标点对应的子集中选择的给定子 集的并集,从所有用户的集合(N)中消除排除用户的集合(R),来定义许 可用户的集合(N\R),然后以组成许可用户的集合(N\R)的子集数量 最小的方式确定组成许可用户的集合(NXR)的一组子集。子集确定部分120 可以由如下部分组成许可用户集合确定部分,用于确定许可用户的集合(N \R);以及许可用户子集确定部分,用于确定组成许可用户的集合(N\R) 的一组子集。
在以上述方式由子集确定部分120确定组成许可用户的集合的子集(Sl、
S2........ Sm)之后,传送部分118向每个用户分发许可用户的集合(N\
R)或组成许可用户的集合(N\R)的子集(Sl、 S2........ Sm)。进一步,加密部分116使用与由子集确定部分120确定的子集(Sl、 S2........ Sm)
对应的集合密钥,来加密内容或内容密钥,并且传送部分118将经加密的内 容或内容密钥分发至每个用户。
在上文中描述了根据本发明的优选实施例的密钥分发服务器102的配 置。如上所述,本实施例的特征主要是密钥生成逻辑构建块的配置。特别地, 本实施例具有在用于生成确定密钥生成逻辑的有向图的有向图生成部分110 的配置方面的特征。根据本实施例的有向图生成部分IIO可以生成能够在不 增加对于每个用户来说用以生成集合密钥所需的计算量的情况下,减少要由 每个用户保存的中间密钥的数量。结果,可以节省每个用户的终端单元用以 保存中间密钥所需的存储器容量,并且还可以降低向每个用户的终端单元分 发中间密钥的分发成本。
参照图8,在下文中描述根据本实施例的终端单元122的配置。 参照图8,终端单元122包括接收部分124、判定部分126、密钥生成部 分128和解密部分130。 (接收部分124)
接收部分124接收从密钥分发服务器102中包括的传送部分118传送的 信息。例如,接收部分124从密钥分发服务器102接收所分发的内容、经加 密的内容密钥、给定中间密钥、与有向图I相关的信息、与许可用户相关的 信息等。进一步,接收部分124可以从多个信息源收集信息,而不是仅从单 一信息源接收信息。例如,接收部分124可以从多个通过有线或无线网络连 接的信息源(如密钥分发服务器102)或者在不通过网络的情况下直接或间 接连接的信息源(如诸如光盘单元、磁盘单元和便携式终端单元之类的信息 媒体)获取信息。由于接收部分124当然可以从另一终端单元122接收信息, 因此可以将其进行配置以便与例如属于相同分发目的地组的另 一终端单元 122共享有向图I的信息。在这种情况下,相同分发目的地组意味着授权为从 相同或多个密钥分发服务器102分发的内容的查看用户(vieweruser)的組, 这与上述树结构的叶节点对应的用户的集合对应。进一步,可以预先向终端 单元提供上述中间密钥,并将其存储在终端单元中。 (判定部分126)
判定部分126判定它是否作为与用于加密的集合密钥对应的任意子集中的元素而包括。由于终端单元122仅保存用于生成与其所属的子集对应的集
合密钥的中间密钥,因此必须基于与由密钥分发服务器102使用的、用以加
密内容或内容密钥的集合密钥有关的信息,预先判定其所属的子集是否包括
在与集合密钥对应的子集中。这样的判定由判定部分126进行。以与内容密 钥相同的定时或不同的定时,从密钥分发服务器102分发与用于加密的集合 密钥有关的信息,并由接收部分124接收所述信息。如果判定与其所属的子 集对应的集合密钥不包括在用于加密的集合密钥中,则终端单元122结束内 容密钥的处理,而不执行使用其自身保存的中间密钥来生成集合密钥的处理。 相反,如果发现了与其所属的子集对应的集合密钥,则终端单元122通过利 用PRSG,使用其自身保存的中间密钥来生成集合密钥。 (密钥生成部分128) 对于组成有向图I的某个有向边,当输入分配给由有向边的尾部所表示 的坐标点的给定中间密钥时,密钥生成部分128输出与由有向边的尾部所表
对应的中间密钥。由此,密钥生成部分128与密钥分发月l务器102中包括的 密钥生成部分114对应。如果将密钥生成部分128表示为PRSG,如果输入 与有向图I的某个坐标点SO对应的中间密钥t(SO),则输出与其尾部位于坐标
点SO的有向边的头部对应的中间密钥t(Sl)、 t(S2)........ t(Sm)以及集合密
钥k(SO)。注意,m表示其尾部位于某个坐标点SO的有向边的数量。可以从 密钥分发服务器102获取有向图I的信息,或者将其存储在终端单元122中 包括的存储部分(未示出)中。 (解密部分130)
解密部分130使用集合密钥来解密内容密钥。具体地说,解密部分130 从与集合密钥对应的子集中提取将它作为元素包括的子集,并使用与所述子
集对应的集合密钥来解密内容或内容密钥。
在上文中描述了根据本实施例的终端单元122的配置。如上所述,终端 单元122可以基于由上述密钥分发服务器102中包括的有向图生成部分110 生成的特殊的密钥生成逻辑(有向图I)来生成期望的集合密钥。结果,对于 终端单元122来说,可以减少生成用以解密内容密钥的集合密钥所需保存的
中间密钥的数量。 <第二实施例>接着,描述根据本发明的第二实施例的加密密钥分发方案。根据本实施 例的加密密钥分发方案通过生成由更长的有向边组成的临时有向图,然后以 更短的有向边来替换组成临时有向图的有向边以由此重建有向图,能够减少 对于终端单元122来说、用以生成集合密钥所需的计算量,同时减少要由终
端单元122保存的中间密钥的数量。在下文中,详细描述执行根据本实施例 的加密密钥分发方案的密钥分发服务器152的功能性配置、加密密钥分发方 案的特征和优点。与上述第一实施例的主要区别在于密钥分发服务器152的 功能性配置。由此,由相同的符号表示与上述第一实施例中的组件基本上相 同的组件,并省略冗余说明。
参照图19,在下文中详细描述根据本实施例的密钥分发服务器152的配 置。图19是示出了根据本实施例的密钥分发服务器152和终端单元122的配
置的框图。
如图19所示,密钥分发服务器152由树结构设置部分154、坐标轴设置 部分156、临时有向图生成部分158、有向图生成部分160、初始中间密钥设 置部分162、密钥生成部分164、加密部分166、传送部分168和子集确定部 分170组成。特别地,将树结构设置部分154、坐标轴设置部分156、临时有 向图生成部分158和有向图生成部分160统称为密钥生成逻辑构建块。同样 地,将初始中间密钥i殳置部分162和密钥生成部分164统称为密钥生成块。
在下文中描述组成密钥生成逻辑构建块的元件。密钥生成逻辑构建块执 行与上述[基本技术描述]中的(树结构的设置)和(有向图的生成)对应的处 理。
(树结构设置部分154)
树结构设置部分154配置由向其分配了编号l到n (n是自然数)的n 个叶节点、根节点和多个除了根节点和叶节点之外的中间节点组成的二叉树, 并在位于某个中间节点v或根节点v的下层的多个叶节点之中,将位于左端 的叶节点的编号设置为lv,将位于右端的叶节点的编号设置为rv。进一步, 树结构设置部分154将集合(1—n)和集合(2—n)分配给根节点,并且如果某个 中间节点v位于其父节点的左侧,则将集合(lv+l—rv)分配给中间节点,如果 中间节点v位于其父节点的右侧,则将集合(lv—rv-1 )分配给中间节点。
如上所述,树结构设置部分154具有能够构造m层树结构并且假设m=2(二叉树)的情况的配置,例如,可以构造与根据基本方案的二叉树结构(图 3)相同的树结构。由此,由树结构设置部分154构造的树结构的每个节点的 意义与根据之前所述的基本方案构建的二叉树结构的每个节点的意义基本上 相同。尽管为了描述的方便起见,在下文中仅描述二叉树结构,但是其不限 于此。
(坐标轴设置部分156)
坐标轴设置部分156设置第一水平坐标轴,其上与集合(1—n)中包括的 各个子集相关的坐标点以包含度向右变大的方式排列。接着,坐标轴设置部 分156设置第二水平坐标轴,其上与集合(2—n)中包括的各个子集相关的坐标 点以包含度向左变大的方式排列。然后,对于每个中间节点v,坐标轴设置 部分156设置第三水平坐标轴,其上与集合(lv—rv-l)中包括的各个子集相关 的坐标点以包含度向右变大的方式排列。进一步,对于每个中间节点v,坐 标轴设置部分156设置第四水平坐标轴,其上与集合(lv+l—rv)中包括的各个
坐标轴设置部分156将两个临时坐标点均放置在位于第三水平坐标轴的右端 的坐标点的右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧。进 一步,坐标轴设置部分156将位于第一水平坐标轴的右端的坐标点设置为第 一临时坐标点,并将第二临时坐标点放置在第一临时坐标点右侧。
如上所述,坐标轴设置部分156设置用于构建与由树结构设置部分154 配置的树结构的各个节点对应的有向图的坐标轴。第 一水平坐标轴表示与集 合(l—n)的坐标轴,第二水平坐标轴表示与集合(2—n)对应的坐标轴,第三水 平坐标轴表示与集合(lv—rv-l)的坐标轴,而第四水平坐标轴表示与集合 (lv+l—rv)对应的坐标轴。由于对于每个中间节点v设置第三水平坐标轴和第 四水平坐标轴,因此分别设置多个坐标轴。具体地说,设置与中间节点的数 量相同的第三水平坐标轴和第四水平坐标轴的数量。 (临时有向图生成部分158)
临时有向图生成部分158设置给定整数k,并计算满足 n"-,〈(rv-lv+l)^nx/k的自然数x。接着,对于每个整数i咱到x-l,临时有向
图生成部分15 8通过连接具有长度ni/k的 一条或多条右向有向边,形成其尾部 位于第一和第三坐标轴上的最左侧的坐标点的有向路径,并进一步通过连接 具有长度ni/k的一条或多条左向有向边,形成其尾部位于第二和第四坐标轴上的最右侧的坐标点的有向路径。然后,临时有向图生成部分158对于第一到 第四水平坐标轴中的每个,排除其尾部或头部位于临时坐标点的所有有向边。
进一步,临时有向图生成部分158从到达第一到第四水平坐标轴上每个坐标 点的有向边中,排除除了最长有向边之外的有向边,由此生成分别与集合 (1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图。 此后,临时有向图生成部分158将具有长度1的有向边(其头部是位于第一 水平坐标轴的右端的坐标点)添加到与集合(1—n-l)有关的临时有向图,由此 生成与集合(1 —n)有关的临时有向图。
如上所述,临时有向图生成部分158通过与基本方案类似的方法生成有 向图。然而,与基本方案的有向图相比,临时有向图生成部分158可以生成 由更长的有向边组成的有向图。这减少了对于每个用户来说、用以导出集合 密钥所需的计算量(如后面所述)。在下文中参照图20详细描述由临时有向 图生成部分158执行的处理的处理流程。图20是示出了由临时有向图生成部 分158进行的有向图生成的处理流程的流程图。
参照图20,临时有向图生成部分158通过下述步骤生成有向图。通过例 证的方式描述生成与集合(lv—rv-l)对应的临时有向图I'(lv—rv-l)的方法。
(步骤l; S240 )临时有向图生成部分158通过将集合(lv—rv-l)中包括 的各个子集以包含度从左至右变大的方式排列,而将其放置在水平直线(水 平坐标轴)上。准确地说,临时有向图生成部分158将作为集合(lv—rv-l)的 元素的子集分配给水平坐标轴上的各个坐标点,并以所分配的子集的包含度 向右变大的方式放置坐标点。然后,临时有向图生成部分158将两个临时坐 标点放置在位于水平坐标轴上最右侧的坐标点的右侧。从坐标轴上最左侧坐 标点到最右侧坐标点的距离Lv为Lv=rv-lv+l 。此时,临时有向图生成部分 158计算满足n(x-,〈Lv^n^的整数x(lSx^c)。
(步骤2; S242)临时有向图生成部分158将整数值i设置为计数,并 通过从0变化到x-l的计数i执行如下操作。从水平坐标轴的左端处的起点开 始,临时有向图生成部分158重复延伸到远离所述坐标点n"k的坐标点的右向 有向边的设置(跳跃到远离所述坐标点n"k的坐标点),直到有向边的头部达 到水平坐标轴上其右端或左端的临时坐标点为止或者下一个要设置的有向边 的头部超过任意临时坐标点为止。
(步骤3; S244)临时有向图生成部分158从在(步骤2 )中创建的有向边中删除到达临时坐标点的所有有向边。
(步骤4; S246)如果存在到达某个坐标点的多个有向边,则临时有向 图生成部分158删除除了最长有向边之外的所有有向边。
通过以上处理,临时有向图生成部分158可以由与基本方案相比更长的 有向边组成的有向图。进一步,对于组成树结构的所有中间节点和根节点, 临时有向图生成部分158通过与以上临时有向图I,(lv—rv-l)相同的方法生成 有向图。例如,临时有向图生成部分158生成与某个中间节点v对应的临时 有向图I'(lv—rv-l),并进一步生成与根节点对应的临时有向图I'(1—n)和 1(2—n)。在水平坐标轴上形成临时有向图I,(lv+1—rv)和I(2—n),在所述水平 坐标轴上以每个图中包括的子集的包含度在"向左方向"中变大的方式排列 坐标点。由此,颠倒由以上(步骤l)设置的水平坐标轴上的坐标点排列规 则。进一步,将用于组成临时有向图I,(lv+1—rv)和1(2—n)的两个临时坐标点 放置在位于水平坐标轴上最左侧的坐标点的左侧。通过将有向边 e([l,n-l],[l,n])添加到有向图1(1—n-l)来生成有向图1(1—n)。
通过利用上述有向图生成方法,生成图2i中所示的临时有向图r。图
21示出了基于如图3所示具有叶节点数n二64的完全二叉树,当设置参数k-6 时形成的临时有向图I'。 . (有向图生成部分160)
有向图生成部分160在由多条所连接的有向边组成的有向路径之中,确 定具有形成有向路径的有向边的最大数量的最长有向路径。然后,有向图生 成部分160通过以更短的有向边的集合来替换形成每个有向路径的有向边来 重建每个有向路径,以便不超过形成最长有向路径的有向边的数量,并生成 由重建的有向路径组成的有向图。
如上所述,有向图生成部分160基于由临时有向图生成部分158构建的 临时有向图I,生成期望的有向图I。具体地说,尽管基本方案仅可以生成基本
上与临时有向图r基本上相同的有向图h,但是根据本实施例的密钥分发服
务器152可以生成表示更有效的集合密钥生成逻辑的有向图I,这是因为它包 括有向图生成部分160。在下文中详细描述由有向图生成部分160执行的处 理的处理流程。
参照图22,简要地描述由有向图生成部分160进行的有向图生成方法的 概要。图22是示出了生成有向图的处理流程的示例的流程图。首先,有向图生成部分160使用由临时有向图生成部分158生成的临时 有向图I,,以便生成期望的有向图I。
然后,有向图生成部分16(^人形成所有生成的临时有向图r的有向路径
中提取最长有向路径LP (LongestPath) ( S250 )。例如,提取有向路径LP 的步骤可以由有向图生成部分160中包括的最长有向路径生成部分来执行。 进一步,从不包括最长有向路径LP的所有生成的临时有向图I,的每个中提取 最长有向路径PLP ( Partially Longest Path,部分最长路径)(S252 )。因此,
从每个临时有向图i,提取有向路径plp。此后,从组成临时有向图r的有向
边中选择给定有向边,并以更短'的有向边来替换它(S254)。此时,有向图 生成部分160在上述计算量的最差值不增加的条件下,基于所提取的有向路 径LP和有向路径PLP的长度,执行有向边的替换。例如,上述给定有向边 选择步骤可以由有向图生成部分160中包括的替换有向边选择部分来执行。 进一步,例如,上述有向边替换步骤可以由有向图生成部分160中包括的有 向边替换部分来执行。
在上文中描述了由有向图生成部分160进行的有向图生成步骤的概要。 如上所述,有向图生成部分160从由临时有向图生成部分158生成的临时有 向图I,中提取有向路径LP和有向路径PLP,然后基于那些有向路径的长度选 择并替换给定有向边,由此生成期望的有向图。在下文中给出与上述每个步 骤对应的更详细的说明。
首先参照图23,在下文中描述提取最长有向路径LP (S260 )的步骤。 在最长有向路径LP的描述之前,定义如下两个表达式。
-DDT:表示最长有向路径LP的长度。
-J(a,b):表示在某个有向路径中具有长度b的、数量为a的连续有向边。 有向图生成部分160可以对于组成临时有向图I,的每个有向路径计算 J(a,b)。例如,考虑从临时有向图1,(1—n)的坐标点[l,l]到[l,n]的有向路径 P([l,l],[l,n]),将有向路径P([U],[l,n])表示为J(n1/k-l, n(k-1)/k), J(n1/k-l, n(k—2)/k), ..., J(n1/k, 1)。在由上述临时有向图生成部分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的所有有向边设置表示有 效的激活标记。
接着,参照图24描述对于与根节点和各个中间节点的每个临时有向图I, (除了包括最长有向路径LP的图)计算最长有向路径PLP的步骤。图24是 示出了有向路径PLP的计算步骤的流程图。
在描述对于每个有向图提取最长有向路径PLP的步骤之前,定义如下两 个表达式。
-CP ( Current Path ):所考虑的有向路径(将其称为当前路径) -#JP(CP) :有向路径中包括的有向边的数量。
有向图生成部分160基于下述算法提取有向路径PLP。 (步骤1 )有向图生成部分160确定从有向图I,的起点到终点的当前路 径CP。如果所考虑的有向图是有向图r(a—b),则将有向路径P([a,a],[a,b]) 设置为当前路径CP,而如果是有向图I,(a—b),则将有向路径P([b,b],[a,b]) 设置为当前路径CP (S262)。
(步骤2)有向图生成部分160在形成当前路径CP的有向边之中提取最 长有向边,并将其长度设置为J (S264)。
(步骤3 )有向图生成部分160判定JS1是否成立(S266 ),并且如果J化 则将当前路径CP确定为有向路径PLP,并向形成有向路径PLP的所有有向 边设置激活标记(S276 )。
(步骤4 )如果J>1 ,则有向图生成部分160判定弁JP(CP)+n"k-KDDT是 否成立(S168),并且如果弁JP(CP)+n"k-l^DDT不成立,则将当前路径CP 确定为有向路径PLP,并向形成有向路径PLP的所有有向边设置激活标记 (S276)。
(步骤5 )如果釘P(CP)+n,l^DDT,则有向图生成部分160计算满足 J二i/k的自然数j (S270 )。
(步骤6 )有向图生成部分160在具有形成当前路径CP的长度J的有向 边之中,提取距离当前路径CP的起点最远的有向边(S272)。
(步骤7 )有向图生成部分160紧接在从(步骤6 )中提取的有向边的尾 部延伸的、具有长度^-,的数量为n"k"的有向边之后,添加具有长度nG—'^ 的一条有向边,并移除在(步骤6)中提取的有向边(S174)。此后,进行
87到(步骤1 )并重复以上步骤。
如果执行有向边的进一步替换,则当从有向图I,的起点到终点的有向路 径由全部具有长度l的有向边组成时,或者当形成有向路径的有向边的数量
超过DDT时,在上述(步骤l)到(步骤6)中出现的处理的循环结束。通 过以上处理,可以对于每个有向图设置最长有向路径PLP。
参照图25,在下文中描述替换给定有向边的步骤。在该步骤中,在形成 有向路径的有向边的数量不超过DDT的条件下,对于每个有向路径,构建以 更短的有向边替换给定有向边的处理的算法。
有向图生成部分160基于以下算法替换有向边。
(步骤l)有向图生成部分160在组成有向图I,的有向边之中,提取被 设置为激活、还没有被处理(没有设置完成)且最长的有向边。进一步,有 向图生成部分160将所提取的有向边的长度设置为J,。如果存在具有长度J, 的多条有向边,则有向图生成部分160选择距离有向图I,的起点最远的有向 边(S280 )。将所选择的有向边称为WJ ( Working Jump ),将有向边WJ的 起点称为WJS,并且将终点称为WJE。进一步,将形成从有向图I,的起点到 达WJS的有向路径的有向边的数量表示为D。
(步骤2 )有向图生成部分160判定有向边WJ的长度J,是否为JS1 (S282),如果J,Sl,则将仅由被设置为激活的有向边组成的有向图设置为期 望的有向图I(S302 )。如果J,M,则进行到(步骤3)。
(步骤3)如果有向边WJ的长度J,为J,>1,则有向图生成部分160将 从WJS到达(WJE-1 )的有向路径设置为当前路径CP ( S284 ) 。
( WJE-1 ) 是紧接在WJE之前的坐标点。
(步骤4 )有向图生成部分160在形成当前路径CP的有向边之中提取最 长有向边,并将其长度设置为J (S286 )。
(步骤5 )有向图生成部分160判定所提取的有向边的长度J是否为Kl (S288 ),并且如果Kl,则向形成当前路径CP的所有有向边设置激活(S298 ) 并向有向边WJ设置完成(S300 )。此后,再次从(步骤l)的处理开始。
(步骤6 )如果J〉1,则有向图生成部分160判定弁JP(CP)+n"k-l^DDT-D 是否成立(S290),并且如果釘P(CP)+n"k-l〉DDT-D,则向形成当前路径CP 的所有有向边设置激活(S298 ),并向有向边WJ设置完成(S300 )。此后, 再次从(步骤1 )的处理开始。(步骤7 )如果弁JP(CP)+n"k-l^DDT-D,则有向图生成部分160计算满足 J二i/k的自然凄tj (S292)。
(步骤8 )有向图生成部分160在形成当前路径CP的具有长度J的有向 边之中,提取距离当前路径CP的起点最远的有向边(S294)。
(步骤9 )有向图生成部分160紧接在从(步骤8 )中提取的有向边的尾 部延伸的、具有长度,,的数量为n^的有向边之后,添加具有长度i^-, 的一条有向边,并移除在(步骤8)中提取的有向边(S296)。此后,进行 到(步骤3)并重复以上步骤。
如果执行有向边的进一步替换,则当从WJS到WJE-1的有向路径由全 部具有长度1的有向边组成时,或者当形成/人WJS到WJE-1的有向路径的有 向边的数量超过DDT时,在上述(步骤3)到(步骤9)中出现的处理的循 环结束。另一方面,当没有对组成有向图I,的任意有向边设置完成,并且不 存在具有长度2或更长的有向边时,在上述(步骤l)到(步骤5)或(步骤 6)中出现的处理的循环结束。通过以上处理,可以生成期望的有向图I。
最后,示出了使用上述有向图生成方法而生成的有向图I的示例。图26 示出了基于具有图3所示的叶节点的数量11=64的完全二叉树,在设置参数 k=6的情况下的有向图I。
首先,将基于基本方案生成的有向图H (图4)与根据本实施例的有向 图I(图26)进行比较,如下两点是显而易见的。(l)与有向图H相比,在 有向图I中,具有长度2或更长的有向边的数量减少,并且从一个坐标点延 伸的有向边的数量减少。(2)对于有向图I上的许多有向路径,有向边的数 量减少。由此,确认生成了能够减少生成集合密钥所需的计算量的最差值并 减少要由用户保存的中间密钥的数量的有向图I。
为了更加量化地理解根据本实施例减少密钥数量的效果,在图27中的表 格中示出了在基本方案与本实施例之间的比较结果。参照图27,减少要由用 户保存的密钥的总和(密钥的总数)以及要由用户保存的密钥的平均数。尽 管由于在用户数量n只有n=64那么小的执行中获得以上结果,因此要减少的 密钥数量的绝对值似乎不大,但是由于用户数量相差悬殊,因此期望在执行 环境中减小的效果作为非常明显的差别出现。进一步,由形成最长有向路径 的有向边的数量表示生成集合密钥所需的计算量的最差值,并且当在基于基 本方案生成的有向图H中所述值为(2k-l"(n"k-l)时,在根据本实施例的有向图I中减少了一半至l^(n,1)。
在上文中描述了生成能够减少生成集合密钥所需的计算量的最差值并减 少要由用户保存的中间密钥的数量的有向图的逻辑。上述密钥生成逻辑(有
向图)的构造主要由组成密钥分发服务器152的密钥生成逻辑构建块来执行。 然而,为了基于以上密钥生成逻辑执行加密密钥分发,其他元件是必需的。 由此,重新参照图19,在下文中描述其他元件。
重新参照图19,除了上述密钥生成逻辑构建块之外,密钥分发服务器152 包括初始中间密钥设置部分162、密钥生成部分164、加密部分166、传送部 分168和子集确定部分170。
(初始中间密钥设置部分162 )
初始中间密钥设置部分162对于与树的每个中间节点对应的每个有向图 I,生成与有向图I的初始坐标点对应的中间密钥。例如,初始中间密钥设置 部分162可以使用伪随机数发生器来生成随机数,并将随机数设置为与以上 初始坐标点(根)对应的每个中间密钥,或者可以将给定数值设置为每个中 间密钥。
(密钥生成部分164)
对于组成有向图I的某个有向边,当输入分配给由有向边的尾部表示的 坐标点的给定中间密钥时,密钥生成部分164输出与由有向边的尾部表示的
的中间密钥。由此,密钥生成部分164与基本方案的PRSG对应。然而,密 钥生成部分164与基本方案的PRSG的不同在于它基于由有向图生成部分 160生成的有向图I输出中间密钥。如果将密钥生成部分164表示为与PRSG 相同,则当输入与有向图I的某个坐标点SO对应的中间密钥t(SO)时,输出与
其尾部位于所述坐标点的有向边的头部对应的中间密钥t(Sl)、 t(S2)........
t(Sm)(与子集SO对应)以及集合密钥k(SO)。注意,m表示其尾部位于某个 坐标点SO的有向边的数量。 (加密部分166)
加密部分166通过使用集合密钥加密内容密钥。尽管内容密钥的数量是 1,但是存在与组成集合系统O的子集数量相同的集合密钥的数量。因此, 在组成集合系统O的所有子集之中,加密部分116通过使用与由子集确定部 分170选择的子集对应的每个集合密钥来加密内容密钥(将在后面描述)。
90由此,加密部分166生成与各个集合密钥对应的经加密的内容密钥。因此,
如果所选择的子集的数量是m,则生成m个经加密的内容密钥。可替代地, 加密部分166可以加密内容。例如,加密部分166可以使用内容密钥来加密 内容或者可以使用上述各个集合密钥来加密内容。然而,使用集合密钥来加 密内容的配置是本实施例的可替代的示例。 (传送部分168)
传送部分168将由加密部分166加密的内容密钥传送到与叶节点对应的 所有用户。进一步,传送部分168通过参照上述有向图I可以向每个用户分 发中间密钥。此时,传送部分168可以以每个用户均可以导出与其所属的子 集对应所有中间密钥的方式分发最小所需数量的中间密钥。具体地说,传送 部分168可以从组成集合系统0 (参照以上表达式(1 ))的子集中提取中间 密钥的分发目的地用户所属的子集,从与所提取的子集对应的有向图I的坐 标点中选择一个坐标点,以便在与达到所述坐标点的有向边的尾部对应的子 集中不包括分发目的地用户,并仅将与所选择的坐标点对应的中间密钥分发 至分发目的地用户。然而,如果中间密钥的分发目的地用户所属的子集与有 向图I的初始坐标点对应,则传送部分168可以^5l将与初始坐标点对应的中 间密钥分发至分发目的地用户。进一步,传送部分168可以用作向每个用户 分发有向图I的信息的有向图信息分发部分。具体地说,当输入每个中间密 钥时,传送部分168可以分发与基于有向图I输出给定中间密钥和集合密钥 的PRSG的密钥生成算法(如密钥生成程序)有关的信息。
通过使用不同于用于内容分发的信道的通信信道,可以在内容的分发之 前执行中间密钥的分发。例如,在终端单元的制造工厂中制造终端时,可以 从密钥分发服务器152输出每个终端的中间密钥,并将其记录在记录媒体上, 并且可以将从记录^ 某体中读取的每个终端单元的中间密钥存储到对应的终端 单元中。
(子集确定部分170)
子集确定部分170确定应该对其禁止内容或内容密钥的解密的排除用户 的集合(R),并通过使用从与有向图I的坐标点对应的子集中选择的给定子 集的并集,从所有用户的集合(N)中消除排除用户的集合(R),来定义许 可用户的集合(N\R),然后以组成许可用户的集合(N\R)的子集数量 最小的方式确定组成许可用户的集合(N \ R)的 一组子集。子集确定部分170可以由如下部分组成许可用户集合确定部分,用于确定许可用户的集合(N\R);以及许可用户子集确定部分,用于确定组成许可用户的集合(N\R) 的一组子集。在以上述方式由子集确定部分170确定组成许可用户的集合(N\R=SlUS2U.,.USm; m是自然数)的子集(S1、 S2........ Sm)之后,传送部分168向每个用户分发许可用户的集合(N\R)或组成许可用户的集合(N\R)的子集(Sl、 S2........ Sm)。进一步,加密部分166使用与由子集确定部分170确定的子集(Sl、 S2.......、 Sm)对应的集合密钥,来加密内容或内容密钥,并且传送部分168将经加密的内容或内容密钥分发至每个用 户。在上文中描述了根据本发明的优选实施例的密钥分发服务器152的配 置。如上所述,本实施例的特征主要在于密钥生成逻辑构建块的配置。特别 地,本实施例具有在用于生成确定密钥生成逻辑的有向图的有向图生成部分 160的配置方面的特征。根据本实施例的有向图生成部分160可以生成能够 在不增加对于每个用户来说用以生成集合密钥所需的计算量的情况下减少要由每个用户保存的中间密钥的数量的密钥生成逻辑(有向图)。结果,可以 节省每个用户用以保存中间密钥所需的存储器容量以及用于密钥生成的计算[加密密钥分发系统100的应用]最后,在下文中描述上述加密密钥分发系统100的应用。 (应用1 )首先,作为应用1,在图28中示出了广播加密系统300的配置。 图28是示出了使用广播卫星的广播加密系统的配置的框图。在广播加密 系统300中,将经加密的数据(即所谓的密文)经由广播信道传送到接收器 310。广播加密系统300中的广播信道是卫星广播分发信道。例如,作为密文 传送的数据是包含加密密钥、音频数据、视频数据、文本数据等的内容。卫 星电视广播设备302的广播信托中心(broadcast trusted center) 304向广播卫 星306传送数据。例如,广播信托中心304选择用于加密的密钥,或者控制 数据的加密和数据的分发。广播卫星306广播数据。在住宅中安装的接收器 310包括例如卫星广播接收器,并接310组成的接收器组中的每个接收器310传送数据。如后面所述,广播信托中心304以仅授权接收器310可以解密所广播的数据的方式加密广播数据。 尽管图28示出了使用广播卫星306的广播系统,但是也可以使用其他广播信 道,如有线电一见和计算机网络。在上文中描述了作为加密密钥分发系统100的广播加密系统300的配置。 简要地总结与加密密钥分发系统100的关系,就是广播信托中心304与密钥 分发服务器102对应,而接收器310与接收器122对应。广播卫星306作为 连接它们的网络的媒介。 (应用2)接着,作为应用2,在图29中示出了广播加密系统400的配置。 图29是示出了使用数据媒体的广播加密系统400的配置的框图。在广播 加密系统400中,广播信道是数据媒体的分发。媒体制造商402中的广播信 托中心404在诸如只读々某体(如CD-ROM、 DVD-ROM等)和可重写i某体(如 CD-RW、 DVD-RW等)之类的媒体406的每一件数据媒体中存储数据。在只 读々某体中,广播信托中心404记录经加密的内容密钥和经加密的内容,以便 仅授权用户可以解密内容并访问经加密的内容(如声音、视频、文本等)。 另一方面,在可重写媒体中,广播信托中心404记录经加密的内容密钥,以 便仅授权的记录单元可以将对应数据记录到记录媒体中。例如,媒体制造商 402将媒体406发送到诸如零售商店之类的分发中间商。分发中间商408向 住宅412中的接收器414提供J 某体410。例如,分发中间商408向一人销售 媒体410,并且该人将媒体410带入住宅412中,并将媒体410插入接收器 414。例如,接收器414可以是读取并回^^某体410中存储的数据的单元,如 CD播放器、DVD播放器和计算机。作为另一具体示例,接收器414可以是 能够将数据记录到媒体410中并从媒体410读取数据的盘单元,如DVD-RW 驱动器。广播信托中心404以仅授权接收器414可以解密经加密的数据的方 式加密数据。在上文中描述了作为加密密钥分发系统100的一个应用的广播加密系统 400的配置。简单地总结与加密密钥分发系统100的关系,就是广播信托中 心404与密钥分发服务器102对应,而接收器414与接收器122对应。进一 步,代替连接它们的网络,分发媒体406和410的分发中间商408作为媒介存在。尽管参照附图描述本发明的优选实施例,但是本发明当然不限于此。对 于本领域的技术人员来说显而易见,在不脱离权利要求的范围的情况下可以 进行各种改变和修改,并且旨在本发明的技术范围内的包含。例如,假设上述树结构设置部分104形成分支从上到下变得更宽的树结构,不限于此,并且树结构可以是这样的分支从下到上变得更宽,从左到右变得更宽,或从右到左变得更宽。在这种情况下,必须改变与各个中间节 点相关的子集的定义以便适合它。然而,改变是简单地旋转由上述树结构设置部分104配置的树结构,并且其意义与任意情况下完全相同。进一步,尽 管临时有向图生成部分108和有向图生成部分IIO通过从左至右或从右至左 设置坐标轴来构建有向图I,和I,但是对于颠倒了左和右的改变来说是相同 的。具体地说,尽管在以上描述中为了方便起见,基于垂直方向或水平方向 来定义参数,但是基于普通人或本领域技术人员的常识,即使旋转或颠倒树 结构或有向图以改变垂直和水平关系,这也旨在包含于完全相同的技术范围。例如,根据本发明的实施例的临时有向图生成部分108不仅可以基于上 述基本方案生成临时有向图,还可以基于另一方案生成临时有向图。例如, 临时有向图可以是通过简单地组合具有长度1的有向边和具有长度2的有向 边而形成的有向图,或者可以是将更长的有向边朝向更接近或更远离有向路 径的起点的位置放置的有向图。当然,它可以是基于比上述基本方案更复杂 的逻辑而生成的临时有向图。以这种方式,本发明的基本构思可应用的范围 不限于上述基本方案,而是覆盖了通过各种方案生成的有向图。当然,根据 本实施例的信息处理单元可以进一步包括获取或接收由另一信息处理单元生 成的有向图的获取部分并可以基于给定条件重建有向图。例如,假设上述树结构设置部分154形成分支从上到下变得更宽的树结 构,不限于此,并且树结构可以是这样的分支从下到上变得更宽,从左到 右变得更宽,或从右到左变得更宽。在这种情况下,必须改变与各个中间节 点相关的子集的定义以便适合它。然而,改变是简单地旋转由上述树结构设 置部分104配置的树结构,并且其意义与任意情况下完全相同。进一步,尽 管临时有向图生成部分158和有向图生成部分160通过从左至右或从右至左 设置坐标轴来构建有向图I,和I,但是对于颠倒了左和右的改变来说是相同 的。具体地说,尽管在以上描述中为了方便起见,基于垂直方向或水平方向 来定义参数,但是基于普通人或本领域技术人员的常识,即使旋转或颠倒树结构或有向图以改变垂直和水平关系,这也旨在包含于完全相同的技术范围。 例如,根据本发明的实施例的临时有向图生成部分158不仅可以基于上 述基本方案生成临时有向图,还可以基于另一方案生成临时有向图。例如, 临时有向图可以是将更长的有向边朝向更接近或更远离有向路径的起点的位 置放置的有向图。当然,它可以是基于比上述基本方案更复杂的逻辑而生成 的临时有向图。以这种方式,本发明的基本构思可应用的范围不限于上述基本方案,而是覆盖了通过各种方案生成的有向图。进一步,根据本实施例的 信息处理单元可以进一步包括获取给定有向图的获取部分。在这种情况下, 信息处理单元基于所获取的有向图可以生成集合密钥。
权利要求
1、一种信息处理单元,包括有向图获取部分,用于获取通过在由多条有向边组成的临时有向图中以更短的有向边替换组成所述临时有向图的至少一条有向边而生成的有向图;以及密钥生成部分,用于基于由所述有向图获取部分获取的有向图,生成用于加密或解密内容或内容密钥的集合密钥。
2、 根据权利要求1所述的信息处理单元,其中通过以更短的有向边替换组成所述临时有向图的至少一条有向边来生成 所述有向图,以便不超过在组成所述临时有向图的多条有向边之中的连续有 向边的最大数量。
3、 根据权利要求1所述的信息处理单元,其中响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入, 所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2........ Sk的中间密钥t(Sl)、 t(S2)........ t(Sk)。
4、 根据权利要求1所述的信息处理单元,其中响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输 入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
5、 根据权利要求1所述的信息处理单元,进一步包括初始中间密钥设置部分,用于将给定随机数设置为与每个有向图的尾部 对应的中间密钥。
6、 根据权利要求1所述的信息处理单元,进一步包括 加密部分,用于使用所述集合密钥来加密内容或内容密钥。
7、 根据权利要求6所述的信息处理单元,进一步包括传送部分,用于向分别与组成给定二叉树的叶节点1到n中的一些或全 部相关的终端单元传送由所述加密部分加密的内容或内容密钥,其中n是自 然数。
8、 根据权利要求1所述的信息处理单元,其中所述有向图获取部分获取以将更短的有向边朝向由连续有向边组成的每 个有向路径的端点而放置的方式进行替换的有向图。
9、 根据权利要求7所述的信息处理单元,进一步包括 子集确定部分,用于通过将叶节点1到n的子集定义为Si,确定允许解密通过使用集合密钥或内容密钥而加密的内容的终端单元的集合(N \ R),并 确定满足集合(NXR^SlUS2U…USm的m个子集Sl到Sm。
10、 根据;仗利要求9所述的信息处理单元,其中 所述子集确定部分确定子集Sl到Sm以便最小化m。
11、 根据权利要求9所述的信息处理单元,进一步包括传送部分,用于向所述终端单元传送指示集合(NXR)的信息或指示组成 集合(NXR)的子集Sl到Sm的信息。
12、 根据权利要求1所述的信息处理单元,进一步包括 解密部分,用于通过使用所述集合密钥来解密内容或内容密钥。
13、 根据权利要求12所述的信息处理单元,进一步包括 接收部分,其与组成给定二叉树的一个或多个叶节点1到n相关联,用于接收使用所述集合密钥而加密的内容或内容密钥,其中n是自然数。
14、 根据权利要求13所述的信息处理单元,其中由所述接收部分接收到的经加密的内容或经加密的内容密钥可以由 一个 或多个信息处理单元来解密,所述一个或多个信息处理单元与作为集合S的 元素的叶节点相关联,所述集合S包括在定义为叶节点1到n的子集的集合 Si中与其自身相关联的叶节点。
15、 一种信息处理单元,在由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于根 节点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将分配给位 于左端的叶节点的编号定义为lv,而将分配给位于右端的叶节点的编号定义 为rv,对于自然数i和j,其中。,假设将集合(i—j)表示为(W, {U+l}, i+l,...,j-l,j}},而将集合(i—j)表示为U化{j,j-l},...,{j,j-,l,...,i+l,i}},设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点, 对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大 的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大 的方式排列在水平坐标轴上的坐标点,所述信息处理单元包括有向图获取部分,用于获取通过以更短的有向边替换组成临时有向图的 至少一个有向边而生成的有向图,所述临时有向图是根据对于给定整数k满 足^x-"、(rv-lv+l)^^k的自然数x,通过在第 一到第四水平坐标轴上排列具有 长度n"k的多条有向边而形成的,其中i=0, 1,……,x-l;以及密钥生成部分,用于基于由所述有向图获取部分获取的有向图,生成用 于加密或解密内容或内容密钥的集合密钥。
16、 一种信息处理单元,包括树结构设置部分,用于配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树,n是 自然数,并且对于自然数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}},在位于某个中间节点v或某个根节点v之下的多个叶节点之中,将 分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的 编号设置为rv;坐标轴设置部分,用以设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具 有分别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点V相关,并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增 大的方式排列在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水平坐标轴的左端的坐标 点的左侧和位于第二到第四水平坐标轴的右端的坐标点的右侧,并将位于第 一水平坐标轴的右端的坐标点设置为临时坐标点; 临时有向图生成部分,用以 通过设置给定整数k,计算满足n(x-1)/k<(rv-lv+l)^nx/k的整数x,以及 对于每个整数i^0到x-l,通过连接具有长度nl/k的一条或多条右向有向边来形成具有位 于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位 于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标 点的尾部或头部的所有有向边,以及从到达第 一 到第四水平坐标轴上的每个坐标点的有向边中排除 除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第一水平坐标轴的右端的坐标点的 头部的有向边添加到与集合(1—n-l)有关的临时有向图,来生成与集合(1—n) 有关的临时有向图;以及有向图生成部分,用于通过以更短的有向边替换剩余的有向边来生成有向图。
17、 根据权利要求16所述的信息处理单元,包括密钥生成部分,用于基于所述有向图生成用于加密内容或内容密钥的集 合密钥。
18、 根据权利要求17所述的信息处理单元,其中 响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入,所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2.......、 Sk的中间密钥t(Sl)、 t(S2)........ t(Sk)。
19、 根据权利要求17所述的信息处理单元,其中 响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
20、 一种终端单元,包括密钥生成部分,用于基于有向图生成用于解密内容或内容密钥的集合密 钥,其中所述有向图通过如下步骤获得配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于 根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然 数i和j,其中Sj,将集合(i—j)定义为(W, {i,i+l},…,化i+l, ...,j-l,j}},而 将集合(i—j)定义为(W, {j,j-l},…,...,i+l,i}},在位于某个中间节点v 或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶节点的编号 设置为lv,而将分配给位于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在 水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分 别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在 水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-1)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点V相关,并且具有分别与集合(lv十1 —rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水平坐标轴的左端的坐标点的 左侧和位于第二到第四水平坐标轴的右端的坐标点的右侧,并将位于第一水 平坐标轴的右端的坐标点设置为临时坐标点;通过设置给定整数k,计算满足n^,〈(rv-lv+l)^^k的整数x,以及 对于每个整数1=0到x-l,通过连接具有长度nl/k的 一条或多条右向有向边来形成具有位于第 一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位于第 二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标点的尾部或头部的所有有向边,以及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了 最长有向边之外的有向边,来生成分别与集合(l—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l)有关的临时有向图,以及通过将具有长度1的、具有位于第一水平坐标轴的右端的坐标点的头部 的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合(1 —n)有关 的临时有向图;在由剩余有向边形成的有向路径之中,确定具有组成有向路径的有向边 的最大数量的最长有向路径,以及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量 的方式,以更短的有向边替换组成每个有向路径的有向边。
21、根据权利要求20所述的终端单元,进一步包括解密部分,用于通过使用所述集合密钥来解密经加密的内容或经加密的 内容密钥。
22、 根据权利要求20所述的终端单元,其中响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入, 所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以 及与位于具有位于所述坐标点的尾部的有向边的头部的坐标点对应的子集 Sl、 S2、 ....... Sk的中间密钥t(Sl)、 t(S2)........ t(Sk)。
23、 根据权利要求20所述的终端单元,其中响应于与所述有向图中某个坐标点对应的子集s的集合密钥k(S)的输 入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
24、 根据权利要求21所述的终端单元,其中解密部分通过使用所述集合密钥来解密经加密的内容密钥,并使用经解 密的内容密钥来解密经加密的内容。
25、 根据权利要求20所述的终端单元,包括 其中将树的叶节点1到n的子集定义为Si,以及当确定了允许解密通过使用所述集合密钥或所述内容密钥而加密的内容 的终端单元的集合NXR,确定满足集合NXR二SlUS2U…USm的m个子集Sl到Sm,并接收指示集合NXR的信息或指示组成集合NXR的子集Sl到 Sm的信息时,判定部分,用于基于所接收到的信息来判定所述终端单元是否属于子集 Sl到Sm中的任意一个,并基于判定结果来判定是否允许经加密的内容的解密。
26、 根据权利要求25所述的终端单元,其中当判定所述终端单元属于子集Sl到Sm中的任意一个时,解密部分通过 使用与所述终端单元所属的子集对应的集合密钥来解密内容或内容密钥。
27、 一种信息处理方法,包括有向图获取步骤,获取通过在由多条有向边组成的临时有向图中以更短 的有向边替换组成所述临时有向图的至少一条有向边而生成的有向图;以及密钥生成步骤,基于由所述有向图获取部分获取的有向图,生成用于加 密或解密内容或内容密钥的集合密钥。
28、 一种信息处理方法,在由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中 在位于某个中间节点V或某个根节点V之下的多个叶节点之中,将分配给位 于左端的叶节点的编号定义为lv,而将分配给位于右端的叶节点的编号定义 为rv,对于自然数i和j,其中i^j,假设将集合(i—j)表示为(W, {i,i+l}, i+1, ...,j-l,j}},而将集合(i—j)表示为U化{j,j-l},…,(j,j-l,…,i+l, i}},设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分 别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在 水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大 的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大 的方式排列在水平坐标轴上的坐标点,所述信息处理方法包括有向图获取步骤,获取通过以更短的有向边替换组成临时有向图的至少 一个有向边而生成的有向图,所述临时有向图是根据对于给定整数k满足 n(x-1)/k<(rv-lv+l)£nx/1^々自然数x,通过在第一到第四水平坐标轴上排列具有长 度i/k的多条有向边而形成的,其中i=0, 1, ......, x-l;以及密钥生成步骤,基于由所述有向图获取部分获取的有向图,生成用于加 密或解密内容或内容密钥的集合密钥。
29、 一种信息处理方法,包括树结构设置步骤配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不 同于根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于 自然数i和j,其中通过将集合(i—j)定义为U^, {i, i+l}, ...,{i, i+1,j}},而将集合(i—j)定义为Uj),(i,j-i),…,(i,j-i,…,i+i,W,在位于某个中间节点V或某个根节点V之下的多个叶节点之中,将分配给位于左端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的编号设置为rv; 坐标轴设置步骤设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具 有分别与集合(l—n)中包括的子集相关的、且以包含度从左至右增大的方式排 列在水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具 有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排 列在水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第一到第四水平坐标轴的左端的坐标 点的左侧和位于第二到第四水平坐标轴的右端的坐标点的右侧,并将位于第 一水平坐标轴的右端的坐标点设置为临时坐标点; 临时有向图生成步骤通过设置给定整数k,计算满足n(x-1)/k<(rV-lV+l)$nx/k的整数x,以及 对于每个整数1=0到x-l,通过连接具有长度nl/k的 一条或多条右向有向边来形成具有位 于第 一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位 于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标 点的尾部或头部的所有有向边,以及从到达第 一到第四水平坐标轴上的每个坐标点的有向边中排除 除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第一水平坐标轴的右端的坐标点的 头部的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合(1 —n) 有关的临时有向图;最长有向路径确定步骤,在由连续有向边形成的有向路径之中,确定具 有组成有向路径的有向边的最大数量的最长有向路径;以及有向图生成步骤,通过以每个有向路径的有向边的数量不超过最长有向 路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向 边来生成有向图。
30、 一种密钥生成方法,包括密钥生成步骤,基于有向图生成用于解密内容或内容密钥的集合密钥, 其中所述有向图通过如下步骤获得配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于 根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然数i和j,其中iSj,将集合(i—j)定义为(W, {i,i+l},…,化i+,...,j-l,j}},而 将集合(i—j)定义为UJ), {j,j-l},…,...,i+l,i}},在位于某个中间节点v 或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶节点的编号 设置为lv,而将分配给位于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大 的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并 且具有分別与集合(lv十1 —rv)中包括的子集相关的、且以包含度从右至左增大 的方式排列在水平坐标轴上的坐标点,以及将一个临时坐标点放置在位于第 一到第四水平坐标轴的左端的坐标点的 左侧和位于第二到第四水平坐标轴的右端的坐标点的右侧,并将位于第一水平坐标轴的右端的坐标点设置为临时坐标点; 通过设置给定整数k,计算满足n(x-,〈(rv-lv+l)^i流的整数x,以及 对于每个整数1=0到x-l,通过连接具有长度ni/k的 一条或多条右向有向边来形成具有位于第 一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位于第 二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标点的 尾部或头部的所有有向边,以及从到达第 一到第四水平坐标轴上的每个坐标点的有向边中排除除了 最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有关的临时有向图,以及通过将具有长度1的、具有位于第一水平坐标轴的右端的坐标点的头部 的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合(1 —n)有关 的临时有向图;在由剩余有向边形成的有向路径之中,确定具有组成有向路径的有向边的最大数量的最长有向路径,以及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向边。
31、 一种信息处理单元,包括有向图获取部分,用于获取通过在由多条有向边组成的临时有向图中, 保留在组成所述临时有向图的多条有向边之中较长的有向边而以更短的有向 边替换留下的至少一条有向边而生成的有向图;以及密钥生成部分,用于基于由所述有向图获取部分获取的有向图,生成用 于加密或解密内容或内容密钥的集合密钥。
32、 根据权利要求31所述的信息处理单元,其中响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入, 所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2........ Sk的中间密钥t(Sl)、 t(S2)........ t(Sk)。
33、 根据权利要求31所述的信息处理单元,其中 响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2.......、 Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
34、 根据权利要求31所述的信息处理单元,进一步包括 加密部分,用于使用所述集合密钥来加密内容或内容密钥。
35、 根据权利要求34所述的信息处理单元,进一步包括 传送部分,用于向分别与组成给定二叉树的叶节点1到n中的一些或全部相关的终端单元传送由所述加密部分加密的内容或内容密钥,其中n是自 然数。
36、 根据权利要求31所述的信息处理单元,其中个有向路径的端点而放置的方式替换有向边的有向图。
37、 根据权利要求35所述的信息处理单元,进一步包括 子集确定部分,通过将叶节点1到n的子集定义为Si,用于确定允许解密通过使用集合密钥或内容密钥而加密的内容的终端单元的集合NXR,并确定满足集合N、I^SlUS2U…USm的m个子集Sl到Sm,以便最小化m。
38、 根据权利要求37所述的信息处理单元,进一步包括 传送部分,用于向所述终端单元传送指示集合NXR的信息或指示组成集合NXR的子集S1到Sm的信息。
39、 根据权利要求31所述的信息处理单元,进一步包括 解密部分,用于通过使用所述集合密钥来解密内容或内容密钥。
40、 根据权利要求39所述的信息处理单元,进一步包括 接收部分,其与组成给定二叉树的一个或多个叶节点l到n相关,其中n是自然数,用于接收使用所述集合密钥而加密的内容或内容密钥。
41、 根据权利要求40所述的信息处理单元,其中由所述接收部分接收到的经加密的内容或经加密的内容密钥可以由 一个 或多个信息处理单元来解密,所述一个或多个信息处理单元与作为集合s的元素的叶节点相关,所述集合S包括在定义为叶节点1到n的子集的集合Si 中与其自身相关的叶节点。
42、 一种信息处理单元,用以根据对于给定整数k满足 n(x-1)/k<(rv-lv+l)£nx/l^々自然数x,处理通过在第一和第四水平坐标轴上排列具 有长度n流的多条有向边而形成的临时有向圓,其中i二O, 1,……,x-l,在由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于根 节点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中在位于某个中间节点v或某个根节点v之下的多个叶节点中,将分配给位于 左端的叶节点的编号定义为lv,而将分配给位于右端的叶节点的编号定义为 rv,对于自然数i和j,其中Sj,将集合(i—j)定义为Ui), {i, i+l}, …, j-l,j}},而将集合(i—j)定义为UJ),化j-l〉,…,{j,j-l,,..,i+U}};设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在 水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分 别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在 水平坐标轴上的坐标点,对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大 的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大 的方式排列在水平坐标轴上的坐标点,所述信息处理单元包括临时有向图获取部分,用于获取临时有向图;有向图生成部分,用于通过保留在组成由所述临时有向图获取部分获取 的所述临时有向图的多条有向边之中较长的有向边来生成有向图;最长有向路径确定部分,用于确定在组成所述有向图的多条有向边之中连续有向边的最大数量;有向边替换部分,用于通过以更短的有向边替换组成所述有向图的至少一条有向边来重建所述有向图,以便不超过连续有向边的最大数量;以及 密钥生成部分,用于基于由所述有向边替换部分重建的所述有向图,生成用于加密内容或内容密钥的集合密钥。
43、 一种信息处理单元,包括树结构设置部分,配置由向其分配了编号1到n的、n个叶节点、 一个 根节点以及不同于根节点和叶节点的多个中间节点组成的二叉树,n是自然 数,并且对于自然数i和j,其中Sj,通过将集合(i—j)定义为U^,化i+l}, ...,{i,i+l,…,j-l,j}},而将集合(i—j)定义为(W, (J,卜1},…,(J, J",…,i+l, 在 位于某个中间节点v或某个根节点v之下的多个叶节点中,将分配给位于左 端的叶节点的编号设置为lv,而将分配给位于右端的叶节点的编号设置为rv; 坐标轴设置部分,用以设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具 有分别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排 列在水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排 列在水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增 大的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增 大的方式排列在水平坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的 右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧;以及将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标点,并 将第二临时坐标点放置在所述第一临时坐标点的右侧; 临时有向图生成部分,用以 通过设置给定整数k,计算满足n(x-1)/k<(rv-lv+l)^ix/k的整数x,以及 对于每个整数i^0到x-l,通过连接具有长度ni/k的 一条或多条右向有向边来形成具有位 于第 一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度nl/k的 一条或多条左向有向边来形成具有位 于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标 点的尾部或头部的所有有向边,以及从到达第 一到第四水平坐标轴上的每个坐标点的有向边中排除 除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有关的临时有向图,以及通过将具有长度l的、具有位于第一水平坐标轴上第一临时坐标点 的头部的有向边添加到与集合(1 —n-1 )相关的临时有向图,来生成与集合 (1—n)相关的临时有向图;最长有向路径确定部分,用于在由连续有向边形成的有向路径之中,确 定具有组成所述有向路径的有向边的最大数量的最长有向路径;以及有向图生成部分,用于通过每个有向路径的有向边的数量不超过最长有 向路径的有向边的数量的方式,以更短的有向边替换组成每一条有向路径的 有向边来生成有向图。
44、 根据权利要求43所述的信息处理单元,包括密钥生成部分,用于基于所述有向图生成用于加密内容或内容密钥的集 合密钥。
45、 根据权利要求44所述的信息处理单元,其中响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入, 所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以及位于具有位于坐标点S的尾部的有向边的头部的坐标点Sl、 S2.......、 Sk的中间密钥t(Sl)、 t(S2)........ t(Sk)。
46、 根据权利要求44所述的信息处理单元,其中 响应于与所述有向图中某个坐标点对应的子集S的集合密钥k(S)的输入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2)........ k(Sk)。
47、 一种终端单元,包括密钥生成部分,用于基于有向图生成用于解密内容或内容密钥的集合密 钥,其中所述有向图通过如下步骤而获得配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于 根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然数i和j,其中gj,将集合(i—j)定义为(W, {i,i+l},…,(i,i+l,…,j-l,j}},而将集合(i—j)定义为UJ}, {J, j_l},…,{J, J",…,i}},在位于某个中间节点v 或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶节点的编号 设置为lv,而将分配给位于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1 —n)中包括的子集相关的、且以包含度从左至右增大的方式排列在 水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在 水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv—rv-1)中包括的子集相关的、且以包含度从左至右增大的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并且具有分别与集合(lv十1 —rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的右侧 以及位于第二和第四水平坐标轴的左端的坐标点的左侧;将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标点,并将第二临时坐标点;故置在第 一临时坐标点的右侧, 通过设置给定整数k,计算满足n^-,〈(rv-lv+l)^^k的整数x,以及 对于每个整数卜0到x-l,通过连接具有长度ni/k的 一条或多条右向有向边来形成具有位于第 一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位于第 二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标点的 尾部或头部的所有有向边,以及从到达第 一到第四水平坐标轴上的每个坐标点的有向边中排除除了 最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有关的临时有向图,通过将具有长度1的、具有位于第一水平坐标轴的第一临时坐标点的头 部的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合(1 —n)有 关的临时有向图,在由连续有向边形成的有向路径之中,确定具有组成有向路径的有向边 的最大数量的最长有向路径,以及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向边。
48、 根据权利要求47所述的终端单元,其中响应于与所述有向图中某个坐标点对应的子集S的中间密钥t(S)的输入, 所述密钥生成部分输出对应于与所述坐标点对应的子集S的集合密钥k(S)以及位于具有位于所述坐标点的尾部的有向边的头部的坐标点Sl、 S2........Sk的中间密钥t(Sl)、 t(S2)........ t(Sk)。
49、 根据权利要求47所述的终端单元,其中响应于与所述有向图中某个坐标点对应的子集s的集合密钥k(S)的输 入,所述密钥生成部分输出位于具有位于坐标点S的尾部的有向边的头部的 坐标点S1、 S2........ Sk的集合密钥k(Sl)、 k(S2).......、 k(Sk)。
50、 根据权利要求48所述的终端单元,进一步包括解密部分,用于使用所述集合密钥来解密经加密的内容密钥,并使用经 解密的内容密钥来解密经加密的内容。
51、 根据权利要求50所述的终端单元,进一步包括 其中将树的叶节点1到n的子集定义为Si,以及当确定了允许解密通过使用所述集合密钥或所述内容密钥而加密的内容 的终端单元的集合N \ R,确定满足集合N \ R= S1US2U.. .USm的m个子集 Sl到Sm,并接收指示集合NXR的信息或指示组成集合NXR的子集S1到 Sm的信息时,判定部分,用于基于所接收到的信息来判定所述终端单元是否属于子集 Sl到Sm中的任意一个,并基于判定结果来判定是否允许经加密的内容的解 密,其中当判定所述终端单元属于子集Sl到Sm中的任意一个时,所述解密部分 使用与所述终端单元所属的子集对应的集合密钥来解密所述内容或内容密 钥。
52、 一种信息处理方法,包括有向图获取步骤,在由多条有向边组成的临时有向图中,获取通过在组 成所述临时有向图的多条有向边之中保留较长的有向边而以更短的有向边替 换留下的至少一条有向边而生成的有向图;以及密钥生成步骤,基于由所述有向图获取部分获取的有向图,生成用于加 密或解密内容或内容密钥的集合密钥。
53、 一种信息处理方法,用以根据对于给定整数k满足 n ,〈(rv-lv+l)Si^k的自然数x,处理通过在第一和第四水平坐标轴上排列具 有长度r^的多条有向边而形成的临时有向图,其中1=0, 1,……,x-l,在由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于根 节点和叶节点的多个中间节点组成的二叉树中,其中n是自然数,并且其中在位于某个中间节点v或某个根节点v之下的多个叶节点中,将分配给位于 左端的叶节点的编号定义为lv,而将分配给位于右端的叶节点的编号定义为对于自然数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,设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(l—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在 水平坐标轴上的坐标点,设置第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点, 对于每个所述中间节点,设置第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-1)中包括的子集相关的、且以包含度从左至右增大 的方式排列在水平坐标轴上的坐标点,以及设置第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv十1 —rv)中包括的子集相关的、且以包含度从右至左增大 的方式排列在水平坐标轴上的坐标点,所述信息处理方法包括临时有向图获取步骤,获取临时有向图;有向图生成步骤,通过在组成由所述临时有向图获取部分获取的所述临 时有向图的多条有向边之中保留较长的有向边来生成有向图;最长有向路径确定步骤,在组成所述有向图的多条有向边之中,确定连续有向边的最大数量;有向边替换步骤,通过以更短的有向边替换组成所述有向图的至少 一条 有向边来重建所述有向图,以便不超过连续有向边的最大数量,以及密钥生成步骤,基于由所述有向边替换部分重建的所述有向图,生成用 于加密内容或内容密钥的集合密钥。
54、 一种信息处理方法,包括树结构设置步骤配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不 同于根节点和叶节点的多个中间节点组成的二叉树,其中n是自然数,并且 对于自然数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}},在位于某个 中间节点v或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶 节点的编号设置为lv,而将分配给位于右端的叶节点的编号设置为rv;坐标轴设置步骤设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分别与集合(1 —n)中包括的子集相关的、且以包含度从左至右增大的方式排 列在水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具 有分别与集合(2—n)中包括的子集相关的、且以包含度从右至左增大的方式排 列在水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增 大的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关, 并且具有分别与集合(lv+l —rv)中包括的子集相关的、且以包含度从右至左增 大的方式排列在水平坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的 右侧以及位于第二和第四水平坐标轴的左端的坐标点的左侧,以及将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标点,并 将第二临时坐标点放置在第一临时坐标点的右侧;临时有向图生成步骤 通过设置给定整数k,计算满足n(x-1)/k<(rv-lv+l)^ix/k的整数x,以及对于每个整数i二O到x-l,通过连接具有长度nl/k的一条或多条右向有向边来形成具有位 于第一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度ni/k的 一条或多条左向有向边来形成具有位 于第二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第 一到第四水平坐标轴中的每个,排除具有位于临时坐标 点的尾部或头部的所有有向边,以及从到达第 一到第四水平坐标轴上的每个坐标点的有向边中排除 除了最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合 (lv—rv-l)有关的临时有向图,以及通过将具有长度1的、具有位于第一水平坐标轴上第一临时坐标点 的头部的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合 (1—n)有关的临时有向图;最长有向路径确定步骤,在由连续有向边形成的有向路径之中,确定具有组成所述有向路径的有向边的最大数量的最长有向路径;以及有向图生成步骤,通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向边来生成有向图。
55、 一种密钥生成方法,包括密钥生成步骤,基于有向图生成用于解密内容或内容密钥的集合密钥, 其中所述有向图通过如下步骤而获得配置由向其分配了编号1到n的、n个叶节点、 一个根节点以及不同于 根节点和叶节点的多个中间节点组成的二叉树,n是自然数,并且对于自然数i和j,其中。,将集合(i—j)定义为(W, (i,i+l),…,化i+l,…,j-1J}},而 将集合(i—j)定义为(W, {j,j-l},...,...,i+l,i}},在位于某个中间节点v 或某个根节点v之下的多个叶节点之中,将分配给位于左端的叶节点的编号 设置为lv,而将分配给位于右端的叶节点的编号设置为rv;设置第一水平坐标轴,所述第一水平坐标轴与根节点相关,并且具有分 别与集合(1—n)中包括的子集相关的、且以包含度从左至右增大的方式排列在 水平坐标轴上的坐标点,第二水平坐标轴,所述第二水平坐标轴与根节点相关,并且具有分 别与集合(2"n)中包括的子集相关的、且以包含度从右至左增大的方式排列在 水平坐标轴上的坐标点,对于每个所述中间节点,第三水平坐标轴,所述第三水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv—rv-l)中包括的子集相关的、且以包含度从左至右增大 的方式排列在水平坐标轴上的坐标点,以及第四水平坐标轴,所述第四水平坐标轴与某个中间节点v相关,并 且具有分别与集合(lv+l—rv)中包括的子集相关的、且以包含度从右至左增大的方式排列在水平坐标轴上的坐标点,以及将两个临时坐标点均放置在位于第三水平坐标轴的右端的坐标点的右侧 以及位于第二和第四水平坐标轴的左端的坐标点的左侧;将位于第一水平坐标轴的右端的坐标点设置为第一临时坐标点,并将第 二临时坐标点放置在第 一临时坐标点的右侧,通过设置给定整数k,计算满足n(x-1)/k<(rv-lv+1 )^n流的整数x ,以及 对于每个整数i二0到x-l,通过连接具有长度ni/k的 一条或多条右向有向边来形成具有位于第 一和第三水平坐标轴的最左侧坐标点的尾部的有向路径,通过连接具有长度nl/k的一条或多条左向有向边来形成具有位于第 二和第四水平坐标轴的最右侧坐标点的尾部的有向路径,对于第一到第四水平坐标轴中的每个,排除具有位于临时坐标点的 尾部或头部的所有有向边,以及从到达第一到第四水平坐标轴上的每个坐标点的有向边中排除除了 最长有向边之外的有向边,来生成分别与集合(1—n-l)、集合(2—n)、集合(lv+l—rv)和集合(lv—rv-l) 有关的临时有向图,通过将具有长度1的、具有位于第一水平坐标轴的第一临时坐标点的头 部的有向边添加到与集合(1 —n-1 )有关的临时有向图,来生成与集合(1—n)有 关的临时有向图,在由连续有向边形成的有向路径之中,确定具有組成有向路径的有向边 的最大数量的最长有向路径,以及通过每个有向路径的有向边的数量不超过最长有向路径的有向边的数量的方式,以更短的有向边替换组成每个有向路径的有向边。
全文摘要
公开了信息处理设备、终端、信息处理方法、密钥创建方法和程序,其均能够使用户保存减少了数量的密钥。信息处理设备绘制有向图,所述有向图表示用于导出用以加密内容或内容密钥的集合密钥的加密密钥创建逻辑。在该技术中,将用户终端的集合划分为多个子集,将集合密钥和中间密钥分配给每个子集,并且如果输入与子集相关联的中间密钥,则输出对应于与集合密钥相关联的子集的中间密钥以及对应于与所输入的中间密钥相关联的子集的有向分支。本发明进一步涉及根据预定替换法则、以更短的有向分支替换有向图中包括的有向分支的技术。该技术生成了减少每个用户必须保存的中间密钥的数量的效果。
文档编号H04L9/08GK101536401SQ200780042720
公开日2009年9月16日 申请日期2007年10月3日 优先权日2006年11月16日
发明者浅野智之, 草川雅文 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1