CN106031080B - 加密系统 - Google Patents

加密系统 Download PDF

Info

Publication number
CN106031080B
CN106031080B CN201480075256.7A CN201480075256A CN106031080B CN 106031080 B CN106031080 B CN 106031080B CN 201480075256 A CN201480075256 A CN 201480075256A CN 106031080 B CN106031080 B CN 106031080B
Authority
CN
China
Prior art keywords
numerical expression
vector
ciphertext
key
base
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480075256.7A
Other languages
English (en)
Other versions
CN106031080A (zh
Inventor
高岛克幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN106031080A publication Critical patent/CN106031080A/zh
Application granted granted Critical
Publication of CN106031080B publication Critical patent/CN106031080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • H04L9/007Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

加密系统(10)利用基B和基B*进行加密处理。加密装置(200)生成包含基B中的矢量即发送侧矢量的密文,该发送侧矢量是使用由以xi为根的多项式的系数yj构成的第1矢量和由v1的幂乘v1 i构成的第2矢量中的一个矢量生成的。解密装置(300)使用包含基B*中的矢量即接收侧矢量的解密密钥对加密装置(200)生成的密文进行解密,该接收侧矢量是使用第1矢量和第2矢量中的另一个矢量生成的。

Description

加密系统
技术领域
本发明涉及函数型加密(Functional Encryption,FE)方式。
背景技术
在专利文献1中具有与函数型加密(Functional Encryption,FE)方式有关的记载。
现有技术文献
专利文献
专利文献1:日本特开2012-133214号公报
非专利文献
非专利文献1:Attrapadung,N.,Libert,B.,de Panafieu,E.:Expressive key-policy attribute-based encryption with constant-size ciphertexts.In:Catalanoet al.[6],pp.90.108
非专利文献2:Okamoto,T.,Takashima,K.:Achieving Short Ciphertexts orShort Secret-Keys for Adaptively Secure General Inner-Product Encryption.CANS2011,LNCS,vol.7092,pp.138-159Springer Heidelberg(2011).
非专利文献3:Okamoto,T Takashima,K.:Decentralized Attribute-BasedSignatures.ePrint http://eprint.iacr.org/2011/701
发明内容
发明要解决的课题
在专利文献1所述的函数型加密方式中,需要按照每个属性范畴t生成构成密文的矢量或构成解密密钥的矢量,密文的尺寸较大,解密等也花费处理时间。
本发明的目的在于,减小密文、解密密钥、签名等的尺寸。
用于解决课题的手段
本发明的加密系统利用基B和基B*进行加密处理,其特征在于,所述加密系统具有:发送装置,其生成所述基B中的矢量即发送侧矢量,该发送侧矢量是使用由以xi为根的多项式的系数yj构成的第1矢量和由v1的幂乘v1 i构成的第2矢量中的一个矢量生成的;以及接收装置,其对所述基B*中的矢量即接收侧矢量和所述发送侧矢量进行配对运算,该接收侧矢量是使用所述第1矢量和所述第2矢量中的另一个矢量生成的。
发明效果
本发明的加密系统通过对为了生成发送侧矢量和接收侧矢量而使用的矢量的结构进行研究,能够减小密文、解密密钥、签名等的尺寸。
附图说明
图1是矩阵M^的说明图。
图2是矩阵Mδ的说明图。
图3是s0的说明图。
图4是s→T的说明图。
图5是实现实施方式1的KP-ABE方式的加密系统10的结构图。
图6是实施方式1的密钥生成装置100的结构图。
图7是实施方式1的加密装置200的结构图。
图8是实施方式1的解密装置300的结构图。
图9是示出实施方式1的Setup算法的处理的流程图。
图10是示出实施方式1的KeyGen算法的处理的流程图。
图11是示出实施方式1的Enc算法的处理的流程图。
图12是示出实施方式1的Dec算法的处理的流程图。
图13是实现实施方式2的CP-ABE方式的加密系统10的结构图。
图14是实施方式2的密钥生成装置100的结构图。
图15是实施方式2的加密装置200的结构图。
图16是示出实施方式2的KeyGen算法的处理的流程图。
图17是示出实施方式2的Enc算法的处理的流程图。
图18是实现实施方式4的ABS方式的加密系统10的结构图。
图19是实施方式4的密钥生成装置100的结构图。
图20是实施方式4的签名装置400的结构图。
图21是实施方式4的验证装置500的结构图。
图22是示出实施方式4的Setup算法的处理的流程图。
图23是示出实施方式4的KeyGen算法的处理的流程图。
图24是示出实施方式4的Sig算法的处理的流程图。
图25是示出实施方式4的Ver算法的处理的流程图。
图26是示出实施方式1~5所示的加密系统10的各装置的硬件结构的例子的图。
具体实施方式
实施方式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即Fq表示位数q的有限体。
【数式105】
矢量表记表示有限体Fq中的矢量显示。即,是数式106。
【数式106】
表示
数式107表示数式108所示的2个矢量x与v的数式109所示的内积。
【数式107】
【数式108】
【数式109】
XT表示矩阵X的转置矩阵。
相对于数式110所示的基B和基B*,是数式111。
【数式110】
【数式111】
e j表示数式112所示的标准基矢量。
【数式112】
并且,在以下的说明中,在利用下标或上标表示Vt、nt、ut、wt、zt、nu、wu、zu的情况下,该Vt、nt、ut、wt、zt、nu、wu、zu意味着Vt、ut、nt、wt、zt、nu、wu、zu。同样,在利用上标表示δi、j的情况下,该δi、j意味着δi、j。同样,在利用上标表示的情况下,该意味着同样,在利用下标或上标表示s0的情况下,该s0意味着s0
并且,在对下标文字或上标文字标注意味着矢量的→的情况下,该→意味着利用上标标注在下标文字或上标文字上。
并且,在以下的说明中,加密处理、加密方式不仅是用于对第三方隐匿信息的狭义的加密处理,还包含签名处理,包含密钥生成处理、加密处理、解密处理、签名处理、验证处理。
在实施方式1中,对实现加密方式的基础概念进行说明后,对实施方式1的加密方式的结构进行说明。
第1,对用于实现加密方式的空间即对偶配对矢量空间(Dual Pairing VectorSpaces:DPVS)这样的具有丰富数学构造的空间进行说明。
第2,对用于实现加密方式的概念进行说明。这里,对张成方案、访问构造、秘密分散方式(秘密共享方式)进行说明。
第3,对实施方式1的加密方式的基本结构进行说明。在实施方式1中,对密钥策略的基于属性的加密(Key-Policy Attribute-Based Encryption,KP-ABE)方式进行说明。
第4,对实现实施方式1的加密方式的加密系统10的基本结构进行说明。
第5,对实施方式1的加密方式的关键技术和简化的加密方式进行说明。
第6,对实施方式1的加密方式进行详细说明。
<第1.对偶配对矢量空间>
首先,对对称双线性配对组进行说明。
对称双线性配对组(q、G、GT、g、e)是质数q、位数q的循环加法组G、位数q的循环乘法组GT、g≠0∈G、能够利用多项式时间计算的非退化双线性配对(NondegenerateBilinear Pairing)e:G×G→GT的组。非退化双线性配对是e(sg、tg)=e(g、g)st,e(g、g)≠1。
在以下的说明中,设Gbpg为如下算法:将1λ作为输入,输出设安全参数为λ的双线性配对组的参数paramG:=(q、G、GT、g、e)的值。
接着,对对偶配对矢量空间进行说明。
对偶配对矢量空间(q、V、GT、A、e)可以由对称双线性配对组(paramG:=(q、G、GT、g、e))的直积构成。对偶配对矢量空间(q、V、GT、A、e)是质数q、数式113所示的Fq上的N维矢量空间V、位数q的循环组GT、空间V的标准基A:=(a1、...、aN)的组,具有以下的运算(1)(2)。这里,ai如数式114所示。
【数式113】
【数式114】
运算(1):非退化双线性配对
空间V中的配对由数式115定义。
【数式115】
其中,
这是非退化双线性。即,e(sx、ty)=e(x、y)st,相对于全部的y∈V,在e(x、y)=1的情况下,x=0。并且,相对于全部的i和j,e(ai、aj)=e(g、g)δi、j。这里,如果i=j,则δi、j=1,如果i≠j,则δi、j=0。并且,e(g、g)≠1∈GT
运算(2):失真映射
数式116所示的空间V中的线性变换能够进行数式117。
【数式116】
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0。
【数式117】
其中,
(g1,…gN):=x
这里,将线性变换称作失真映射。
在以下的说明中,设Gdpvs为如下算法:将1λ(λ∈自然数)、N∈自然数、双线性配对组的参数paramG:=(q、G、GT、g、e)的值作为输入,输出安全参数为λ、设为N维空间V的对偶配对矢量空间的参数paramV:=(q、V、GT、A、e)的值。
另外,这里,对通过上述对称双线性配对组构成对偶配对矢量空间的情况进行说明。另外,也可以通过非对称双线性配对组构成对偶配对矢量空间。在通过非对称双线性配对组构成对偶配对矢量空间的情况下,容易应用以下的说明。
<第2.用于实现加密方式的概念>
<第2-1.张成方案>
图1是矩阵M^的说明图。
设{p1、...、pn}为变量的集合。M^:=(M、ρ)是带标签的矩阵。这里,矩阵M是Fq上的(L行×r列)的矩阵。并且,ρ是对矩阵M的各行附加的标签,与 中的任意一个常量对应。另外,对M的全部行附加的标签ρi(i=1、...、L)与任意一个常量对应。即,ρ:
针对全部输入列δ∈{0、1}n来定义矩阵M的部分矩阵Mδ。矩阵Mδ是由通过输入列δ使值“1”与标签ρ对应的矩阵M的行构成的部分矩阵。即,矩阵Mδ是由与δi=1的pi对应的矩阵M的行和与δi=0的对应的矩阵M的行构成的部分矩阵。
图2是矩阵Mδ的说明图。另外,在图2中,设n=7、L=6、r=5。即,变量的集合是{p1、...、p7},矩阵M是(6行×5列)的矩阵。并且,在图2中,关于标签ρ,ρ1对应,ρ2与p1对应,ρ3与p4对应,ρ4对应,ρ5对应,ρ6与p5对应。
这里,设输入列δ∈{0、1}7为δ1=1、δ2=0、δ3=1、δ4=0、δ5=0、δ6=1、δ7=1。该情况下,由与虚线包围的常量(p1、p3、p6、p7)对应的矩阵M的行构成的部分矩阵是矩阵Mδ。即,由矩阵M的第1行(M1)、第2行(M2)、第4行(M4)构成的部分矩阵是矩阵Mδ
换言之,在映射γ:{1、...、L}→{0、1}为[ρ(j)=pi]∧[δi=1]或的情况下,γ(j)=1,在其它情况下,γ(j)=0。该情况下,Mδ:=(Mj)γ(j)=1。这里,Mj是矩阵M的第j行。
即,在图2中,映射γ(j)=1(j=1、2、4),映射γ(j)=0(j=3、5、6)。因此,(Mj)γ(j)=1是M1、M2、M4,是矩阵Mδ
即,根据映射γ(j)的值是“0”还是“1”,决定矩阵M的第j行是否包含在矩阵Mδ中。
仅在1∈span<Mδ>的情况下,张成方案M^受理输入列δ,在其它情况下,拒绝输入列δ。即,仅在对通过输入列δ从矩阵M^得到的矩阵Mδ的行进行线性耦合而得到1的情况下,张成方案M^受理输入列δ。另外,1是各要素为值“1”的行矢量。
例如,如果是图2的例子,则仅在对由矩阵M的第1、2、4行构成的矩阵Mδ的各行进行线性耦合而得到1的情况下,张成方案M^受理输入列δ。即,在存在α1(M1)+α2(M2)+α4(M4)=1的α1、α2、α4的情况下,张成方案M^受理输入列δ。
这里,在标签ρ仅与正的常量{p1、...、pn}对应的情况下,张成方案被称作单调。另一方面,在标签ρ与常量对应的情况下,张成方案被称作非单调。这里,设张成方案为非单调。而且,使用非单调张成方案构成访问结构(非单调访问结构)。简单地讲,访问结构是指进行对加密的访问控制。即,是指进行是否能够对密文进行解密的控制。
由于张成方案不是单调而是非单调,由此,利用张成方案构成的加密方式的利用范围较广。
<第2-2.访问结构>
是全集合(universe),是属性的集合。而且,U用属性的值即v∈FX q(:=Fq\{0})来表示。
以使属性成为M^:=(M,ρ)中的变量p那样进行定义。即,p:=v。访问结构S是变量p:=v,p’:=v’,...的张成方案M^:=(M,ρ)。即,访问结构S是ρ:的S:=(M,ρ)。
接着,设Γ为属性的集合。即,Γ:={xj|1≦j≦n’}。
在对访问结构S赋予Γ的情况下,如下定义针对张成方案M^:=(M、ρ)的映射γ:{1、...、L}→{0、1}。关于i=1,...,L的各整数i,在[ρ(i)=vi]∧[vi∈Γ]或的情况下,γ(j)=1,在其它情况下,设γ(j)=0。
仅在1∈span<(Mi)γ(i)=1>的情况下,访问结构S:=(M,ρ)受理Γ。
<第2-3.秘密分散方式>
对针对访问结构S:=(M、ρ)的秘密分散方式进行说明。
另外,秘密分散方式是指使秘密信息分散而成为没有意义的分散信息。例如,使秘密信息s分散成10个,生成10个分散信息。这里,10个分散信息各自不具有秘密信息s的信息。因此,即使得到某1个分散信息,也无法得到关于秘密信息s的任何信息。另一方面,如果得到全部10个分散信息,则能够恢复秘密信息s。
并且,还存在如下的秘密分散方式:即使没有得到全部10个分散信息,只要得到一部分(例如8个),就能够恢复秘密信息s。这样,将能够利用10个分散信息中的8个来恢复秘密信息s的情况称作8-out-of-10。即,将能够利用n个分散信息中的t个来恢复秘密信息s的情况称作t-out-of-n。将该t称作阈值。
并且,还存在如下的秘密分散方式:在生成d1、...、d10这10个分散信息的情况下,如果是d1、...、d8这8个分散信息,则能够恢复秘密信息s,如果是d3、...、d10这8个分散信息,则无法恢复秘密信息s。即,还存在不仅根据得到的分散信息的数量还根据分散信息的组合来控制是否能够恢复秘密信息s的秘密分散方式。
图3是s0的说明图。图4是s→T的说明图。
设矩阵M为(L行×r列)的矩阵。设f→T为数式118所示的列矢量。
【数式118】
设数式119所示的s0为共享的秘密信息。
【数式119】
并且,设数式120所示的s→T为s0的L个分散信息的矢量。
【数式120】
而且,设分散信息si属于ρ(i)。
在访问结构S:=(M、ρ)受理Γ的情况下,即,关于γ:{1、...、L}→{0、1},在1∈span<(Mi)γ(i)=1>的情况下,存在的常数{αi∈Fq|i∈I}。
在图2的例子中,说明了在存在α1(M1)+α2(M2)+α4(M4)=1的α1、α2、α4的情况下张成方案M^受理输入列δ,因此,这是显而易见的。即,在存在α1(M1)+α2(M2)+α4(M4)=1的α1、α2、α4的情况下,如果张成方案M^受理输入列δ,则存在α1(M1)+α2(M2)+α4(M4)=1的α1、α2、α4
然后,是数式121。
【数式121】
i∈Iαisi:=s0
另外,常数{αi}能够利用矩阵M的尺寸下的多项式时间进行计算。
<第3.加密方式(KP-ABE方式)的基本结构>
对KP-ABE方式的结构进行简单说明。另外,KP(密钥策略)意味着在密钥中嵌入Policy,即嵌入访问结构。
KP-ABE方式具有Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是将安全参数λ和针对密文的属性的数量的上限n作为输入而输出公开参数pk和主密钥sk的概率算法。
(KeyGen)
KeyGen算法是将公开参数pk、主密钥sk、访问结构S:=(M、ρ)作为输入而输出解密密钥skS的概率算法。
(Enc)
Enc算法是将公开参数pk、消息m、属性集合Γ:={xj}1≦j≦n’作为输入而输出密文ctΓ的概率算法。
(Dec)
Dec算法是将公开参数pk、解密密钥skS、密文ctΓ作为输入而输出消息m或识别信息⊥的算法。
<第4.加密系统10的基本结构>
对实现KP-ABE方式的算法的加密系统10进行说明。
图5是实现实施方式1的KP-ABE方式的加密系统10的结构图。
加密系统10具有密钥生成装置100、加密装置200(发送装置的一例)、解密装置300(接收装置的一例)。
密钥生成装置100将安全参数λ和针对密文的属性的数量的上限n作为输入来执行Setup算法,生成公开参数pk和主密钥sk。
然后,密钥生成装置100对公开参数pk进行公开。并且,密钥生成装置100将访问结构S作为输入来执行KG算法,生成解密密钥skS,秘密地向解密装置300发送。
加密装置200将公开参数pk、消息m、属性集合Γ作为输入来执行Enc算法,生成密文ctΓ。加密装置200向解密装置300发送密文ctΓ
解密装置300将公开参数pk、解密密钥skS、密文ctΓ作为输入来执行Dec算法,输出消息m或识别信息⊥。
<第5.关键技术和简化的加密方式>
<第5-1.编码>
在专利文献1所述的函数型加密方式中,对各属性范畴分配标识符t,按照每个标识符t生成作为密文(或解密密钥)的要素的矢量。
在实施方式1中,通过对属性信息的编码方法进行研究,消除属性范畴的标识符t,使作为密文的要素的矢量成为一个。
在实施方式1中,在基B的各基矢量的系数中设定由以属性信息xi为根的多项式的系数yj构成的矢量y:=(y1、...、yn)(第1矢量)的各要素,生成作为密文的要素的(一个)矢量。即,在基B的各基矢量的系数中设定f(z)=(z-x1)(z-x2)…(z-xn)=y1zn+…+yn-1z+yn的矢量y:=(y1、...、yn),生成作为密文的要素的矢量。
并且,关于i=1、...、L的各整数i,在基B*的各基矢量的系数中设定由vi的幂乘vi j构成的矢量vi :=(vi n-1、...、vi、1)(第2矢量),生成作为解密密钥的要素的(一个以上的)矢量。
由此,当对作为密文的要素的矢量和作为解密密钥的要素的矢量进行配对运算时,能够进行控制,使得将vi代入f(z)中,如果vi与x1、...、xn中的任意一方相等,则f(vi)=0,如果vi与x1、...、xn中的任意一方都不相等,则f(vi)≠0。
<第5-2.稀疏矩阵>
在专利文献1所述的函数型加密方式中,生成对偶基的对即基B和基B*。使用从GL(N、Fq)中同样选择出的完全随机线性变换X(基转换矩阵),生成基B和基B*。特别地,分别通过线性变换X和(X-1)T对标准基A进行变换而生成基B和基B*。另外,N是span<B>和span<B*>的维数。
而且,在将对偶配对矢量空间应用于加密处理的典型应用中,基B的一部分(称作B^)用作公开参数,与其对应的基B*的一部分(称作B^*)用作秘密密钥或陷门。
在实施方式1中,代替上述完全随机线性变换X而使用X∈GL(N、Fq)的随机线性变换X的特别形式(稀疏矩阵)。
<第5-3.简化的加密方式>
对简化的KP-ABE方式进行说明。
简化的KP-ABE方式中的密文由2个矢量要素(c0、c1)∈G5×Gn和c3∈GT构成。秘密密钥由针对访问结构S:=(M、ρ)的L+1个矢量要素(k* 0、k* 1、...、k* L∈G5×(Gn)L)构成。这里,矩阵M的行数为L,各矢量要素k* i对应于矩阵M的各行。另外,(c0、c1)∈G5×Gn意味着c0为G的5个要素,c1为G的n个要素。同样,(k* 0、k* 1、...、k* L∈G5×(Gn)L)意味着k* 0为G的5个要素,k* 1、...、k* L为G的n个要素。
因此,为了使密文的尺寸成为常数尺寸,需要将c1∈Gn压缩成与n有关的常数尺寸。
在实施方式1中,使用数式122所示的特别线性变换X。
【数式122】
这里,μ、μ’1、...、μ’n是从有限体Fq中同样选择出的值,线性变换X中的空白表示0∈Fq。并且,H(n、Fq)意味着将有限体Fq作为要素的n维矩阵的集合。
公开密钥(DPVS的基)是数式123-1所示的基B。
【数式123-1】
设与属性集合Γ:=(x1、...、xn’)相关联的密文为数式123-2所示的密文c1
【数式123-2】
这里,ω是从有限体Fq中同样选择出的值。并且,y:=(y1、...、yn)是数式124所示的矢量。
【数式124】
于是,密文c1可以压缩成数式125所示的2个组的要素C1、C2和矢量y
【数式125】
C1:=ωμg,
密文c1是通过(y1C1、...、yn-1C1、C2)得到的。另外,关于i=1、...、n-1的各i,yiC1=yiωμg。
因此,密文(除了矢量y以外的部分)可以设为2个组的要素,成为与n有关的常数尺寸。
设B*:=(b* i)为B:=(bi)的对偶标准正交基,设基B*为简化的KP-ABE方式中的主秘密密钥。
设(c0、k* 0、c3)为e(c0、k* 0)=gT ζ-ωs0,c3:=gT ζm∈GT。这里,s0(s0)是与访问结构S相关联的共享信息{si}i=1、...、L的中心秘密。
使用共享信息{si}i=1、...、L,如数式126那样设定针对访问结构S的秘密密钥的集合。
【数式126】
where
根据基B和基B*的对偶标准正交性,如果访问结构S受理属性集合Γ,则存在成为数式127的补充系数{αi}i∈I
【数式127】
where
因此,仅在访问结构S受理属性集合Γ的情况下,解密者能够计算gT ωs0,得到消息m。
并且,密文c1表示为(y1C1、...、yn-1C1、C2)∈Gn,秘密密钥k~*被分解为(D* 1、...、D* n)的n组。因此,e(c1、k~*)的值是数式128。
【数式128】
即,在计算e(c1、k~*)时,通过G中的n-1个标量乘法和2个配对运算即可。即,在解密中仅需要少数(常数)的配对运算。一般情况下,配对运算是花费处理时间的运算,因此,通过减少配对运算的数量,能够缩短处理整体的处理时间。
另外,在简化的KP-ABE方式中,密文c1仅具有被设定矢量y的基矢量(实际的编码部),秘密密钥k* 1仅具有被设定矢量v的基矢量(实际的编码部)。
在以下说明的KP-ABE方式中,为了提高安全性,在密文c1和秘密密钥k* 1中,除了实际的编码部以外,还施加隐匿部、秘密密钥随机部、密文随机部用的基矢量。
因此,如数式129那样将线性变换X扩张成6倍。然后,对实际的编码部、隐匿部、秘密密钥随机部、密文随机部分别各分配n、2n、2n、n维。
【数式129】
这里,各Xi,j是数式122所示的X∈H(n,Fq)。而且,矢量空间由4个正交的部分空间构成。即,矢量空间由编码部、隐匿部、秘密密钥随机部、密文随机部用的4个正交的部分空间构成。
<第6.加密方式>
图6是实施方式1的密钥生成装置100的结构图。图7是实施方式1的加密装置200的结构图。图8是实施方式1的解密装置300的结构图。
图9和图10是示出实施方式1的密钥生成装置100的动作的流程图。另外,图9是示出实施方式1的Setup算法的处理的流程图,图10是示出实施方式1的KeyGen算法的处理的流程图。图11是示出实施方式1的加密装置200的动作的流程图,示出实施方式1的Enc算法的处理。图12是示出实施方式1的解密装置300的动作的流程图,示出实施方式1的Dec算法的处理。
对密钥生成装置100的功能和动作进行说明。
如图6所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150。主密钥生成部110具有空间生成部111、矩阵生成部112、基生成部113、密钥生成部114。解密密钥生成部140具有f矢量生成部141、s矢量生成部142、随机数生成部143、密钥要素生成部144。
根据图9对Setup算法的处理进行说明。
(S101:空间生成步骤)
空间生成部111将安全参数1λ作为输入,通过处理装置执行Gbpg,生成对称双线性配对组的参数paramG:=(q、G、GT、g、e)。
进而,空间生成部111设定N0:=5、N1:=6n。然后,空间生成部111关于t=0、1的各整数t,将安全参数1λ、Nt、对称双线性配对组的参数paramG作为输入,通过处理装置来执行Gdpvs,生成对偶配对矢量空间的参数paramVt:=(q、Vt、GT、A、e)。
(S102:线性变换生成步骤)
矩阵生成部112通过处理装置,如数式130所示生成线性变换X0
【数式130】
另外,数式130中的(χ0、i、j)i、j=1、...、5意味着与矩阵χ0、i、j的小标i、j有关的矩阵。
并且,矩阵生成部112通过处理装置,如数式131所示生成线性变换X1
【数式131】
数式131中的L(6、n、Fq)如数式132所示。
【数式132】
另外,下面,{μi、j、μ’i、j、L}i、j=1、...、6;L=1、...、n表示线性变换X1中的0以外的要素。
(S103:基B生成步骤)
基生成部113通过处理装置,如数式133所示生成基B0、变量Bi、j、变量B’i、j、L
【数式133】
Bi,j:=μi,jg,B'i,j,L:=μ'i,j,Lg for i,j=1,...,6;L=1,...,n
并且,基生成部113通过处理装置,如数式134所示生成基B* 0和基B* 1
【数式134】
for t=0,1,
(S104:基B^生成步骤)
密钥生成部114通过处理装置,如数式135所示生成基B^0、基B^1、基B^* 0、基B^* 1
【数式135】
(S105:主密钥生成步骤)
密钥生成部114通过处理装置设为公开参数pk:=(1λ、paramn、{B^t}t=0、1),设为主秘密密钥sk:={B^*t}t=0、1。然后,密钥生成部114将公开参数pk和主秘密密钥sk存储在主密钥存储部120中。
另外,
即,在(S101)~(S105)中,密钥生成装置100执行使用数式136所示的算法GABE(1) ob的、数式137所示的Setup算法,生成公开参数pk和主秘密密钥sk。
【数式136】
N0:=5,N1:=6n,
i,j,μ'i,j,L}i,j=1,...,6;L=1,...,n denotes non-zero entries of X1,
Bi,j:=μi,jg,B'i,j,L:=μ'i,j,Lg for i,j=1,...,6;L=1,...,n,
【数式137】
Setup(1λ,n):
return pk,sk.
另外,公开参数例如成为经由网络公开且加密装置200和解密装置300能够取得的状态。
在S103中,不生成基B1,取而代之生成变量Bi、j。如果生成基B1,则成为数式138。
【数式138】
for i=1,...,6,
数式138的矩阵中的空白部分表示成分的值为0∈G。基B1是基B* 1的标准正交基。即,e(b1、i、b* 1、i)=gT,关于1≦i≠j≦6n的整数i、j,e(b1、i、b* 1、j)=1。
根据图10对KeyGen算法的处理进行说明。
(S201:信息输入步骤)
信息输入部130通过输入装置输入访问结构S:=(M、ρ)。另外,关于访问结构S的矩阵M的设定,根据希望实现的系统的条件进行设定。并且,访问结构S的ρ例如设定解密密钥skS的使用者的属性信息。
(S202:f矢量生成步骤)
f矢量生成部141通过处理装置,如数式139所示随机生成矢量f
【数式139】
(S203:s矢量生成步骤)
s矢量生成部142通过处理装置,如数式140所示生成矢量s→T:=(s1、...、sL)T
【数式140】
并且,s矢量生成部142通过处理装置,如数式141所示生成值s0
【数式141】
(S204:随机数生成步骤)
随机数生成部143通过处理装置,如数式142所示生成随机数。
【数式142】
(S205:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如数式143所示生成解密密钥skS的要素k* 0
【数式143】
并且,密钥要素生成部144通过处理装置,关于i=1、...、L的各整数i,如数式144所示生成解密密钥skS的要素k* i
【数式144】
ifρ(i)=vi,
(S206:密钥发送步骤)
密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将(S201)中输入的访问结构S和(S205)中生成的k* 0、k* 1、...、k* L作为要素的解密密钥skS。当然,也可以通过其它方法向解密装置300发送解密密钥skS
即,在(S201)~(S205)中,密钥生成装置100执行数式145所示的KeyGen算法,生成解密密钥skS。然后,在(S206)中,密钥生成装置100向解密装置300发送已生成的解密密钥skS
【数式145】
对加密装置200的功能和动作进行说明。
如图7所示,加密装置200具有公开参数接收部210、信息输入部220、加密数据生成部230、数据发送部240。并且,加密数据生成部230具有随机数生成部231、加密要素生成部232。
根据图11对Enc算法的处理进行说明。
(S301:公开参数接收步骤)
公开参数接收部210例如通过通信装置,经由网络接收密钥生成装置100生成的公开参数pk。
(S302:信息输入步骤)
信息输入部220通过输入装置输入向解密装置300发送的消息m。并且,信息输入部220通过输入装置输入属性集合Γ:={x1、...、xn’|xj∈FqX、n’≦n-1}。并且,属性集合Γ例如设定有能够解密的用户的属性信息。
(S303:随机数生成步骤)
随机数生成部231通过处理装置,如数式146所示生成随机数。
【数式146】
(S304:加密要素生成步骤)
加密要素生成部232通过处理装置,如数式147所示生成密文ctΓ的要素c0
【数式147】
并且,加密要素生成部232通过处理装置,如数式148所示生成密文ctΓ的要素C1、j、C2、j
【数式148】
for j=1,...,6
C1,j:=ωB1,j1B6,j,
where
并且,加密要素生成部232通过处理装置,如数式149所示生成密文ctΓ的要素c3
【数式149】
(S305:数据发送步骤)
数据发送部240例如通过通信装置,经由网络向解密装置300发送将(S302)中输入的属性集合Γ和(S304)中生成的c0、C1、j、C2、j、c3作为要素的密文ctΓ。当然,也可以通过其它方法向解密装置300发送密文ctΓ
即,在(S301)~(S304)中,加密装置200执行数式150所示的Enc算法,生成密文ctΓ。然后,在(S305)中,加密装置200向解密装置300发送已生成的密文ctΓ
【数式150】
ctΓ:=(Γ,c0,{C1,j,C2,j}j=1,...,6,c3),
return ctΓ.
对解密装置300的功能和动作进行说明。
如图8所示,解密装置300具有解密密钥接收部310、数据接收部320、张成方案计算部330、补充系数计算部340、解密部350。
根据图12对Dec算法的处理进行说明。
(S401:解密密钥接收步骤)
解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skS。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数pk。
(S402:数据接收步骤)
数据接收部320例如通过通信装置,经由网络接收加密装置200发送的密文ctΓ
(S403:张成方案计算步骤)
张成方案计算部330通过处理装置,判定(S401)中接收到的解密密钥skS中包含的访问结构S是否受理(S402)中接收到的密文ctΓ中包含的Γ。访问结构S是否受理Γ的判定方法如“第2.用于实现加密方式的概念”中说明的那样。
张成方案计算部330在访问结构S受理Γ的情况下(S403:受理),使处理进入(S404)。另一方面,在访问结构S拒绝Γ的情况下(S403:拒绝),视为无法利用解密密钥skS对密文ctΓ进行解密,结束处理。
(S404:补充系数计算步骤)
补充系数计算部340通过处理装置,计算成为数式151的I和常数(补充系数){αi}i∈I
【数式151】
where Mi is the i-th row of M,
(S405:解密要素生成步骤)
解密部350通过处理装置,如数式152所示生成解密要素D* 1、...、D* 6n、E* j
【数式152】
(S406:配对运算步骤)
解密部350通过处理装置计算数式153,生成会话密钥K=gT ζ
【数式153】
(S407:消息计算步骤)
解密部350通过处理装置计算m’=c3/K,生成消息m’(=m)。
即,在(S401)~(S407)中,解密装置300执行数式154所示的Dec算法,生成消息m’(=m)。
【数式154】
IfacceptsΓ,then compute I and{αi}i∈I such that,
where Mi is the i-th row of M,
return m':=c3/K.
另外,根据数式138,B1:=(b1、1、...、b1、6n)由{Bi、j、B’i、j、L}i、j=1、...、6;L=1、...、n确定。并且,Setup算法的输出中包含的{Bi、j、B’i、j、L}i=1、6;j=1、...、6;L=1、...、n由B^1:=(b1、1、...、b1、n、b1、5n+1、...、b1、6n)确定。
而且,Dec算法可以如数式155所示的Dec’算法那样记述。
【数式155】
ctΓ:=(Γ,c0,{C1,j,C2,j}j=1,...,6,c3)):
IfacceptsΓ,then compute I and{αi}i∈I such that,
where Mi is the i-th row of M,
return m':=c3/K.
如数式156所示,在使用Dec'算法的情况下,得到K:=gζ T。因此,通过c3=gζ Tm除以K,得到消息m’(=m)。
【数式156】
在实施方式1中说明的KP-ABE方式中,密文ctΓ由要素c0中5个G的要素、与j=1、...、6的各整数j有关的要素C1、j和要素C2、j中12个G的要素的合计17个G的要素以及要素c3中1个GT的要素构成。即,关于n,密文ctΓ是常数尺寸。
并且,在实施方式1中说明的KP-ABE方式中,解密处理(Dec算法)仅执行数式153所示的e(c0、k* 0)中5个配对运算、Πj=1 6(e(C1、j、E* j)·e(C2、j、D* jn))中12个配对运算的合计17个配对运算。即,解密处理中需要的配对运算较少。
实施方式2
在实施方式2中,对设秘密密钥的尺寸为常数尺寸的密文策略的基于属性的加密(Ciphertext-Policy ABE、CP-ABE)方式进行说明。
在实施方式2中,省略与实施方式1相同的部分的说明,对与实施方式1不同的部分进行说明。
第1,对实施方式2的加密方式的基本结构进行说明。
第2,对实现实施方式2的加密方式的加密系统10的结构进行说明。
第3,对实施方式2的加密方式进行详细说明。
<第1.加密方式的基本结构>
对CP-ABE方式的结构进行简单说明。另外,Ciphertext-Policy意味着在密文中嵌入Policy,即嵌入访问结构。
CP-ABE方式具有Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入安全参数λ和针对密文的属性的数量的上限n而输出公开参数pk和主密钥sk的概率算法。
(KeyGen)
KeyGen算法是将公开参数pk、主密钥sk、属性集合Γ:={xj}1≦j≦n’作为输入而输出解密密钥skΓ的概率算法。
(Enc)
Enc算法是将公开参数pk、消息m、访问结构S:=(M、ρ)作为输入而输出密文ctS的概率算法。
(Dec)
Dec算法是将公开参数pk、解密密钥skΓ、密文ctS作为输入而输出消息m或识别信息⊥的算法。
<第2.实现CP-ABE方式的加密系统10的结构>
图13是实现实施方式2的CP-ABE方式的加密系统10的结构图。
加密系统10具有密钥生成装置100、加密装置200(发送装置的一例)、解密装置300(接收装置的一例)。
密钥生成装置100将安全参数λ和针对密文的属性的数量的上限n作为输入来执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100对生成的公开参数pk进行公开。并且,密钥生成装置100将属性集合Γ作为输入来执行KeyGen算法,生成解密密钥skΓ,秘密地向解密装置300发送。
加密装置200将公开参数pk、消息m、访问结构S作为输入来执行Enc算法,生成密文ctS。加密装置200向解密装置300发送已生成的密文ctS
解密装置300将公开参数pk、解密密钥skΓ、密文ctS作为输入来执行Dec算法,输出消息m或识别信息⊥。
<第3.加密方式>
图14是实施方式2的密钥生成装置100的结构图。图15是实施方式2的加密装置200的结构图。解密装置300的结构与图8所示的实施方式1的解密装置300的结构相同。
图16是示出实施方式2的KeyGen算法的处理的流程图。图17是示出实施方式2的Enc算法的处理的流程图。Setup算法的处理和Dec算法的处理的流程分别与图9、图12所示的实施方式1的Setup算法的处理和Dec算法的处理相同。
对密钥生成装置100的功能和动作进行说明。
如图14所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150。主密钥生成部110具有空间生成部111、矩阵生成部112、基生成部113、密钥生成部114。解密密钥生成部140具有随机数生成部143、密钥要素生成部144。
根据图9对Setup算法的处理进行说明。
(S101)~(S102)的处理与实施方式1相同。
(S103:基B生成步骤)
基生成部113通过处理装置,与实施方式1中的基B0、变量Bi、j、变量B’i、j、L同样,如数式157所示生成基D0、变量Di、j、变量D’i、j、L
【数式157】
Di,j:=μi,jg,D'i,j,L:=μ'i,j,Lg for i,j=1,...,6;L=1,...,n
并且,基生成部113通过处理装置,与实施方式1中的基B* 0和基B* 1同样,如数式158所示生成基D* 0和基D* 1
【数式158】
for t=0,1
然后,基生成部113设基D* 0为基B0,基D0为基B* 0,基D* 1为基B1。并且,基生成部113关于i、j=1、...、6的各整数i、j和L=1、...、n的各整数L,设变量Di、j为变量B* i、j,变量D’i、j、L为变量B’* i、j、L
(S104:基B^生成步骤)
密钥生成部114通过处理装置,如数式159所示生成基B^0、基B^1、基B^* 0、基B^* 1
【数式159】
(S105)的处理与实施方式1相同。
即,在(S101)~(S105)中,密钥生成装置100执行使用数式160所示的算法GABE(2) ob的、数式161所示的Setup算法,生成公开参数pk和主秘密密钥sk。这里,如数式160所示,算法GCP-ABE(2) ob使用数式136所示的算法GABE(1) ob
【数式160】
for i,j=1,...6;L=1,...,n,
【数式161】
Setup(1λ,n):
return pk,sk.
另外,公开参数例如成为经由网络公开且加密装置200和解密装置300能够取得的状态。
根据图16对KeyGen算法的处理进行说明。
(S501:信息输入步骤)
信息输入部130通过输入装置输入属性集合Γ:={x1、...、xn’|xj∈FqX、n’≦n-1}。另外,属性集合Γ例如设定有解密密钥skΓ的使用者的属性信息。
(S502:随机数生成步骤)
随机数生成部143通过处理装置,如数式162所示生成随机数。
【数式162】
(S503:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如数式163所示生成解密密钥skΓ的要素k* 0
【数式163】
并且,密钥要素生成部144通过处理装置,如数式164所示生成解密密钥skΓ的要素K* 1、j、K* 2、j
【数式164】
for j=1,...,6
where
(S504:密钥发送步骤)
密钥发送部150例如通过通信装置,经由网络秘密地向解密装置300发送将(S501)中输入的属性的集合Γ和(S503)中生成的k* 0、K* 1、j、K* 2、j作为要素的解密密钥skΓ。当然,也可以通过其它方法向解密装置300发送解密密钥skΓ
即,在(S501)~(S503)中,密钥生成装置100执行数式165所示的KeyGen算法,生成解密密钥skΓ。然后,在(S504)中,密钥生成装置100向解密装置300发送已生成的解密密钥skΓ
【数式165】
return skΓ.
对加密装置200的功能和动作进行说明。
如图15所示,加密装置200具有公开参数接收部210、信息输入部220、加密数据生成部230、数据发送部240。并且,加密数据生成部230具有随机数生成部231、加密要素生成部232、f矢量生成部233、s矢量生成部234。
根据图17对Enc算法的处理进行说明。
(S601)的处理与图11所示的(S301)的处理相同。
(S602:信息输入步骤)
信息输入部220通过输入装置输入访问结构S:=(M、ρ)。另外,关于访问结构S的设定,根据希望实现的系统的条件进行设定。并且,访问结构S的ρ例如设定有能够解密的用户的属性信息。
并且,信息输入部220通过输入装置输入向解密装置300发送的消息m。
(S603:f矢量生成步骤)
f矢量生成部233通过处理装置,如数式166所示随机生成矢量f
【数式166】
(S604:s矢量生成步骤)
s矢量生成部234通过处理装置,如数式167所示生成矢量s→T:=(s1、...、sL)T
【数式167】
并且,s矢量生成部234通过处理装置,如数式168所示生成值s0
【数式168】
(S605:随机数生成步骤)
随机数生成部231通过处理装置,如数式169所示生成随机数。
【数式169】
(S606:加密要素生成步骤)
加密要素生成部232通过处理装置,如数式170所示生成密文ctS的要素c0
【数式170】
并且,加密要素生成部232通过处理装置,关于i=1、...、L的各整数i,如数式171所示生成密文ctS的要素ci
【数式171】
ifρ(i)=vi,
并且,加密要素生成部232通过处理装置,如数式172所示生成密文ctS的要素c3
【数式172】
(S607:数据发送步骤)
数据发送部240例如通过通信装置,经由网络向解密装置300发送将(S602)中输入的访问结构S和(S606)中生成的c0、c1、...、cL、c3作为要素的密文ctS。当然,也可以通过其它方法向解密装置300发送密文ctS
即,在(S601)~(S606)中,加密装置200执行数式173所示的Enc算法,生成密文ctS。然后,在(S607)中,加密装置200向解密装置300发送已生成的密文ctS
【数式173】
对解密装置300的功能和动作进行说明。
根据图12对Dec算法的处理进行说明。
(S401:解密密钥接收步骤)
解密密钥接收部310例如通过通信装置,经由网络接收从密钥生成装置100发送的解密密钥skΓ。并且,解密密钥接收部310接收密钥生成装置100生成的公开参数pk。
(S402:数据接收步骤)
数据接收部320例如通过通信装置,经由网络接收加密装置200发送的密文ctS
(S403:张成方案计算步骤)
张成方案计算部330通过处理装置,判定(S402)中接收到的密文ctS中包含的访问结构S是否受理(S401)中接收到的解密密钥skΓ中包含的Γ。
张成方案计算部330在访问结构S受理Γ的情况下(S403:受理),使处理进入(S404)。另一方面,在访问结构S拒绝Γ的情况下(S403:拒绝),视为无法利用解密密钥skS对密文ctΓ进行解密,结束处理。
(S404)的处理与实施方式1相同。
(S405:解密要素生成步骤)
解密部350通过处理装置,如数式174所示生成加密要素D* 1、...、D* 6n、E* j
【数式174】
(S406:配对运算步骤)
解密部350通过处理装置计算数式175,生成会话密钥K=gT ζ
【数式175】
(S407)的处理与实施方式1相同。
即,在(S401)~(S407)中,解密装置300执行数式176所示的Dec算法,生成消息m’(=m)。
【数式176】
IfacceptsΓ,then compute I and{αi}i∈I such that,
where Mi is the i-th row of M,
return m':=c3/K.
在实施方式2中说明的CP-ABE方式中,解密密钥skΓ由要素k0中5个G的要素、与j=1、...、6的各整数j有关的要素C1、j和要素C2、j中12个G的要素的合计17个G的要素。即,关于n,解密密钥skΓ是常数尺寸。
在实施方式2中说明的CP-ABE方式中,与实施方式1中说明的KP-ABE方式同样,解密处理(Dec算法)仅执行合计17个配对运算。即,解密处理中需要的配对运算较少。
实施方式3
在实施方式3中,对应用实施方式1、2中说明的ABE方式的FE方式进行说明。
在实施方式3中,省略与实施方式1、2相同的部分的说明,对与实施方式1、2不同的部分进行说明。
这里,对应用实施方式1中说明的KP-ABE方式的KP-FE方式进行说明。
在实施方式1中说明的KP-ABE方式中,密文的要素(C1、j、C2、j)和解密密钥的要素{k* i}i=1、...、L对应。在KP-FE方式中,按照每个范畴t生成密文的要素(C1、j、t、C2、j、t)和解密密钥的要素{k* i.t}i=1、...、L。然后,密文的要素(C1、j、t、C2、j、t)和解密密钥的要素{k* i、t}i=1、...、L对应。
密钥生成装置100、加密装置200、解密装置300的结构分别与图6~图8所示的实施方式1的密钥生成装置100、加密装置200、解密装置300的结构相同。
并且,各算法的处理流程与图9~图12所示的实施方式1的各算法的处理流程相同。
根据图9对Setup算法的处理进行说明。
(S101:空间生成步骤)
与实施方式1同样,空间生成部111生成参数paramG:=(q、G、GT、g、e)。
进而,空间生成部111关于N0:=5、t=1、...、d的各整数t设定N1、t:=6nt。这里,d是表示属性范畴的数量的值,是1以上的整数。并且,nt是1以上的整数。然后,空间生成部111将安全参数1λ、N0、对称双线性配对组的参数paramG作为输入,通过处理装置执行Gdpvs,生成对偶配对矢量空间的参数paramV0:=(q、V0、GT、A、e)。并且,空间生成部111关于t=1、...、d的各整数t,将安全参数1λ、N1、t、对称双线性配对组的参数paramG作为输入,通过处理装置执行Gdpvs,生成对偶配对矢量空间的参数paramV1、t:=(q、V1、t、GT、A、e)。
(S102:线性变换生成步骤)
矩阵生成部112通过处理装置,生成线性变换X0和线性变换{X1、t}t=1、...、d。
线性变换X0与实施方式1相同。线性变换{X1、t}t=1、...、d如数式177那样生成。
【数式177】
另外,下面,{μi、j、t、μ’i、j、L、t}i、j=1、...、6;L=1、...、n表示线性变换X1、t中的0以外的要素。
(S103:基B生成步骤)
基生成部113通过处理装置,如数式178所示生成基B0、变量Bi、j、t、变量B’i、j、L、t
【数式178】
Bi,j,t:=μi,j,tg,B'i,j,L,t:=μ'i,j,L,tg
for i,j=1,...,6;L=1,...,nt;t=1,...,d
并且,基生成部113通过处理装置,如数式179所示生成基B* 0、基B* 1、t
【数式179】
for t=1,...,d,
(S104:基B^生成步骤)
密钥生成部114通过处理装置,如数式180所示生成基B^0、基B^1、t、基B^* 0、基B^* 1、t
【数式180】
for t=1,...,d,
for t=1,...,d,
(S105:主密钥生成步骤)
密钥生成部114通过处理装置,设为公开参数pk:=(1λ、paramn、B^0、{B^1t}t=1、...、d),设为主秘密密钥sk:=(B^*0、{B^*1、t}t=1、...、d。然后,密钥生成部114将公开参数pk和主秘密密钥sk存储在主密钥存储部120中。
另外,paramn:=(paramV0、{paramV1、t}t=1、...、d、gT)。
即,在(S101)~(S105)中,密钥生成装置100执行使用数式181所示的算法GFE(1) ob的、数式182所示的Setup算法,生成公开参数pk和主秘密密钥sk。
【数式181】
N0:=5,N1,t:=6nt,for t=1,...,d,
i,j,t,μ'i,j,L,t}i,j=1,...,6;L=1,...,nt;t=1,...,d denotes non-zero entries ofX1,t,
Bi,j,t:=μi,j,tg,B'i,j,L,t:=μ'i,j,L,tg
for i,j=1,...,6;L=1,...,nt;t=1,...,d
for t=1,...,d
【数式182】
Setup(1λ,nt):
for t=1,...,d,
for t=1,...,d,
return pk,sk.
根据图10对KeyGen算法的处理进行说明。
(S201)~(S202)的处理与实施方式1相同。
(S203:s矢量生成步骤)
s矢量生成部142通过处理装置,如数式183所示生成矢量s→T:=(s1、...、sL)T
【数式183】
并且,s矢量生成部142通过处理装置,如数式184所示生成值s0
【数式184】
(S204:随机数生成步骤)
随机数生成部143通过处理装置,如数式185所示生成随机数。
【数式185】
(S205:密钥要素生成步骤)
密钥要素生成部144通过处理装置,与实施方式1同样地生成解密密钥skS的要素k* 0
并且,密钥要素生成部144通过处理装置,关于i=1、...、L的各整数i和集合Ivi→中包含的索引t,如数式186所示生成解密密钥skS的要素k* i
【数式186】
for i=1,...,L,
(S206)的处理与实施方式1相同。
即,在(S201)~(S205)中,密钥生成装置100执行数式187所示的KeyGen算法,生成解密密钥skS。然后,在(S206)中,密钥生成装置100向解密装置300发送已生成的解密密钥skS
【数式187】
for i=1,...,L,t=1,...,d,
根据图11对Enc算法的处理进行说明。
(S301)的处理与实施方式1相同。
(S302:信息输入步骤)
信息输入部220通过输入装置输入向解密装置300发送的消息m。并且,信息输入部220通过输入装置输入属性集合Γt:={x1、t、...、xnt、t、nt’≦nt-1、t=1、...、d}。
(S303:随机数生成步骤)
随机数生成部231通过处理装置,如数式188所示生成随机数。
【数式188】
(S304:加密要素生成步骤)
加密要素生成部232通过处理装置,与实施方式1同样地生成密文ctΓ的要素c0和要素c3
并且,加密要素生成部232通过处理装置,如数式189所示生成密文ctΓ的要素C1、j、t、C2、j、t
【数式189】
for j=1,...,6;t=1,...,d
C1,j,t:=ωB1,j,t1,tB6,j,t,
where
(S305)的处理与实施方式1相同。
即,在(S301)~(S304)中,加密装置200执行数式190所示的Enc算法,生成密文ctΓ。然后,在(S305)中,加密装置200向解密装置300发送已生成的密文ctΓ
【数式190】
for j=1,...,6;t=1,...,d
C1,j,t:=ωB1,j,t1,tB6,j,t,
ctΓ:=(Γt,c0,{C1,j,t,C2,j,t}j=1,...,6;t=1,...,d,c3),
return ctΓ.
根据图12对Dec算法的处理进行说明。
(S401)~(S404)的处理与实施方式1相同。
(S405:解密要素生成步骤)
解密部350通过处理装置,如数式191所示生成解密要素D* 1、t、...、D* 6n、t、E* j、t
【数式191】
(S406:配对运算步骤)
解密部350通过处理装置计算数式192,生成会话密钥K=gT ζ
【数式192】
(S407)的处理与实施方式1相同。
即,在(S401)~(S407)中,解密装置300执行数式193所示的Dec算法,生成消息m’(=m)。
【数式193】
ctΓ:=(Γt,c0,{C1,j,t,C2,j,t}j=1,...,6;t=1,...,d,c3)):
IfacceptsΓ,then compute I and{αi}i∈I such that,
where Mi is the i-th row of M,
return m':=c3/K.
这里,对应用实施方式1中说明的KP-ABE方式的KP-FE方式进行了说明。应用实施方式2中说明的CP-ABE方式的CP-FE方式也可以通过同样的想法来构成。应用实施方式2中说明的CP-ABE方式的CP-FE方式的各算法如数式194~数式198所示。
【数式194】
for i,j=1,...6;L=1,...,nt,
【数式195】
Setup(1λ,n):
return pk,sk.
【数式196】
for j=1,...,6,t=1,...,d,
return skΓ.
【数式197】
for i=1,...,L,
【数式198】
IfacceptsΓ,then compute I and{αi}i∈I such that,
where Mi is the i-th row of M,
return m':=c3/K.
如上所述,可以应用实施方式1、2的ABE方式构成FE方式。
实施方式4
在实施方式4中,对应用实施方式2中说明的CP-ABE方式的基于属性的签名(Attribute-Based Signeture ABS)方式进行说明。
在实施方式4中,省略与实施方式2相同的部分的说明,对与实施方式2不同的部分进行说明。
第1,对实施方式4的签名方式的基本结构进行说明。
第2,对实现实施方式4的签名方式的加密系统10的结构进行说明。
第3,对实施方式4的签名方式进行详细说明。
<第1.加密方式的基本结构>
对ABS方式的结构进行简单说明。ABS方式具有Setup、KeyGen、Sig、Ver这4个算法。
(Setup)
Setup算法是输入安全参数λ和针对密文的属性的数量的上限n而输出公开参数pk和主密钥sk的概率算法。
(KeyGen)
KeyGen算法是将公开参数pk、主密钥sk、属性集合Γ:={xj}1≦j≦n’作为输入而输出签名密钥skΓ的概率算法。
(Sig)
Sig算法是将公开参数pk、消息m、访问结构S:=(M、ρ)、签名密钥skΓ作为输入而输出签名σ的概率算法。
(Ver)
Ver算法是将公开参数pk、消息m、访问结构S:=(M、ρ)、签名σ作为输入而输出表示签名的验证成功的值“1”或表示签名的验证失败的值“0”的算法。
<第2.实现ABS方式的加密系统10的结构>
图18是实现实施方式4的ABS方式的加密系统10的结构图。
加密系统10具有密钥生成装置100、签名装置400(发送装置的一例)、验证装置500(接收装置的一例)。
密钥生成装置100将安全参数λ和针对密文的属性的数量的上限n作为输入来执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100对生成的公开参数pk进行公开。并且,密钥生成装置100将属性集合Γ作为输入来执行KeyGen算法,生成签名密钥skΓ,秘密地向签名装置400发送。
签名装置400将公开参数pk、消息m、访问结构S、签名密钥skΓ作为输入来执行Sig算法,生成签名σ。签名装置400向验证装置500发送已生成的签名σ、消息m、访问结构S。
验证装置500将公开参数pk、消息m、访问结构S、签名σ作为输入来执行Ver算法,输出值“1”或值“0”。
<第3.签名方式>
图19是实施方式4的密钥生成装置100的结构图。图20是实施方式4的签名装置400的结构图。图21是实施方式4的验证装置500的结构图。
图22和图23是示出实施方式4的密钥生成装置100的动作的流程图。另外,图22是示出实施方式4的Setup算法的处理的流程图,图23是示出实施方式4的KeyGen算法的处理的流程图。图24是示出实施方式4的签名装置400的动作的流程图,示出实施方式4的Sig算法的处理。图25是示出实施方式4的验证装置500的动作的流程图,示出实施方式4的Ver算法的处理。
另外,在以下的说明中,H:=(KHλ、Hhk λ、D)是不容易冲突的哈希函数。不容易冲突的哈希函数是不容易发现使输出相同的2个输入的哈希函数。
具体而言,与算法Gbpg有关的不容易冲突的哈希函数系H和多项式poly(λ)可以说是以下两种。
1.通过λ对密钥空间系进行索引。各密钥空间是由KHλ示出的比特列中的概率空间。存在将1λ作为输入时的输出分布与KHλ相等的概率的多项式时间算法。
2.通过λ、从KHλ中随机选择出的hk、D:={0、1}poly(λ)对哈希函数系进行索引。这里,各函数Hhk λ、D是从D的要素到Fq X的映射。另外,q是算法Gbpg(1λ)的输出paramG的最初的要素。存在将1λ、hk、d∈D作为输入而输出Hhk λ、D(d)的决定的多项式时间算法。
对密钥生成装置100的功能和动作进行说明。
如图19所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150。主密钥生成部110具有空间生成部111、矩阵生成部112、基生成部113、密钥生成部114。解密密钥生成部140具有随机数生成部143、密钥要素生成部144。
根据图22对Setup算法的处理进行说明。
(S701:空间生成步骤)
与图9的(S101)同样,空间生成部111生成参数paramG:=(q、G、GT、g、e)。
进而,空间生成部111设定N0:=4、N1:=6n、N2:=7。然后,空间生成部111关于t=0、1、2的各整数t,将安全参数1λ、Nt、对称双线性配对组的参数paramG作为输入,通过处理装置执行Gdpvs,生成对偶配对矢量空间的参数paramVt:=(q、Vt、GT、A、e)。
(S702:线性变换生成步骤)
矩阵生成部112通过处理装置,关于t=0、2的各整数t,如数式199所示生成线性变换Xt
【数式199】
并且,矩阵生成部112通过处理装置,如数式200所示生成线性变换X1
【数式200】
另外,下面,{μi、j、μ’i、j、L}i、j=1、...、6;L=1、...、n表示线性变换X1中的0以外的要素。
(S703:基B生成步骤)
基生成部113通过处理装置,如数式201所示生成基B* 0、基B* 2、变量B* i、j、变量B’* i、j、L
【数式201】
for t=0,2,
for i,j=1,...,6;L=1,...,n,
并且,基生成部113通过处理装置,如数式202所示生成基B0、基B1、基B2
【数式202】
for t=0,1,2,
(S704:基B^生成步骤)
密钥生成部114通过处理装置,如数式203所示生成基B^0、基B^1、基B^2、基B^* 0、基B^* 1、基B^* 2
【数式203】
(S705:哈希关键字生成步骤)
主密钥生成部110通过处理装置计算数式204,随机生成哈希关键字hk。
【数式204】
(S706:主密钥生成步骤)
密钥生成部114通过处理装置,设为公开参数pk:=(1λ、hk、paramn、{B^t}t=0、1、2、{B^* t}t=1、2、b* 0、3),设为主秘密密钥sk:=b* 0、1。然后,密钥生成部114将公开参数pk和主秘密密钥sk存储在主密钥存储部120中。
另外,
即,在(S701)~(S706)中,密钥生成装置100执行使用数式205所示的算法GABS ob的、数式206所示的Setup算法,生成公开参数pk和主秘密密钥sk。
【数式205】
N0:=4,N1:=6n,N2:=7,
i,j,μ'i,j,L}i,j=1,...,6;L=1,...,n denotes non-zero entries of X1,
for t=0,2,
for i,j=1,...,6;L=1,...,n,
for t=0,1,2,
【数式206】
Setup(1λ,n):
return pk,sk.
根据图23对KeyGen算法的处理进行说明。
(S801)的处理与图16的(S501)的处理相同。但是,访问结构S的ρ例如设定有签名密钥skΓ的使用者的属性信息。
(S802:随机数生成步骤)
随机数生成部143通过处理装置,如数式207所示生成随机数。
【数式207】
(S803:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如数式208所示生成签名密钥skΓ的要素k* 0
【数式208】
并且,密钥要素生成部144通过处理装置,如数式209所示生成签名密钥skΓ的要素L* 1、j、L* 2、j
【数式209】
for j=1,...,6
where
并且,密钥要素生成部144通过处理装置,如数式210所示生成签名密钥skΓ的要素k* 2、1、k* 2、2
【数式210】
(S804:密钥发送步骤)
密钥发送部150例如通过通信装置,经由网络秘密地向签名装置400发送将(S801)中输入的属性的集合Γ和(S803)中生成的k* 0、L* 1、j、L* 2、j、k* 2、1、k* 2、2作为要素的签名密钥skΓ。当然,也可以通过其它方法向签名装置400发送签名密钥skΓ
即,在(S801)~(S803)中,密钥生成装置100执行数式211所示的KeyGen算法,生成签名密钥skΓ。然后,在(8504)中,密钥生成装置100向解密装置300发送已生成的签名密钥skΓ
【数式211】
return skΓ.
另外,根据{L* 1、j、L* 2、j}j=1、...、6和矢量y,如数式212那样定义要素k* 1
【数式212】
对签名装置400的功能和动作进行说明。
如图20所示,签名装置400具有签名密钥接收部410、信息输入部420、补充系数计算部430、签名数据生成部440、数据发送部450。并且,签名数据生成部440具有随机数生成部441、签名要素生成部442。
根据图24对Sig算法的处理进行说明。
(S901:签名密钥接收步骤)
签名密钥接收部410例如通过通信装置,经由网络接收密钥生成装置100生成的签名密钥skΓ。并且,签名密钥接收部410接收密钥生成装置100生成的公开参数pk。
(S902:信息输入步骤)
信息输入部420通过输入装置输入访问结构S:=(M、ρ)。并且,信息输入部420通过输入装置输入带签名的消息m。
(S903:张成方案计算步骤)
补充系数计算部430通过处理装置,判定(S902)中输入的访问结构S是否受理(S901)中接收到的签名密钥skΓ中包含的属性集合Γ。
补充系数计算部430在访问结构S受理属性集合Γ的情况下(S903:受理),使处理进入(S904)。另一方面,在访问结构S拒绝属性集合Γ的情况下(S903:拒绝),结束处理。
(S904:补充系数计算步骤)
补充系数计算部430通过处理装置,计算成为数式213的矢量y、成为数式214的I、与I中包含的各整数i有关的常数(补充系数)αi
【数式213】
【数式214】
where Mi is the i-th row of M,
(S905:随机数生成步骤)
随机数生成部441通过处理装置,如数式215所示生成随机数。
【数式215】
(S906:签名要素生成步骤)
签名要素生成部442通过处理装置,如数式216所示生成签名σ的要素s* 0
【数式216】
这里,r* 0是数式217。
【数式217】
并且,签名要素生成部442通过处理装置,关于i=1、...、L的各整数i,如数式218所示生成签名σ的要素s* i
【数式218】
这里,r* i是数式219。
【数式219】
并且,γi和u i:=(ui、i’(i’=1、...、n)是数式220。
【数式220】
γi:=αi,
γi:=0,
γi:=0,
并且,签名要素生成部442通过处理装置,如数式221所示生成签名σ的要素s* L+1
【数式221】
这里,r* L+1是数式222。
【数式222】
(S907:数据发送步骤)
数据发送部450例如通过通信装置,经由网络向验证装置500发送包含要素s* 0、s* i、s* L+1、消息m、访问结构S:=(M、ρ)的签名σ。当然,也可以通过其它方法向验证装置500发送签名σ。
即,在(S901)~(S906)中,签名装置400执行数式223所示的Sig算法,生成签名σ。然后,在(S907)中,签名装置400向验证装置500发送已生成的签名σ。
【数式223-1】
IfacceptsΓ,
then compute
I and{αi}i∈I such that
where Mi is the i-th row of M,
【数式223-2】
对验证装置500的功能和动作进行说明。
如图21所示,验证装置500具有公开参数接收部510、数据接收部520、验证数据生成部530、验证部540。并且,验证数据生成部530具有f矢量生成部531、s矢量生成部532、随机数生成部533、验证要素生成部534。
根据图25对Ver算法的处理进行说明。
(S1001:公开参数接收步骤)
公开参数接收部510例如通过通信装置,经由网络接收密钥生成装置100生成的公开参数pk。
(S1002:签名接收步骤)
数据接收部520例如通过通信装置,经由网络接收签名装置400发送的签名σ。
(S1003:f矢量生成步骤)
f矢量生成部531通过处理装置,如数式224所示随机生成矢量f
【数式224】
(S1004:s矢量生成步骤)
s矢量生成部532通过处理装置,如数式225所示生成矢量s→T:=(s1、...、sL)T
【数式225】
并且,s矢量生成部532通过处理装置,如数式226所示生成值s0
【数式226】
(S1005:随机数生成步骤)
随机数生成部533通过处理装置,如数式227所示生成随机数。
【数式227】
(S1006:验证要素生成步骤)
验证要素生成部534通过处理装置,如数式228所示生成验证密钥的要素c0
【数式228】
并且,验证要素生成部534通过处理装置,关于i=1、...、L的各整数i,如数式229所示生成验证密钥的要素ci
【数式229】
ifρ(i)=vi
并且,验证要素生成部534通过处理装置,如数式230所示生成验证密钥的要素cL+1
【数式230】
(S1007:第1配对运算步骤)
验证部540通过处理装置,计算配对运算e(b0、1、s* 0)。
如果计算配对运算e(b0、1、s* 0)后的结果为值1,则验证部540输出表示签名的验证失败的值0,结束处理。另一方面,如果计算配对运算e(b0、1、s* 0)后的结果不是值1,则验证部540使处理进入S1008。
(S1008:第2配对运算步骤)
验证部540通过处理装置,计算数式231所示的配对运算。
【数式231】
如果计算数式231所示的配对运算后的结果为值1,则验证部540输出表示签名的验证成功的值1。另一方面,如果是其它值,则验证部540输出表示签名的验证失败的值0。
即,在(S1001)~(S1008)中,验证装置500执行数式232所示的Ver算法,对签名σ进行验证。
【数式232】
ifρ(i)=vi,
如上所述,可以构成应用实施方式2中说明的CP-ABE方式的ABS方式。
在实施方式2中说明的CP-ABE方式中能够减小解密密钥skΓ的尺寸,同样,在实施方式4中说明的ABS方式中,能够减小签名密钥skΓ的尺寸。
另外,这里,对应用实施方式2中说明的CP-ABE方式的ABS方式进行了说明。通过对实施方式4中说明的ABS方式应用实施方式3的想法,可以构成应用实施方式3中说明的CP-FE方式的ABS方式。
实施方式5.
在以上的实施方式中,对在对偶矢量空间中实现加密处理的方法进行了说明。在实施方式5中,对在对偶模块中实现加密处理的方法进行说明。
即,在以上的实施方式中,在质数位数q的循环组内实现了加密处理。但是,在使用合成数M如数式233那样表示环R的情况下,在将环R作为系数的模块中,也能够应用上述实施方式中说明的加密处理。
【数式233】
其中,
Z:整数
M:合成数
如果将在以上的实施方式中说明的算法中的Fq变更成R,则能够实现对偶模块中的加密处理。
另外,在以上的实施方式中,设编码部、隐匿部、秘密密钥随机部、密文随机部的维度分别为n、2n、2n、n维,设基B1和基B* 1的维度为6n维。但是不限于此,也可以设隐匿部、秘密密钥随机部、密文随机部的维度分别为不依赖于n的u、w、z维,设基B1和基B* 1的维度为n+u+w+z维。另外,u、w、z是0以上的整数。
并且,在上述说明中,在KP的情况下,使用第1矢量生成密文的要素,使用第2矢量生成解密密钥的要素,以减小密文的尺寸。但是,在KP的情况下,也可以使用第1矢量生成解密密钥的要素,使用第2矢量生成密文的要素,以减小解密密钥的尺寸。
同样,在上述说明中,在CP的情况下,使用第1矢量生成解密密钥的要素,使用第2矢量生成密文的要素,以减小解密密钥的尺寸。但是,在CP的情况下,也可以使用第1矢量生成密文的要素,使用第2矢量生成解密密钥的要素,以减小密文的尺寸。
并且,在以上的实施方式中,设一台密钥生成装置100生成解密密钥。但是,也可以将以上的实施方式的算法与非专利文献3所述的分散多管理者的方式进行组合,通过多个密钥生成装置100生成一个解密密钥。
另外,在以上的实施方式中,根据安全性证明的观点,与i=1、...、L的各整数i有关的ρ(i)可以限定成与彼此不同的识别信息t有关的肯定形的组(t、v)或否定形的组
换言之,在ρ(i)=(t、v)或的情况下,设函数ρ~为ρ~(i)=t即{1、...、L}→{1、...d}的映射。该情况下,ρ~可以限定为单射。另外,ρ(i)是上述访问结构S:=(M、ρ(i))的ρ(i)。
图26是示出实施方式1~5所示的加密系统10的各装置(密钥生成装置100、加密装置200、解密装置300、签名装置400、验证装置500)的硬件结构的例子的图。
加密系统10的各装置是计算机,能够通过程序来实现加密系统10的各装置的各要素。
作为加密系统10的各装置的硬件结构,在总线上连接有运算装置901、外部存储装置902、主存储装置903、通信装置904、输入输出装置905。
运算装置901是执行程序的CPU(Central Processing Unit)等。外部存储装置902例如是ROM(Read Only Memory)、闪存、硬盘装置等。主存储装置903例如是RAM(RandomAccess Memory)等。通信装置904例如是通信板等。输入输出装置905例如是鼠标、键盘、显示装置等。
程序通常存储在外部存储装置902中,在下载到主存储装置903的状态下,依次被运算装置901读入并执行。
程序是实现作为主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150、公开参数接收部210、信息输入部220、加密数据生成部230、数据发送部240、解密密钥接收部310、数据接收部320、张成方案计算部330、补充系数计算部340、解密部350、签名密钥接收部410、信息输入部420、补充系数计算部430、签名数据生成部440、数据发送部450、公开参数接收部510、数据接收部520、验证数据生成部530、验证部540说明的功能的程序。
进而,在外部存储装置902中还存储有操作系统(OS),OS的至少一部分被下载到主存储装置903中,运算装置901执行OS并执行上述程序。
并且,在实施方式1~5的说明中,在主存储装置903中作为文件存储有作为“公开参数pk”、“主秘密密钥sk”、“解密密钥skΓ、skS”、“密文ctS、ctΓ”、“签名密钥skΓ”、“验证密钥”、“访问结构S”、“属性集合Γ”、“消息m”、“签名σ”等说明的信息、数据、信号值、变量值。
另外,图26的结构只不过示出加密系统10的各装置的硬件结构的一例,加密系统10的各装置的硬件结构不限于图26所述的结构,也可以是其它结构。
标号说明
100:密钥生成装置;110:主密钥生成部;111:空间生成部;112:矩阵生成部;113:基生成部;114:密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部;141:f矢量生成部;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:验证部。

Claims (6)

1.一种加密系统,其利用基B和基B*进行加密处理,其特征在于,所述加密系统具有:
发送装置,其生成所述基B中的矢量即发送侧矢量,该发送侧矢量是使用第1矢量和第2矢量中的一个矢量生成的,所述第1矢量由以属性信息xi为根的多项式的系数yj构成,其中,i=1,...,n’,n’为1以上n-1以下的整数,n为2以上的整数,j=1,...,n;所述第2矢量由谓语信息v1的幂乘v1 i构成,其中,i=0,...,n-1;以及
接收装置,其对所述基B*中的矢量即接收侧矢量和所述发送侧矢量进行配对运算,该接收侧矢量是使用所述第1矢量和所述第2矢量中的另一个矢量生成的,
所述基B和所述基B*是使用各行各列至少具有一个常数值0以外的值的稀疏矩阵对基A进行变形而生成的基,
所述第1矢量是数式1所示的矢量,
所述第2矢量是数式2所示的矢量,
【数式1】
由此
【数式2】
其中,数式y:=z表示在y中设定z,或者通过z定义y,或者将y代入z。
2.根据权利要求1所述的加密系统,其特征在于,
所述发送装置是生成密文ctΓ的加密装置,生成包含数式3所示的发送侧矢量c1的密文ctΓ
所述接收装置是对所述密文ctΓ进行解密的解密装置,使用包含数式4所示的接收侧矢量k* i的解密密钥skS对所述密文ctΓ进行解密,
【数式3】
其中,
表示位数q的有限体,
【数式4】
对于i=1,...,L,
如果ρ(i)=vi
如果
其中,
ρ(i)是对矩阵M的第i行附加的标签,矩阵M为L行×r列,
nt是1以上的整数,
其中,表示在A是集合时,从A中均匀选择y。
3.根据权利要求1所述的加密系统,其特征在于,
所述发送装置是生成密文ctS的加密装置,生成包含数式5所示的发送侧矢量ci的密文ctS
所述接收装置是对所述密文ctS进行解密的解密装置,使用包含数式6所示的接收侧矢量k* 1的解密密钥skΓ对所述密文ctS进行解密,
【数式5】
对于i=1,...,L,
如果ρ(i)=vi
如果
其中,
ρ(i)是对矩阵M的第i行附加的标签,矩阵M为L行×r列,
nt是1以上的整数,
表示位数q的有限体,
【数式6】
其中,
其中,表示在A是集合时,从A中均匀选择y。
4.根据权利要求1所述的加密系统,其特征在于,
所述发送装置是生成密文ctΓ的加密装置,生成包含数式7所示的发送侧矢量c1.t的密文ctΓ
所述接收装置是对所述密文ctΓ进行解密的解密装置,使用包含数式8所示的接收侧矢量k* i.t的解密密钥skS对所述密文ctΓ进行解密,
【数式7】
其中,
表示位数q的有限体,
nt是1以上的整数,
由此
【数式8】
对于i=1,...,L,
如果ρ(i)=(t,vi),
如果
其中,
ρ(i)是对矩阵M的第i行附加的标签,矩阵M为L行×r列,
t表示属性范畴的标识符,
其中,表示在A是集合时,从A中均匀选择y。
5.根据权利要求1所述的加密系统,其特征在于,
所述发送装置是生成密文ctS的加密装置,生成包含数式9所示的发送侧矢量ci.t的密文ctS
所述接收装置是对所述密文ctS进行解密的解密装置,使用包含数式10所示的接收侧矢量k* 1.t的解密密钥skΓ对所述密文ctS进行解密,
【数式9】
对于i=1,...,L,
如果ρ(i)=(t,vi),
如果
其中,
ρ(i)是对矩阵M的第i行附加的标签,矩阵M为L行×r列,
t表示属性范畴的标识符,
nt是1以上的整数,
表示位数q的有限体,
【数式10】
其中,
由此
其中,表示在A是集合时,从A中均匀选择y。
6.根据权利要求1所述的加密系统,其特征在于,
所述发送装置是生成签名Sig的签名装置,生成包含数式11所示的发送侧矢量s* i的签名Sig,
所述接收装置是对所述签名Sig进行验证的验证装置,使用包含数式12所示的接收侧矢量ci的验证密钥vk对所述签名Sig进行验证,
【数式11】
其中,
定义为
如果
γi:=αi
如果
如果
γi:=0,
如果
γi:=0,
【数式12】
对于i=1,...,L,
如果ρ(i)=vi
如果
其中,
表示位数q的有限体,
nt是1以上的整数,
ρ(i)是对矩阵M的第i行附加的标签,矩阵M为L行×r列,
αi为与I中包含的各整数i有关的常数,
是组成基的元素,
其中,表示在A是集合时,从A中均匀选择y。
CN201480075256.7A 2014-02-24 2014-02-24 加密系统 Active CN106031080B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/054280 WO2015125293A1 (ja) 2014-02-24 2014-02-24 暗号システム及び暗号プログラム

Publications (2)

Publication Number Publication Date
CN106031080A CN106031080A (zh) 2016-10-12
CN106031080B true CN106031080B (zh) 2019-07-16

Family

ID=53877826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480075256.7A Active CN106031080B (zh) 2014-02-24 2014-02-24 加密系统

Country Status (5)

Country Link
US (1) US9640090B2 (zh)
EP (1) EP3113405B1 (zh)
JP (1) JP6053983B2 (zh)
CN (1) CN106031080B (zh)
WO (1) WO2015125293A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3050011B1 (en) * 2014-05-02 2017-09-20 Barclays Bank Plc. Transaction authentication
EP3226460A1 (en) * 2016-04-01 2017-10-04 Institut Mines-Telecom Secret key estimation methods and devices
CN106600788A (zh) * 2016-12-23 2017-04-26 嘉应学院 一种用于密码锁的实现时间数据安全交互的方法
US20220376901A1 (en) * 2019-07-10 2022-11-24 Nippon Telegraph And Telephone Corporation Cypher system, key generation apparatus, encryption apparatus, decryption apparatus, method and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029415A (ja) * 2012-07-31 2014-02-13 Mitsubishi Electric Corp 暗号システム、暗号方法、暗号プログラム及び復号装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10148415C2 (de) * 2001-09-29 2003-07-31 Univ Braunschweig Tech Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
JP5349261B2 (ja) 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
ES2602052T3 (es) 2009-11-20 2017-02-17 Mitsubishi Electric Corporation Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, método de procesamiento criptográfico y programa de procesamiento criptográfico
JP5325755B2 (ja) 2009-12-11 2013-10-23 株式会社エヌ・ティ・ティ・データ 暗号文復号権限委譲システム、暗号文復号権限委譲方法、暗号文変換装置、復号権限所持者用装置および暗号文変換プログラム
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5693206B2 (ja) 2010-12-22 2015-04-01 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5606344B2 (ja) 2011-01-25 2014-10-15 三菱電機株式会社 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム
JP5513444B2 (ja) 2011-05-31 2014-06-04 日本電信電話株式会社 ベクトル構成システム、方法、装置及びプログラム並びに暗号システム
JP5651609B2 (ja) 2012-01-23 2015-01-14 日本電信電話株式会社 検索可能暗号システム、検索装置、計算装置、及びプログラム
US8559631B1 (en) * 2013-02-09 2013-10-15 Zeutro Llc Systems and methods for efficient decryption of attribute-based encryption

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029415A (ja) * 2012-07-31 2014-02-13 Mitsubishi Electric Corp 暗号システム、暗号方法、暗号プログラム及び復号装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"An Expressive Decentralizing KP-ABE Scheme with Constant-Size Ciphertext";Qinyi Li et al.;《International Journal of Network Security》;20130531;第15卷(第1期);第131-140页
"Expressive Key-Policy Attribute-Based Encryption with Constant-Size Ciphertexts";N Attrapadung et al.;《LECTURE NOTES IN COMPUTER SCIENCE》;20111231;第90-108页

Also Published As

Publication number Publication date
CN106031080A (zh) 2016-10-12
EP3113405B1 (en) 2020-10-28
EP3113405A4 (en) 2017-11-01
JP6053983B2 (ja) 2016-12-27
US20170053566A1 (en) 2017-02-23
EP3113405A1 (en) 2017-01-04
US9640090B2 (en) 2017-05-02
JPWO2015125293A1 (ja) 2017-03-30
WO2015125293A1 (ja) 2015-08-27

Similar Documents

Publication Publication Date Title
CN105850071B (zh) 加密系统、重加密密钥生成装置以及重加密装置
CN104539423B (zh) 一种无双线性对运算的无证书公钥密码体制的实现方法
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
KR101443553B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
EP2947810B1 (en) Encryption system, re-encryption key generation device, re-encryption device, encryption method and encryption program
CN105210133B (zh) 加密系统和加密方法
JP5562475B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム
WO2012011565A1 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
CN106031080B (zh) 加密系统
CN105637799B (zh) 加密系统、加密装置、重加密密钥生成装置以及重加密装置
CN107005406B (zh) 函数型加密系统、主密钥更新装置和存储介质
Nishimaki et al. Verifiably encrypted signatures with short keys based on the decisional linear problem and obfuscation for encrypted VES
Barman et al. An efficient hybrid elliptic curve cryptography system with DNA encoding
JP6087849B2 (ja) 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム
Mishra et al. A survey on ID based and certificateless generalized signcryption scheme

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant