解密条件追加装置、加密系统和解密条件追加程序的制作方法

文档序号:12811244阅读:199来源:国知局
本发明涉及对密文中设定的解密条件进行限制而不用对密文进行解密的技术。
背景技术
::函数型加密和基于属性的加密是能够通过组合逻辑或、逻辑与、逻辑非而成的逻辑式,在密文中设定具有能够对密文进行解密的权限的用户集合的公开密钥加密方式。即,函数型加密和基于属性的加密是能够通过组合逻辑或、逻辑与、逻辑非而成的逻辑式,在密文中设定密文的解密条件的公开密钥加密方式。在专利文献1中记载有函数型加密方式。存在能够使用重加密密钥对密文中设定的解密条件进行变更而不用对密文进行解密的代理人重加密这样的技术。在非专利文献1中记载有函数型加密中的代理人重加密方式。在非专利文献2中记载有基于属性的加密中的代理人重加密方式。现有技术文献专利文献专利文献1:国际公开第2011/135895号公报非专利文献非专利文献1:yutakakawaiandkatuyukitakashima,fully-anonymousfunctionalproxy-re-encryption.cryptologyeprintarchive:report2013/318非专利文献2:junzuolaiandroberth.dengandyanjiangyangandjianweng.“adaptableciphertext-policyattribute-basedencryption”技术实现要素:发明要解决的课题在非专利文献1、2所述的代理人重加密方式中,在对密文的解密条件进行变更的情况下,必定需要重加密密钥。为了生成重加密密钥,需要用户秘密密钥或主秘密密钥这样的必须秘密保持的密钥。在非专利文献1、2所述的代理人重加密方式中,每当生成重加密密钥时,都要访问用户秘密密钥或主秘密密钥,对用户秘密密钥或主秘密密钥的访问次数增加。本发明的目的在于,能够对原始密文的解密条件进行限制而不使用重加密密钥。用于解决课题的手段本发明的解密条件追加装置具有:原始密文取得部,其取得作为规定了解密条件的信息而设定有秘密分散矩阵的原始密文;条件取得部,其取得对所述原始密文取得部取得的原始密文的解密条件进行限制的限制条件;以及更新密文生成部,其对所述原始密文中设定的秘密分散矩阵追加与所述条件取得部取得的限制条件对应的行和列,生成限制了所述原始密文的解密条件的更新密文。发明效果在本发明中,通过对密文中设定的秘密分散矩阵追加行和列,对原始密文的解密条件进行限制。不需要重加密密钥以对秘密分散矩阵追加行和列。因此,在对原始密文的解密条件进行限制的情况下,不需要使用重加密密钥。附图说明图1是函数型加密中使用的访问构造s的说明图。图2是部分矩阵mδ的说明图。图3是秘密分散的秘密值s0的说明图。图4是秘密分散的分散值s1、...、sl的说明图。图5是对密文的解密条件进行限制的例子的说明图。图6是实施方式1的加密系统10的结构图。图7是实施方式1的密钥生成装置100的结构图。图8是实施方式1的加密装置200的结构图。图9是实施方式1的解密条件追加装置300的结构图。图10是实施方式1的解密装置400的结构图。图11是实施方式1的setup算法的流程图。图12是实施方式1的kg算法的流程图。图13是实施方式1的enc算法的流程图。图14是实施方式1的apdand算法的流程图。图15是追加访问构造s+的说明图。图16是实施方式1的dec算法的流程图。图17是示出实施方式1所示的密钥生成装置100、加密装置200、解密条件追加装置300、解密装置400的各装置的硬件结构的例子的图。具体实施方式实施方式1在实施方式1中,说明针对密文策略型的函数型加密应用对密文的解密条件进行限制的技术的例子。对密文的解密条件进行限制是指减少能够对密文进行解密的密钥。***记法的说明***对以下说明中的记法进行说明。在a是随机的值或分布时,数式101表示根据a的分布而从a中随机选择y。即,在数式101中,y是随机数。【数式101】在a是集合时,数式102表示从a中均匀选择y。即,在数式102中,y是均匀随机数。【数式102】数式103表示在y中设定z,用z定义y,或y代入z。【数式103】y:=z在a是常数时,数104表示机械(算法)a相对于输入x而输出a。【数式104】a(x)→a例如,a(x)→1数式105表示位数q的体。【数式105】数式106表示有限体fq中的向量表现。【数式106】表示数式107表示数式108所示的2个向量x→与v→的数式109所示的内积。【数式107】【数式108】【数式109】xt表示矩阵x的转置矩阵。相对于数式110所示的基b和基b*,是数式111。【数式110】【数式111】e→j表示数式112所示的标准基向量。【数式112】***概要的说明***在对密文策略型的函数型加密的基础进行说明后,说明对密文的解密条件进行限制的技术概要。对密文策略型的函数型加密的基础进行说明。图1是函数型加密中使用的访问构造s的说明图。在函数型加密中,使用l行r列的秘密分散矩阵m和对秘密分散矩阵m的各行附加的标签ρ的组作为访问构造s。对各行附加的标签ρ对应于由变量的集合{p1、...、pn}给出的肯定系的字面量{p1、...、pn}和否定系的字面量{¬p1、...、¬pn}中的任意一个字面量。针对输入列δ=δi∈{0、1}(i=1、...、n),定义秘密分散矩阵m的部分矩阵mδ。部分矩阵mδ由通过输入列δ将值“1”与标签ρ对应起来的秘密分散矩阵m的行构成。即,部分矩阵mδ由秘密分散矩阵m的与δi=1这样的pi对应的行和秘密分散矩阵m的与δi=0这样的¬pi对应的行构成。图2是部分矩阵mδ的说明图。在图2中,设n=7、l=6、r=5。即,变量的集合是{p1、...、p7},矩阵m是6行5列。并且,在图2中,设标签ρ将ρ1与¬p2对应起来,将ρ2与p1对应起来,将ρ3与p4对应起来,将ρ4与¬p5对应起来,将ρ5与¬p3对应起来,将ρ6与p5对应起来。这里,设输入列δ为δ1=1、δ2=0、δ3=1、δ4=0、δ5=0、δ6=1、δ7=1。该情况下,部分矩阵mδ由与图2中用虚线包围的字面量(p1、p3、p6、p7、¬p2、¬p4、¬p5)对应的秘密分散矩阵m的行构成。即,部分矩阵mδ由秘密分散矩阵m的第1行(m1)、第2行(m2)、第4行(m4)构成。设在[ρ(j)=pi]∧[δi=1]或[ρ(j)=¬pi]∧[δi=0]的情况下,映射γ(j)=1,在其它情况下,映射γ(j)=0。该情况下,能够表示为mδ:=(mj)γ(j)=1。这里,mj是矩阵m的第j行。在函数型加密中,访问构造s中的变量的集合的各变量p由标识符t与向量v→i的组(t、v→i)定义。在访问构造s中给出了标识符t与向量x→t的组(t、x→t)即属性集合γ的情况下,映射γ(i)定义为,针对i=1、...、l的各整数i,在[ρ(i)=(t、v→i)]∧[(t、x→t)∈γ]∧[v→i·x→t=0]或[ρ(i)=¬(t、v→i)]∧[(t、x→t)∈γ]∧[v→i·x→t≠0]的情况下,γ(j)=1,在其它情况下,γ(j)=0。即,在函数型加密中,根据向量v→i与向量x→t的内积计算映射γ(i)。然后,如上所述,根据映射γ(i),决定在部分矩阵mδ中包含秘密分散矩阵m的哪个行。访问构造s仅在对部分矩阵mδ的行进行线性耦合而得到1→的情况下受理属性集合γ。这里,1→是全部元素为1的行向量。例如,如果是图2的例子,则仅在对由秘密分散矩阵m的第1、2、4行构成的部分矩阵mδ的各行进行线性耦合而得到1→的情况下,访问构造s受理属性集合γ。即,在存在成为α1(m1)+α2(m2)+α4(m4)=1→的系数α1、α2、α4的情况下,访问构造s受理属性集合γ。即,当设部分矩阵mδ中包含的秘密分散矩阵的行编号的集合为i时,在存在成为σi∈iαimi=1→的系数αi的情况下,访问构造s受理属性集合γ。在密文策略型的函数型加密中,针对表示用户的属性的属性集合γ中包含的标识符t,生成设定有向量x→t的密钥元素k*t。然后,生成包含与属性集合γ中包含的标识符t和t=0的各标识符t有关的密钥元素k*t的用户秘密密钥skγ。另外,标识符t对应于属性类别,在向量x→t中设定与标识符t对应的属性类别的属性。属性类别是所属部门、性别、年龄等属性的分类。例如,在标识符t对应于所属部门的情况下,在向量x→t中设定表示用户秘密密钥skγ的用户的所属部门的值。在密文策略型的函数型加密中,针对i=1、...、l的各整数i,对访问构造s的秘密分散矩阵m中的第i行分配秘密分散的分散值si。而且,针对秘密分散矩阵m的第i行,生成设定有分配的分散值si和向量v→i的加密元素ci。并且,生成设定有根据满足条件的分散值si的集合计算出的秘密值s0的加密元素c0。并且,生成使用会话密钥k对消息m进行加密而成的加密元素cd+1。而且,生成包含与i=0、...l、d+1的各整数i有关的加密元素ci和访问构造s的原始密文cts。在密文策略型的函数型加密中,对与属性集合γ中包含的标识符t有关的密钥元素k*t和由具有标识符t的标签ρ(i)确定的加密元素ci进行配对运算。通过进行配对运算,计算向量v→i与向量x→t的内积,计算映射γ(i)。然后,决定在部分矩阵mδ中包含秘密分散矩阵m的哪个行。然后,在访问构造s受理属性集合γ的情况下,取出满足条件的分散值si的集合,计算秘密值s0。根据密钥元素k*0、加密元素c0、秘密值s0,生成会话密钥k。通过会话密钥k计算消息m。图3是秘密分散的秘密值s0的说明图。秘密值s0是r个元素全部为1的行向量与具有r个元素f1、...、fr的列向量f之积的各元素的和。这里,列向量f的各元素是均匀随机数。图4是秘密分散的分散值s1、...、sl的说明图。分散值s1、...、sl是秘密分散矩阵m与列向量f之积。列向量s→t是将分散值s1、...、sl作为元素的向量。如上所述,在访问构造s受理了属性集合γ的情况下,存在成为σi∈iαimi=1→的系数αi。能够利用秘密分散矩阵m的尺寸下的多项式时间计算系数αi。而且,如果使用系数αi,则根据秘密值s0和分散值s1、...、sl的定义,成为σi∈iαisi=s0。说明对密文的解密条件进行限制的技术概要。如上所述,在原始密文cts中包含设定有秘密值s0的加密元素c0、设定有分散值si和向量v→i的与i=1、...、l的各整数i有关的加密元素ci、对消息m进行加密而成的加密元素cd+1、访问构造s。而且,通过访问构造s中包含的秘密分散矩阵m和对秘密分散矩阵m的各行设定的加密元素ci,规定原始密文cts的解密条件。因此,在实施方式1中,对原始密文cts中包含的秘密分散矩阵m追加行和列,追加与追加行对应的加密元素ci,对原始密文cts的解密条件进行限制。图5是对密文的解密条件进行限制的例子的说明图。在原始密文cts中,设定(部=总务部)and(课=人事课)作为解密条件。此时,秘密分散矩阵m是2行2列,第1行对应于部,第2行对应于课。而且,第1行的标签ρ(1)对应于肯定系的组(部:=t1、总务部:=v→1),第2行的标签ρ(2)对应于肯定系的组(课:=t2、人事课:=v→2)。并且,在与秘密分散矩阵m的第1行对应的加密元素c1中设定分散值s1和总务部:=v→1,在与第2行对应的加密元素c2中设定分散值s2和人事课:=v→2。这里,例如设希望使id=1001的用户的用户秘密密钥skγ失效。该情况下,根据解密条件,去除id=1001即可。这能够通过在原始密文cts的解密条件中利用and条件增加not(id=1001)来实现。即,设解密条件为(部=总务部)and(课=人事课)and(not(id=1001))即可。因此,在对原始密文cts进行更新后的更新密文cts’中,对秘密分散矩阵m追加第3行和第3列,第3行对应于用户的id。而且,第3行的标签ρ(3)对应于否定形的组(id:=t3、1001:=v→3)。并且,在与秘密分散矩阵m的第3行对应的加密元素c3中设定有分散值s3和否定形的1001:=v→3。由此,能够设解密条件为(部=总务部)and(课=人事课)and(not(id=1001))。***结构的说明***图6是实施方式1的加密系统10的结构图。加密系统10具有密钥生成装置100、加密装置200、解密条件追加装置300、解密装置400。密钥生成装置100将属性的格式n→和安全参数λ作为输入,执行setup算法,生成公开密钥pk和主秘密密钥msk。并且,密钥生成装置100将公开密钥pk、主秘密密钥msk、用户的属性集合γ作为输入,执行kg算法,生成用户秘密密钥skγ。然后,密钥生成装置100对公开密钥pk进行公开。并且,密钥生成装置100将用户秘密密钥skγ秘密地输出到解密装置400。加密装置200将公开密钥pk、访问构造s、消息m作为输入,执行enc算法,设定秘密分散矩阵m作为规定了解密条件的信息,生成对消息m进行加密而成的原始密文cts。加密装置200将原始密文cts输出到解密条件追加装置300。解密条件追加装置300将公开密钥pk、原始密文cts、追加访问构造s+作为输入,执行apdand算法,生成限制了原始密文cts的解密条件的更新密文cts’。解密条件追加装置300在生成了更新密文cts’的情况下,将更新密文cts’输出到解密装置400,在未生成更新密文cts’的情况下,将原始密文cts输出到解密装置400。具体而言,解密条件追加装置300取得对加密装置200生成的原始密文cts的解密条件进行限制的限制条件即追加访问构造s+,对原始密文cts中设定的秘密分散矩阵m追加与限制条件对应的行和列,生成限制了原始密文cts的解密条件的更新密文cts’。解密装置400将公开密钥pk、用户秘密密钥skγ、加密装置200生成的原始密文cts或解密条件追加装置300生成的更新密文cts’作为输入,执行dec算法,对加密装置200生成的原始密文cts或解密条件追加装置300生成的更新密文cts’进行解密。解密装置400输出消息m或表示解密失败的记号⊥。图7是实施方式1的密钥生成装置100的结构图。密钥生成装置100具有信息取得部110、主密钥生成部120、用户秘密密钥生成部130、密钥输出部140。信息取得部110取得由加密系统10的管理者输入的属性的格式n→、安全参数λ、属性集合γ。主密钥生成部120根据信息取得部110取得的属性的格式n→和安全参数λ,生成主秘密密钥msk和公开密钥pk。用户秘密密钥生成部130根据信息取得部110取得的属性集合γ、主密钥生成部120生成的主秘密密钥msk和公开密钥pk,生成用户秘密密钥skγ。密钥输出部140将公开密钥pk输出到公开用的服务器等,对公开密钥pk进行公开,并且,将用户秘密密钥skγ秘密地输出到用户使用的解密装置400。秘密地输出例如是指通过现有的加密方式进行加密后发送。图8是实施方式1的加密装置200的结构图。加密装置200具有信息取得部210、密文生成部220、密文输出部230。信息取得部210取得密钥生成装置100生成的公开密钥pk、由加密装置200的用户输入的访问构造s和消息m。密文生成部220根据信息取得部210取得的公开密钥pk、访问构造s、消息m,生成对消息m进行加密而成的原始密文cts。密文输出部230将密文生成部220生成的原始密文cts输出到解密条件追加装置300。图9是实施方式1的解密条件追加装置300的结构图。解密条件追加装置300具有信息取得部310、更新密文生成部320、密文存储部330、密文输出部340。信息取得部310具有公开密钥取得部311、原始密文取得部312、条件取得部313。公开密钥取得部311取得密钥生成装置100生成的公开密钥pk。原始密文取得部312取得加密装置200生成的原始密文cts。条件取得部313取得对原始密文cts的解密条件进行限制的限制条件即追加访问构造s+。更新密文生成部320根据公开密钥取得部311取得的公开密钥pk,利用条件取得部313取得的追加访问构造s+对原始密文取得部312取得的原始密文cts的解密条件进行限制,生成更新密文cts’。更新密文生成部320具有访问构造更新部321、分散值生成部322、追加加密元素生成部323、加密元素更新部324。密文存储部330是存储原始密文取得部312取得的原始密文cts的存储装置。在更新密文生成部320根据原始密文cts生成了更新密文cts’的情况下,密文存储部330删除原始密文cts,存储更新密文cts’。密文输出部340在有来自解密装置400的请求的情况下,将密文存储部330中存储的原始密文cts或更新密文cts’输出到解密装置400。图10是实施方式1的解密装置400的结构图。解密装置400具有信息取得部410、密文判定部420、解密部430、结果输出部440。信息取得部410取得密钥生成装置100生成的公开密钥pk和用户秘密密钥skγ、加密装置200生成的原始密文cts或解密条件追加装置300生成的更新密文cts’中的任意密文。密文判定部420判定是否能够利用用户秘密密钥skγ对信息取得部410取得的密文进行解密。解密部430根据公开密钥pk,在密文判定部420判定为能够解密的情况下,利用用户秘密密钥skγ对信息取得部410取得的密文进行解密。在密文判定部420判定为能够解密的情况下,结果输出部440输出解密部430进行解密的结果,在密文判定部420判定为不能解密的情况下,结果输出部440输出表示解密失败的记号⊥。***动作的说明***图11是实施方式1的setup算法的流程图。setup算法由密钥生成装置100来执行。(s101:信息取得处理)信息取得部110取得由加密系统10的管理者等通过输入装置输入的属性的格式n→:=(d;n1、...、nd)和安全参数λ。(s102:基生成处理)主密钥生成部120将s101中取得的属性的格式n→和安全参数λ作为输入,计算数式113,生成对偶配对向量空间的参数paramn、与t=0、...、d的各整数t有关的基bt和基b*t、值gt。【数式113】n0:=5,nt:=3nt+1,fort=0,...,d,另外,在数式113中,gbpg是生成双线性配对组的函数,gdpvs是生成对偶配对向量空间的函数。(s103:公开密钥生成处理)主密钥生成部120如数式114所示生成s102中生成的基b0的部分基b^0和与t=1、...、d的各整数t有关的部分基b^t。【数式114】主密钥生成部120合并部分基b^0和部分基b^t、s101中输入的安全参数λ、s101中生成的paramn,作为公开密钥pk。(s104:主秘密密钥生成处理)主密钥生成部120如数式115所示生成s102中生成的基b*0的部分基b^*0和与t=1、...、d的各整数t有关的部分基b^*t。【数式115】主密钥生成部120将部分基b^*0和部分基b^*t作为主秘密密钥msk。(s105:密钥输出处理)密钥输出部140将s103中生成的公开密钥pk输出到公开用的服务器等,对公开密钥pk进行公开。图12是实施方式1的kg算法的流程图。kg算法由密钥生成装置100来执行。(s201:信息取得处理)信息取得部110取得由加密系统10的管理者等通过输入装置输入的用户的属性集合γ。属性集合γ是标识符t与向量x→t的组(t、x→t)。标识符t对应于属性类别,在向量x→t中设定与标识符t对应的属性类别的属性。(s202:随机数生成处理)用户秘密密钥生成部130如数式116所示生成随机数。【数式116】(s203:密钥元素生成处理)用户秘密密钥生成部130根据s201中取得的属性集合γ、s202中生成的随机数,如数式117所示,生成密钥元素k*0和属性集合γ中包含的每个标识符t的密钥元素k*t。【数式117】如数式117所示,在每个标识符t的密钥元素k*t中设定有表示与标识符t对应的属性类别的属性的向量x→。(s204:密钥输出处理)密钥输出部140将包含s201中取得的属性集合γ、s203中生成的密钥元素k*0和属性集合γ中包含的每个标识符t的密钥元素k*t的用户秘密密钥skγ秘密地输出到用户秘密密钥skγ的用户使用的解密装置400。图13是实施方式1的enc算法的流程图。enc算法由加密装置200来执行。(s301:信息取得处理)信息取得部210取得密钥生成装置100生成的公开密钥pk、由加密装置200的用户通过输入装置输入的访问构造s:=(m、ρ)和消息m。访问构造s通过秘密分散矩阵m和标签ρ设定有原始密文cts的解密条件。(s302:分散值生成处理)密文生成部220如数式118所示生成秘密值s0和分散值s→t。【数式118】(s303:随机数生成处理)密文生成部220如数式119所示生成随机数。【数式119】(s304:加密元素生成处理)密文生成部220如数式120所示生成与i=0、...、l、d+1的各整数i有关的加密元素ci。【数式120】fori=1,...,l,如数式120所示,在加密元素c0中设定有秘密值s0。并且,在与i=1、...、l的各整数i有关的加密元素ci中设定有分散值si、向量v→i。另外,关于加密元素ci,根据标签ρ(i)对应于肯定系的(t、v→i)还是对应于否定形的¬(t、v→i),值的设定方法不同。并且,关于加密元素cd+1,通过会话密钥k对消息m进行加密。(s305:密文输出处理)密文输出部230将包含s301中取得的访问构造s和s304中生成的与i=0、...、l、d+1的各整数i有关的加密元素ci的原始密文cts输出到解密条件追加装置300。图14是实施方式1的apdand算法的流程图。apdand算法由解密条件追加装置300来执行。(s401:公开密钥取得处理)公开密钥取得部311取得密钥生成装置100生成的公开密钥pk。(s402:原始密文取得处理)原始密文取得部312取得加密装置200生成的原始密文cts。如上所述,原始密文cts设定有包含秘密分散矩阵m和标签ρ的访问构造s,作为规定了解密条件的信息。并且,作为规定了解密条件的信息,除了包含秘密分散矩阵m和标签ρ的访问构造s以外,原始密文cts还按照秘密分散矩阵m的每行设定有表示属性的加密元素ci。取得的原始密文cts存储在密文存储部330中。(s403:条件取得处理)条件取得部313取得对原始密文取得部312取得的原始密文cts的解密条件进行限制的限制条件即追加访问构造s+。追加访问构造s+包含仅在对访问构造s中包含的秘密分散矩阵m追加的行和列的元素中设定有值的追加矩阵m+、和对追加的行附加的标签ρ(l+i)。图15是追加访问构造s+的说明图。在图15中,示出追加第l+1行~第l+p行和第r+1列~第r+p列的情况。追加矩阵m+针对i=1、...、p的各整数i,第l+i行第r+i列的元素为1,其它元素为0。并且,针对i=1、...、p的各整数i,对行l+i附加标签ρ(l+i)。标签ρ(l+i)对应于((t、v→l+i)、(t’、v→l+i)、...、¬(t、v→l+i)、¬(t’、v→l+i)、...)中的任意字面量。即,各标签ρ(l+i)对应于表示属性类别的标识符t和表示该标识符t所示的属性类别中的属性的向量v→l+i的组。另外,这里,对如下情况进行说明:更新密文生成部320针对一个限制条件追加一个行和列,将追加行的元素中的追加列的元素以外的元素设为0,将追加列的元素中的追加行的元素以外的元素设为0。特别地,对如下情况进行说明:如图15所示,更新密文生成部320针对正整数l、r、p,在追加了第l+1行~第l+p行的行和第r+1列~第r+p列的列的情况下,在追加行和追加列的元素中,针对i=1、...、p的各整数i,将l+i行r+i列的元素设为1,将其它元素设为0。但是,根据访问构造的设计来设定追加行数和追加列数,针对一个限制条件,也可以不是一个行一个列。同样,根据访问构造的设计来设定对追加行和追加列的元素分配的值,根据访问构造的设计任意决定即可。并且,也可以在追加访问构造s+中的追加矩阵m+中,仅设定要追加的行和列的数量p,而不设定要追加的行和列的元素的值。这是因为,针对i=1、...、p的各整数i,将l+i行r+i列的元素设为1,将其它元素设为0,因此,只要知道要追加的行和列的数量p即可。(s404:访问构造更新处理)访问构造更新部321对s402中取得的原始密文cts中包含的访问构造s的秘密分散矩阵m,追加s403中取得的追加访问构造s+的追加矩阵m+所示的与i=1、...、p的各整数i有关的l+i行和r+i列,生成秘密分散矩阵m’。并且,访问构造更新部321对秘密分散矩阵m’的追加的与i=1、...、p的各整数i有关的l+i行,附加追加访问构造s+的标签ρ(l+i)。由此,访问构造更新部321将访问构造s:=(m、ρ)更新成访问构造s’:=(m’、ρ’)。(s405:分散值生成处理)分散值生成部322如数式121所示,针对i=l+1、...、l+p的各整数i,生成分散值si。【数式121】(s406:追加加密元素生成处理)追加加密元素生成部323根据s401中取得的公开密钥pk和s405中生成的分散值sl+i,如数式122所示生成与i=l+1、...、l+p的各整数i有关的追加加密元素ci。【数式122】fori=l+1,...,l+p,(s407:加密元素更新处理)加密元素更新部324根据s401中取得的公开密钥pk和s403中取得的追加访问构造s+的分散值sl+i,如数式123所示,对s402中取得的原始密文cts中包含的加密元素c0进行更新。【数式123】如数式123所示,通过对加密元素c0进行更新,利用追加的分散值sl+i对秘密值s0进行更新。另外,这里,对秘密值s0加上与i=1、...、p的各整数i有关的分散值sl+i。但是,秘密值s0的更新方法基于秘密分散矩阵m’的结构。这里,在追加矩阵m+中,针对i=1、...、p的各整数i,第l+i行第r+i列的元素为1,其它元素为0,因此,通过对秘密值s0加上与i=1、...、p的各整数i有关的分散值sl+i,取得匹配性。(s408:密文更新处理)密文存储部330将包含s404中更新的访问构造s’、s402中取得的原始密文cts中包含的与i=1、...、l的各整数i有关的加密元素ci、s406中生成的与i=1、...、p的各整数i有关的追加加密元素cl+i、s407中更新的加密元素c0的更新密文cts’覆盖在原始密文cts上进行存储。密文输出部340在有来自解密装置400的请求的情况下,将密文存储部330存储的原始密文cts或更新密文cts’输出到解密装置400。另外,将s404~s408的处理总称作更新密文生成处理。在更新密文生成处理中,更新密文生成部320对在原始密文取得处理中取得的原始密文cts中设定的秘密分散矩阵m,追加与在条件取得处理中取得的限制条件对应的行和列。然后,更新密文生成部320按照追加的每行,追加设定与属性类别对应的设定了该属性类别中的属性的加密元素ci,生成限制了原始密文cts的解密条件的更新密文cts’。图16是实施方式1的dec算法的流程图。dec算法由解密装置400来执行。(s501:信息取得处理)信息取得部410取得密钥生成装置100生成的公开密钥pk和用户秘密密钥skγ。并且,信息取得部410对解密条件追加装置300输出请求,从解密条件追加装置300取得密文cts^。密文cts^是原始密文cts或更新密文cts’。这里,设密文cts^包含访问构造s^和与i=1、...、l’、d+1的各整数i有关的加密元素ci。(s502:密文判定处理)密文判定部420判定s501中取得的密文cts^中包含的访问构造s^是否受理s501中取得的用户秘密密钥skγ中包含的属性集合γ。密文判定部420在判定为受理的情况下,使处理进入s503,在判定为不受理的情况下,使处理进入s506。(s503:插值系数计算处理)解密部430计算成为数式124的行编号的集合i和补充系数{αi}i∈i。【数式124】wheremiisthei-throwofm,(s504:会话密钥计算处理)解密部430根据s501中取得的密文cts^和用户秘密密钥skγ、s503中计算出的集合i和补充系数{αi}i∈i,计算数式125,计算会话密钥k。【数式125】(s505:消息计算处理)解密部430根据s504中计算出的会话密钥k,去除密文cts^中包含的加密元素cd+1,计算消息m。(s506:结果输出处理)结果输出部440在s502中判定为受理的情况下,输出s505中计算出的消息m,在s502中判定为不受理的情况下,输出表示解密失败的记号⊥。***效果的说明***如上所述,在实施方式1的加密系统10中,对原始密文cts中包含的访问构造s追加信息,并且追加加密元素ci,由此能够对解密条件进行限制。如果存在密文cts和公开密钥pk,则能够对访问构造s追加信息,并且追加加密元素ci,不需要重加密密钥那样的特殊密钥。因此,在对原始密文cts的解密条件进行限制的情况下,不需要使用重加密密钥。在使特定的用户秘密密钥失效的情况下等,需要迅速地对解密条件进行限制。在实施方式1的加密系统10中,能够对解密条件进行限制而不用生成重加密密钥,因此,能够迅速地对解密条件进行限制。另外,在上述说明中,说明了在apdand算法中对原始密文cts的解密条件进行限制。但是,在apdand算法中,还能够进一步对更新密文cts’的解密条件进行限制。该情况下,在s402中,代替原始密文cts而取得更新密文cts’即可。并且,在上述说明中,说明了针对密文策略型的函数型加密应用对密文的解密条件进行限制的技术的例子。在密文策略型的基于属性的加密中,也使用秘密分散矩阵。因此,针对密文策略型的基于属性的加密,也能够应用上述对秘密分散矩阵追加行和列,对密文的解密条件进行限制的技术。图17是示出实施方式1所示的密钥生成装置100、加密装置200、解密条件追加装置300、解密装置400的各装置的硬件结构的例子的图。各装置是计算机。利用程序实现各装置的各元素,能够构成数据显示程序。作为各装置的硬件结构,在总线上连接有运算装置901、外部存储装置902、主存储装置903、通信装置904、输入输出装置905。运算装置901是执行程序的cpu(centralprocessingunit:中央处理单元)等。外部存储装置902例如是rom(readonlymemory:只读存储器)、闪存、硬盘装置等。主存储装置903例如是ram(randomaccessmemory:随机存取存储器)等。通信装置904例如是通信板等。输入输出装置905例如是鼠标、键盘、显示装置等。程序通常存储在外部存储装置902中,在加载到主存储装置903中的状态下,依次读入到运算装置901中来执行。程序是实现作为“~部”说明的功能的程序。进而,在外部存储装置902中还存储有操作系统(os),os的至少一部分加载到主存储装置903中,运算装置901在执行os的同时执行上述程序。并且,在实施方式1的说明中,说明为“~部”取得、生成、输出等的信息等,作为文件存储在主存储装置903中。标号说明10:加密系统;100:密钥生成装置;110:信息取得部;120:主密钥生成部;130:用户秘密密钥生成部;140:密钥输出部;200:加密装置;210:信息取得部;220:密文生成部;230:密文输出部;300:解密条件追加装置;310:信息取得部;311:公开密钥取得部;312:原始密文取得部;313:条件取得部;320:更新密文生成部;321:访问构造更新部;322:分散值生成部;323:追加加密元素生成部;324:加密元素更新部;330:密文存储部;340:密文输出部;400:解密装置;410:信息取得部;420:密文判定部;430:解密部;440:结果输出部;a:标准基;b、b*:基;b^、b*^:部分基;msk:主秘密密钥;pk:公开密钥;γ:属性集合;m:秘密分散矩阵;ρ:标签;s、s’:访问构造;s+:追加访问构造;m:消息;skγ:用户秘密密钥;cts:原始密文;cts’:更新密文;t:标识符;k*t:密钥元素;ci:加密元素;s:分散值。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1