加密系统和加密程序的制作方法

文档序号:10654807阅读:313来源:国知局
加密系统和加密程序的制作方法
【专利摘要】加密系统(10)利用基B和基B*进行加密处理。加密装置(200)生成包含基B中的矢量即发送侧矢量的密文,该发送侧矢量是使用由以xi为根的多项式的系数yj构成的第1矢量和由v1的幂乘v1i构成的第2矢量中的一个矢量生成的。解密装置(300)使用包含基B*中的矢量即接收侧矢量的解密密钥对加密装置(200)生成的密文进行解密,该接收侧矢量是使用第1矢量和第2矢量中的另一个矢量生成的。
【专利说明】
加密系统和加密程序
技术领域
[0001 ] 本发明涉及函数型加密(Functional Encryption,FE)方式。
【背景技术】
[0002] 在专利文献1中具有与函数型加密(Functional Encryption,FE)方式有关的记 载。
[0003] 现有技术文献
[0004] 专利文献
[0005] 专利文献1:日本特开2012-133214号公报
[0006] 非专利文献
[0007] 非专利文献 1 :Attrapadung,N.,Libert,B.,de Panafieu,E. :Expressive key-policy attribute-based encryption with constant-size ciphertexts.In:Catalano et al·[6],pp·90·108
[0008] 非专利文献2 :Okamoto,T ·,Takashima,K · :Achieving Short Ciphertexts or Short Secret-Keys for Adaptively Secure General Inner-Product Encryption. CANS 2011,LNCS,vol.7092,pp·138-159Springer Heidelberg(2011).
[0009] 非专利文献3 : Okamoto,T Takashima,K · : Decentral ized Attribute-Based Signatures.ePrint http://eprint.iacr.org/2011/701

【发明内容】

[0010] 发明要解决的课题
[0011] 在专利文献1所述的函数型加密方式中,需要按照每个属性范畴t生成构成密文的 矢量或构成解密密钥的矢量,密文的尺寸较大,解密等也花费处理时间。
[0012] 本发明的目的在于,减小密文、解密密钥、签名等的尺寸。
[0013] 用于解决课题的手段
[0014] 本发明的加密系统利用基B和基矿进行加密处理,其特征在于,所述加密系统具 有:发送装置,其生成所述基B中的矢量即发送侧矢量,该发送侧矢量是使用由以 Xl为根的 多项式的系数yj构成的第1矢量和由vi的幂乘成的第2矢量中的一个矢量生成的;以及 接收装置,其对所述基f中的矢量即接收侧矢量和所述发送侧矢量进行配对运算,该接收 侧矢量是使用所述第1矢量和所述第2矢量中的另一个矢量生成的。
[0015] 发明效果
[0016] 本发明的加密系统通过对为了生成发送侧矢量和接收侧矢量而使用的矢量的结 构进行研究,能够减小密文、解密密钥、签名等的尺寸。
【附图说明】
[0017] 图1是矩阵M~的说明图。
[0018] 图2是矩阵Ms的说明图。
[0019] 图3是so的说明图。
[0020] 图4是?Ττ的说明图。
[0021] 图5是实现实施方式1的ΚΡ-ΑΒΕ方式的加密系统10的结构图。
[0022] 图6是实施方式1的密钥生成装置100的结构图。
[0023] 图7是实施方式1的加密装置200的结构图。
[0024]图8是实施方式1的解密装置300的结构图。
[0025]图9是示出实施方式1的Setup算法的处理的流程图。
[0026]图10是示出实施方式1的KeyGen算法的处理的流程图。
[0027]图11是示出实施方式1的Enc算法的处理的流程图。
[0028]图12是示出实施方式1的Dec算法的处理的流程图。
[0029] 图13是实现实施方式2的CP-ABE方式的加密系统10的结构图。
[0030] 图14是实施方式2的密钥生成装置100的结构图。
[0031] 图15是实施方式2的加密装置200的结构图。
[0032]图16是示出实施方式2的KeyGen算法的处理的流程图。
[0033]图17是示出实施方式2的Enc算法的处理的流程图。
[0034] 图18是实现实施方式4的ABS方式的加密系统10的结构图。
[0035] 图19是实施方式4的密钥生成装置100的结构图。
[0036]图20是实施方式4的签名装置400的结构图。
[0037]图21是实施方式4的验证装置500的结构图。
[0038]图22是示出实施方式4的Setup算法的处理的流程图。
[0039]图23是示出实施方式4的KeyGen算法的处理的流程图。
[0040]图24是示出实施方式4的Sig算法的处理的流程图。
[0041]图25是示出实施方式4的Ver算法的处理的流程图。
[0042]图26是示出实施方式1~5所示的加密系统10的各装置的硬件结构的例子的图。
【具体实施方式】 [0043]实施方式1
[0044] 对以下说明中的记法进行说明。
[0045] 在A是随机的变量或分布时,数式101表不根据A的分布而从A中随机选择y。即,在 数式101中,y是随机数。
[0046] 【数式101】
[0048] 在A是集合时,数式102表示从A中均匀选择y。即,在数式102中,y是均匀随机数。
[0049] 【数式102】
[0051] 数式103表示在y中设定z,通过z定义y,或y代入z。
[0052] 【数式103】
[0053] y : =z
[0054] 在a是常数时,数104表示机械(算法)A相对于输入x而输出a。
[0055] 【数式104】
[0056] A(x)^a
[0057] 例如,
[0058] A(x)^l
[0059] 数式105即Fq表示位数q的有限体。
[0060] 【数式105】
[0061 ]
[0062] 矢量表记表示有限体Fq中的矢量显示。即,是数式106。
[0063] 【数式106】
[0064] X 表示
[0066] 数式107表示数式108所示的2个矢量f与f的数式109所示的内积。
[0067] 【数式107】
[0068] ^,y
[0069] 【数式1〇8】
[0070] X 二(JCj .,.
[0071] V = (Vj,..,, V/?)
[0072] 【数式109】
[0074] 乂7表示矩阵X的转置矩阵。
[0075] 相对于数式110所示的基B和基是数式111。
[0076]【数式110】
[0082] e-j表示数式112所示的标准基矢量。
[0083]【数式112】
[0085] 并且,在以下的说明中,在利用下标或上标表示Vi^ni^ui^wi^zi^nunzi^AI'^Jii 下,该乂1:、111:、111:、'\¥1:、21:、1111、《01、211意味着¥1;、111;、111;、'?1;、21;、1111、'\¥11、211。同样,在利用上标表示5;[、 j的情况下,该δ i、j意味着δi、j。同样,在利用上标表不(pj的情况下,该φ;{意味着明。伺样,在利 用下标或上标表示SO的情况下,该so意味着so。
[0086] 并且,在对下标文字或上标文字标注意味着矢量的-的情况下,该-意味着利用 上标标注在下标文字或上标文字上。
[0087]并且,在以下的说明中,加密处理、加密方式不仅是用于对第三方隐匿信息的狭义 的加密处理,还包含签名处理,包含密钥生成处理、加密处理、解密处理、签名处理、验证处 理。
[0088]在实施方式1中,对实现加密方式的基础概念进行说明后,对实施方式1的加密方 式的结构进行说明。
[0089] 第1,对用于实现加密方式的空间即对偶配对矢量空间(Dual Pairing Vector Spaces :DPVS)这样的具有丰富数学构造的空间进行说明。
[0090] 第2,对用于实现加密方式的概念进行说明。这里,对张成方案、访问构造、秘密分 散方式(秘密共享方式)进行说明。
[0091] 第3,对实施方式1的加密方式的基本结构进行说明。在实施方式1中,对密钥策略 的基于属性的加密(Key-Policy Attribute-Based Encryption,KP_ABE)方式进行说明。 [0092 ]第4,对实现实施方式1的加密方式的加密系统10的基本结构进行说明。
[0093]第5,对实施方式1的加密方式的关键技术和简化的加密方式进行说明。
[0094]第6,对实施方式1的加密方式进行详细说明。
[0095]〈第1.对偶配对矢量空间〉
[0096] 首先,对对称双线性配对组进行说明。
[0097] 对称双线性配对组(q、G、GT、g、e)是质数q、位数q的循环加法组G、位数q的循环乘 法组G T、g辛0 e G、能够利用多项式时间计算的非退化双线性配对(Nondegenerate Bilinear Pairing)e:GXG-Gt的组。非退化双线性配对是e(sg、tg) = e(g、g)st,e(g、g)辛 1〇
[0098] 在以下的说明中,设G-为如下算法:将严作为输入,输出设安全参数为λ的双线性 配对组的参数paramG: = (9、6、61^、6)的值。
[0099]接着,对对偶配对矢量空间进行说明。
[0100] 对偶配对矢量空间(9、¥、61'、六、6)可以由对称双线性配对组(口3瓜1]1〇: = (9、6、61'、区、 e))的直积构成。对偶配对矢量空间(9、¥、61^^)是质数(1、数式113所示的?(1上的赠隹矢量空 间V、位数q的循环组GT、空间V的标准基A: = (ai.....aN)的组,具有以下的运算(1)(2)。这 里,ai如数式114所示。
[0101]【数式113】
[0103]【数式114】
[0105] 运算(1):非退化双线性配对
[0106] 空间V中的配对由数式115定义。
[0107] 【数式115】
[0112] 这是非退化双线性。即,e(sx、ty) = e(x、y)st,相对于全部的y e V,在e(x、y) = 1的 情况下,x = 〇。并且,相对于全部的i和j,e(ai、aj)=e(g、g)Sl、'这里,如果i = j,则5i、j = l, 如果 i乒 j,则3i、j = 0。并且,e(g、g)乒 1 eGT。
[0113] 运算(2):失真映射
[0114] 数式116所示的空间V中的线性变换奶j能够进行数式117。
[0115] 【数式116】
[0116] Φ ij(aj)=ai,
[0117] 如果k 辛 j,贝 lj<i)i,j(ak)=0。
[0118] 【数式117】
[0120] 其中,
[0121] (gi, . . .gN): =x
[0122] 这里,将线性变换取j称作失真映射。
[0123] 在以下的说明中,设Gdpvs为如下算法:将1λ(λε自然数)、Ne自然数、双线性配对组 的参数param G: = (q、G、GT、g、e)的值作为输入,输出安全参数为λ、设为N维空间V的对偶配对 矢量空间的参数paramv: = (q、V、GT、A、e)的值。
[0124] 另外,这里,对通过上述对称双线性配对组构成对偶配对矢量空间的情况进行说 明。另外,也可以通过非对称双线性配对组构成对偶配对矢量空间。在通过非对称双线性配 对组构成对偶配对矢量空间的情况下,容易应用以下的说明。
[0125] 〈第2.用于实现加密方式的概念〉
[0126] 〈第2-1.张成方案〉
[0127] 图1是矩阵M~的说明图。
[0128] 设{P1.....pn}为变量的集合。『:=(1、0)是带标签的矩阵。这里,矩阵1是? (1上的 (L行Xr列)的矩阵。并且,P是对矩阵Μ的各行附加的标签,与{P1.....ρη,-ρι....."口"中 的任意一个常量对应。另外,对Μ的全部行附加的标签Pi(i = l、...、L)与任意一个常量对 应。即,P: {1、· · ·、L} - {pi、· · ·、ρη、~'ρι、· · ·、~'pn}。
[0129] 针对全部输入列δε {〇、1}η来定义矩阵Μ的部分矩阵Ms。矩阵Ms是由通过输入列δ使 值"Γ与标签Ρ对应的矩阵Μ的行构成的部分矩阵。即,矩阵Ms是由与δ ? = 1的Pi对应的矩阵Μ 的行和与心=0的ιρι对应的矩阵Μ的行构成的部分矩阵。
[0130]图2是矩阵Ms的说明图。另外,在图2中,设n = 7、L = 6、r = 5。即,变量的集合是 {pi.....口7},矩阵1是(6行\5列)的矩阵。并且,在图2中,关于标签0,01与1? 2对应,仍与?1 对应,P3与P4对应,P4与对应,P5与对应,P6与P5对应。
[0131] 这里,设输入列δε {0、1}7*δ1=1、δ2 = 0、δ3=1、δ4 = 0、δ5 = 0、δ6=1、δ7=1。该情况 下,由与虚线包围的常量化^34 647、1口2、1口4、1?5)对应的矩阵1的行构成的部分矩阵 是矩阵Ms。即,由矩阵Μ的第1行(Md、第2行(Μ 2)、第4行(Μ4)构成的部分矩阵是矩阵Ms。
[0132] 换言之,在映射 γ : {1、· · ·、L} - {0、1}为[p( j)=pi]A[Si=l]或[p(j) = ipi]A [3i = 0]的情况下,γ (j) = l,在其它情况下,γ (j)=0。该情况下,Ms: = (Mj)Y(j)=i。这里,Mj 是矩阵Μ的第j行。
[0133] 即,在图 2 中,映射 γ (j) = l(j = l、2、4),映射 γ (j)=0(j = 3、5、6)。因此,(Mj)Y(j) =1 是Ml、M2、M4,是矩阵Μδ。
[0134] 即,根据映射γ (j)的值是"0"还是"Γ,决定矩阵Μ的第j行是否包含在矩阵Ms中。
[0135] 仅在疒£8邱1!僅5>的情况下,张成方案『受理输入列3,在其它情况下,拒绝输入 列S。即,仅在对通过输入列δ从矩阵M~得到的矩阵Ms的行进行线性耦合而得到r的情况下, 张成方案M~受理输入列δ。另外,广是各要素为值"Γ的行矢量。
[0136] 例如,如果是图2的例子,则仅在对由矩阵Μ的第1、2、4行构成的矩阵Ms的各行进行 线性耦合而得到疒的情况下,张成方案『受理输入列3。即,在存在€ [1(11)+€[2(12)+€[4(14) = 1 -的的情况下,张成方案M~受理输入列δ。
[0137] 这里,在标签Ρ仅与正的常量{P1.....pn}对应的情况下,张成方案被称作单调。另 一方面,在标签P与常量{P1.....Ρη,-ρ?.....ipn}对应的情况下,张成方案被称作非单 调。这里,设张成方案为非单调。而且,使用非单调张成方案构成访问结构(非单调访问结 构)。简单地讲,访问结构是指进行对加密的访问控制。即,是指进行是否能够对密文进行解 密的控制。
[0138] 由于张成方案不是单调而是非单调,由此,利用张成方案构成的加密方式的利用 范围较广。
[0139] 〈第2-2.访问结构〉
[0140] 11(口{:0, Ip是全集合(universe),是属性的集合。而且,U用属性的值即veFxq(: = Fq\{〇})来表示。
[0141] 以使属性成为M~: = (M,P)中的变量ρ那样进行定义。即,ρ: =v。访问结构S是变量 p:=v,p':=v',...的张成方案 M~: = (M,p)。即,访问结构 S 是p: v,-V,· · ·}的S: = (M,p)〇
[0142] 接着,设Γ为属性的集合。即,Γ : = {Xj|1SjSn'}。
[0143] 在对访问结构5赋予「的情况下,如下定义针对张成方案『:=(1、0)的映射丫: {1、· · ·、L} - {0、1}。关于i = l,· · ·,L的各整数 i,在[p(i)=vi]A[vie Γ ]或[(6(:0 = -Vi] A[Vle Γ ]的情况下,γ (j) = l,在其它情况下,设γ (j)=〇。
[0144] 仅在l-espan〈(Mi)Y(i) = i>的情况下,访问结构S: = (M,P)受理Γ。
[0145] 〈第2-3.秘密分散方式〉
[0146] 对针对访问结构S: = (M、P)的秘密分散方式进行说明。
[0147] 另外,秘密分散方式是指使秘密信息分散而成为没有意义的分散信息。例如,使秘 密信息s分散成10个,生成10个分散信息。这里,10个分散信息各自不具有秘密信息s的信 息。因此,即使得到某1个分散信息,也无法得到关于秘密信息s的任何信息。另一方面,如果 得到全部10个分散信息,则能够恢复秘密信息S。
[0148] 并且,还存在如下的秘密分散方式:即使没有得到全部10个分散信息,只要得到一 部分(例如8个),就能够恢复秘密信息s。这样,将能够利用10个分散信息中的8个来恢复秘 密信息s的情况称作8-out-of-l0。即,将能够利用η个分散信息中的t个来恢复秘密信息s的 情况称作t _〇ut-〇f_n。将该t称作阈值。
[0149] 并且,还存在如下的秘密分散方式:在生成cU.....d1Q这10个分散信息的情况下, 如果是di、...、ds这8个分散信息,则能够恢复秘密信息s,如果是d3、...、dio这8个分散信息, 则无法恢复秘密信息s。即,还存在不仅根据得到的分散信息的数量还根据分散信息的组合 来控制是否能够恢复秘密信息s的秘密分散方式。
[0150]图3是so的说明图。图4是?Ττ的说明图。
[0151] 设矩阵Μ为(L行Xr列)的矩阵。设f"T为数式118所示的列矢量。
[0152] 【数式118】
[0154] 设数式119所示的so为共享的秘密信息。
[0155] 【数式119】
[0157] 并且,设数式120所示的84为8〇的L个分散信息的矢量。
[0158] 【数式120】
[0160]而且,设分散信息Sl属于P(i)。
[0161 ] 在访问结构S: = (M、P)受理Γ的情况下,g卩,关于γ : {1.....L} - {0、1},在1-e span〈 (Mi) γ ⑴=〇的情况下,存在I口 (i £ (I、,,·、L} |f (i)-=丨;的常数{ai e Fq | i e I}。
[0162] 在图2的例子中,说明了在存在〇1(11)+€[2(12)+€[ 4(14) = 1-的的情况下张成 方案M~受理输入列δ,因此,这是显而易见的。即,在存在€[1(11)+(12(12)+(14(14) = 1-的(11、€[2、 的情况下,如果张成方案Μ~受理输入列δ,则存在=
[0163]然后,是数式121。
[0164] 【数式121】
[0165] Eieiaisi: =so
[0166] 另外,常数{αι}能够利用矩阵Μ的尺寸下的多项式时间进行计算。
[0167] 〈第3.加密方式(ΚΡ-ΑΒΕ方式)的基本结构〉
[0168] 对ΚΡ-ΑΜ方式的结构进行简单说明。另外,ΚΡ(密钥策略)意味着在密文中嵌入 Po 1 i cy,即嵌入访问结构。
[0169] KP-ABE 方式具有 Setup、KeyGen、Enc、Dec这 4个算法。
[0170] (Setup)
[0171] Setup算法是将安全参数λ和针对密文的属性的数量的上限n作为输入而输出公开 参数pk和主密钥sk的概率算法。
[0172] (KeyGen)
[0173] KeyGen算法是将公开参数pk、主密钥sk、访问结构S: = (M、P)作为输入而输出解密 密钥sks的概率算法。
[0174] (Enc)
[0175] Enc算法是将公开参数pk、消息m、属性集合Γ : = {Xj}1SjSn,作为输入而输出密文 ctr的概率算法。
[0176] (Dec)
[0177] Dec算法是将公开参数pk、解密密钥sks、密文ctr作为输入而输出消息m或识别信 息丄的算法。
[0178] 〈第4.加密系统10的基本结构〉
[0179] 对实现KP-ABE方式的算法的加密系统10进行说明。
[0180] 图5是实现实施方式1的KP-ABE方式的加密系统10的结构图。
[0181] 加密系统10具有密钥生成装置100、加密装置200(发送装置的一例)、解密装置300 (接收装置的一例)。
[0182] 密钥生成装置100将安全参数λ和针对密文的属性的数量的上限n作为输入来执行 Setup算法,生成公开参数pk和主密钥sk。
[0183] 然后,密钥生成装置100对公开参数pk进行公开。并且,密钥生成装置100将访问结 构S作为输入来执行KG算法,生成解密密钥sks,秘密地向解密装置300发送。
[0184]加密装置200将公开参数pk、消息m、属性集合Γ作为输入来执行Enc算法,生成密 文ctr。加密装置200向解密装置300发送密文ctr。
[0185] 解密装置300将公开参数pk、解密密钥sks、密文ctr作为输入来执行Dec算法,输出 消息m或识别信息丄。
[0186] 〈第5.关键技术和简化的加密方式〉
[0187] 〈第5-1.编码〉
[0188] 在专利文献1所述的函数型加密方式中,对各属性范畴分配标识符t,按照每个标 识符t生成作为密文(或解密密钥)的要素的矢量。
[0189] 在实施方式1中,通过对属性信息的编码方法进行研究,消除属性范畴的标识符t, 使作为密文的要素的矢量成为一个。
[0190] 在实施方式1中,在基B的各基矢量的系数中设定由以属性信息Χι*根的多项式的 系数yj构成的矢量y、= (yi.....yn)(第1矢量)的各要素,生成作为密文的要素的(一个)矢 量。即,在基B的各基矢量的系数中设定f (z) = (Z-X1) (Z-X2)··· (z-Xn) = yizn+"_+yn-iz+yn的 矢量y、= (yi.....yn),生成作为密文的要素的矢量。
[0191] 并且,关于i = 1.....L的各整数i,在基矿的各基矢量的系数中设定由Vl的幂乘VlJ 构成的矢量v广:二"广1.....vi、l)(第2矢量),生成作为解密密钥的要素的(一个以上的) 矢量。
[0192] 由此,当对作为密文的要素的矢量和作为解密密钥的要素的矢量进行配对运算 时,能够进行控制,使得将Vi代入f(z)中,如果Vi与XI、. . .、χη中的任意一方相等,贝ljf(Vi) = 0,如果Vi与?、. . .、Xn中的任意一方都不相等,则f (Vi)辛0。
[0193] 〈第5-2.稀疏矩阵〉
[0194] 在专利文献1所述的函数型加密方式中,生成对偶基的对即基B和基矿。使用从GL (N、Fq)中同样选择出的完全随机线性变换X(基转换矩阵),生成基B和基矿。特别地,分别通 过线性变换X和『^对标准基A进行变换而生成基B和基另外,N是span〈B>和span〈B>的 维数。
[0195] 而且,在将对偶配对矢量空间应用于加密处理的典型应用中,基B的一部分(称作B ?用作公开参数,与其对应的基矿的一部分(称作用作秘密密钥或陷门。
[0196] 在实施方式1中,代替上述完全随机线性变换X而使用XeGL(N、Fq)的随机线性变 换X的特别形式(稀疏矩阵)。
[0197] 〈第5-3.简化的加密方式〉
[0198] 对简化的KP-ABE方式进行说明。
[0199] 简化的KP-ABE方式中的密文由2个矢量要素(c〇、C1) e G5 X Gn和c3 e GT构成。秘密密 钥由针对访问结构3: = (1、、0)的1>1个矢量要素(1^)、1^1.....k\eG5X(Gn) L)构成。这里, 矩阵Μ的行数为L,各矢量要素 k'对应于矩阵Μ的各行。另外,(c〇、cl)eG5XGn意味着c〇为G的 5个要素,c々G的η个要素。同样,(kVk、.....k\eG5X(G,意味着k*Q为G的5个要素 ,k *ι.....k\SG的η个要素。
[0200] 因此,为了使密文的尺寸成为常数尺寸,需要将C1 e G"E缩成与η有关的常数尺寸。
[0201] 在实施方式1中,使用数式122所示的特别线性变换X。
[0202]【数式I22】
[0204]这里,μ、μ、.....μ'η是从有限体Fq中同样选择出的值,线性变换X中的空白表示0 eFq。并且,H(n、Fq)意味着将有限体Fq作为要素的η维矩阵的集合。
[0205]公开密钥(DPVS的基)是数式123所示的基Β。
[0206]【数式123】
[0208]设与属性集合Γ : = (Χ1.....χη,)相关联的密文为数式123所示的密文C1。
[0209] 【数式123】
[0210]
[0211]这里,ω是从有限体Fq中同样选择出的值。并且,疒:=( 71.....yn)是数式124所示 的矢量。
[0212]【数式以4】
[0214]于是,密文(^可以压缩成数式125所示的2个组的要素和矢量广。
[0215]【数式125】
[0216] Ci: = ω yg,
[0218] 密文C1 是通过(yiCi、. . .、yn-iCi、C2)得到的。另外,关于i = l、. . .、n_l的各i,yiCi = yi? yg〇
[0219] 因此,密文(除了矢量以外的部分)可以设为2个组的要素,成为与n有关的常数 尺寸。
[0220]设B*: = (b')为Β: = (Μ的对偶标准正交基,设基为简化的KP-ABE方式中的主秘 密密钥。
[0221 ]设(〇。、1^。、〇3)为6((3。、〇区1^'(),〇3:=区1^111£61'。这里,8〇(8。)是与访问结构3相 关联的共享信息{ si } i=l、. . .、L的中心秘密。
[0222] 使用共享信息{Sl}1=1、...、如数式126那样设定针对访问结构S的秘密密钥的集 合。
[0223] 【数式126】
[0229]根据基B和基矿的对偶标准正交性,如果访问结构S受理属性集合Γ,则存在成为 数式127的补充系数{ai}ieI。
[0230]【数式127】
[0232] where
[0234] 因此,仅在访问结构S受理属性集合Γ的情况下,解密者能够计算gTus(),得到消息 m〇
[0235] 并且,密文C1表示为(yi&.....yn-1&、&)郎 11,秘密密钥1^被分解为(0*1.....D*n) 的η组。因此,e(C1、lT*)的值是数式128。
[0236] 【数式128】
[0238] 即,在计算e(C1、lT*)时,通过G中的n-1个标量乘法和2个配对运算即可。即,在解密 中仅需要少数(常数)的配对运算。一般情况下,配对运算是花费处理时间的运算,因此,通 过减少配对运算的数量,能够缩短处理整体的处理时间。
[0239] 另外,在简化的KP-ABE方式中,密文C1仅具有被设定矢量5^的基矢量(实际的编码 部),秘密密钥1Λ仅具有被设定矢量F的基矢量(实际的编码部)。
[0240] 在以下说明的KP-ABE方式中,为了提高安全性,在密文(^和秘密密钥k'中,除了实 际的编码部以外,还施加隐匿部、秘密密钥随机部、密文随机部用的基矢量。
[0241] 因此,如数式129那样将线性变换X扩张成6倍。然后,对实际的编码部、隐匿部、秘 密密钥随机部、密文随机部分别各分配11、211、211、11维。
[0242] 【数式129】
[0244] 这里,各Xi,j是数式122所示的XeH(n,Fq)。而且,矢量空间由4个正交的部分空间 构成。即,矢量空间由编码部、隐匿部、秘密密钥随机部、密文随机部用的4个正交的部分空 间构成。
[0245] 〈第6.加密方式〉
[0246]图6是实施方式1的密钥生成装置100的结构图。图7是实施方式1的加密装置200的 结构图。图8是实施方式1的解密装置300的结构图。
[0247] 图9和图10是示出实施方式1的密钥生成装置100的动作的流程图。另外,图9是示 出实施方式1的Setup算法的处理的流程图,图10是示出实施方式1的KeyGen算法的处理的 流程图。图11是示出实施方式1的加密装置200的动作的流程图,示出实施方式1的Enc算法 的处理。图12是示出实施方式1的解密装置300的动作的流程图,示出实施方式1的Dec算法 的处理。
[0248] 对密钥生成装置100的功能和动作进行说明。
[0249] 如图6所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入 部130、解密密钥生成部140、密钥发送部150。主密钥生成部110具有空间生成部111、矩阵生 成部112、基生成部113、密钥生成部114。解密密钥生成部140具有f矢量生成部141、s矢量生 成部142、随机数生成部143、密钥要素生成部144。
[0250]根据图9对Setup算法的处理进行说明。
[0251] (S101:空间生成步骤)
[0252]空间生成部111将安全参数^乍为输入,通过处理装置执行Gbpg,生成对称双线性 配对组的参数paramc: = (q、G、GT、g、e)。
[0253] 进而,空间生成部111设定仏:=5、沁:=611。然后,空间生成部111关于七=0、1的各 整数t,将安全参数l\N t、对称双线性配对组的参数paramG作为输入,通过处理装置来执行 Gdpvs,生成对偶配对矢量空间的参数paramvt : = (q、Vt、GT、A、e)。
[0254] (S102:线性变换生成步骤)
[0255] 矩阵生成部112通过处理装置,如数式130所示生成线性变换Xo。
[0256] 【数式130】
[0258]另外,数式130中的(x〇、i、j)i、j=i 5意味着与矩阵x〇、i、j的小标i、j有关的矩阵。
[0259] 并且,矩阵生成部112通过处理装置,如数式131所示生成线性变换心。
[0260] 【数式131】
[0262] 数式131中的L(6、n、Fq)如数式132所示。
[0263] 【数式132】
[0266]另外,下面,{μ^、μ'Μα} i、j-1、. . .、6; L-1、...、 n表示线性变换Xl中的0以外的要素。
[0267] (S103:基B生成步骤)
[0268] 基生成部113通过处理装置,如数式133所示生成基Bo、变量Bi、j、变量B'i、j、L。
[0269] 【数式133】
[0272] Bij: =yijg,B/ij.L: =μ7 ij,Lg for i , j = l, . . . ,6;L=1, . . . ,η
[0273] 并且,基生成部113通过处理装置,如数式134所示生成基和基B'。
[0274] 【数式134】
[0275] for t = 0,1,
[0279] (S104:基生成步骤)
[0280] 密钥生成部114通过处理装置,如数式135所示生成基^。、基^、基ΒΛ、基ΒΛ。
[0281] 【数式135】
[0286] (S105:主密钥生成步骤)
[0287] 密钥生成部114通过处理装置设为公开参数?1^: = (1%&瓜11111、{8~山=()、1),设为主 秘密密钥。然后,密钥生成部114将公开参数pk和主秘密密钥sk存储在主密 钥存储部120中。
[0288] 另外,piramn: = .({|Jaram%}.t=o、'1..、|τ.: =.e. (g:、. .g.) φ.)〇
[0289] 即,在(S101)~(S105)中,密钥生成装置100执行使用数式136所示的算法GABE(1)Qb 的、数式137所示的Setup算法,生成公开参数pk和主秘密密钥sk。
[0290] 【数式136】

[0311] return pk,sk.
[0312] 另外,公开参数例如成为经由网络公开且加密装置200和解密装置300能够取得的 状态。
[0313] 在S103中,不生成基m,取而代之生成变量Bi、j。如果生成基出,则成为数式138。 [0314]【数式I38】
[0318]数式138的矩阵中的空白部分表示成分的值为0^6。基&是基矿:的标准正交基。 即,e(bi、i、b*i、i) = gT,关于1 兰 i辛 j 兰6η的整数i、j,e(bi、i、b*i、j) = 1。
[0319] 根据图10对KeyGen算法的处理进行说明。
[0320] (S201:信息输入步骤)
[0321] 信息输入部130通过输入装置输入访问结构S: = (M、P)。另外,关于访问结构S的矩 阵Μ的设定,根据希望实现的系统的条件进行设定。并且,访问结构S的P例如设定解密密钥 sks的使用者的属性信息。
[0322] (S2〇2:f矢量生成步骤)
[0323] f矢量生成部141通过处理装置,如数式139所示随机生成矢量
[0324]【数式139】
[0326] (S2〇3:s矢量生成步骤)
[0327] s矢量生成部142通过处理装置,如数式140所示生成矢量s-T: = (si、. . .、sl)t。
[0328] 【数式140】
[0330] 并且,s矢量生成部142通过处理装置,如数式141所示生成值so。
[0331] 【数式141】
[0333] (S204:随机数生成步骤)
[0334] 随机数生成部143通过处理装置,如数式142所示生成随机数。
[0335] 【数式142】
[0339] (S205:密钥要素生成步骤)
[0340] 密钥要素生成部144通过处理装置,如数式143所示生成解密密钥sks的要素1Λ。
[0341]【数式143】
[0343] 并且,密钥要素生成部144通过处理装置,关于i = 1.....L的各整数i,如数式144 所示生成解密密钥sks的要素 k'。
[0344] 【数式144】
[0350] (S206:密钥发送步骤)
[0351] 密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将(S201) 中输入的访问结构S和(S205)中生成的1Λ、1Λ.....k\作为要素的解密密钥sks。当然,也可 以通过其它方法向解密装置300发送解密密钥sks。
[0352] 即,在(S201)~(S205)中,密钥生成装置100执行数式145所示的KeyGen算法,生成 解密密钥sks。然后,在(S206)中,密钥生成装置100向解密装置300发送已生成的解密密钥 sks〇
[0366] 对加密装置200的功能和动作进行说明。
[0367] 如图7所示,加密装置200具有公开参数接收部210、信息输入部220、加密数据生成 部230、数据发送部240。并且,加密数据生成部230具有随机数生成部231、加密要素生成部 232〇
[0368] 根据图11对Enc算法的处理进行说明。
[0369] (S301:公开参数接收步骤)
[0370] 公开参数接收部210例如通过通信装置,经由网络接收密钥生成装置100生成的公 开参数pk。
[0371] (S302:信息输入步骤)
[0372] 信息输入部220通过输入装置输入向解密装置300发送的消息m。并且,信息输入部 220通过输入装置输入属性集合Γ : = {X1.....χη,| xj GFqx、n'刍n-1}。并且,属性集合Γ例 如设定有能够解密的用户的属性信息。
[0373] (S303:随机数生成步骤)
[0374] 随机数生成部231通过处理装置,如数式146所示生成随机数。
[0375] 【数式146】
[0377] (S304:加密要素生成步骤)
[0378] 加密要素生成部232通过处理装置,如数式147所示生成密文ctr的要素 co。
[0379] 【数式147】
[0380] Cq :- ((Ο,Ο,ζ,Ο, ψ() )]g〇
[0381] 并且,加密要素生成部232通过处理装置,如数式148所示生成密文ctr的要素 C^、 C2、j〇
[0382] 【数式148】
[0383] for j = l, . . . ,6
[0384] Cij^oBij+niBej,
[0388] 并且,加密要素生成部232通过处理装置,如数式149所示生成密文ctr的要素C3。[0389] 【数式149】
[0391] (S305:数据发送步骤)
[0392] 数据发送部240例如通过通信装置,经由网络向解密装置300发送将(S302)中输入 的属性集合Γ和(S304)中生成的(^、(^、(^、《作为要素的密文以^当然池可以通过其它 方法向解密装置300发送密文ctr。
[0393] 即,在(S301)~(S304)中,加密装置200执行数式150所示的Enc算法,生成密文 ctr。然后,在(S305)中,加密装置200向解密装置300发送已生成的密文ctr。
[0402] return ctr.
[0403] 对解密装置300的功能和动作进行说明。
[0404] 如图8所示,解密装置300具有解密密钥接收部310、数据接收部320、张成方案计算 部330、补充系数计算部340、解密部350。
[0405]根据图12对Dec算法的处理进行说明。
[0406] (S401:解密密钥接收步骤)
[0407] 解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的 解密密钥sks。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数pk。
[0408] (S402 :数据接收步骤)
[0409] 数据接收部320例如通过通信装置,经由网络接收加密装置200发送的密文ctr。
[0410] (S403:张成方案计算步骤)
[0411] 张成方案计算部330通过处理装置,判定(S401)中接收到的解密密钥sks中包含的 访问结构S是否受理(S402)中接收到的密文ctr中包含的Γ。访问结构S是否受理Γ的判定 方法如"第2.用于实现加密方式的概念"中说明的那样。
[0412]张成方案计算部330在访问结构S受理Γ的情况下(S403:受理),使处理进入 (S404)。另一方面,在访问结构S拒绝Γ的情况下(S403:拒绝),视为无法利用解密密钥sks 对密文ctr进行解密,结束处理。
[0413] (S404:补充系数计算步骤)
[0414]补充系数计算部340通过处理装置,计算成为数式151的I和常数(补充系数) {ciilieio
[0419] (S405:解密要素生成步骤)
[0420] 解密部350通过处理装置,如数式152所示生成解密要素 ΙΛ.....D%n、E*j。
[0421] 【数式152】
[0424] (S406:配对运算步骤)
[0425] 解密部350通过处理装置计算数式153,生成会话密钥K = gT、
[0426] 【数式153】
[0428] (S407 :消息计算步骤)
[0429] 解密部350通过处理装置计算m' =C3/K,生成消息m'(=m)。
[0430] 即,在(S401)~(S407)中,解密装置300执行数式154所示的Dec算法,生成消息m' (=m)〇
[0431] 【数式154】

[0442] return m': =C3/K.
[0443] 另外,根据数式138,Bl: = (bl、l、· · ·、bl、6n)由{Bi、j、B i、j、L} i、j=l、...、6; L=l、...、n 确走。 并且,Se tup算法的输出中包含的{Bi、j、B i、j、L} i=l、6; j=l、...、6; L=l、...、n由B l: = (bl、l、···、 bl、n、bl、5n+l、· · ·、bl、6n)^l7H〇
[0444] 而且,Dec算法可以如数式155所示的Dec'算法那样记述。
[0445] 【数式155】
[0456] return m': =c3/K.
[0457 ] 如数式15 6所示,在使用D e C '算法的情况下,得到K: = gS。因此,通过c 3 = gSm除以 K,得到消息m'( =m)。
[0458]【数式156】
[0460] 在实施方式1中说明的KP-ABE方式中,密文ctr由要素 co中5个G的要素、与j = 1.....6的各整数j有关的要素 Cy和要素中12个G的要素的合计17个G的要素以及要素 C3中1个GT的要素构成。即,关于η,密文ctr是常数尺寸。
[0461 ] 并且,在实施方式1中说明的KP-ABE方式中,解密处理(Dec算法)仅执行数式153所 示的e(CQ、k^))中5个配对运算、nj=16(e(CM、E,)· e(C2、j、D%))中12个配对运算的合计17 个配对运算。即,解密处理中需要的配对运算较少。
[0462] 实施方式2
[0463] 在实施方式2中,对设秘密密钥的尺寸为常数尺寸的密文策略的基于属性的加密 (Ciphertext-Policy ABE、CP-ABE)方式进行说明。
[0464] 在实施方式2中,省略与实施方式1相同的部分的说明,对与实施方式1不同的部分 进行说明。
[0465] 第1,对实施方式2的加密方式的基本结构进行说明。
[0466] 第2,对实现实施方式2的加密方式的加密系统10的结构进行说明。
[0467] 第3,对实施方式2的加密方式进行详细说明。
[0468] 〈第1.加密方式的基本结构〉
[0469] 对CP-ABE方式的结构进行简单说明。另外,Ciphertext-Policy意味着在密文中嵌 入Po 1 i cy,SP嵌入访问结构。
[0470] CP-ABE 方式具有 Setup、KeyGen、Enc、Dec这 4个算法。
[0471] (Setup)
[0472] Setup算法是输入安全参数λ和针对密文的属性的数量的上限n而输出公开参数pk 和主密钥sk的概率算法。
[0473] (KeyGen)
[0474] KeyGen算法是将公开参数pk、主密钥sk、属性集合Γ : = {xj}1Sjsin,作为输入而输出 解密密钥skr的概率算法。
[0475] (Enc)
[0476] Enc算法是将公开参数pk、消息m、访问结构S: = (M、P)作为输入而输出密文cts的 概率算法。
[0477] (Dec)
[0478] Dec算法是将公开参数pk、解密密钥skr、密文cts作为输入而输出消息m或识别信 息丄的算法。
[0479] 〈第2.实现CP-ABE方式的加密系统10的结构〉
[0480]图13是实现实施方式2的CP-ABE方式的加密系统10的结构图。
[0481 ] 加密系统10具有密钥生成装置100、加密装置200(发送装置的一例)、解密装置300 (接收装置的一例)。
[0482]密钥生成装置100将安全参数λ和针对密文的属性的数量的上限n作为输入来执行 Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100对生成的公开参数pk进行 公开。并且,密钥生成装置100将属性集合Γ作为输入来执行KeyGen算法,生成解密密钥 skr,秘密地向解密装置300发送。
[0483]加密装置200将公开参数pk、消息m、访问结构S作为输入来执行Enc算法,生成密文 cts。加密装置200向解密装置300发送已生成的密文cts。
[0484] 解密装置300将公开参数pk、解密密钥skr、密文cts作为输入来执行Dec算法,输出 消息m或识别信息丄。
[0485] 〈第3.加密方式〉
[0486] 图14是实施方式2的密钥生成装置100的结构图。图15是实施方式2的加密装置200 的结构图。解密装置300的结构与图8所示的实施方式1的解密装置300的结构相同。
[0487] 图16是示出实施方式2的KeyGen算法的处理的流程图。图17是示出实施方式2的 Enc算法的处理的流程图。Setup算法的处理和Dec算法的处理的流程分别与图9、图12所示 的实施方式1的Setup算法的处理和Dec算法的处理相同。
[0488] 对密钥生成装置100的功能和动作进行说明。
[0489] 如图14所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输 入部130、解密密钥生成部140、密钥发送部150。主密钥生成部110具有空间生成部111、矩阵 生成部112、基生成部113、密钥生成部114。解密密钥生成部140具有随机数生成部143、密钥 要素生成部144。
[0490] 根据图9对Setup算法的处理进行说明。
[0491 ] (S101)~(S102)的处理与实施方式1相同。
[0492] (S103:基B生成步骤)
[0493] 基生成部113通过处理装置,与实施方式1中的基Bo、变量Bi、j、变量B' i、j、L同样,如 数式157所示生成基Do、变量Di、j、变量D'i、j、L。
[0494] 【数式157】
[0497] Dij: =yijg,D/ij.L: =μ7 ij,Lg for i , j = l, . . . ,6;L=1, . . . ,η
[0498] 并且,基生成部113通过处理装置,与实施方式1中的基矿o和基同样,如数式158 所示生成基Di和基D'。
[0499] 【数式I58】

[0504] 然后,基生成部113设基D*o为基Bo,基Do为基B*o,基ΕΛ为基Β!。并且,基生成部113关 于i、j = 1.....6的各整数i、j和L= 1.....η的各整数L,设变量Di、j为变量j,变量D' i、j、L 为变量B'\ja。
[0505] (S104:基生成步骤)
[0506] 密钥生成部114通过处理装置,如数式159所示生成基BiSri、基ΒΛ、基ΒΛ。
[0512] (S105)的处理与实施方式1相同。
[0513] 即,在(S101)~(S105)中,密钥生成装置100执行使用数式160所示的算法GABE(2)ob 的、数式161所示的Setup算法,生成公开参数pk和主秘密密钥sk。这里,如数式160所示,算 法6^ΑΒΕ(2)*使用数式136所示的算法G ABE(1)Qb。
[0526] return pk,sk.
[0527] 另外,公开参数例如成为经由网络公开且加密装置200和解密装置300能够取得的 状态。
[0528] 根据图16对KeyGen算法的处理进行说明。
[0529] (S501:信息输入步骤)
[0530] 信息输入部130通过输入装置输入属性集合Γ : = {χ!、…、χη' | xjeFqx、n'刍n-1}。 另外,属性集合F例如设定有解密密钥skr的使用者的属性信息。
[0531] (S502:随机数生成步骤)
[0532] 随机数生成部143通过处理装置,如数式162所示生成随机数。
[0533] 【数式I62】
[0535] (S503:密钥要素生成步骤)
[0536] 密钥要素生成部144通过处理装置,如数式163所示生成解密密钥skr的要素1Λ。
[0537] 【数式163】
[0539] 并且,密钥要素生成部144通过处理装置,如数式164所示生成解密密钥skr的要素 kHw。
[0546] (S504:密钥发送步骤)
[0547] 密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将(S501) 中输入的属性的集合Γ和(S503)中生成的1^〇、1(\」、1^ 2、」作为要素的解密密钥81^。当然,也 可以通过其它方法向解密装置300发送解密密钥skr。
[0548] 即,在(S501)~(S503)中,密钥生成装置100执行数式165所示的KeyGen算法,生成 解密密钥skr。然后,在(S504)中,密钥生成装置100向解密装置300发送已生成的解密密钥 skr〇
[0549] 【数式165】
[0556] return skr.
[0557] 对加密装置200的功能和动作进行说明。
[0558]如图15所示,加密装置200具有公开参数接收部210、信息输入部220、加密数据生 成部230、数据发送部240。并且,加密数据生成部230具有随机数生成部231、加密要素生成 部232、f矢量生成部233、s矢量生成部234。
[0559] 根据图17对Enc算法的处理进行说明。
[0560] (S601)的处理与图11所示的(S301)的处理相同。
[0561] (S602:信息输入步骤)
[0562] 信息输入部220通过输入装置输入访问结构S: = (M、P)。另外,关于访问结构S的设 定,根据希望实现的系统的条件进行设定。并且,访问结构S的P例如设定有能够解密的用户 的属性信息。
[0563] 并且,信息输入部220通过输入装置输入向解密装置300发送的消息m。
[0564] (S6〇3:f矢量生成步骤)
[0565] f矢量生成部233通过处理装置,如数式166所示随机生成矢量
[0566]【数式166】
[0568] (S6〇4:s矢量生成步骤)
[0569] s矢量生成部234通过处理装置,如数式167所示生成矢量s-T: = (si、· · ·、sl)t。
[0570] 【数式167】
[0572] 并且,s矢量生成部234通过处理装置,如数式168所示生成值so。
[0573] 【数式I68】
[0575] (S605:随机数生成步骤)
[0576] 随机数生成部231通过处理装置,如数式169所示生成随机数。
[0577] 【数式169】
[0581 ] (S606:加密要素生成步骤)
[0582] 加密要素生成部232通过处理装置,如数式170所示生成密文cts的要素 co。
[0583] 【数式170】
[0585] 并且,加密要素生成部232通过处理装置,关于i = l.....L的各整数i,如数式171 所示生成密文Cts的要素 Ci。
[0586] 【数式171】
[0592] 并且,加密要素生成部232通过处理装置,如数式172所示生成密文cts的要素C3。
[0593] 【数式172】
[0595] (S607 :数据发送步骤)
[0596] 数据发送部240例如通过通信装置,经由网络向解密装置300发送将(S602)中输入 的访问结构S和(S606)中生成的CQ、C1.....CL、C3作为要素的密文cts。当然,也可以通过其它 方法向解密装置300发送密文cts。
[0597] 即,在(S601)~(S606)中,加密装置200执行数式173所示的Enc算法,生成密文 cts。然后,在(S607)中,加密装置200向解密装置300发送已生成的密文cts。
[0598] 【数式173】

[0612] 对解密装置300的功能和动作进行说明。
[0613] 根据图12对Dec算法的处理进行说明。
[0614] (S401:解密密钥接收步骤)
[0615] 解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的 解密密钥skr。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数pk。
[0616] (S402 :数据接收步骤)
[0617] 数据接收部320例如通过通信装置,经由网络接收加密装置200发送的密文cts。
[0618] (S403:张成方案计算步骤)
[0619]张成方案计算部330通过处理装置,判定(S402)中接收到的密文cts中包含的访问 结构S是否受理(S401)中接收到的解密密钥skr中包含的Γ。
[0620]张成方案计算部330在访问结构S受理Γ的情况下(S403:受理),使处理进入 (S404)。另一方面,在访问结构S拒绝Γ的情况下(S403:拒绝),视为无法利用解密密钥sks 对密文ctr进行解密,结束处理。
[0621] (S404)的处理与实施方式1相同。
[0622] (S405:解密要素生成步骤)
[0623] 解密部350通过处理装置,如数式174所示生成加密要素 ΙΛ.....D%n、E,。
[0624] 【数式174】
[0627] (S406:配对运算步骤)
[0628] 解密部350通过处理装置计算数式175,生成会话密钥K = gT、
[0629] 【数式175】
[0631] (S407)的处理与实施方式1相同。
[0632] 即,在(S401)~(S407)中,解密装置300执行数式176所示的Dec算法,生成消息m' (=m)〇
[0633] 【数式176】
[0644] return m' : =C3/K.
[0645] 在实施方式2中说明的CP-ABE方式中,解密密钥skr由要素 ko中5个G的要素、与j = 1.....6的各整数j有关的要素 Cy和要素 Cm中12个G的要素的合计17个G的要素。即,关于 n,解密密钥skr是常数尺寸。
[0646] 在实施方式2中说明的CP-ABE方式中,与实施方式1中说明的KP-ABE方式同样,解 密处理(Dec算法)仅执行合计17个配对运算。即,解密处理中需要的配对运算较少。
[0647] 实施方式3
[0648] 在实施方式3中,对应用实施方式1、2中说明的ABE方式的FE方式进行说明。
[0649] 在实施方式3中,省略与实施方式1、2相同的部分的说明,对与实施方式1、2不同的 部分进行说明。
[0650]这里,对应用实施方式1中说明的KP-ABE方式的KP-FE方式进行说明。
[0651 ]在实施方式1中说明的KP-ABE方式中,密文的要素((^、」、(:2、」)和解密密钥的要素 {kMi=i、...、L对应。在KP-FE方式中,按照每个范畴t生成密文的要素(&、」、*、(:2、^)和解密密 钥的要素{kVth=i、...、l。然后,密文的要素((: 1、」、*、(:2、^)和解密密钥的要素{1^、山=1、...、L 对应。
[0652] 密钥生成装置100、加密装置200、解密装置300的结构分别与图6~图8所示的实施 方式1的密钥生成装置100、加密装置200、解密装置300的结构相同。
[0653] 并且,各算法的处理流程与图9~图12所示的实施方式1的各算法的处理流程相 同。
[0654] 根据图9对Setup算法的处理进行说明。
[0655] (S101:空间生成步骤)
[0656] 与实施方式1同样,空间生成部111生成参数paramG: = (q、G、GT、g、e)。
[0657] 进而,空间生成部111关于No: =5、t = l、. . .、d的各整数t设定Ni、t: =6nt。这里,d是 表示属性范畴的数量的值,是1以上的整数。并且,nt是1以上的整数。然后,空间生成部111 将安全参数1λ、Ν〇、对称双线性配对组的参数parame作为输入,通过处理装置执行Gdpvs,生成 对偶配对矢量空间的参数paramvo: = (q、Vo、GT、A、e)。并且,空间生成部111关于t = l、. . .、d 的各整数t,将安全参数l'Nut、对称双线性配对组的参数paramc作为输入,通过处理装置执 行Gdpvs,生成对偶配对矢量空间的参数paramvi、t: = (q、Vi、t、GT、A、e)。
[0658] (S102:线性变换生成步骤)
[0659] 矩阵生成部112通过处理装置,生成线性变换X。和线性变换{Xut}^、…、d〇
[0660] 线性变换χ〇与实施方式1相同。线性变换{Xjw、...、d如数式177那样生成。
[0661] 【数式177】
[0663] 另外,下面,{yi、j、t、y' i、j、L、t}i、j=l.....6;L=1.....η表不线性变换Xl、t中的0以外的要 素。
[0664] (S103:基Β生成步骤)
[0665] 基生成部113通过处理装置,如数式178所示生成基Βο、变量变量B'nut。
[0666] 【数式178】
[0669] = yd,j,tg,B/ i,j,L,t: = i,j,L,tg
[0670] for i,j = l,...,6;L=l,...,nt;t=l,...,d
[0671] 并且,基生成部113通过处理装置,如数式179所示生成基#〇、基B\t。
[0672] 【数式179】
[0680] (S104:基B~生成步骤)
[0681] 密钥生成部114通过处理装置,如数式180所示生成基B~o、基B、、t、基B~%、基B Λ氺 1、t 〇[0682] 【数式18〇】
[0689] (S105:主密钥生成步骤)
[0690] 密钥生成部114通过处理装置,设为公开参数 }t=i、...、<0,设为主秘密密钥也=(8、、{8~*1、山=1、...、d。然后,密钥生成部114将公开参数 pk和主秘密密钥sk存储在主密钥存储部120中。
[0691 ] 另外,paramn: = (paramvo、{paramvi、t}t=i.....d、gT)。
[0692] 即,在(S101)~(S105)中,密钥生成装置100执行使用数式181所示的算法Gfe(1U 的、数式182所示的Setup算法,生成公开参数pk和主秘密密钥sk。

[0723] return pk,sk.
[0724] 根据图10对KeyGen算法的处理进行说明。
[0725] (S201)~(S202)的处理与实施方式1相同。
[0726] (S203:s矢量生成步骤)
[0727] s矢量生成部142通过处理装置,如数式183所示生成矢量s-T: = (si、. . .、sl)t。
[0728] 【数式183】
[0730] 并且,s矢量生成部142通过处理装置,如数式184所示生成值so。
[0731] 【数式184】
[0732] Sq := 1 · f T
[0733] (S204:随机数生成步骤)
[0734] 随机数生成部143通过处理装置,如数式185所示生成随机数。
[0735] 【数式185】
[0739] (S205:密钥要素生成步骤)
[0740] 密钥要素生成部144通过处理装置,与实施方式1同样地生成解密密钥sks的要素 k*o。
[0741 ]并且,密钥要素生成部144通过处理装置,关于i = 1.....L的各整数i和集合IV1-中 包含的索引t,如数式186所示生成解密密钥sks的要素 k'。
[0742] 【数式186】
[0743] for i = l,· · ·,L,

[0748] (S206)的处理与实施方式1相同。
[0749] 即,在(S201)~(S205)中,密钥生成装置100执行数式187所示的KeyGen算法,生成 解密密钥sks。然后,在(S206)中,密钥生成装置100向解密装置300发送已生成的解密密钥 sks〇
[0763] 根据图11对Enc算法的处理进行说明。
[0764] (S301)的处理与实施方式1相同。
[0765] (S302:信息输入步骤)
[0766] 信息输入部220通过输入装置输入向解密装置300发送的消息m。并且,信息输入部 220通过输入装置输入属性集合 Γ t: = {xi、t、· · ·、xnt、t、nt' 兰nt-1、t= 1、· · ·、d}。
[0767] (S303:随机数生成步骤)
[0768] 随机数生成部231通过处理装置,如数式188所示生成随机数。
[0769] 【数式I88】
[0772] (S304:加密要素生成步骤)
[0773] 加密要素生成部232通过处理装置,与实施方式1同样地生成密文ctr的要素 co和 要素 C3。
[0774] 并且,加密要素生成部232通过处理装置,如数式189所示生成密文ctr的要素 Cl、j、t、C2、j、t 〇
[0775] 【数式189】
[0781] (S305)的处理与实施方式1相同。
[0782] 即,在(S301)~(S304)中,加密装置200执行数式190所示的Enc算法,生成密文 ctr。然后,在(S305)中,加密装置200向解密装置300发送已生成的密文ctr。
[0792] ctr: - ( Γ t,C0,{Cl,j,t,C2,j,t} j=l, .. . , 6; t=l, .. . , d,C3 ),
[0793] return ctr.
[0794] 根据图12对Dec算法的处理进行说明。
[0795] (S401)~(S404)的处理与实施方式1相同。
[0796] (S405:解密要素生成步骤)
[0797] 解密部350通过处理装置,如数式191所示生成解密要素 D\t.....D%n、t、E\t。
[0801 ] (S406:配对运算步骤)
[0802] 解密部350通过处理装置计算数式192,生成会话密钥K = gT、
[0803] 【数式192】
[0805] (S407)的处理与实施方式1相同。
[0806] 即,在(S401)~(S407)中,解密装置300执行数式193所示的Dec算法,生成消息m' (=m)〇
[0807]【数式193】
[0819] return m' : =C3/K.
[0820] 这里,对应用实施方式1中说明的KP-ABE方式的KP-FE方式进行了说明。应用实施 方式2中说明的CP-ABE方式的CP-FE方式也可以通过同样的想法来构成。应用实施方式2中 说明的CP-ABE方式的CP-FE方式的各算法如数式194~数式198所示。

[0870] return m' : =C3/K.
[0871] 如上所述,可以应用实施方式1、2的ABE方式构成FE方式。
[0872] 实施方式4
[0873] 在实施方式4中,对应用实施方式2中说明的CP-ABE方式的基于属性的签名 (Attribute-Based Signeture ABS)方式进行说明。
[0874] 在实施方式4中,省略与实施方式2相同的部分的说明,对与实施方式1不同的部分 进行说明。
[0875] 第1,对实施方式4的签名方式的基本结构进行说明。
[0876] 第2,对实现实施方式4的签名方式的加密系统10的结构进行说明。
[0877] 第3,对实施方式4的签名方式进行详细说明。
[0878] 〈第1.加密方式的基本结构〉
[0879] 对ABS方式的结构进行简单说明。ABS方式具有Setup、KeyGen、Sig、Ver这4个算法。
[0880] (Setup)
[0881] Setup算法是输入安全参数λ和针对密文的属性的数量的上限n而输出公开参数pk 和主密钥sk的概率算法。
[0882] (KeyGen)
[0883] KeyGen算法是将公开参数pk、主密钥sk、属性集合Γ : = {xj}1Sjsin,作为输入而输出 签名密钥skr的概率算法。
[0884] (Sig)
[0885] Sig算法是将公开参数pk、消息m、访问结构5: = (1、0)、签名密钥81^作为输入而输 出签名σ的概率算法。
[0886] (Ver)
[0887] Ver算法是将公开参数pk、消息m、访问结构5: = (1、0)、签名〇作为输入而输出表示 签名的验证成功的值"Γ或表示签名的验证失败的值"0"的算法。
[0888] 〈第2.实现ABS方式的加密系统10的结构〉
[0889] 图18是实现实施方式4的ABS方式的加密系统10的结构图。
[0890] 加密系统10具有密钥生成装置100、签名装置400(发送装置的一例)、验证装置500 (接收装置的一例)。
[0891] 密钥生成装置100将安全参数λ和针对密文的属性的数量的上限n作为输入来执行 Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100对生成的公开参数pk进行 公开。并且,密钥生成装置100将属性集合Γ作为输入来执行KeyGen算法,生成签名密钥 skr,秘密地向签名装置400发送。
[0892] 签名装置400将公开参数pk、消息m、访问结构S、签名密钥skr作为输入来执行Sig 算法,生成签名σ。签名装置400向验证装置500发送已生成的签名〇、消息m、访问结构S。
[0893] 验证装置500将公开参数pk、消息m、访问结构S、签名σ作为输入来执行Ver算法,输 出值T或值"0"。
[0894] 〈第3.签名方式〉
[0895] 图19是实施方式4的密钥生成装置100的结构图。图20是实施方式4的签名装置400 的结构图。图21是实施方式4的验证装置500的结构图。
[0896] 图22和图23是示出实施方式4的密钥生成装置100的动作的流程图。另外,图22是 示出实施方式4的Setup算法的处理的流程图,图23是示出实施方式4的KeyGen算法的处理 的流程图。图24是示出实施方式4的签名装置400的动作的流程图,示出实施方式4的Sig算 法的处理。图25是示出实施方式4的验证装置500的动作的流程图,示出实施方式4的Ver算 法的处理。
[0897] 另外,在以下的说明中,Η: = (ΚΗλ、Η,?)是不容易冲突的哈希函数(参照非专利文 献30)。不容易冲突的哈希函数是不容易发现使输出相同的2个输入的哈希函数。
[0898] 具体而言,与算法Gbpg有关的不容易冲突的哈希函数系Η和多项式poly(A)可以说 是以下两种。
[0899] 1.通过λ对密钥空间系进行索引。各密钥空间是由ΚΗλ示出的比特列中的概率空 间。存在将1 λ作为输入时的输出分布与ΚΗλ相等的概率的多项式时间算法。
[0900] 2.通过λ、从ΚΗλ中随机选择出的1^、0: = {0、1广1^)对哈希函数系进行索引。这里, 各函数HhkA、D是从D的要素到Fqx的映射。另外,q是算法G bpg (1λ)的输出paramG的最初的要素。 存在将lA、hk、dGD作为输入而输出Hhk A'D(d)的决定的多项式时间算法。
[0901 ]对密钥生成装置100的功能和动作进行说明。
[0902] 如图19所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输 入部130、解密密钥生成部140、密钥发送部150。主密钥生成部110具有空间生成部111、矩阵 生成部112、基生成部113、密钥生成部114。解密密钥生成部140具有随机数生成部143、密钥 要素生成部144。
[0903]根据图22对Setup算法的处理进行说明。
[0904] (S701:空间生成步骤)
[0905] 与图9的(S101)同样,空间生成部111生成参数paramG: = (q、G、GT、g、e)。
[0906] 进而,空间生成部111设定No: = 4、Νι: = 6n、N2: = 7。然后,空间生成部111关于t = 0、1、2的各整数t,将安全参数lA、Nt、对称双线性配对组的参数paramG作为输入,通过处理装 置执行Gd pvs,生成对偶配对矢量空间的参数paramvt : = (q、Vt、GT、A、e)。
[0907] (S702:线性变换生成步骤)
[0908] 矩阵生成部112通过处理装置,关于t = 0、2的各整数t,如数式199所示生成线性变 换Xt。
[0909] 【数式199】
[0911] 并且,矩阵生成部112通过处理装置,如数式200所示生成线性变换心。
[0912] 【数式200】
[0914]另外,下面,{μ^、μ'Μα} i、j-1、. . .、6; L-1、...、 n表示线性变换Xl中的0以外的要素。 [0915] (S703:基Β生成步骤)
[0916] 基生成部113通过处理装置,如数式201所示生成基Β%、基Β%、变量B\、j、变量 B,*i、j、L。
[0917] 【数式201】
[0923] 并且,基生成部113通过处理装置,如数式202所示生成基此、基出、基B2。
[0924] 【数式202】
[0929] (S704:基生成步骤)
[0930] 密钥生成部114通过处理装置,如数式203所示生成基Β'ο、基、基2、基基B 2〇
[0931] 【数式203】

[0937] (S705:哈希关键字生成步骤)
[0938] 主密钥生成部110通过处理装置计算数式204,随机生成哈希关键字hk。
[0939] 【数式204】
[0941 ] (S706:主密钥生成步骤)
[0942] 密钥生成部114通过处理装置,设为公开参数pk: = (lA、hk、paramn、{B~t}t=o、i、2、{B ,设为主秘密密钥sk: 。然后,密钥生成部114将公开参数pk和主秘密密 钥sk存储在主密钥存储部120中。
[0943] 另外,;paraftin: = ({paramvt)t=o、ι'< 2.、. gT:. =e (g、g) φ)〇
[0944] 即,在(S701)~(S706)中,密钥生成装置100执行使用数式205所示的算法GABSQb的、 数式206所示的Setup算法,生成公开参数pk和主秘密密钥sk。
[0945] 【数式205】
[0974] return pk,sk.
[0975] 根据图23对KeyGen算法的处理进行说明。
[0976] (S801)的处理与图16的(S501)的处理相同。但是,访问结构S的P例如设定有签名 密钥skr的使用者的属性信息。
[0977] (S802:随机数生成步骤)
[0978] 随机数生成部143通过处理装置,如数式207所示生成随机数。
[0979] 【数式207】
[0981] (S803:密钥要素生成步骤)
[0982] 密钥要素生成部144通过处理装置,如数式208所示生成签名密钥skr的要素1Λ。
[0983] 【数式2〇8】
[0985] 并且,密钥要素生成部144通过处理装置,如数式209所示生成签名密钥skr的要素 τ氺 τ氺 L· i、j、L· 2、j〇
[0992] 并且,密钥要素生成部144通过处理装置,如数式210所示生成签名密钥skr的要素
1氺 1氺 k 2、l、k 2、2〇
[0993] 【数式210】
[0996] (S804:密钥发送步骤)
[0997] 密钥发送部150例如通过通信装置,经由网络秘密地向签名装置400发送将(S801) 中输入的属性的集合Γ和(S803)中生成的0()、1^ 1、」、1^2、」、1^2、1、1^2、 2作为要素的签名密钥 skr。当然,也可以通过其它方法向签名装置400发送签名密钥skr。
[0998] 即,在(S801)~(S803)中,密钥生成装置100执行数式211所示的KeyGen算法,生成 解密密钥skr。然后,在(8504)中,密钥生成装置100向解密装置300发送已生成的解密密钥 skr〇
[1008] return skr.[1009] 另外,根据{ΙΛ+ΙΛ、」}^、...、6和矢量Γ,如数式212那样定义要素 kV
[1013] 对签名装置400的功能和动作进行说明。
[1014] 如图20所示,签名装置400具有签名密钥接收部410、信息输入部420、补充系数计 算部430、签名数据生成部440、数据发送部450。并且,签名数据生成部440具有随机数生成 部441、签名要素生成部442。
[1015] 根据图24对Sig算法的处理进行说明。
[1016] (S901:签名密钥接收步骤)
[1017] 签名密钥接收部410例如通过通信装置,经由网络接收密钥生成装置100生成的签 名密钥skr。并且,签名密钥接收部410接收密钥生成装置100生成的公开参数pk。
[1018] (S902:信息输入步骤)
[1019] 信息输入部420通过输入装置输入访问结构S: = (M、P)。并且,信息输入部420通过 输入装置输入带签名的消息m。
[1020] (S903:张成方案计算步骤)
[1021]补充系数计算部430通过处理装置,判定(S902)中输入的访问结构S是否受理 (S901)中接收到的签名密钥skr中包含的属性集合Γ。
[1022]补充系数计算部430在访问结构S受理属性集合Γ的情况下(S903:受理),使处理 进入(S904)。另一方面,在访问结构S拒绝属性集合Γ的情况下(S903:拒绝),结束处理。
[1023] (S904:补充系数计算步骤)
[1024] 补充系数计算部430通过处理装置,计算成为数式213的矢量广、成为数式214的I、 与I中包含的各整数i有关的常数(补充系数)cu。
[1032]随机数生成部441通过处理装置,如数式215所示生成随机数。
[1036] (S906:签名要素生成步骤)
[1037] 签名要素生成部442通过处理装置,如数式216所示生成签名〇的要素 ?Λ。
[1038] 【数式216】
[1040] 这里,r*〇是数式217。
[1041] 【数式217】
[1043] 并且,签名要素生成部442通过处理装置,关于i = l.....L的各整数i,如数式218 所示生成签名σ的要素 s'。

[1064] 并且,签名要素生成部442通过处理装置,如数式221所示生成签名〇的要素 s\+1。
[1070] (S907:数据发送步骤)
[1071] 数据发送部450例如通过通信装置,经由网络向验证装置500发送包含要素,o、s '、s\+i、消息m、访问结构S: = (Μ、P)的签名〇。当然,也可以通过其它方法向验证装置500发 送签名σ。
[1072] 即,在(S901)~(S906)中,签名装置400执行数式223所示的Sig算法,生成签名〇。 然后,在(S907)中,签名装置400向验证装置500发送已生成的签名〇。
[1099]对验证装置500的功能和动作进行说明。
[1100]如图21所示,验证装置500具有公开参数接收部510、数据接收部520、验证数据生 成部530、验证部540。并且,验证数据生成部530具有f矢量生成部531、s矢量生成部532、随 机数生成部533、验证要素生成部534。
[1101] 根据图25对Ver算法的处理进行说明。
[1102] (S1001:公开参数接收步骤)
[1103] 公开参数接收部510例如通过通信装置,经由网络接收密钥生成装置100生成的公 开参数pk。
[1104] (S1002:签名接收步骤)
[1105] 数据接收部520例如通过通信装置,经由网络接收签名装置400发送的签名〇。
[1106] (S1003:f矢量生成步骤)
[1107] f矢量生成部531通过处理装置,如数式224所示随机生成矢量
[1108]【数式224】
[1110] (S1004:s矢量生成步骤)
[1111] S矢量生成部532通过处理装置,如数式225所示生成矢量s-T: = (si、. . .、SL)T。
[1112] 【数式225】
[1114] 并且,s矢量生成部532通过处理装置,如数式226所示生成值so。
[1115] 【数式226】
[1117] (S1005:随机数生成步骤)
[1118] 随机数生成部533通过处理装置,如数式227所示生成随机数。
[1119] 【数式227】
[1123] (S1006:验证要素生成步骤)
[1124] 验证要素生成部534通过处理装置,如数式228所示生成验证密钥的要素 co。
[1125] 【数式228】
[1127] 并且,验证要素生成部534通过处理装置,关于i = 1.....L的各整数i,如数式229 所示生成验证密钥的要素 Cl。
[1134] 并且,验证要素生成部534通过处理装置,如数式230所示生成验证密钥的要素 CL+1 〇
[1135] 【数式230】
[1137] (S1007:第1配对运算步骤)
[1138] 验证部540通过处理装置,计算配对运算e (bo、i)。
[1139] 如果计算配对运算后的结果为值1,则验证部540输出表示签名的验证 失败的值〇,结束处理。另一方面,如果计算配对运算后的结果不是值1,则验证部 540使处理进入S1008。
[1140] (S1008:第2配对运算步骤)
[1141] 验证部540通过处理装置,计算数式231所示的配对运算。
[1142] 【数式231】
[1144] 如果计算数式231所示的配对运算后的结果为值1,则验证部540输出表示签名的 验证成功的值1。另一方面,如果是其它值,则验证部540输出表示签名的验证失败的值0。
[1145] 即,在(S1001)~(S1008)中,验证装置500执行数式232所示的Ver算法,对签名〇进 行验证。

[1163] 如上所述,可以构成应用实施方式2中说明的CP-ABE方式的ABS方式。
[1164] 在实施方式2中说明的CP-ABE方式中能够减小解密密钥skr的尺寸,同样,在实施 方式4中说明的ABS方式中,能够减小签名密钥skr的尺寸。
[1165] 另外,这里,对应用实施方式2中说明的CP-ABE方式的ABS方式进行了说明。通过对 实施方式4中说明的ABS方式应用实施方式3的想法,可以构成应用实施方式3中说明的CP-FE方式的ABS方式。
[1166] 实施方式5.
[1167] 在以上的实施方式中,对在对偶矢量空间中实现加密处理的方法进行了说明。在 实施方式5中,对在对偶模块中实现加密处理的方法进行说明。
[1168] 即,在以上的实施方式中,在质数位数q的循环组内实现了加密处理。但是,在使用 合成数Μ如数式233那样表示环R的情况下,在将环R作为系数的模块中,也能够应用上述实 施方式中说明的加密处理。
[1169] 【数式233】
[1171] 其中,
[1172] Ζ:整数
[1173] Μ:合成数
[1174] 如果将在以上的实施方式中说明的算法中的Fq变更成R,则能够实现对偶模块中 的加密处理。
[1175] 另外,在以上的实施方式中,设编码部、隐匿部、秘密密钥随机部、密文随机部的维 度分别为11、211、211、11维,设基也和基矿 1的维度为611维。但是不限于此,也可以设隐匿部、秘密 密钥随机部、密文随机部的维度分别为不依赖于η的u、w、z维,设基也和基的维度为n+u+w +z维。另外,u、w、z是0以上的整数。
[1176] 并且,在上述说明中,在KP的情况下,使用第1矢量生成密文的要素,使用第2矢量 生成解密密钥的要素,以减小密文的尺寸。但是,在KP的情况下,也可以使用第1矢量生成解 密密钥的要素,使用第2矢量生成密文的要素,以减小解密密钥的尺寸。
[1177] 同样,在上述说明中,在CP的情况下,使用第1矢量生成解密密钥的要素,使用第2 矢量生成密文的要素,以减小解密密钥的尺寸。但是,在CP的情况下,也可以使用第1矢量生 成密文的要素,使用第2矢量生成解密密钥的要素,以减小密文的尺寸。
[1178] 并且,在以上的实施方式中,设一台密钥生成装置100生成解密密钥。但是,也可以 将以上的实施方式的算法与非专利文献3所述的分散多管理者的方式进行组合,通过多个 密钥生成装置100生成一个解密密钥。
[1179] 另外,在以上的实施方式中,根据安全性证明的观点,与i = l.....L的各整数i有 关的P(i)可以限定成与彼此不同的识别信息t有关的肯定形的组(t、v-)或否定形的组1 (t、〇 〇
[1180] 换言之,在p(i) = (t、v-)或p(i) = i(t、v-)的情况下,设函数P~为P~(i) = t即 U.....L} - {l、...d}的映射。该情况下,P~可以限定为单射。另外,P(i)是上述访问结构 S: = (M、P(i))的 P(i)〇
[1181] 图26是示出实施方式1~5所示的加密系统10的各装置(密钥生成装置100、加密装 置200、解密装置300、签名装置400、验证装置500)的硬件结构的例子的图。
[1182] 加密系统10的各装置是计算机,能够通过程序来实现加密系统10的各装置的各要 素。
[1183] 作为加密系统10的各装置的硬件结构,在总线上连接有运算装置901、外部存储装 置902、主存储装置903、通信装置904、输入输出装置905。
[1184] 运算装置901是执行程序的CPU(Central Processing Unit)等。外部存储装置902 例如是R〇M(Read Only Memory)、闪存、硬盘装置等。主存储装置903例如是RAM(Random Access Memory)等。通信装置904例如是通信板等。输入输出装置905例如是鼠标、键盘、显 不装置等。
[1185] 程序通常存储在外部存储装置902中,在下载到主存储装置903的状态下,依次被 运算装置901读入并执行。
[1186] 程序是实现作为主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥 生成部140、密钥发送部150、公开参数接收部210、信息输入部220、加密数据生成部230、数 据发送部240、解密密钥接收部310、数据接收部320、张成方案计算部330、补充系数计算部 340、解密部350、签名密钥接收部410、信息输入部420、补充系数计算部430、签名数据生成 部440、数据发送部450、公开参数接收部510、数据接收部520、验证数据生成部530、验证部 540说明的功能的程序。
[1187] 进而,在外部存储装置902中还存储有操作系统(0S),0S的至少一部分被下载到主 存储装置903中,运算装置901执行0S并执行上述程序。
[1188] 并且,在实施方式1~5的说明中,在主存储装置903中作为文件存储有作为"公开 参数pk"、"主秘密密钥sk"、"解密密钥skr、sks"、"密文cts、ctr"、"签名密钥skr"、"验证密 钥"、"访问结构S"、"属性集合Γ"、"消息m"、"签名 σ"等说明的信息、数据、信号值、变量值。
[1189] 另外,图26的结构只不过示出加密系统10的各装置的硬件结构的一例,加密系统 10的各装置的硬件结构不限于图26所述的结构,也可以是其它结构。
[1190] 标号说明
[1191] 100:密钥生成装置;110:主密钥生成部;111:空间生成部;112:矩阵生成部;113: 基生成部;114:密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部; 141 矢量生成部;142: s矢量生成部;143:随机数生成部;144:密钥要素生成部;150:密钥 发送部;200:加密装置;210:公开参数接收部;220:信息输入部;230:加密数据生成部;231: 随机数生成部;232:加密要素生成部;233: f矢量生成部;234: s矢量生成部;240:数据发送 部;300:解密装置;310:解密密钥接收部;320:数据接收部;330:张成方案计算部;340:补充 系数计算部;350:解密部;400:签名装置;410:签名密钥接收部;420:信息输入部;430:补充 系数计算部;440:签名数据生成部;441:随机数生成部;442:签名要素生成部;450:数据发 送部;500:验证装置;510:公开参数接收部;520:数据接收部;530:验证数据生成部;531: f 矢量生成部;532: s矢量生成部;533:随机数生成部;534:验证要素生成部;540:验证部。
【主权项】
1. 一种加密系统,其利用基B和基#进行加密处理,其特征在于,所述加密系统具有: 发送装置,其生成所述基B中的矢量即发送侧矢量,该发送侧矢量是使用由以属性信息 Xl(i = l,. . .,n',n'为1以上n-1以下的整数,η为2以上的整数)为根的多项式的系数j = 1,. . .,n)构成的第1矢量和由谓语信息V1的幂乘V1Ui = O,. . .,n-l)构成的第2矢量中的一 个矢量生成的;以及 接收装置,其对所述基#中的矢量即接收侧矢量和所述发送侧矢量进行配对运算,该接 收侧矢量是使用所述第1矢量和所述第2矢量中的另一个矢量生成的。2. 根据权利要求1所述的加密系统,其特征在于, 所述基B和所述基矿是使用各行各列至少具有一个常数值0以外的值的稀疏矩阵对基A 进行变形而生成的基。3. 根据权利要求1或2所述的加密系统,其特征在于, 所述第1矢量是数式1所示的矢量, 所述第2矢量是数式2所示的矢量,4. 根据权利要求3所述的加密系统,其特征在于, 所述发送装置是生成密文ctr的加密装置,生成包含数式3所示的发送侧矢量C1的密文 Ctr ? 所述接收装置是对所述密文Ctr进行解密的解密装置,使用包含数式4所示的接收侧矢 量k'的解密密钥sks对所述密文ctr进行解密, 【数式3】其中, 【数式4】 其中,5.根据权利要求3所述的加密糸统,其特征在于, 所述发送装置是生成密文cts的加密装置,生成包含数式5所示的发送侧矢量C1的密文 cts, 所述接收装置是对所述密文Cts进行解密的解密装置,使用包含数式6所示的接收侧矢 量k'的解密密钥skr对所述密文cts进行解密,【数式5】 其中, 【数式6】 其中,6.根据权利要求3所述的加密系统,其特征在于, 所述发送装置是生成密文ctr的加密装置,生成包含数式7所示的发送侧矢量C1.t的密 文Ctr, 所述接收装置是对所述密文Ctr进行解密的解密装置,使用包含数式8所示的接收侧矢 量k'.t的解密密钥sks对所述密文ctr进行解密, 【数式7】7. 根据权利要求3所述的加密系统,其特征在于, 所述发送装置是生成密文cts的加密装置,生成包含数式9所示的发送侧矢量Cl.t的密文 cts, 所述接收装置是对所述密文Cts进行解密的解密装置,使用包含数式10所示的接收侧矢 量k'.t的解密密钥Skr对所述密文Cts进行解密,【数式9】 其中, 【数式10】 其中,8. 根据权利要求3所述的加密系统,其特征在于, 所述发送装置是生成签名Sig的签名装置,生成包含数式11所示的发送侧矢量的签 名 Sig, 所述接收装置是对所述签名Sig进行验证的验证装置,使用包含数式12所示的接收侧 矢量Ci的验证密钥vk对所述签名Sig进行验证,9. 一种加密程序,其利用基B和基#进行加密处理,其特征在于,所述加密程序使计算机 执行以下处理: 发送侧处理,生成所述基B中的矢量即发送侧矢量,该发送侧矢量是使用由以属性信息 Xl(i = l,. . .,n',n'为1以上n-1以下的整数,η为2以上的整数)为根的多项式的系数j = 1,. . .,n)构成的第1矢量和由谓语信息V1的幂乘V1Ui = O,. . .,n-l)构成的第2矢量中的一 个矢量生成的;以及 接收侧处理,对所述基#中的矢量即接收侧矢量和所述发送侧矢量进行配对运算,该接 收侧矢量是使用所述第1矢量和所述第2矢量中的另一个矢量生成的。
【文档编号】H04L9/08GK106031080SQ201480075256
【公开日】2016年10月12日
【申请日】2014年2月24日
【发明人】高岛克幸
【申请人】三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1