CN105637799A - 加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序 - Google Patents
加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序 Download PDFInfo
- Publication number
- CN105637799A CN105637799A CN201380080158.8A CN201380080158A CN105637799A CN 105637799 A CN105637799 A CN 105637799A CN 201380080158 A CN201380080158 A CN 201380080158A CN 105637799 A CN105637799 A CN 105637799A
- Authority
- CN
- China
- Prior art keywords
- encryption
- information
- key
- decryption key
- encrypted text
- 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 78
- 239000013598 vector Substances 0.000 claims description 90
- 238000000034 method Methods 0.000 claims description 86
- 239000011159 matrix material Substances 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 46
- 239000000758 substrate Substances 0.000 claims description 41
- 239000003795 chemical substances by application Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 169
- 230000006870 function Effects 0.000 description 44
- 238000004364 calculation method Methods 0.000 description 40
- 238000004891 communication Methods 0.000 description 33
- 238000012795 verification Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 25
- 101150047356 dec-1 gene Proteins 0.000 description 16
- 230000015654 memory Effects 0.000 description 11
- 239000000047 product Substances 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 10
- 230000003416 augmentation Effects 0.000 description 9
- 230000001131 transforming effect Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000003121 nonmonotonic effect Effects 0.000 description 7
- 238000007792 addition Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 239000004576 sand Substances 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 235000006629 Prosopis spicigera Nutrition 0.000 description 1
- 240000000037 Prosopis spicigera Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
加密装置200输出加密文ct,该加密文ct包含设定有属性信息x、v中的一个的加密文c和设定有属性信息y、z中的一个的加密文c~。解密装置300输出重加密密钥rk,该重加密密钥rk包含利用转换信息W1、t对设定有属性信息x、v中的另一个的解密密钥k*进行转换而得到的解密密钥k*rk、设定有上述属性信息y、z中的另一个的解密密钥k~*rk、设定相互对应的属性信息x’、v’中的一个来对上述转换信息W1、 t进行加密而得到的加密转换信息ψrk。重加密装置400输出重加密文rct,该重加密文rct包含有在上述加密文ct内设定追加信息Η、Θ中的一个而得到的加密文crenc和在上述重加密密钥rk内设定上述追加信息Η、Θ中的另一个而得到的解密密钥k*renc。
Description
技术领域
本发明涉及函数型加密中的代理人重加密(FunctionalProxyRe-Encryption,FPRE)方式。本发明尤其涉及能够指定用于进行重加密的条件的FPRE(FunctionalConditionalProxyRe-Encryption、FCPRE)方式。
背景技术
代理人重加密(ProxyRe-Encryption、PRE)是没有对加密文进行解密就向其他人委托加密文的解密权限的系统。在非专利文献1中具有涉及基于ID的加密中的PRE(Identity-BasedPRE、IBPRE)方式的记载。在非专利文献2中具有涉及基于属性的加密中的PRE(Attribute-BasedPRE、ABPRE)方式的记载。在非专利文献2所记载的PRE方式中,可对加密文仅指定由逻辑“与”和“非”构成的属性。
在非专利文献3中,具有关于能够指定用于进行重加密的条件的代理人重加密(ConditionalProxyRe-Encryption,CPRE)方式的记载。
在专利文献1中,具有涉及函数型加密(FunctionalEncryption、FE)方式的记载。在非专利文献4中,具有涉及FPRE方式的记载。
现有技术文献
专利文献
专利文献1:日本特开2012-133214号公报
非专利文献
非专利文献1:M.Green,andG.Ateniese,Identity-BasedProxyRe-encryption.InAppliedCryptographyandNetworkSecurity.volume4521ofLNCS,pp288-306,2007.
非专利文献2:XiaohuiLiang,ZhenfuCao,HuangLin,JunShao.Attributebasedproxyre-encryptionwithdelegatingcapabilities.ASIACCS2009pp.276-286.
非专利文献3:J.Weng,Y.YangQ.Tang,R.H.Deng,andF.Bao,“EfficientConditionalProxyRe-EncryptionwithChosen-CiphertextSecurity”inISC2009.
非专利文献4:YutakakawaiandKatuyukiTakashima,Fully-AnonymousFunctionalProxy-Re-Encryption.CryptologyePrintArchive:Report2013/318
非专利文献5:Okamoto,TTakashima,K.:DecentralizedAttribute-BasedSignatures.ePrinthttp://eprint.iacr.org/2011/701
非专利文献6:Okamoto,TTakashima,K.:FullySecureUnboundedInner-ProductandAttribute-BasedEncryption.ePrinthttp://eprint.iacr.org/2012/671
非专利文献7:Okamoto,T.,Takashima,K.:AchievingShortCiphertextsorShortSecret-KeysforAdaptivelySecureGeneralInner-ProductEncryption.CANS2011,LNCS,vol.7092,pp.138-159SpringerHeidelberg(2011).
发明内容
发明要解决的课题
因为非专利文献3所记载的CPRE方式不是函数型加密中的方式,所以,对解密者的指定或重加密条件的指定具有制约,不能灵活地应对。
非专利文献4所记载的FPRE方式可利用某接收者生成的重加密密钥,对该接收者能解密的全部加密文进行重加密,不能指定接收者进行重加密的加密文。
本发明的目的是在生成重加密密钥时,可灵活地指定能够重加密的加密文的条件。
解决问题的手段
本发明的加密系统实现以下这样的加密方式中的代理人重加密功能,该加密方式是在两个信息相互对应的情况下,能够利用设定有一个信息的解密密钥对设定有另一个信息的加密文进行解密,其特征在于,该加密系统具备:加密装置,其输出加密文ct,该加密文ct包含设定有相互对应的属性信息x、v中的一个的加密文c和设定有相互对应的属性信息y、z中的一个的加密文c~;重加密密钥生成装置,其取得设定有所述属性信息x、v中的另一个的解密密钥k*,输出重加密密钥rk,该重加密密钥rk包含利用转换信息W1对所取得的解密密钥k*进行转换而得到的解密密钥k*rk、设定有所述属性信息y、z中的另一个的解密密钥k~*rk、设定有相互对应的属性信息x’、v’中的一个而对所述转换信息W1进行加密后的加密转换信息ψrk;以及重加密装置,其输出重加密文rct,该重加密文rct包含有在所述加密文ct内设定相互对应的追加信息Η、Θ中的一个而得到的加密文crenc、在所述重加密密钥rk内设定所述追加信息Η、Θ中的另一个而得到的解密密钥k*renc。
发明效果
在本发明的加密系统中,加密装置不仅仅设定加密文ct的解密条件(属性信息x、v中的一个属性信息),还能够设定用于设定加密文ct的可重加密的条件的信息(属性信息y、z中的一个属性信息),来生成加密文ct。另外,重加密密钥生成装置不仅仅设定重加密文rct的解密条件(属性信息x’、v’中的一个属性信息),还能够设定可重加密的条件(属性信息y、z中的另一个属性信息),来生成重加密密钥rk。另外,没有关于所设定的属性信息的制约,可灵活地指定解密条件或重加密的条件。
附图说明
图1是矩阵M^的说明图。
图2是矩阵Mδ的说明图。
图3是s0的说明图。
图4是s→T的说明图。
图5是执行CP-FCPRE方式的加密处理系统10的结构图。
图6是示出密钥生成装置100的功能的功能框图。
图7是示出加密装置200的功能的功能框图。
图8是示出解密装置300的功能的功能框图。
图9是示出重加密装置400的功能的功能框图。
图10是示出重加密文解密装置500的功能的功能框图。
图11是示出Setup算法的处理的流程图。
图12是示出KG算法的处理的流程图。
图13是示出Enc算法的处理的流程图。
图14是示出RKG算法的处理的流程图。
图15是示出REnc算法的处理的流程图。
图16是示出Dec1算法的处理的流程图。
图17是示出Dec2算法的处理的流程图。
图18是执行KP-FCPRE方式的加密处理系统10的结构图。
图19是示出密钥生成装置100的功能的功能框图。
图20是示出加密装置200的功能的功能框图。
图21是示出解密装置300的功能的功能框图。
图22是示出重加密装置400的功能的功能框图。
图23是示出重加密文解密装置500的功能的功能框图。
图24是示出KG算法的处理的流程图。
图25是示出Enc算法的处理的流程图。
图26是示出RKG算法的处理的流程图。
图27是示出REnc算法的处理的流程图。
图28是示出Dec1算法的处理的流程图。
图29是示出Dec2算法的处理的流程图。
图30是示出密钥生成装置100、加密装置200、解密装置300、重加密装置400、重加密文解密装置500的硬件结构的一例的图。
具体实施方式
以下,根据图来说明发明的实施方式。
在以下的说明中,处理装置是后述的CPU911等。存储装置是后述的ROM913、RAM914、磁盘920等。通信装置是后述的通信板915等。输入装置是后述的键盘902、通信板915等。即,处理装置、存储装置、通信装置、输入装置是硬件。
对以下说明中的记法进行说明。
在A是随机的变量或分布时,式101表示根据A的分布而从A中随机选择y。即,在式101中,y是随机数。
【式101】
在A是集合时,式102表示均匀地从A中选择y。即,在式102中,y是均匀随机数。
【式102】
式103表示y是利用z进行定义的集合或者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所示的两个矢量x→与v→的式109所示的内积。
【式107】
【式108】
【式109】
XT表示矩阵X的转置矩阵。
针对式110所示的基底B和基底B*,是式111。
【式110】
【式111】
e→ j表示式112所示的标准基底矢量。
【式112】
对于j=1,...,n,
另外,在以下的说明中,当利用下标或上标表示Vt、nt、wt、zt、nu、wu、zu时,该Vt、nt、wt、zt、nu、wu、zu表示Vt、nt、wt、zt、nu、wu、zu。同样,当用上标表示δi、j时,该δi、j表示δi、j。
另外,当在下标文字或上标文字上标注表示矢量的→时,该→表示在下标文字或上标文字上用上标进行标注的情况。另外,当对下标文字或上标文字标注~时,该~表示在下标文字或上标文字上用上标标注的情况。
实施方式1.
在该实施方式中,说明作为实现FCPRE方式的基础的概念,还说明该实施方式的FCPRE方式的结构。
第1,简单地说明FCPRE。
第2,说明用于实现FCPRE方式的空间即双对配对矢量空间(DualPairingVectorSpaces,DPVS)这样的具有丰富的数学构造的空间。
第3,说明用于实现FCPRE方式的概念。这里,说明张成方案、属性矢量的内积和访问构造、秘密分散方式(秘密共享方式)。
第4,说明该实施方式的FCPRE方式。在该实施方式中,说明加密文策略的FCPRE方式(Ciphertext-PolicyFCPRE、CP-FCPRE)方式。因此,首先说明CP-FCPRE方式的基本结构。接着,说明实现该CP-FCPRE方式的加密系统10的基本结构。接着,说明为了实现该CP-FCPRE方式而采用的部件。然后,详细地说明该实施方式的CP-FCPRE方式以及加密系统10。
<第1.FCPRE>
首先,说明FPRE。FPRE是使加密密钥(ek)、解密密钥(dk)与重加密密钥(rk)的关系进一步高度化并且变得灵活的代理人重加密方式。
FPRE具有以下的两个特征。
关于第一个特征,加密密钥和解密密钥分别设定了属性信息x和属性信息v。然后,针对关系R,仅在R(x,v)成立的情况下,解密密钥dkv能够对由加密密钥ekx加密的加密文进行解密。
关于第二个特征,除了对加密密钥和解密密钥分别设定属性信息x和属性信息v之外,重加密密钥还设定了两个属性信息(x’,v)。并且,仅在R(x,v)成立的情况下,重加密密钥rk(x’,v)能够将由加密密钥ekx加密的加密文变更为可利用R(x’,v’)成立的解密密钥dkv’解密的加密文即由加密密钥ekx’加密的加密文。
仅在关系R是等号关系的情况即x=v的情况下,当R(x,v)成立时,PRE方式是IDPRE。
作为比IDPRE一般化的PRE,具有ABPRE。在ABPRE中,对加密密钥和解密密钥设定的属性信息是属性信息的组。例如,对加密密钥和解密密钥设定的属性信息分别是X:=(x1,...,xd)和V:=(v1,...,vd)。
关于属性信息的成分,对访问结构S输入每个组件的等号关系(例如,{xt=vt}t∈{1,...,d})。然后,仅在访问结构S受理输入的情况下,R(X,V)成立。即,可利用解密密钥来解密由加密密钥加密的加密文。非专利文献2提出了在加密文中填入访问结构S的加密文策略的PRE方式。此时的访问结构是仅由逻辑“与”和“非”构成的构造。
接着,说明FCPRE。FCPRE是能够指定用于重加密的条件的FPRE。
在FCPRE中,除了对加密密钥和解密密钥分别设定属性信息x和属性信息v以及对重加密密钥设定两个属性信息(x’,v)之外,还对加密文和重加密密钥分别设定属性信息z和属性信息y。然后,针对关系R,仅在R(x,v)成立且R(z,y)成立的情况下,能够将由加密密钥ekx加密的加密文变更为可利用R(x’,v’)成立的解密密钥dkv’解密的加密文即由加密密钥ekx’加密的加密文。
此外,具有不存在加密文的转发功能即不存在重加密密钥的通常的FE。在FE中,不存在重加密密钥生成处理、重加密处理,加密密钥和解密密钥分别设定有属性信息x和属性信息v。并且,针对关系R,仅在R(x,v)成立的情况下,解密密钥dkv:=(dk,v)能够对由加密密钥ekx:=(ek,x)加密的加密文进行解密。
<第2.双对配对矢量空间>
首先,说明对称双线形配对组。
对称双线形配对组(q,G,GT,g,e)是质数q、位数q的循环加法组G、位数q的循环乘法组GT、g≠0∈G与可利用多项式时间进行计算的非退化双线形配对(NondegenerateBilinearPairing)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)的值。
此外,这里,说明利用上述的对称双线形配对组来构成双对配对矢量空间的情况。此外,也可以利用非对称双线形配对组来构成双对配对矢量空间。容易将以下的说明应用到利用非对称双线形配对组构成双对配对矢量空间的情况。
<第3.用于实现FCPRE方式的概念>
<第3-1.张成方案>
图1是矩阵M^的说明图。
将{p1,...,pn}作为变量的集合。M^:=(M,ρ)是带标签的矩阵。这里,矩阵M是Fq上的(L行×r列)的矩阵。另外,ρ是对矩阵M的各个行附加的标签,与{p1,...,pn,¬p1,...,¬pn}中的任意一个常量对应。此外,对M的全部行附加的标签ρi(i=1,...,L)与任意一个常量对应。即,ρ:{1,...,L}→{p1,...,pn,¬p1,...,¬pn}。
针对全部的输入列δ∈{0,1}n,定义矩阵M的部分矩阵Mδ。矩阵Mδ是由通过输入列δ使值“1”与标签ρ对应的矩阵M的行构成的部分矩阵。即,矩阵Mδ是由与使得δi=1的pi对应的矩阵M的行和与使得δi=0的¬pi对应的矩阵M的行构成的部分矩阵。
图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对应。
这里,输入列δ∈{0,1}7是δ1=1、δ2=0、δ3=1、δ4=0、δ5=0、δ6=1、δ7=1。在此情况下,由与用虚线包围的常量(p1、p3、p6、p7、¬p2、¬p4、¬p5)对应的矩阵M的行构成的部分矩阵是矩阵Mδ。即,由矩阵M的第1行(M1)、第2行(M2)、第4行(M4)构成的部分矩阵是矩阵Mδ。
换言之,在映射γ:{1,...,L}→{0,1}是[ρ(j)=pi]∧[δi=1]或[ρ(j)=¬pi]∧[δi=0]的情况下,γ(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}对应的情况下,张成方案被称为单调。另一方面,在标签ρ与常量{p1,...,pn,¬p1,...,¬pn}对应的情况下,张成方案被称为非单调。这里,假设张成方案为非单调。并且,采用非单调张成方案,构成访问结构(非单调访问结构)。所谓访问结构,简单说是进行对加密的访问控制。即,进行是否能够解密加密文的控制。
后面详细地进行叙述,由于张成方案不是单调而是非单调,从而利用张成方案构成的FCPRE方式的利用范围变广。
<第3-2.属性信息的内积和访问结构>
这里,采用属性信息的内积来计算上述的映射γ(j)。即,采用属性信息的内积来决定在矩阵Mδ中包含矩阵M的哪行。
是部分全集合(sub-universe),是属性的集合。并且,Ut分别包含部分全集合的识别信息(t)和n维矢量(v→)。即,Ut是(t,v→)。这里,是t∈{1,...,d},是v→∈Fq n。
Ut:=(t,v→)成为张成方案M^:=(M,ρ)中的变量p。即,是p:=(t,v→)。并且,将变量(p:=(t,v→),(t,v’→),...)的张成方案M^:=(M,ρ)作为访问结构S。
即,访问结构S:=(M,ρ),ρ:{1,...,L}→{(t,v→),(t,v’→),...,¬(t,v→),¬(t,v’→),...}。
接着,将Γ作为属性的集合。即,Γ:={(t,x→ t)|x→ t∈Fq n,1≤t≤d}。
当对访问结构S赋予Γ时,如以下这样地定义与张成方案M^:=(M,ρ)相对的映射γ:{1,...,L}→{0,1}。关于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→与x→的内积,计算映射γ。并且,如上所述,利用映射γ,决定在矩阵Mδ中包含矩阵M的哪行。即,利用属性信息v→与x→的内积,决定在矩阵Mδ中包含矩阵M的哪行,仅在1→∈span<(Mi)γ(i)=1>的情况下,访问结构S:=(M,ρ)受理Γ。
<第3-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的尺寸中的多项式时间进行计算。
如上所述,以下的实施方式的FCPRE方式在张成方案中应用内积述语和秘密分散方式来构成访问结构。因此,可通过设计张成方案中的矩阵M或内积述语中的属性信息x以及属性信息v(述语信息),来自由地设计访问控制。即,能够以非常高的自由度进行访问控制的设计。此外,矩阵M的设计相当于秘密分散方式的阈值等的条件设计。
例如,上述的基于属性的加密方式在以下实施方式的FCPRE方式的访问结构中,相当于将内积述语的设计限定为某个条件的情况。即,基于属性的加密方式中的访问结构与以下实施方式的FCPRE方式中的访问结构相比,没有内积述语中的属性信息x以及属性信息v(述语信息)的设计自由度,相应地,访问控制的设计的自由度较低。此外,具体地说,基于属性的加密方式相当于将属性信息{x→ t}t∈{1、...、d}与{v→ t}t∈{1、...、d}限定为与等号关系相对的2维矢量例如x→ t:=(1,xt)与v→ t:=(vt,-1)的情况。
另外,内积述语加密方式中的PRE在以下实施方式的FCPRE方式的访问结构中,相当于将张成方案中的矩阵M的设计限定为某个条件的情况。即,内积述语加密方式中的访问结构与以下实施方式的FCPRE方式中的访问结构相比,没有张成方案中的矩阵M的设计自由度,相应地,访问控制的设计的自由度较低。此外,具体地说,内积述语加密方式是将秘密分散方式限定为1-out-of-1(或者d-out-of-d)的情况。
尤其,以下实施方式的FCPRE方式中的访问结构构成采用非单调张成方案的非单调访问结构。因此,访问控制的设计的自由度更高。
具体地说,因为在非单调张成方案中包含否定形的常量(¬p),所以能够设定否定形的条件。例如,在第1公司中,具有A部、B部、C部和D部这4个岗位。这里,希望进行仅能够访问(能够解密)第1公司的B部以外的岗位所属的用户这样的访问控制。在此情况下,当不能设定否定形的条件时,需要设定“属于第1公司的A部、C部和D部中的任意部”这样的条件。另一方面,当能够设定否定形的条件时,可设定“是第1公司的员工且属于B部以外”这样的条件。即,由于能够设定否定形的条件,从而能够进行自然的条件设定。此外,可知,这里,虽然岗位的个数较少,但在岗位的个数较多的情况下也非常有效。
<第4.FCPRE方式的基本结构>
<第4-1.CP-FCPRE方式的基本结构>
简单说明CP-FCPRE方式的结构。此外,所谓CP(加密文策略),表示在加密文中填入Policy的情况即填入访问结构的情况。
CP-FCPRE方式具备Setup、KG、Enc、RKG、REnc、Dec1、Dec2这7个算法。
(Setup)
Setup算法是将安全参数λ和属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、zd)作为输入、输出公开参数pk和主密钥sk的概率性算法。
(KG)
KG算法是将属性集合Γ:={(t、x→ t)|x→ t∈Fq nt、1≤t≤d}、公开参数pk和主密钥sk作为输入、输出解密密钥skΓ的概率性算法。
(Enc)
Enc算法是将消息m、访问结构S=(M、ρ)、S~=(M~、ρ~)和公开参数pk作为输入、输出加密文ctS的概率性算法。
(RKG)
RKG算法是将解密密钥skΓ、访问结构S’:=(M’、ρ’)、属性集合Γ~和公开参数pk作为输入、输出重加密密钥rkΓ、S’的概率性算法。
(REnc)
REnc算法是将加密文ctS、重加密密钥rkΓ、S’和公开参数pk作为输入、输出重加密文rctS’的概率性算法。
(Dec1)
Dec1算法是将重加密文rctS’、解密密钥skΓ’和公开参数pk作为输入、输出消息m或识别信息⊥的算法。
(Dec2)
Dec2算法是将加密文ctS、解密密钥skΓ和公开参数pk作为输入、输出消息m或识别信息⊥的算法。
<第4-2.加密系统10>
对执行CP-FCPRE方式的算法的加密系统10进行说明。
图5是执行CP-FCPRE方式的加密系统10的结构图。
加密系统10具备密钥生成装置100、加密装置200、解密装置300(重加密密钥生成装置)、重加密装置400、重加密文解密装置500。
密钥生成装置100将安全参数λ和属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、zd)作为输入来执行Setup算法,生成公开参数pk和主密钥sk。
然后,密钥生成装置100将公开参数pk进行公开。另外,密钥生成装置100将属性集合Γ作为输入来执行KG算法,生成解密密钥skΓ,秘密地发送给解密装置300。另外,密钥生成装置100将属性集合Γ’作为输入来执行KG算法,生成解密密钥skΓ’,秘密地发送给重加密文解密装置500。
加密装置200将消息m、访问结构S、S~和公开参数pk作为输入来执行Enc算法,生成加密文ctS。加密装置200向重加密装置400发送加密文ctS。
解密装置300将解密密钥skΓ、访问结构S’、属性集合Γ~和公开参数pk作为输入来执行RKG算法,生成重加密密钥rkΓ、S’。解密装置300将重加密密钥rkΓ、S’秘密地发送给重加密装置400。
另外,解密装置300将公开参数pk、解密密钥skΓ和加密文ctS作为输入来执行Dec2算法,输出消息m或识别信息⊥。
重加密装置400将重加密密钥rkΓ、S’、加密文ctS和公开参数pk作为输入,来执行REnc算法,生成重加密文rctS’。重加密装置400向重加密文解密装置500发送重加密文rctS’。
重加密文解密装置500将解密密钥skΓ’、重加密文rctS’和公开参数pk作为输入,来执行Dec1算法,输出消息m或识别信息⊥。
<第4-3.为了实现CP-FCPRE方式而采用的部件>
为了实现CP-FCPRE方式,采用加密文策略的函数型加密(CP-FE)和一次性签名。因为都是公知的技术,所以这里简单地说明在以下的说明中采用的方式。此外,关于CP-FE方式,在专利文献1中记载了一例。
CP-FE方式具备SetupCP-FE,KGCP-FE,EncCP-FE,DecCP-FE这4个算法。
(SetupCP-FE)
SetupCP-FE算法是将安全参数λ和属性的格式n→:=(d;n1、...、nd)作为输入、输出公开参数pkCP-FE和主密钥skCP-FE的概率性算法。
(KGCP-FE)
KGCP-FE算法是将属性集合Γ:={(t、x→ t)|x→ t∈Fq nt、1≤t≤d}、公开参数pkCP-FE和主密钥skCP-FE作为输入、输出解密密钥skΓ CP-FE的概率性算法。
(EncCP-FE)
EncCP-FE算法是将消息m、访问结构S=(M、ρ)和公开参数pkCP-FE作为输入、输出加密文ψ的概率性算法。
(DecCP-FE)
DecCP-FE算法是将加密文ψ、解密密钥skΓ CP-FE和公开参数pkCP-FE作为输入、输出消息m或识别信息⊥的算法。
一次性签名方式具备SigKG、Sig、Ver这3个算法。
(SigKG)
SigKG算法是将安全参数λ作为输入、输出签名密钥sigk和验证密钥verk的概率性算法。
(Sig)
Sig算法是将签名密钥sigk和消息m作为输入、输出签名S的概率性算法。
(Ver)
Ver算法是这样的算法:将验证密钥verk、消息m和签名S作为输入,当签名S相对于验证密钥verk和消息m是合法时,输出1,当不是合法时,输出0。
<第4-4.CP-FCPRE方式以及加密处理系统10的详细内容>
根据图6至图17,说明CP-FCPRE方式以及执行CP-FCPRE方式的加密处理系统10的功能和动作。
图6是示出密钥生成装置100的功能的功能框图。图7是示出加密装置200的功能的功能框图。图8是示出解密装置300的功能的功能框图。图9是示出重加密装置400的功能的功能框图。图10是示出重加密文解密装置500的功能的功能框图。
图11和图12是示出密钥生成装置100的动作的流程图。此外,图11是示出Setup算法的处理的流程图,图12是示出KG算法的处理的流程图。图13是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图14是示出解密装置300的动作的流程图,是示出RKG算法的处理的流程图。图15是示出重加密装置400的动作的流程图,是示出REnc算法的处理的流程图。图16是示出重加密文解密装置500的动作的流程图,是示出Dec1算法的处理的流程图。图17是示出解密装置300的动作的流程图,是示出Dec2算法的处理的流程图。
对密钥生成装置100的功能和动作进行说明。
如图6所示,密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150(密钥输出部)。另外,解密密钥生成部140具备CP-FE密钥生成部141、随机数生成部142、解密密钥k*生成部143。
首先,根据图11来说明Setup算法的处理。
(S101:标准正交基底生成步骤)
主密钥生成部110利用处理装置来计算式122-1、式122-2,生成参数paramn→、基底B0以及基底B* 0、基底Bt以及基底B* t和基底Ht以及H* t。
【式122-1】
(1)input1λ,
(2)
(3)N0:=9,Nt:=nt+wt+zt+1对于t=1,..,d,
gT:=e(g,g)ψ
关于t=0、...、d的各个整数t,执行(4)至(10)的处理,
(4)
(5)
(6)
(7)
【式122-2】
(8)
(9)
(10)
(11)
即,主密钥生成部110执行以下的处理。
(1)主密钥生成部110利用输入装置来输入安全参数λ(1λ)和属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、zd)。这里,d是1以上的整数,关于t=1、...、d的各个整数t,nt是1以上的整数,wt、zt是0以上的整数。
(2)主密钥生成部110利用处理装置,将在(1)中输入的安全参数λ作为输入来执行算法Gbpg,生成双线形配对组的参数paramG:=(q、G、GT、g、e)的值。
(3)主密钥生成部110对N0设定9,关于t=1、...、d的各个整数t,对Nt设定nt+wt+zt+1。另外,主密钥生成部110生成随机数ψ。另外,主密钥生成部110对gT设定e(G、G)ψ。
接着,主密钥生成部110关于t=0、...、d的各个整数t,执行以下的(4)至(10)的处理。
(4)主密钥生成部110将在(1)中输入的安全参数λ和在(3)中设定的Nt和在(2)中生成的paramG:=(q、G、GT、g、e)的值作为输入来执行算法Gdpvs,生成双对配对矢量空间的参数paramVt:=(q、Vt、GT、At、e)的值。
(5)主密钥生成部110将在(3)中设定的Nt和Fq作为输入,随机地生成线形转换Xt:=(χt、i、j)i、j。此外,GL是GeneralLinear的缩写。即,GL是一般线形组,是矩阵式不为0的方矩阵的集合,是关于乘法的组。另外,(χt、i、j)i、j是与矩阵χt、i、j的后缀i、j相关的矩阵的意思。这里,(χt、i、j)i、j是i、j=1、...、Nt。
(6)主密钥生成部110根据随机数ψ和线形转换Xt,生成(νt、i、j)i、j:=ψ·(Xt T)-1。此外,(νt、i、j)i、j也与(χt、i、j)i、j同样是与矩阵νt、i、j的后缀i、j相关的矩阵这样的意思。这里,(νt、i、j)i、j是i、j=1、...、Nt。
(7)主密钥生成部110根据在(5)中生成的线形转换Xt,根据在(4)中生成的标准基底At生成基底Bt。主密钥生成部110根据在(6)中生成的(νt、i、j)i、j,根据在(4)中生成的标准基底At生成基底b* t。
(8)主密钥生成部110与(5)同样地将在(3)中设定的Nt和Fq作为输入,随机地生成线形转换X’t:=(χ’t、i、j)i、j。
(9)主密钥生成部110与(6)同样地根据随机数ψ和线形转换X’t,生成(ν’t、i、j)i、j:=ψ·(X’t T)-1。
(10)主密钥生成部110基于在(8)中生成的线形转换X’t,根据在(4)中生成的基底At生成基底Ht。主密钥生成部110基于在(9)中生成的(ν’t、i、j)i、j,根据在(4)中生成的基底At生成基底H* t。
(11)主密钥生成部110对paramn→设定在(4)中生成的{paramVt}t=0、...、d和gT。
(S102:CP-FE主密钥生成步骤)
主密钥生成部110利用处理装置来计算式123,生成函数型加密的公开参数pkCP-FE和主密钥skCP-FE。
【式123】
(S103:公开参数生成步骤)
主密钥生成部110利用处理装置如式124所示地生成基底B0的部分基底B^0、基底Bt的部分基底B^t、基底Ht的部分基底H^u、基底B* 0的部分基底B^* 0、基底b* t的部分基底B^* t、基底H* t的部分基底H^* u。
【式124】
对于't=1,…,d,
对于'u=1,...,d,
对于′t=1,...,d,
对于'u=1,...,d
主密钥生成部110组合公开参数pkCP-FE、安全参数λ、paramn→、部分基底B^0、B^t、H^u、B^* 0、B^* t、H^* u,作为公开参数pk。
(S104:主密钥生成步骤)
主密钥生成部110将主密钥skCP-FE、基底矢量b* 0,1和式125所示的基底H*u的一部分基底矢量作为主密钥sk。
【式125】
(S105:主密钥存储步骤)
主密钥存储部120将在(S103)中生成的公开参数pk存储于存储装置内。另外,主密钥存储部120将在(S104)中生成的主密钥sk存储于存储装置内。
即,在(S101)至(S104)中,密钥生成装置100执行式126-1、式126-2所示的Setup算法,来生成公开参数pk和主密钥sk。然后,在(S105)中,密钥生成装置100将所生成的公开参数pk和主密钥sk存储于存储装置内。
此外,公开参数例如经由网络进行公开,成为加密装置200、解密装置300、重加密装置400、重加密文解密装置500可取得的状态。
【式126-1】
N0:=9,Nt:=nt+wt+zt+1fort=1,...,d,
gT:=e(g,g)ψ,
对于t=0,...,d,
【式126-2】
接着,根据图12,来说明KG算法的处理。
(S201:信息输入步骤)
信息输入部130利用输入装置来输入属性集合Γ:={(t、x→ t:=(xt、1、...、xt、nt∈Fq nt\{0→}))|1≤t≤d}。此外,t可以不是1以上d以下的全部整数,而是1以上d以下的至少一部分整数。另外,属性集合Γ例如设定有解密密钥skΓ的使用者的属性信息。
(S202:CP-FE解密密钥生成步骤)
CP-FE密钥生成部141利用处理装置来计算式127,来生成函数型加密的解密密钥skΓ CP-FE。
【式127】
(S203:随机数生成步骤)
随机数生成部142利用处理装置如式128所示地生成随机数。
【式128】
对于
对于u=1,...,d
(S204:解密密钥k*生成步骤)
解密密钥k*生成部143利用处理装置如式129所示地生成解密密钥k* 0。
【式129】
此外,相对于式110所示的基底B和基底B*,是式111。因此,式129表示以下的情况:设定1作为基底B* 0的基底矢量b* 0,1的系数,设定δ作为基底矢量b* 0,2的系数,设定0作为基底矢量b* 0,3、...、b* 0,6的系数,设定作为基底矢量b* 0,7、b* 0,8的系数,设定0作为基底矢量b* 0,9的系数。
另外,解密密钥k*生成部143利用处理装置,关于属性集合Γ所包含的各个整数t,如式130所示地生成解密密钥k* t。
【式130】
对于
此外,式130表示以下的情况:设定δxt,1、...、δxt,nt作为基底B* t的基底矢量b* t,1、...、b* t,nt的系数,设定0作为基底矢量b* t、nt+1、...、b* t,nt+wt的系数,设定 作为基底矢量b* t,nt+wt+1、...、b* t,nt+wt+zt的系数,设定0作为基底矢量b* t,nt+wt+zt+1的系数。
另外,解密密钥k*生成部143利用处理装置,关于u=1、...、d和i=1、...、nu的各个整数u、i,如式131所示地生成解密密钥k~* u、i。
【式131】
对于u=1,…,d;i=1,…,nu
(S205:密钥发送步骤)
密钥发送部150例如通过通信装置经由网络秘密地向解密装置300发送将属性集合Γ、函数型加密的解密密钥skΓ CP-FE和解密密钥k* 0、k* t、k~* u、i作为要素的解密密钥skΓ。当然,也可以利用其它方法向解密装置300发送解密密钥skΓ。
即,在(S201)至(S204)中,密钥生成装置100执行式132所示的KG算法,来生成解密密钥skΓ。然后,在(S205)中,密钥生成装置100向解密装置300发送解密密钥skΓ。
【式132】
对于u=1,...,d,
对于
对于u=1,...,d;;i=1,...,nu,
此外,密钥生成装置100在(S201)中输入设定有解密密钥skΓ’的使用者的属性信息的属性集合Γ’:={(t、x’→ t:=(x’t、1、...、x’t、nt∈Fq nt\{0→}))|1≤t≤d},来执行KG算法,生成解密密钥skΓ’。并且,密钥生成装置100向重加密文解密装置500发送解密密钥skΓ’:=(Γ’、skΓ’ CP-FE、k’* 0、{k’* t}(t、x→t)∈Γ、{k’~* t、i}u=1、...、d;i=1、...、nu)。
对加密装置200的功能和动作进行说明。
如图7所示,加密装置200具备公开参数接收部210、信息输入部220、签名处理部230、加密部240、加密文发送部250(加密文输出部)。另外,加密部240具备f矢量生成部241、s矢量生成部242、随机数生成部243、加密文c生成部244。
根据图13,说明Enc算法的处理。
(S301:公开参数接收步骤)
公开参数接收部210例如通过通信装置经由网络来接收密钥生成装置100所生成的公开参数pk。
(S302:信息输入步骤)
信息输入部220利用输入装置来输入访问结构S:=(M、ρ)、S~:=(M~、ρ~)。此外,访问结构S、S~根据希望实现的系统的条件进行设定。另外,访问结构S的ρ例如设定有可对加密文ctS进行解密的用户的属性信息。另外,访问结构S~的ρ~例如设定有用于设定可重加密的条件的信息。这里,ρ(i)=(t、v→ i:=(vi、1、...、vi、nt)∈Fq nt\{0→})(vi、nt≠0)。另外,是ρ~(i)=(u、z→i:=(zi、1、...、zi、nu)∈Fq nu\{0→})(zi、nu≠0)。此外,M是L行r列的矩阵,M~是L~行r~列的矩阵。
另外,信息输入部220利用输入装置输入向解密装置300发送的消息m。
(S303:签名密钥生成步骤)
签名处理部230利用处理装置来计算式133,生成一次性签名的签名密钥sigk和验证密钥verk。
【式133】
(S304:f矢量生成步骤)
f矢量生成部241利用处理装置如式134所示地随机生成矢量f→、f~→。
【式134】
(S305:s矢量生成步骤)
s矢量生成部242利用处理装置如式135所示地生成矢量s→T、s~→T。
【式135】
另外,s矢量生成部242利用处理装置如式136所示地生成值s0、s~ 0。
【式136】
(S306:随机数生成步骤)
随机数生成部243利用处理装置如式137所示地生成随机数。
【式137】
对于i=1,...,L,
对于
(S307:加密文c生成步骤)
加密文c生成部244利用处理装置如式138所示地生成加密文c0。
【式138】
另外,加密文c生成部244利用处理装置,关于i=1、...、L的各个整数i如式139所示地生成加密文ci。
【式139】
对于i=1,...,L,
如果
如果
另外,加密文c生成部244利用处理装置如式140所示地生成加密文cT。
【式140】
另外,加密文c生成部244利用处理装置如式141所示地生成加密文c~ 0。
【式141】
另外,加密文c生成部244利用处理装置,关于j=1、...、L~的各个整数j,如式142所示地生成加密文c~ j。
【式142】
对于
如果
如果
另外,加密文c生成部244利用处理装置如式143所示地生成加密文c~ T。
【式143】
(S308:签名生成步骤)
签名处理部230利用处理装置来计算式144,生成与加密文ctS的要素C相应的签名Sig。
【式144】
(S309:加密文发送步骤)
加密文发送部250例如通过通信装置经由网络向解密装置300发送将访问结构S、S~、加密文c0、c1、...、cL、cT、c~ 0、c~ 1、...、c~ L~、c~ T、验证密钥verk和签名Sig作为要素的加密文ctS。当然,也可以利用其它方法向解密装置300发送加密文ctS。
即,在(S301)至(S308)中,加密装置200执行式145-1、式145-2所示的Enc算法,生成加密文ctS。并且,在(S309)中,加密装置200向解密装置300发送所生成的加密文ctS。
【式145-1】
【式145-2】
对于i=1,...,L,
如果
如果
对于
如果
如果
对解密装置300的功能和动作进行说明。
如图8所示,解密装置300具备解密密钥接收部310、信息输入部320、重加密密钥生成部330、重加密密钥发送部340(重加密密钥输出部)、加密文接收部350、验证部360、增补系数计算部370、配对运算部380、消息计算部390。另外,重加密密钥生成部330具备随机数生成部331、转换信息W1生成部332、转换信息W1加密部333、解密密钥k*rk生成部334、转换部335。另外,验证部360具备张成方案计算部361、签名验证部362。
这里,根据图14来说明RKG算法的处理。后面叙述Dec2算法。
(S401:解密密钥接收步骤)
解密密钥接收部310例如利用通信装置经由网络来接收从密钥生成装置100发送的解密密钥skΓ。另外,解密密钥接收部310接收密钥生成装置100所生成的公开参数pk。
(S402:信息输入步骤)
信息输入部320利用输入装置来输入访问结构S’:=(M’、ρ’)。此外,访问结构S’根据希望实现的系统的条件进行设定。另外,访问结构S’的ρ’例如设定有可对重加密文rctS’进行解密的用户的属性信息。这里,ρ’(i)=(t、v→’i:=(v’i、1、...、v’i、nt)∈Fq nt\{0→})(v’i、nt≠0)。
另外,信息输入部130利用输入装置来输入属性集合Γ~:={(u、y→ u:=(yu、1、...、yu、nu∈Fq nu\{0→}))|1≤u≤d}。此外,u可以不是1以上d以下的全部整数,而是1以上d以下的至少一部分整数。另外,属性集合Γ~例如设定有表示可重加密的条件的属性信息。
(S403:随机数生成步骤)
随机数生成部331利用处理装置如式146所示地生成随机数。
【式146】
对于
对于
(S404:转换信息W1生成步骤)
转换信息W1生成部332利用处理装置如式147所示地生成转换信息W1,0、W1,t、W~ 1,u。
【式147】
对于
对于
(S405:转换信息W1加密步骤)
转换信息W1加密部333利用处理装置来计算式148,通过函数型加密对转换信息W1,0、W1,t、W~ 1,u进行加密,生成加密转换信息ctrk S’(ψrk)。因为将访问结构S’作为输入而利用函数型加密来加密转换信息W1,0、W1,t、W~ 1,u,所以,可对重加密文rctS’进行解密的用户的属性信息被设定并加密。
【式148】
(S406:解密密钥k*rk生成步骤)
解密密钥k*rk生成部334利用处理装置如式149所示地生成解密密钥k*rk 0、k*rk 0,ran。
【式149】
另外,解密密钥k*rk生成部334利用处理装置,关于属性集合Γ所包含的各个整数t,如式150所示地生成解密密钥k*rk t、k*rk t,ran。
【式150】
另外,解密密钥k*rk生成部334利用处理装置,关于属性集合Γ~所包含的各个整数u,如式151所示地生成解密密钥k~*rk u。
【式151】
对于
(S407:转换步骤)
转换部335利用处理装置来计算式152,生成基底D^* 0、D^* t、U^* u。
【式152】
对于t=1,...,d,
对于u=1,...,d
(S408:密钥发送步骤)
重加密密钥发送部340例如利用通信装置经由网络秘密地向重加密装置400发送将属性集合Γ、Γ~、访问结构S’、解密密钥k*rk 0、k*rk 0,ran、k*rk t、k*rk t,ran、k~*rk u、加密转换信息ctrk S’和基底D^* 0、D^* t、U^* u作为要素的重加密密钥rkΓ、S’。当然,可利用其它方法向重加密装置400发送重加密密钥rkΓ、S’。
即,在(S401)至(S407)中,解密装置300执行式153-1、式153-2所示的RKG算法,生成重加密密钥rkΓ、S’。然后,在(S408)中,解密装置300向重加密装置400发送所生成的重加密密钥rkΓ、S’。
【式153-1】
对于
对于
对于
对于
【式153-2】
对于
对于
对于
对于t=1,...,d,
对于·u=1,...,d,
对重加密装置400的功能和动作进行说明。
如图9所示,重加密装置400具备公开参数接收部410、加密文接收部420、重加密密钥接收部430、验证部440、加密部450、重加密文发送部460(重加密文输出部)。另外,验证部440具备张成方案计算部441、签名验证部442。另外,加密部450具备随机数生成部451、f矢量生成部452、s矢量生成部453、转换信息W2生成部454、转换信息W2加密部455、加密文crenc生成部456、解密密钥k*renc生成部457。
根据图15,来说明REnc算法的处理。
(S501:公开参数接收步骤)
公开参数接收部410例如利用通信装置经由网络来接收密钥生成装置100所生成的公开参数pk。
(S502:加密文接收步骤)
加密文接收部420例如利用通信装置经由网络来接收加密装置200所发送的加密文ctS。
(S503:重加密密钥接收步骤)
重加密密钥接收部430例如利用通信装置经由网络来接收从解密装置300发送的重加密密钥rkΓ、S’。
(S504:张成方案计算步骤)
张成方案计算部441利用处理装置,来判定加密文ctS所包含的访问结构S是否受理重加密密钥rkΓ,S’所包含的Γ,并且判定加密文ctS所包含的访问结构S~是否受理重加密密钥rkΓ,S’所包含的Γ~。访问结构S是否受理Γ以及访问结构S~是否受理Γ~的判定方法如在实施方式1的“第3.用于实现FCPRE的概念”中所说明的那样。
张成方案计算部441在访问结构S受理Γ且访问结构S~受理Γ~的情况下(在S504中为受理),使处理前进至(S505)。另一方面,在访问结构S拒绝Γ或访问结构S~拒绝Γ~的情况下(在S504中为拒绝),结束处理。
(S505:签名验证步骤)
签名验证部442利用处理装置,来判定计算式154的结果是否是1。签名验证部442在结果是1的情况下(在S505中为合法),使处理前进至(S506)。另一方面,签名验证部442在结果是0的情况下(在S505中为非法),结束处理。
【式154】
Ver(verk,C,Sig)
这里,
(S506:随机数生成步骤)
随机数生成部451利用处理装置,如式155所示地生成随机数。
【式155】
对于
对于
对于i=1,...,L,
对于
(S507:f矢量生成步骤)
f矢量生成部452利用处理装置,如式156所示随机地生成矢量f→’、f~→’。
【式156】
(S508:s矢量生成步骤)
s矢量生成部453利用处理装置,如式157所示地生成矢量s~→’T、s~→’T。
【式157】
另外,s矢量生成部453利用处理装置,如式158所示地生成值s0’、s~ 0’。
【式158】
(S509:转换信息W2生成步骤)
转换信息W2生成部454利用处理装置,如式159所示地生成转换信息W2。
【式159】
(S510:转换信息W2加密步骤)
转换信息W2加密部455利用处理装置来计算式160,通过函数型加密对转换信息W2进行加密,来生成加密转换信息ctrenc S’(ψrenc)。因为转换信息W2将访问结构S’作为输入而利用函数型加密进行加密,所以,可对重加密文rctS’进行解密的用户的属性信息被设定并加密。
【式160】
(S511:加密文crenc生成步骤)
加密文crenc生成部456利用处理装置,如式161所示地生成加密文c~renc 0。
【式161】
另外,加密文crenc生成部456利用处理装置,关于i=1、...、L的各个整数i,如式162所示地生成加密文crenc i。
【式162】
对于i=1,...,L,
如果
如果
另外,加密文crenc生成部456利用处理装置,如式163所示地生成加密文c~renc T。
【式163】
另外,加密文crenc生成部456利用处理装置,关于j=1、...、L~的各个整数i,如式164所示地生成加密文c~renc j。
【式164】
对于
如果
如果
(S512:解密密钥k*renc生成步骤)
解密密钥k*renc生成部457利用处理装置,如式165所示地生成解密密钥k*renc 0。
【式165】
另外,解密密钥k*renc生成部457利用处理装置,关于属性集合Γ所包含的各个整数t,如式166所示地生成解密密钥k*renc t。
【式166】
另外,解密密钥k*renc生成部457利用处理装置,关于属性集合Γ~所包含的各个整数u,如式167所示地生成解密密钥k~*renc u。
【式167】
对于
(S513:重加密文发送步骤)
重加密文发送部460例如利用通信装置经由网络秘密地向重加密文解密装置500发送将访问结构S’、S、S~、属性集合Γ、Γ~、解密密钥k*renc 0、k*renc t、k~*renc u、加密文c~renc 0、crenc i、c~renc T、c~renc j、加密转换信息ctrk S’和加密转换信息ctrenc S’作为要素的重加密文rctS’。当然,也可以利用其它方法向重加密文解密装置500发送重加密文rctS’。
即,在(S501)至(S512)中,重加密装置400执行式168-1、式168-2、式168-3所示的REnc算法,生成重加密文rctS’。然后,在(S513)中,重加密装置400向重加密文解密装置500发送所生成的重加密文rctS’。
【式168-1】
如果受理Γ、受理且Ver(verk,C,Sig)=1
则执行以下
对于
对于
【式168-2】
对于i=1,...,L,
如果
如果
对于
如果
如果
【式168-3】
对于
对于
对重加密文解密装置500的功能和动作进行说明。
如图10所示,重加密文解密装置500具备解密密钥接收部510、加密文接收部520、张成方案计算部530、增补系数计算部540、转换信息生成部550、转换部560、配对运算部570、消息计算部580。此外,将配对运算部570和消息计算部580总称为解密部。
根据图16来说明Dec1算法的处理。
(S601:解密密钥接收步骤)
解密密钥接收部510例如利用通信装置经由网络来接收从密钥生成装置100发送的解密密钥skΓ’。另外,解密密钥接收部310接收密钥生成装置100所生成的公开参数pk。
(S602:加密文接收步骤)
加密文接收部520例如利用通信装置经由网络来接收重加密装置400所发送的重加密文rctS’。
(S603:张成方案计算步骤)
张成方案计算部530利用处理装置来判定重加密文rctS’所包含的访问结构S’是否受理解密密钥skΓ’所包含的Γ’,并且判定重加密文rctS’所包含的访问结构S~是否受理重加密文rctS’所包含的Γ~。访问结构S’是否受理Γ’以及访问结构S~是否受理Γ~的判定方法如在实施方式1的“第3.用于实现FCPRE的概念”中所说明的那样。
张成方案计算部530在访问结构S’受理Γ’且访问结构S~受理Γ~的情况下(在S603中为受理),使处理前进至(S604)。另一方面,在访问结构S’拒绝Γ’或访问结构S~拒绝Γ~的情况下(在S603中为拒绝),结束处理。
(S604:增补系数计算步骤)
增补系数计算部540利用处理装置,来计算作为式169的I、J和常数(增补系数){αi}i∈I、{α~ j}j∈J。
【式169】
其中Mi是M的第i行, 的第j行
并且,
(S605:转换信息生成步骤)
转换信息生成部550利用处理装置,如式170所示地生成转换信息W1,0、W1,t、W~ 1,u、W2。
【式170】
(S606:转换步骤)
转换部560利用处理装置,如式171所示地生成解密密钥k* 0、k* t、k~* u,并且生成加密文c~ 0。
【式171】
(S607:配对运算步骤)
配对运算部570利用处理装置,来计算式172,生成会话密钥K~。
【式172】
(S608:消息计算步骤)
消息计算部580利用处理装置,来计算m’=c~renc T/K~,生成消息m’(=m)。
即,在(S601)至(S608)中,重加密文解密装置500执行式173-1,式173-2所示的Dec1算法,生成消息m’(=m)。
【式173-1】
如果受理Γ′并且受理
那么计算I,J和{αi}i∈I,
其中Mi是M的第i行, 的第j行
并且
【式173-2】
对于
对于
returnm'
根据图17,来说明Dec2算法的处理。
(S701:解密密钥接收步骤)
解密密钥接收部310例如利用通信装置经由网络接收从密钥生成装置100发送的解密密钥skΓ。另外,解密密钥接收部310接收密钥生成装置100所生成的公开参数pk。
(S702:加密文接收步骤)
加密文接收部350例如利用通信装置经由网络接收重加密装置400所发送的加密文ctS。
(S703:张成方案计算步骤)
张成方案计算部361利用处理装置判定加密文ctS所包含的访问结构S是否受理解密密钥skΓ所包含的Γ。访问结构S是否受理Γ的判定方法是如实施方式1的“第3.用于实现FCPRE的概念”中所说明的那样。
张成方案计算部361在访问结构S受理Γ的情况下(在S703中为受理),使处理前进至(S704)。另一方面,在访问结构S拒绝Γ的情况下(在S703中为拒绝),结束处理。
(S704:签名验证步骤)
签名验证部362利用处理装置判定计算式174的结果是否是1。签名验证部362在结果是1的情况下(在S704中为合法),使处理前进至(S705)。另一方面,签名验证部362在结果是0的情况下(在S704中为非法),结束处理。
【式174】
Ver(verk,C,Sig)
这里,
(S705:增补系数计算步骤)
增补系数计算部370利用处理装置,计算成为式175的I和常数(增补系数){αi}i∈I。
【式175】
其中Mi是M的第i行
(S706:配对运算步骤)
配对运算部380利用处理装置来计算式176,生成会话密钥K。
【式176】
(S707:消息计算步骤)
消息计算部390利用处理装置来计算m’=cT/K,生成消息m’(=m)。
即,在(S701)至(S707)中,解密装置300执行式177所示的Dec2算法,生成消息m’(=m)。
【式177】
If受理
并且Ver(verk,C,Sig)=1,
那么计算I和{αi}i∈I
其中Mi是M的第i行
m'=cT/K,
returnm'.
如以上那样,实施方式1的加密系统可实现CP-FCPRE方式。因此,可利用1个重加密密钥,对各个种类的用户的集合转发加密文。此外,还能够指定对重加密的加密文进行指定的条件。
此外,在上述说明中,解密装置300兼作重加密密钥生成装置,解密装置300不仅执行Dec2算法,还执行RKG算法。但是,解密装置300和重加密密钥生成装置也可以是分开的装置。在此情况下,解密装置300执行Dec2算法,重加密密钥生成装置执行RKG算法。因此,在此情况下,解密装置300具备执行Dec2算法所需的功能结构,重加密密钥生成装置具备执行RKG算法所需的功能结构。
另外,中上述说明中,对Nt设定nt+wt+zt+1。但是,也可以对Nt设定nt+wt+zt+βt。这里,βt是0以上的整数。
另外,在上述说明中,对N0设定9。但是,也可以对N0设定1+1+2+w0+z0+β0。这里,w0、z0、β0是0以上的整数。
另外,在上述说明中,在S511内生成的加密文c~renc 0的π’(verk,1)是追加信息Η,在S512内生成的解密密钥k*renc 0的σ(-1,verk)是追加信息Θ。追加信息Η、Θ是对应的,利用在S607中执行的配对运算来抵消。
实施方式2.
在实施方式1中,说明了CP-FCPRE方式。在实施方式2中,说明密钥策略的FCPRE方式(Key-PolicyFCPRE、KP-FCPRE)方式。
首先,说明KP-FCPRE方式的基本结构。接着,说明实现该KP-FCPRE方式的加密处理系统10的基本结构。然后,说明为了实现该KP-FCPRE方式而采用的部件。然后,详细地说明该实施方式的KP-FCPRE方式以及加密处理系统10。
对KP-FCPRE方式的结构简单地进行说明。此外,所谓KP(密钥策略)是指,在密钥中填入Policy即填入访问结构。
<第1-1.KP-FCPRE方式的基本结构>
KP-FCPRE方式具备Setup、KG、Enc、RKG、REnc、Dec1、Dec2这7个算法。
(Setup)
Setup算法是将安全参数λ和属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、zd)作为输入、输出公开参数pk和主密钥sk的概率性算法。
(KG)
KG算法是将访问结构S=(M,ρ)、公开参数pk和主密钥sk作为输入来输出解密密钥skS的概率性算法。
(Enc)
Enc算法是将消息m、属性集合Γ:={(t,x→ t)|x→ t∈Fq nt、1≤t≤d}、Γ~:={(u、y→ u)|y→ u∈Fqnu、1≤y≤d}和公开参数pk作为输入、输出加密文ctΓ的概率性算法。
(RKG)
RKG算法是将解密密钥skS、属性集合Γ’:={(t,x’→ t)|x’→ t∈Fq nt、1≤t≤d}、访问结构S~=(M~,ρ~)和公开参数pk作为输入、输出重加密密钥rkS、Γ’的概率性算法。
(REnc)
REnc算法是将加密文ctΓ、重加密密钥rkS、Γ’和公开参数pk作为输入、输出重加密文rctΓ’的概率性算法。
(Dec1)
Dec1算法是将重加密文rctΓ’、解密密钥skS’和公开参数pk作为输入、输出消息m或识别信息⊥的算法。
(Dec2)
Dec2算法是将加密文ctΓ、解密密钥skS和公开参数pk作为输入、输出消息m或识别信息⊥的算法。
<第1-2.加密处理系统10>
说明执行KP-FCPRE方式的算法的加密处理系统10。
图18是执行KP-FCPRE方式的加密处理系统10的结构图。
加密处理系统10与图5所示的加密处理系统10同样地具备:密钥生成装置100、加密装置200、解密装置300(重加密密钥生成装置)、重加密装置400、重加密文解密装置500。
密钥生成装置100将安全参数λ和属性的格式n→:=(d;n1、...、nd;w1、...、wd;z1、...、zd)作为输入来执行Setup算法,生成公开参数pk和主密钥sk。
然后,密钥生成装置100对公开参数pk进行公开。另外,密钥生成装置100将访问结构S作为输入来执行KG算法,生成解密密钥skS,秘密地发送给解密装置300。另外,密钥生成装置100将访问结构S’作为输入来执行KG算法,生成解密密钥skS’,秘密地发送给重加密文解密装置500。
加密装置200将消息m、属性集合Γ、Γ~和公开参数pk作为输入来执行Enc算法,生成加密文ctΓ。加密装置200向重加密装置400发送加密文ctΓ。
解密装置300将公开参数pk、解密密钥skS、属性集合Γ’和访问结构S~作为输入来执行RKG算法,生成重加密密钥rkS、Γ’。解密装置300向重加密装置400秘密地发送重加密密钥rkS、Γ’。
另外,解密装置300将公开参数pk、解密密钥skS和加密文ctΓ作为输入来执行Dec2算法,输出消息m或识别信息⊥。
重加密装置400将公开参数pk、重加密密钥rkS、Γ’和加密文ctΓ作为输入,执行REnc算法,生成重加密文rctΓ’。重加密装置400向重加密文解密装置500发送重加密文rctΓ’。
重加密文解密装置500将公开参数pk、解密密钥skS’和重加密文rctΓ’作为输入,来执行Dec1算法,输出消息m或识别信息⊥。
<第1-3.为了实现KP-FCPRE方式而采用的部件>
为了实现KP-FCPRE方式,采用密钥策略的函数型加密(KP-FE)和一次性签名。因为都是公知的技术,所以,这里简单地说明在以下的说明中采用的方式。此外,关于KP-FE方式,在专利文献1中记载了一例。另外,关于一次性签名,因为如在实施方式1中说明的那样,所以,这里省略说明。
KP-FE方式具备SetupKP-FE、KGKP-FE、EncKP-FE、DecKP-FE这4个算法。
(SetupKP-FE)
SetupKP-FE算法是将安全参数λ和属性的格式n→:=(d;n1、...、nd)作为输入、输出公开参数pkKP-FE和主密钥skKP-FE的概率性算法。
(KGKP-FE)
KGKP-FE算法是将访问结构S=(M,ρ)、公开参数pkKP-FE和主密钥skKP-FE作为输入、输出解密密钥skS KP-FE的概率性算法。
(EncKP-FE)
EncKP-FE算法是将消息m、属性集合Γ:={(t,x→ t)|x→ t∈Fq nt、1≤t≤d}和公开参数pkKP-FE作为输入、输出加密文ψ的概率性算法。
(DecKP-FE)
DecKP-FE算法是将加密文ψ、解密密钥skS KP-FE和公开参数pkKP-FE作为输入、输出消息m或识别信息⊥的算法。
<第1-4.KP-FCPRE方式以及加密处理系统10的详细内容>
根据图19至图29,来说明KP-FCPRE方式以及执行KP-FCPRE方式的加密处理系统10的功能和动作。
图19是示出密钥生成装置100的功能的功能框图。图20是示出加密装置200的功能的功能框图。图21是示出解密装置300的功能的功能框图。图22是示出重加密装置400的功能的功能框图。图23是示出重加密文解密装置500的功能的功能框图。
图24是示出密钥生成装置100的动作的流程图,是示出KG算法的处理的流程图。图25是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图26是示出解密装置300的动作的流程图,是示出RKG算法的处理的流程图。图27是示出重加密装置400的动作的流程图,是示出REnc算法的处理的流程图。图28是示出重加密文解密装置500的动作的流程图,是示出Dec1算法的处理的流程图。图29是示出解密装置300的动作的流程图,是示出Dec2算法的处理的流程图。
说明密钥生成装置100的功能和动作。
如图19所示,密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发送部150(密钥输出部)。另外,解密密钥生成部140具备随机数生成部142、解密密钥k*生成部143、KP-FE密钥生成部144、f矢量生成部145、s矢量生成部146。
因为Setup算法的处理与在实施方式1中说明的Setup算法的处理相同,所以,省略说明。其中,在实施方式1的S102内,生成了CP-FE中的公开参数pkCP-FE和主密钥skCP-FE,但在实施方式2中,生成KP-FE的公开参数pkKP-FE和主密钥skKP-FE。
即,密钥生成装置100执行式178-1、式178-2所示的Setup算法,生成公开参数pk和主密钥sk。
【式178-1】
N0:=9,Nt:=nt+wt+zt+1fort=1,...,d,gT:=e(g,g)ψ,
fort=0,...,d,
【式178-2】
根据图24,来说明KG算法的处理。
(S801:信息输入步骤)
信息输入部130利用输入装置来输入访问结构S:=(M,ρ)。此外,访问结构S的矩阵M根据希望实现的系统的条件进行设定。另外,访问结构S的ρ例如设定有解密密钥skS的使用者的属性信息。这里,ρ(i)=(t、v→ i:=(vi.1、...、vi.nt)∈Fq nt\{0→})(vi,nt≠0)。
(S802:KP-FE解密密钥生成步骤)
KP-FE密钥生成部144利用处理装置来计算式179,生成函数型加密。
【式179】
(S803:f矢量生成步骤)
f矢量生成部145利用处理装置,如式180所示地随机生成矢量f→。
【式180】
(S804:s矢量生成步骤)
s矢量生成部146利用处理装置,如式181所示地生成矢量s→T:=(s1、...、sL)T。
【式181】
另外,s矢量生成部146利用处理装置,如式182所示地生成值s0。
【式182】
(S805:随机数生成步骤)
随机数生成部142利用处理装置,如式183所示地生成随机数。
【式183】
(S806:解密密钥k*生成步骤)
解密密钥k*生成部143利用处理装置,如式184所示地生成解密密钥k* 0。
【式184】
另外,解密密钥k*生成部143利用处理装置,关于i=1、...、L的各个整数i,如式185所示地生成解密密钥k* i。
【式185】
fori=1,...,L,
if
if
(S807:密钥发送步骤)
密钥发送部150例如利用通信装置经由网络秘密地向解密装置300发送将访问结构S、解密密钥skS KP-FE和解密密钥k* 0、k* i作为要素的解密密钥skS。当然,也可利用其它方法向解密装置300发送解密密钥skS。
即,在(S801)至(S806)中,密钥生成装置100执行式186所示的KG算法,来生成解密密钥skS。然后,在(S807)中,密钥生成装置100向解密装置300发送所生成的解密密钥skS。
【式186】
fori=1,...,L,
if
if
此外,密钥生成装置100在(S801)中,输入设定有解密密钥skS’的使用者的属性信息的访问结构S’:=(M’,ρ’),来执行KG算法,生成解密密钥skS’。然后,向重加密文解密装置500发送解密密钥skS’:=(S’、skS KP-FE、k’* 0、k’* i)。这里,ρ’(i)=(t、v→’i:=(v’i.1、...、v’i.nt)∈Fq nt\{0→})(v’i,nt≠0)。
说明加密装置200的功能和动作。
如图20所示,加密装置200具备公开参数接收部210、信息输入部220、签名处理部230、加密部240、加密文发送部250(加密文输出部)。另外,加密部240具备随机数生成部243、加密文c生成部244。
根据图25,说明Enc算法的处理。
(S901:公开参数接收步骤)
公开参数接收部210例如利用通信装置经由网络接收密钥生成装置100所生成的公开参数pk。
(S902:信息输入步骤)
信息输入部220利用输入装置,输入属性集合Γ:={(t、x→ t:=(xt.1、...、xt.nt∈Fq nt))|1≤t≤d}、Γ~:={(u、y→ u)|y→ u∈Fq nu、1≤y≤d}。此外,t、u可以不是1以上d以下的全部整数,而是1以上d以下的至少一部分整数。另外,属性集合Γ例如设定有可解密的用户的属性信息。另外,属性集合Γ~例如设定有用于设定可重加密的条件的信息。
另外,信息输入部220利用输入装置,输入向解密装置300发送的消息m。
(S903:签名密钥生成步骤)
签名处理部230利用处理装置,计算式187,生成一次性签名的签名密钥sigk和验证密钥verk。
【式187】
(S904:随机数生成步骤)
随机数生成部243利用处理装置,如式188所示地生成随机数。
【式188】
(S905:加密文c生成步骤)
加密文c生成部234利用处理装置,如式189所示地生成加密文c0。
【式189】
另外,加密文c生成部234利用处理装置,关于属性信息Γ所包含的各个整数t,如式190所示地生成加密文ct。
【式190】
另外,加密文c生成部234利用处理装置,如式191所示地生成加密文cT。
【式191】
另外,加密文c生成部234利用处理装置,如式192所示地生成加密文c~ 0。
【式192】
另外,加密文c生成部234利用处理装置,如式193所示地生成加密文c~ u。
【式193】
另外,加密文c生成部234利用处理装置,如式194所示地生成加密文c~ T。
【式194】
(S906:签名生成步骤)
签名处理部230利用处理装置来计算式195,生成与加密文ctΓ的要素C相应的签名Sig。
【式195】
(S907:加密文发送步骤)
加密文发送部250例如利用通信装置经由网络向解密装置300发送将属性集合Γ、Γ~、加密文c0、ct、cT、c~ u、验证密钥verk和签名Sig作为要素的加密文ctΓ。当然,可利用其它方法向解密装置300发送加密文ctΓ。
即,在(S901)至(S906)中,加密装置200执行式196所示的Enc算法,来生成加密文ctΓ。并且,在(S907)中,加密装置200向解密装置300发送所生成的加密文ctΓ。
【式196】
说明解密装置300的功能和动作。
如图21所示,解密装置300具备解密密钥接收部310、信息输入部320、重加密密钥生成部330、重加密密钥发送部340(重加密密钥输出部)、加密文接收部350、验证部360、增补系数计算部370、配对运算部380、消息计算部390。另外,重加密密钥生成部330具备随机数生成部331、转换信息W1生成部332、转换信息W1加密部333、解密密钥k*rk生成部334、转换部335、f矢量生成部336、s矢量生成部337。另外,验证部360具备张成方案计算部361、签名验证部362。
这里,根据图26,说明RKG算法的处理。后面叙述Dec2算法。
(S1001:解密密钥接收步骤)
解密密钥接收部310例如利用通信装置经由网络接收从密钥生成装置100发送的解密密钥skS。另外,解密密钥接收部310接收密钥生成装置100所生成的公开参数pk。
(S1002:信息输入步骤)
信息输入部320利用输入装置,输入属性集合Γ’:={(t、x’→ t:=(x’t.1、...、x’t.nt∈Fq nt\{0→}))|1≤t≤d}。此外,t可以不是1以上d以下的全部整数,而是1以上d以下的至少一部分整数。另外,属性集合Γ’例如设定有能够对重加密文rctΓ’进行解密的用户的属性信息。
另外,信息输入部320利用输入装置,输入访问结构S~:=(M~,ρ~)。此外,访问结构S~的矩阵M~根据希望实现的系统的条件进行设定。另外,访问结构S~的ρ~例如设定有表示可重加密的条件的属性信息。这里,ρ(i)=(t、v→ i:=(vi.1、...、vi.nt)∈Fq nt\{0→})(vi,nt≠0)。
(S1003:随机数生成步骤)
随机数生成部331利用处理装置,如式197所示地生成随机数。
【式197】
(S1004:f矢量生成步骤)
f矢量生成部336利用处理装置,如式198所示地随机生成矢量f~→。
【式198】
(S1005:s矢量生成步骤)
s矢量生成部337利用处理装置,如式199所示地生成矢量S~→T。
【式199】
另外,s矢量生成部337利用处理装置,如式200所示地生成值s~ 0。
【式200】
(S1006:转换信息W1生成步骤)
转换信息W1生成部332利用处理装置,如式201所示地生成转换信息W1,0、W1,i、W~ 1,j。
【式201】
(S1007:转换信息W1加密步骤)
转换信息W1加密部333利用处理装置来计算式202,通过函数型加密对转换信息W1,0、W1,i、W~ 1,j进行加密,生成加密转换信息ctrk Γ’(ψrk)。转换信息W1,0、W1,i、W~ 1,j将属性信息Γ’作为输入,利用函数型加密进行加密,因此,可对重加密文rctΓ’进行解密的用户的属性信息被设定并加密。
【式202】
(S1008:解密密钥k*rk生成步骤)
解密密钥k*rk生成部334利用处理装置,如式203所示地生成解密密钥k*rk 0。
【式203】
另外,解密密钥k*rk生成部334利用处理装置,关于i=1、...、L的各个整数i,如式204所示地生成解密密钥k*rk i。
【式204】
另外,解密密钥k*rk生成部334利用处理装置,关于j=1、...、L~的各个整数j,如式205所示地生成解密密钥k~*rk j。
【式205】
for
if
if
(S1009:转换步骤)
转换部335利用处理装置来计算式206,生成基底D^* 0、D^* i、U^* j。
【式206】
fort=1,...,L,
for
(S1010:密钥发送步骤)
重加密密钥发送部340例如利用通信装置经由网络秘密地向重加密装置400发送将访问结构S、S~、属性集合Γ’、解密密钥k*rk 0、k*rk i、k~*rk j、加密转换信息ctrk Γ’和基底D^* 0、D^* i、U^* j作为要素的重加密密钥rkS、Γ’。当然,也可以利用其它方法向重加密装置400发送重加密密钥rkS、Γ’。
即,在(S1001)至(S1009)中,解密装置300执行式207-1、式207-2所示的RKG算法,生成重加密密钥rkS、Γ’。并且,在(S1010)中,解密装置300向重加密装置400发送所生成的重加密密钥rkS、Γ’。
【式207-1】
【式207-2】
for
if
if
fort=1,...,L,
for
说明重加密装置400的功能和动作。
如图22所示,重加密装置400具备公开参数接收部410、加密文接收部420、重加密密钥接收部430、验证部440、加密部450、重加密文发送部460(重加密文输出部)。另外,验证部440具备张成方案计算部441、签名验证部442。另外,加密部450具备随机数生成部451、f矢量生成部452、s矢量生成部453、转换信息W2生成部454、转换信息W2加密部455、加密文crenc生成部456、解密密钥k*renc生成部457。
根据图27,说明REnc算法的处理。
(S1101:公开参数接收步骤)
公开参数接收部410例如利用通信装置经由网络,接收密钥生成装置100所生成的公开参数pk。
(S1102:加密文接收步骤)
加密文接收部420例如利用通信装置经由网络接收加密装置200所发送的加密文ctΓ。
(S1103:重加密密钥接收步骤)
重加密密钥接收部430例如利用通信装置经由网络接收从解密装置300发送的重加密密钥rkS、Γ’。
(S1104:张成方案计算步骤)
张成方案计算部441利用处理装置,判定重加密密钥rkS、Γ’所包含的访问结构S是否受理加密文ctΓ所包含的Γ,并且判定重加密密钥rkS、Γ’所包含的访问结构S~是否受理加密文ctΓ所包含的Γ~。访问结构S是否受理Γ以及访问结构S~是否受理Γ~的判定方法是如实施方式1的“第3.用于实现FCPRE的概念”中所说明的那样。
张成方案计算部441在访问结构S受理Γ且访问结构S~受理Γ~的情况下(在S1104中为受理),使处理前进至(S1105)。另一方面,在访问结构S拒绝Γ或访问结构S~拒绝Γ~的情况下(在S1104中为拒绝),结束处理。
(S1105:签名验证步骤)
签名验证部442利用处理装置,判定计算式208的结果是否是1。签名验证部442在结果是1的情况下(在S1105中为合法),使处理前进至(S1106)。另一方面,签名验证部442在结果是0的情况下(在S1105中为非法),结束处理。
【式208】
Ver(verk,C,Sig)
这里,
(S1106:随机数生成步骤)
随机数生成部451利用处理装置,如式209所示地生成随机数。
【式209】
(S1107:f矢量生成步骤)
f矢量生成部452利用处理装置,如式210所示随机地生成矢量f→’、f~→’。
【式210】
(S1108:s矢量生成步骤)
s矢量生成部453利用处理装置,如式211所示地生成矢量s→’T、s~→’T。
【式211】
另外,s矢量生成部453利用处理装置,如式212所示地生成值s0’、s~ 0’。
【式212】
(S1109:转换信息W2生成步骤)
转换信息W2生成部454利用处理装置,如式213所示地生成转换信息W2,0、W2,t、W2,u。
【式213】
(S1110:转换信息W2加密步骤)
转换信息W2加密部455利用处理装置,计算式214,利用函数型加密对转换信息W2,0、W2,t、W2,u进行加密,生成加密转换信息ctrenc S’(ψrenc)。因为转换信息W2,0、W2,t、W2,u将属性信息Γ’作为输入,利用函数型加密进行加密,所以,可对重加密文rctΓ’进行解密的用户的属性信息被设定并加密。
【式214】
(S1111:加密文crenc生成步骤)
加密文crenc生成部456利用处理装置,如式215所示地生成加密文crenc 0。
【式215】
另外,加密文crenc生成部456利用处理装置,关于属性信息Γ所包含的各个整数t,如式216所示地生成加密文crenc t。
【式216】
另外,加密文crenc生成部456利用处理装置,如式217所示地生成加密文crenc T。
【式217】
另外,加密文crenc生成部456利用处理装置,关于属性信息Γ~所包含的各个整数u,如式218所示地生成加密文crenc u。
【式218】
(S1112:解密密钥k*renc生成步骤)
解密密钥k*renc生成部457利用处理装置,如式219所示地生成解密密钥k*renc 0。
【式219】
另外,解密密钥k*renc生成部457利用处理装置,关于i=1、...、L的各个整数i,如式220所示地生成解密密钥k*renc i。
【式220】
fori=1,...,L,
if
if
另外,解密密钥k*renc生成部457利用处理装置,关于j=1、...、L~的各个整数j,如式221所示地生成解密密钥k~*renc j。
【式221】
for
if
if
(S1113:重加密文发送步骤)
重加密文发送部460例如利用通信装置经由网络秘密地向重加密文解密装置500发送将属性集合Γ’、Γ、Γ~、访问结构S、S~、解密密钥k*renc 0、k*renc i、k~*renc j、加密文crenc 0、crenc t、crenc T、c~renc u和加密转换信息ctrk Γ’以及ctrenc Γ’作为要素的重加密文rctΓ’。当然,也可以利用其它方法向重加密文解密装置500发送重加密文rctΓ’。
即,在(S1101)至(S1112)中,重加密装置400执行式222-1、式222-2、式222-3所示的REnc算法,生成重加密文ctΓ’。并且,在(S1113)中,重加密装置400向重加密文解密装置500发送所生成的重加密文ctΓ’。
【式222-1】
如果受理Γ,受理Ver(verk,C,Sig)=1
那么计算
对于
对于
【式222-2】
fori=1,...,L,
if
if
【式222-3】
for
if
if
说明重加密文解密装置500的功能和动作。
如图23所示,重加密文解密装置500具备解密密钥接收部510、加密文接收部520、张成方案计算部530、增补系数计算部540、转换信息生成部550、转换部560、配对运算部570、消息计算部580。此外,将配对运算部570和消息计算部580总称为解密部。
根据图28,来说明Dec1算法的处理。
(S1201:解密密钥接收步骤)
解密密钥接收部510例如利用通信装置经由网络接收从密钥生成装置100发送的解密密钥skS’。另外,解密密钥接收部310接收密钥生成装置100所生成的公开参数pk。
(S1202:加密文接收步骤)
加密文接收部520例如利用通信装置经由网络接收重加密装置400所发送的重加密文rctΓ’。
(S1203:张成方案计算步骤)
张成方案计算部530利用处理装置,判定是否解密密钥skS’所包含的访问结构S’受理重加密文rctΓ’所包含的Γ’并且重加密文rctΓ’所包含的访问结构S~受理重加密文rctΓ’所包含的Γ~。访问结构S’是否受理Γ’以及访问结构S~是否受理Γ~的判定方法如在实施方式1的“第3.用于实现FCPRE的概念”中所说明的那样。
张成方案计算部530在访问结构S’受理Γ’且访问结构S~受理Γ~的情况下(在S1203中为受理),使处理前进至(S1204)。另一方面,在访问结构S’拒绝Γ’或访问结构S~拒绝Γ~的情况下(在S1203中为拒绝),结束处理。
(S1204:增补系数计算步骤)
增补系数计算部540利用处理装置,计算成为式223的I、J和常数(增补系数){αi}i∈I、{α~ j}j∈J。
【式223】
其中,Mi是M的第i行是的第j行
并且
(S1205:转换信息生成步骤)
转换信息生成部550利用处理装置,如式224所示地生成转换信息W1,0、W1,t、W~ 1,u、W2,0、W2,t、W~ 2,u。
【式224】
(S1206:转换步骤)
转换部560利用处理装置,如式225所示地生成解密密钥k* 0、k* i、k~* j,并且生成加密文c0、ct、c~ u。
【式225】
(S1207:配对运算步骤)
配对运算部570利用处理装置,计算式226,生成会话密钥K~。
【式226】
(S1208:消息计算步骤)
消息计算部580利用处理装置,计算m’=c~renc T/K~,生成消息m’(=m)。
即,在(S1201)至(S1208)中,重加密文解密装置500执行式227-1、式227-2所示的Dec1算法,生成消息m’(=m)。
【式227-1】
如果受理Γ′并且受理
那么计算I,Jand{αi}i∈I,
其中Mi是M的第i行是的第j行
并且
【式227-2】
returnm'.
根据图29,来说明Dec2算法的处理。
(S1301:解密密钥接收步骤)
解密密钥接收部310例如利用通信装置经由网络接收从密钥生成装置100发送的解密密钥skS。另外,解密密钥接收部310接收密钥生成装置100所生成的公开参数pk。
(S1302:加密文接收步骤)
加密文接收部350例如利用通信装置经由网络接收重加密装置400所发送的加密文ctΓ。
(S1303:张成方案计算步骤)
张成方案计算部361利用处理装置,判定解密密钥skS所包含的访问结构S是否受理加密文ctΓ所包含的Γ。访问结构S是否受理Γ的判定方法如在实施方式1的“第3.用于实现FCPRE的概念”中所说明的那样。
张成方案计算部361在访问结构S受理Γ的情况下(在S1303中为受理),使处理前进至(S1304)。另一方面,在访问结构S拒绝Γ的情况下(在S1303中为拒绝),结束处理。
(S1304:签名验证步骤)
签名验证部362利用处理装置,判定计算式228的结果是否是1。签名验证部362在结果是1的情况下(在S1304中为合法),使处理前进至(S1305)。另一方面,签名验证部362在结果是0的情况下(在S1304中为非法),结束处理。
【式228】
Ver(verk,C,Sig)
这里,
(S1305:增补系数计算步骤)
增补系数计算部370利用处理装置,计算成为式229的I和常数(增补系数){αi}i∈I。
【式229】
其中,Mi是M的第i行,
(S1306:配对运算步骤)
配对运算部380利用处理装置,计算式230,生成会话密钥K。
【式230】
(S1307:消息计算步骤)
消息计算部390利用处理装置,计算m’=cenc d+1/K,生成消息m’(=m)。
即,在(S1301)至(S1307)中,解密装置300执行式231所示的Dec2算法,生成消息m’(=m)。
【式231】
If受理
并且Ver(verk,C,Sig)=1,
那么计算Iand{αi}i∈I
其中,Mi是M的第i行,
m'=cT/K,
returnm'.
如以上那样,实施方式2的加密系统能够实现KP-FCPRE方式。因此,利用1个重加密密钥,能够向各个种类的用户的集合转发加密文。此外,能够指定对重加密的加密文进行指定的条件。
此外,在上述说明中,解密装置300兼作重加密密钥生成装置,解密装置300不仅执行Dec2算法,还执行RKG算法。但是,解密装置300和重加密密钥生成装置也可以是分开的装置。在此情况下,解密装置300执行Dec2算法,重加密密钥生成装置执行RKG算法。因此,在此情况下,解密装置300具备执行Dec2算法所需的功能结构,重加密密钥生成装置具备执行RKG算法所需的功能结构。
另外,在上述说明中,对Nt设定nt+wt+zt+1。但是,也可以对Nt设定nt+wt+zt+βt。这里,βt是0以上的整数。
另外,在上述说明中,对N0设定9。但是,也可以对N0设定1+1+2+w0+z0+β0。这里,w0、z0、β0是0以上的整数。
另外,在上述说明中,在S1111内生成的加密文c~renc0的π’(verk、1)是追加信息Η,在S1112内生成的解密密钥k*renc 0的σ(-1、verk)是追加信息Θ。追加信息Η、Θ是对应的,利用在S1207内执行的配对运算进行抵消。此外,虽然可能稍微降低安全性,但也可以在追加信息中包含随机数等的值来取代verk。
在以上的实施方式中说明了以下的情况:假定利用FE来加密消息后发送到送达目的地的情况,重加密装置400对加密文进行重加密,变更加密文的送达目的地。
FE不仅可以实现加密消息后发送到送达目的地的功能,还可以实现能够在不用对加密文进行解密的情况下就进行检索的可检索加密。在利用FE来实现可检索加密的情况下,能够通过在以上的实施方式中说明的算法,变更所设定的检索关键字。
在以上的实施方式中,在加密文内设定的属性信息指定了能够解密的用户。并且,通过变更属性信息,变更加密文的送达目的地。在利用FE实现可检索加密的情况下,在加密文内设定的属性信息的一部分指定能够检索的用户,剩余属性信息的一部分指定检索关键字。因此,可以利用在以上的实施方式中说明的算法,变更属性信息中的指定了检索关键字的部分,由此,变更所设定的检索关键字。
另外,在以上的实施方式中,1台的密钥生成装置100生成解密密钥。但是,也可以使以上实施方式的算法与非专利文献5所记载的分散多管理者的方式进行组合,利用多个密钥生成装置100来生成1个解密密钥。
另外,在以上的实施方式中,当追加属性的分类时(增加属性的格式n→中的d的值时),需要重新发行公开参数。但是,也可以使以上实施方式的算法与非专利文献6所记载的Unbounded的方式进行组合,追加属性的分类,而不用重新发行公开参数。
另外,在以上的实施方式中,在设用于内积加密的矢量的长度为N时,公开参数或主私钥的大小与N2成比例,在对用户赋予的解密密钥的生成或加密的处理中花费与N2成比例的时间。但是,也能够使以上实施方式的算法与非专利文献7所记载的方式进行组合,减小公开参数或主私钥的大小,并且也能够缩短在对用户赋予的解密密钥的生成处理或加密处理中花费的时间。
另外,在以上的实施方式中,向发送目的地的装置发送密钥或加密文。但是,取而代之,也可对CD或DVD等存储介质输出密钥或加密文,发送目的地的装置读取存储介质。
实施方式3.
在以上的实施方式中,说明了在双对矢量空间内实现加密处理的方法。在实施方式3中,说明在双对模块内实现加密处理的方法。
即,在以上的实施方式中,在质数位数q的循环组内实现了加密处理。但是,在采用合成数M如式232那样表示环R的情况下,即使在将环R作为系数的模块中,也能够应用上述实施方式所说明的加密处理。
【式232】
这里,
Z:整数,
M:合成数。
只要将以上实施方式所说明的算法中的Fq变更为R,就能够实现双对模块中的加密处理。
此外,在以上的实施方式中,根据安全性证明的观点,关于i=1、...、L的各个整数i的ρ(i)可限定为是关于各不相同的识别信息t的肯定形式的组(t,v→)或否定形式的组¬(t,v→)。
换言之,在ρ(i)=(t,v→)或ρ(i)=¬(t,v→)的情况下,将函数ρ~设为ρ~(i)=t即{1、...、L}→{1、...d}的映射。在此情况下,可限定为ρ~是单射。此外,ρ(i)是上述的访问结构S:=(M、ρ(i))的ρ(i)。
接着,说明实施方式中的加密系统10(密钥生成装置100、加密装置200、解密装置300、重加密装置400、重加密文解密装置500)的硬件结构。
图30是示出密钥生成装置100、加密装置200、解密装置300、重加密装置400、重加密文解密装置500的硬件结构的一例的图。
如图30所示,密钥生成装置100、加密装置200、解密装置300、重加密装置400、重加密文解密装置500具备执行程序的CPU911(也称为Central·Processing·Unit:中央处理器、中央处理装置、处理装置、运算装置、微型处理器、微型计算机、处理器)。CPU911经由总线912与ROM913、RAM914、LCD901(LiquidCrystalDisplay:液晶显示器)、键盘902(K/B)、通信板915、磁盘装置920连接,并控制这些硬件设备。代替磁盘装置920(固定盘装置),可以是光盘装置、存储卡读写装置等存储装置。磁盘装置920经由预定的固定盘接口进行连接。
ROM913、磁盘装置920是非易失性存储器的一例。RAM914是挥发性存储器的一例。ROM913、RAM914和磁盘装置920是存储装置(存储器)的一例。另外,键盘902、通信板915是输入装置的一例。另外,通信板915是通信装置的一例。此外,LCD901是显示装置的一例。
在磁盘装置920或ROM913等中,存储有操作系统921(OS)、窗口系统922、程序组923、文件组924。利用CPU911、操作系统921、窗口系统922来执行程序组923的程序。
在上述说明中,在程序组923内存储有执行作为“主密钥生成部110”、“主密钥存储部120”、“信息输入部130”、“解密密钥生成部140”、“密钥发送部150”、“公开参数接收部210”、“信息输入部220”、“签名处理部230”、“加密部240”、“加密文发送部250”、“解密密钥接收部310”、“信息输入部320”、“重加密密钥生成部330”、“重加密密钥发送部340”、“加密文接收部350”、“验证部360”、“增补系数计算部370”、“配对运算部380”、“消息计算部390”、“公开参数接收部410”、“加密文接收部420”、“重加密密钥接收部430”、“验证部440”、“加密部450”、“重加密文发送部460”、“解密密钥接收部510”、“加密文接收部520”、“张成方案计算部530”、“增补系数计算部540”、“转换信息生成部550”、“转换部560”、“配对运算部570”、“消息计算部580”等进行说明的功能的软件、程序或其它程序。利用CPU911读出并执行程序。
在上述说明中,在文件组924内存储有“公开参数pk”、“主私钥sk”、“解密密钥skS、skΓ”、“加密文ctΓ、ctS”、“重加密密钥rkΓ、S’、rkS、Γ’”、“重加密文rctS’、rctΓ’”、“访问结构S、S’、S~”、“属性集合Γ、Γ’、Γ~”、“消息m”等信息、数据、信号值、变量值或参数,作为“文件”或“数据库”的各个项目。在盘或存储器等记录介质中存储“文件”或“数据库”。经由读写电路,利用CPU911在主存储器或缓存存储器中读出存储于盘或存储器等存储介质内的信息、数据、信号值、变量值或参数,并应用于提取、检索、参照、比较、运算、计算、处理、输出、印刷、显示等CPU911的动作。在提取、检索、参照、比较、运算、计算、处理、输出、印刷、显示的CPU911的动作之间,在主存储器、缓存存储器或缓冲存储器中临时性存储信息、数据、信号值、变量值或参数。
另外,上述说明中的流程图的箭头部分主要表示数据或信号的输入输出,在RAM914的存储器、其它光盘等记录介质或IC芯片内记录有数据或信号值。另外,利用总线912、信号线、电缆之外的传送介质或电波来在线传送数据或信号。
另外,在上述说明中作为“~部”说明的内容可以是“~电路”、“~装置”、“~设备”、“~单元”、“~功能”,另外,可以是“~步骤”、“~顺序”、“~处理”。另外,作为“~装置”说明的内容可以是“~电路”、“~设备”、“~单元”、“~功能”,另外,可以是“~步骤”、“~顺序”、“~处理”。此外,作为“~处理”说明的内容也可以是“~步骤”。即,作为“~部”说明的内容也可以利用存储于ROM913内的固件来实现。或者也可以仅利用软件或者仅利用元件、设备、基板、布线等硬件或者利用软件与硬件的组合以及与固件的组合来实施。固件和软件作为程序存储于ROM913等记录介质内。利用CPU911读出程序,并由CPU911来执行。即,程序是使计算机等作为上述描述的“~部”发挥功能。或者,使计算机等执行上述描述的“~部”的顺序或方法。
标号说明
100密钥生成装置,110主密钥生成部,120主密钥存储部,130信息输入部,140解密密钥生成部,141CP-FE密钥生成部,142随机数生成部,143解密密钥k*生成部,144KP-FE密钥生成部,145f矢量生成部,146s矢量生成部,150密钥发送部,200加密装置,210公开参数接收部,220信息输入部,230签名处理部,240加密部,241f矢量生成部,242s矢量生成部,243随机数生成部,244加密文c生成部,250加密文发送部,300解密装置,310解密密钥接收部,320信息输入部,330重加密密钥生成部,331随机数生成部,332转换信息W1生成部,333转换信息W1加密部,334解密密钥k*rk生成部,335转换部,336f矢量生成部,337s矢量生成部,340重加密密钥发送部,350加密文接收部,360验证部,361张成方案计算部,362签名验证部,370增补系数计算部,380配对运算部,390消息计算部,400重加密装置,410公开参数接收部,420加密文接收部,430重加密密钥接收部,440验证部,441张成方案计算部,442签名验证部,450加密部,451随机数生成部,452f矢量生成部,453s矢量生成部,454转换信息W2生成部,455转换信息W2加密部,456加密文crenc生成部,457解密密钥k*renc生成部,460重加密文发送部,500重加密文解密装置,510解密密钥接收部,520加密文接收部,530张成方案计算部,540增补系数计算部,550转换信息生成部,560转换部,570配对运算部,580消息计算部。
Claims (10)
1.一种加密系统,其实现以下这样的加密方式中的代理人重加密功能,该加密方式是在两个信息相互对应的情况下,能够利用设定有一个信息的解密密钥对设定有另一个信息的加密文进行解密,其特征在于,该加密系统具备:
加密装置,其输出加密文ct,该加密文ct包含设定有相互对应的属性信息x、v中的一个的加密文c和设定有相互对应的属性信息y、z中的一个的加密文c~;
重加密密钥生成装置,其取得设定有所述属性信息x、v中的另一个的解密密钥k*,输出重加密密钥rk,该重加密密钥rk包含利用转换信息W1对所取得的解密密钥k*进行转换而得到的解密密钥k*rk、设定有所述属性信息y、z中的另一个的解密密钥k~*rk、设定有相互对应的属性信息x’、v’中的一个而对所述转换信息W1进行加密后的加密转换信息ψrk;以及
重加密装置,其输出重加密文rct,该重加密文rct包含有在所述加密文ct内设定相互对应的追加信息Η、Θ中的一个而得到的加密文crenc、在所述重加密密钥rk内设定所述追加信息Η、Θ中的另一个而得到的解密密钥k*renc。
2.根据权利要求1所述的加密系统,其特征在于,
所述解密密钥k~*rk是利用转换信息W~ 1对设定有所述属性信息y、z中的另一个的解密密钥k~*进行转换而生成的,
所述加密转换信息ψrk是设定所述属性信息x’、v’中的一个来对所述转换信息W1以及所述转换信息W~ 1进行加密而生成的。
3.根据权利要求2所述的加密系统,其特征在于,
所述加密文c是基底B中的矢量,
所述解密密钥k*是与所述基底B对应的基底B*中的矢量,
所述加密文c~是利用转换信息H^来转换所述基底B而得到的基底H中的矢量,
所述解密密钥k~*rk是利用所述转换信息H^来转换所述基底B*而得到的基底H*中的矢量。
4.根据权利要求1至3中任意一项所述的加密系统,其特征在于,
所述加密系统还具备重加密文解密装置,该重加密文解密装置取得设定有所述属性信息x’、v’中的另一个属性信息的解密密钥k*’,采用所取得的解密密钥k*’,对所述重加密文rct进行解密。
5.根据权利要求3所述的加密系统,其特征在于,
所述加密装置输出所述加密文ct,该加密文ct包含式1所示的所述加密文c和式2所示的所述加密文c~,
所述重加密密钥生成装置取得式3所示的所述解密密钥k*,输出所述重加密密钥rk,该重加密密钥rk包含式4所示的解密密钥k*rk、式5所示的所述解密密钥k~*rk和所述加密转换信息ψrk,
所述重加密装置输出所述重加密文rct,该重加密文rct包含式6所示的所述加密文crenc和式7所示的所述解密密钥k*renc,
【式1】
对于i=1,...,L,
如果
如果
c:=(c0,{ci}i=1,...,L)
其中,
M是L行r列的矩阵,
nt是1以上的整数,
【式2】
对于
如果
如果
其中
是行列的矩阵,
nu是1以上的整数,
【式3】
其中,
d是1以上的整数,
【式4】
其中,
【式5】
其中,
【式6】
对于i=1,...,L,
如果
如果
对于
如果
如果
其中
vk是值,
【式7】
其中
6.根据权利要求3所述的加密系统,其特征在于,
所述加密装置输出所述加密文ct,该加密文ct包含式8所示的所述加密文c和式9所示的所述加密文c~,
所述重加密密钥生成装置取得式10所示的所述解密密钥k*,输出所述重加密密钥rk,该重加密密钥rk包含式11所示的解密密钥k*rk、式12所示的所述解密密钥k~*rk和所述加密转换信息ψrk,
所述重加密装置输出所述重加密文rct,该重加密文rct包含式13所示的所述加密文crenc和式14所示的所述解密密钥k*renc,
【式8】
其中
nt是1以上的整数,
【式9】
其中
nu是1以上的整数,
【式10】
对于i=1,...,L,
如果
如果
其中
M是L行r列的矩阵,
【式11】
其中
W1:={W1,i}i=0,...,L
是行列的矩阵,
【式12】
对于
如果
如果
其中
【式13】
其中
vk是值,
【式14】
对于i=1,...,L,
如果
如果
对于
如果
如果
其中
7.一种加密系统中的加密装置,该加密系统实现以下这样的加密方式中的代理人重加密功能,该加密方式是在两个信息相互对应的情况下,能够利用设定有一个信息的解密密钥对设定有另一个信息的加密文进行解密,其特征在于,
该加密装置具备加密输出部,该加密输出部输出加密文ct,所述加密文ct包含设定有相互对应的属性信息x、v中的一个的加密文c和设定有相互对应的属性信息y、z中的一个的加密文c~。
8.一种加密系统中的重加密密钥生成装置,该加密系统实现以下这样的加密方式中的代理人重加密功能,该加密方式是在两个信息相互对应的情况下,能够利用设定有一个信息的解密密钥对设定有另一个信息的加密文进行解密,其特征在于,
该重加密密钥生成装置具备重加密密钥输出部,该重加密密钥输出部取得设定有相互对应的属性信息x、v中的一个的解密密钥k*,输出重加密密钥rk,该重加密密钥rk包含利用转换信息W1对所取得的解密密钥k*进行转换而得到的解密密钥k*rk、设定有相互对应的属性信息y、z中的一个的解密密钥k~*rk、设定相互对应的属性信息x’、v’中的一个来对所述转换信息W1进行加密而得到的加密转换信息ψrk。
9.一种加密系统中的重加密装置,该加密系统实现以下这样的加密方式中的代理人重加密功能,该加密方式是在两个信息相互对应的情况下,能够利用设定有一个信息的解密密钥对设定有另一个信息的加密文进行解密,其特征在于,该重加密装置具备:
加密文接收部,其接收加密文ct,该加密文ct包含设定有相互对应的属性信息x、v中的一个的加密文c和设定有相互对应的属性信息y、z中的一个的加密文c~;
重加密密钥接收部,其接收重加密密钥rk,该重加密密钥rk包含利用转换信息W1对设定有所述属性信息x、v中的另一个的解密密钥k*进行转换而得到的解密密钥k*rk、设定有所述属性信息y、z中的另一个的解密密钥k~*rk、设定相互对应的属性信息x’、v’中的一个来对所述转换信息W1进行加密而得到的加密转换信息ψrk;以及
重加密文输出部,其输出重加密文rct,该重加密文rct包含有在所述加密文ct内设定相互对应的追加信息Η、Θ中的一个而得到的加密文crenc、在所述重加密密钥rk内设定所述追加信息Η、Θ中的另一个而得到的解密密钥k*renc。
10.一种加密程序,实现以下这样的加密方式中的代理人重加密功能,该加密方式是在两个信息相互对应的情况下,能够利用设定有一个信息的解密密钥对设定有另一个信息的加密文进行解密,该加密程序使计算机执行以下这样的处理:
加密处理,输出加密文ct,该加密文ct包含设定有相互对应的属性信息x、v中的一个的加密文c和设定有相互对应的属性信息y、z中的一个的加密文c~;
重加密密钥生成处理,取得设定有所述属性信息x、v中的另一个的解密密钥k*,输出重加密密钥rk,该重加密密钥rk包含利用转换信息W1对所取得的解密密钥k*进行转换而得到的解密密钥k*rk、设定有所述属性信息y、z中的另一个的解密密钥k~*rk、设定相互对应的属性信息x’、v’中的一个来对所述转换信息W1进行加密而得到加密转换信息ψrk;以及
重加密处理,输出重加密文rct,该重加密文rct包含有在所述加密文ct内设定相互对应的追加信息Η、Θ中的一个而得到的加密文crenc、在所述重加密密钥rk内设定所述追加信息Η、Θ中的另一个而得到的解密密钥k*renc。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/077491 WO2015052799A1 (ja) | 2013-10-09 | 2013-10-09 | 暗号システム、暗号化装置、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105637799A true CN105637799A (zh) | 2016-06-01 |
CN105637799B CN105637799B (zh) | 2019-06-25 |
Family
ID=52812646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380080158.8A Active CN105637799B (zh) | 2013-10-09 | 2013-10-09 | 加密系统、加密装置、重加密密钥生成装置以及重加密装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9979536B2 (zh) |
EP (1) | EP3057262B1 (zh) |
JP (1) | JP6022073B2 (zh) |
CN (1) | CN105637799B (zh) |
WO (1) | WO2015052799A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10574440B2 (en) | 2016-05-06 | 2020-02-25 | ZeroDB, Inc. | High-performance access management and data protection for distributed messaging applications |
US10581603B2 (en) | 2016-05-06 | 2020-03-03 | ZeroDB, Inc. | Method and system for secure delegated access to encrypted data in big data computing clusters |
KR20200027921A (ko) * | 2017-04-28 | 2020-03-13 | 아이언코어 랩스 인코포레이티드 | 멀티-홉 변환 암호화를 통한 그룹들에 대한 직교 액세스 제어 |
US11349654B2 (en) * | 2017-06-09 | 2022-05-31 | Mitsubishi Electric Corporation | Re-encryption key generation device, re-encryption device, re-encrypted ciphertext decryption device, and cryptographic system |
CN113853764B (zh) * | 2019-05-24 | 2024-09-10 | 三菱电机株式会社 | 重加密装置、重加密方法、计算机能读取的存储介质和加密系统 |
DE112020007079B4 (de) * | 2020-06-17 | 2024-04-25 | Mitsubishi Electric Corporation | Neuverschlüsselungseinrichtung, kryptografisches system, neuverschlüsselungsverfahren und neuverschlüsselungsprogramm |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102415047A (zh) * | 2009-04-23 | 2012-04-11 | 三菱电机株式会社 | 密码处理系统 |
WO2012132136A1 (ja) * | 2011-03-25 | 2012-10-04 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
CN102859571A (zh) * | 2010-04-27 | 2013-01-02 | 三菱电机株式会社 | 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 |
JP2013105065A (ja) * | 2011-11-15 | 2013-05-30 | Nippon Telegr & Teleph Corp <Ntt> | セキュリティシステム、暗号化装置、復号装置、再暗号化装置、難読化装置、それらの方法、及びプログラム |
CN103270719A (zh) * | 2010-12-22 | 2013-08-28 | 三菱电机株式会社 | 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3604264B2 (ja) | 1997-10-06 | 2004-12-22 | 株式会社東芝 | 発信者用端末装置及びネットワークシステム並びに発信情報監視方法 |
US6587946B1 (en) * | 1998-12-29 | 2003-07-01 | Lucent Technologies Inc. | Method and system for quorum controlled asymmetric proxy encryption |
US6687822B1 (en) * | 1999-06-11 | 2004-02-03 | Lucent Technologies Inc | Method and system for providing translation certificates |
US7213143B1 (en) * | 2003-01-27 | 2007-05-01 | Nortel Networks Limited | Security over a network |
US20050172127A1 (en) * | 2004-01-31 | 2005-08-04 | Frank Hartung | System and method for transcoding encrypted multimedia messages transmitted between two devices |
JP2005252384A (ja) | 2004-03-01 | 2005-09-15 | Rikogaku Shinkokai | 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法 |
EP1672831A1 (fr) | 2004-12-16 | 2006-06-21 | Nagravision S.A. | Méthode de transmission de données numériques dans un réseau local |
US8094810B2 (en) * | 2006-02-03 | 2012-01-10 | Massachusetts Institute Of Technology | Unidirectional proxy re-encryption |
US20080170701A1 (en) | 2006-08-22 | 2008-07-17 | Ntt Data Corporation | Delegation system for decryption rights |
JP5047638B2 (ja) | 2006-12-14 | 2012-10-10 | 株式会社エヌ・ティ・ティ・データ | 暗号文復号権委譲システム |
US20090210697A1 (en) | 2008-01-17 | 2009-08-20 | Songqing Chen | Digital Rights Protection in BitTorrent-like P2P Systems |
JP5135070B2 (ja) | 2008-06-12 | 2013-01-30 | 株式会社エヌ・ティ・ティ・データ | 暗号文復号権限委譲システム |
JP5133850B2 (ja) | 2008-11-06 | 2013-01-30 | 独立行政法人科学技術振興機構 | ストレージノード用再暗号化システム及びネットワークストレージ |
KR100942992B1 (ko) * | 2008-12-03 | 2010-02-17 | 포항공과대학교 산학협력단 | Drm에서의 사업자 권리를 보장하는 호환성 제공 방법 및장치 |
EP2658165B1 (en) | 2009-04-24 | 2014-09-10 | Nippon Telegraph And Telephone Corporation | Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium |
JP5298394B2 (ja) | 2009-09-02 | 2013-09-25 | 独立行政法人情報通信研究機構 | 二機能付きidベース暗号化方法及び暗号システム |
JP2011055309A (ja) | 2009-09-03 | 2011-03-17 | National Institute Of Information & Communication Technology | 二機能付きidベース暗号化方法及び暗号システム |
JP2011147047A (ja) | 2010-01-18 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | プロキシ再暗号化システム、送信装置、再暗号化鍵生成装置、プロキシ装置、受信装置、プロキシ再暗号化方法、それらのプログラムおよび記録媒体 |
JP5808542B2 (ja) | 2011-01-20 | 2015-11-10 | 株式会社ジャパンディスプレイ | 表示装置用基板、表示装置及び表示装置用基板の製造方法 |
JP2012150378A (ja) | 2011-01-21 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | プロキシ再暗号化システム、鍵生成装置、再暗号化装置、プロキシ再暗号化方法、プログラム |
JP2012150399A (ja) | 2011-01-21 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | プロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラム |
JP5361920B2 (ja) | 2011-02-16 | 2013-12-04 | 株式会社東芝 | ファイルサーバシステム |
JP5377540B2 (ja) | 2011-02-17 | 2013-12-25 | 株式会社東芝 | 鍵管理システム |
DE112012000358B4 (de) | 2011-03-02 | 2019-08-14 | International Business Machines Corporation | Unternehmensübergreifender Datenaustausch |
JP5944893B2 (ja) | 2011-04-27 | 2016-07-05 | 株式会社東芝 | 再暗号化装置及びプログラム |
US8769705B2 (en) | 2011-06-10 | 2014-07-01 | Futurewei Technologies, Inc. | Method for flexible data protection with dynamically authorized data receivers in a content network or in cloud storage and content delivery services |
JP5367039B2 (ja) | 2011-09-30 | 2013-12-11 | 株式会社東芝 | サーバ装置及びプログラム |
JP5454960B2 (ja) | 2011-11-09 | 2014-03-26 | 株式会社東芝 | 再暗号化システム、再暗号化装置及びプログラム |
TWI546695B (zh) | 2011-12-15 | 2016-08-21 | 萬國商業機器公司 | 刪除儲存系統中之內容 |
US8873754B2 (en) * | 2011-12-20 | 2014-10-28 | Huawei Technologies Co., Ltd. | Proxy-based encryption method, proxy-based decryption method, network equipment, network device and system |
EP2797254A4 (en) | 2011-12-20 | 2015-10-28 | Mitsubishi Electric Corp | ENCRYPTED DATA ADMINISTRATION DEVICE, ENCRYPTED DATA DELIVERY METHOD, AND ENCRYPTED DATA DELIVERY PROGRAM |
US20130212388A1 (en) * | 2012-02-13 | 2013-08-15 | Alephcloud Systems, Inc. | Providing trustworthy workflow across trust boundaries |
JP5713947B2 (ja) | 2012-03-27 | 2015-05-07 | 日本電信電話株式会社 | プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置 |
EP2680487B1 (en) | 2012-06-29 | 2019-04-10 | Orange | Secured cloud data storage, distribution and restoration among multiple devices of a user |
US20150271153A1 (en) * | 2012-07-10 | 2015-09-24 | Kurt Ryan Rohloff | Information management using proxy re-encryption |
-
2013
- 2013-10-09 JP JP2015541368A patent/JP6022073B2/ja active Active
- 2013-10-09 EP EP13895377.3A patent/EP3057262B1/en active Active
- 2013-10-09 CN CN201380080158.8A patent/CN105637799B/zh active Active
- 2013-10-09 WO PCT/JP2013/077491 patent/WO2015052799A1/ja active Application Filing
- 2013-10-09 US US15/021,929 patent/US9979536B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102415047A (zh) * | 2009-04-23 | 2012-04-11 | 三菱电机株式会社 | 密码处理系统 |
CN102859571A (zh) * | 2010-04-27 | 2013-01-02 | 三菱电机株式会社 | 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 |
CN103270719A (zh) * | 2010-12-22 | 2013-08-28 | 三菱电机株式会社 | 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序 |
WO2012132136A1 (ja) * | 2011-03-25 | 2012-10-04 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP2013105065A (ja) * | 2011-11-15 | 2013-05-30 | Nippon Telegr & Teleph Corp <Ntt> | セキュリティシステム、暗号化装置、復号装置、再暗号化装置、難読化装置、それらの方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US9979536B2 (en) | 2018-05-22 |
US20160234012A1 (en) | 2016-08-11 |
EP3057262A4 (en) | 2017-06-28 |
CN105637799B (zh) | 2019-06-25 |
WO2015052799A1 (ja) | 2015-04-16 |
EP3057262A1 (en) | 2016-08-17 |
JPWO2015052799A1 (ja) | 2017-03-09 |
JP6022073B2 (ja) | 2016-11-09 |
EP3057262B1 (en) | 2021-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104871477B (zh) | 加密系统、重加密密钥生成装置、重加密装置、加密方法 | |
US9100185B2 (en) | Encryption processing apparatus and method | |
JP6083234B2 (ja) | 暗号処理装置 | |
US9614665B2 (en) | Encryption processing method, encryption processing device, and computer-readable recording medium storing program for encryption processing | |
CN105850071B (zh) | 加密系统、重加密密钥生成装置以及重加密装置 | |
JP6058237B1 (ja) | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 | |
CN103270719B (zh) | 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法 | |
JP6349841B2 (ja) | 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置 | |
JP5951122B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP5814880B2 (ja) | 暗号システム、暗号方法、暗号プログラム及び復号装置 | |
EP3007382A1 (en) | Homomorphic cryptographic processing method and cryptographic processing device for pattern matching | |
CN105637799A (zh) | 加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序 | |
WO2012132136A1 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
CN104718566B (zh) | 密码系统 | |
CN103354984B (zh) | 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置以及密码处理方法 | |
CN106031080A (zh) | 加密系统和加密程序 | |
JP5651609B2 (ja) | 検索可能暗号システム、検索装置、計算装置、及びプログラム | |
JP6980154B2 (ja) | データ利用者鍵生成装置、鍵生成方法及び鍵生成プログラム |
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 |