CN103354984B - 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置以及密码处理方法 - Google Patents
密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置以及密码处理方法 Download PDFInfo
- Publication number
- CN103354984B CN103354984B CN201180067247.XA CN201180067247A CN103354984B CN 103354984 B CN103354984 B CN 103354984B CN 201180067247 A CN201180067247 A CN 201180067247A CN 103354984 B CN103354984 B CN 103354984B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- msubsup
- integer
- ran
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 118
- 238000003672 processing method Methods 0.000 title claims description 5
- 239000013598 vector Substances 0.000 claims abstract description 439
- 239000000758 substrate Substances 0.000 claims abstract description 143
- 238000012546 transfer Methods 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 20
- OWZREIFADZCYQD-NSHGMRRFSA-N deltamethrin Chemical compound CC1(C)[C@@H](C=C(Br)Br)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 OWZREIFADZCYQD-NSHGMRRFSA-N 0.000 claims 3
- 238000010295 mobile communication Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 21
- 238000009826 distribution Methods 0.000 description 19
- 230000014509 gene expression Effects 0.000 description 15
- 238000003860 storage Methods 0.000 description 14
- 239000003643 water by type Substances 0.000 description 14
- 230000015654 memory Effects 0.000 description 12
- 230000009977 dual effect Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- UREZNYTWGJKWBI-UHFFFAOYSA-M benzethonium chloride Chemical compound [Cl-].C1=CC(C(C)(C)CC(C)(C)C)=CC=C1OCCOCC[N+](C)(C)CC1=CC=CC=C1 UREZNYTWGJKWBI-UHFFFAOYSA-M 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000003115 biocidal effect Effects 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- 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
- H04L9/3066—Public 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/3073—Public 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
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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]
- H04L9/0833—Key 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] involving conference or group key
- H04L9/0836—Key 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] involving conference or group key using tree structure or hierarchical structure
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
目的在于提供一种提高了运算等的效率的分层式内积谓词密码。密码处理系统(10)具备密钥生成装置(100)、加密装置(200)、以及解密装置(300)。密钥生成装置(100)生成在关于t=1,...,L的各整数t的基底B* t的基底矢量中嵌入了谓词信息v→t的矢量,作为解密密钥skL。加密装置(200)生成在关于t=1,...,L中的至少一部分的整数t的基底Bt的基底矢量中嵌入了属性信息x→t的矢量,作为加密数据ct。解密装置(300)针对密钥生成装置(100)生成的解密密钥skL和加密装置(200)生成的加密数据ct进行配对运算,对加密数据ct进行解密。
Description
技术领域
本发明涉及分层式谓词密码(HierarchicalPredicateEncryption)。
背景技术
在非专利文献21中,有关于分层式内积谓词密码(HierarchicalPredicateEncryptionforInnerProducts)的记载。另外,在非专利文献18中,有关于函数型密码(FunctionalEncryption)的记载。
非专利文献1:Beimel,A.,Secureschemesforsecretsharingandkeydistribution.PhDThesis,IsraelInstituteofTechnology,Technion,Haifa,Israel,1996.
非专利文献2:Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertext-policyattribute-basedencryption.In:2007IEEESymposiumonSecurityandPrivacy,pp.321·34.IEEEPress(2007)
非专利文献3:Boneh,D.,Boyen,X.:Efficientselective-IDsecureidentitybasedencryptionwithoutrandomoracles.In:Cachin,C.,Camenisch,J.(eds.)EUROCRYPT2004.LNCS,vol.3027,pp.223·38.SpringerHeidelberg(2004)
非专利文献4:Boneh,D.,Boyen,X.:Secureidentitybasedencryptionwithoutrandomoracles.In:Franklin,M.K.(ed.)CRYPTO2004.LNCS,vol.3152,pp.443·59.SpringerHeidelberg(2004)
非专利文献5:Boneh,D.,Boyen,X.,Goh,E.:Hierarchicalidentitybasedencryptionwithconstantsizeciphertext.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.440·56.SpringerHeidelberg(2005)
非专利文献6:Boneh,D.,Franklin,M.:Identity-basedencryptionfromtheWeilpairing.In:Kilian,J.(ed.)CRYPTO2001.LNCS,vol.2139,pp.213·29.SpringerHeidelberg(2001)
非专利文献7:Boneh,D.,Hamburg,M.:Generalizedidentitybasedandbroadcastencryptionscheme.In:Pieprzyk,J.(ed.)ASIACRYPT2008.LNCS,vol.5350,pp.455·70.SpringerHeidelberg(2008)
非专利文献8:Boneh,D.,Katz,J.,ImprovedefficiencyforCCA-securecryptosystemsbuiltusingidentitybasedencryption.RSA-CT2005,LNCS,SpringerVerlag(2005)
非专利文献9:Boneh,D.,Waters,B.:Conjunctive,subset,andrangequeriesonencrypteddata.In:Vadhan,S.P.(ed.)TCC2007.LNCS,vol.4392,pp.535·54.SpringerHeidelberg(2007)
非专利文献10:Boyen,X.,Waters,B.:Anonymoushierarchicalidentity-basedencryption(withoutrandomoracles).In:Dwork,C.(ed.)CRYPTO2006.LNCS,vol.4117,pp.290·07.SpringerHeidelberg(2006)
非专利文献11:Canetti,R.,HaleviS.,KatzJ.:Chosen-ciphertextsecurityfromidentity-basedencryption.EUROCRYPT2004,LNCS,Springer-Verlag(2004)
非专利文献12:Cocks,C.:Anidentitybasedencryptionschemebasedonquadraticresidues.In:Honary,B.(ed.)IMAInt.Conf.LNCS,vol.2260,pp.360·63.SpringerHeidelberg(2001)
非专利文献13:Gentry,C.:Practicalidentity-basedencryptionwithoutrandomoracles.In:Vaudenay,S.(ed.)EUROCRYPT2006.LNCS,vol.4004,pp.445·64.SpringerHeidelberg(2006)
非专利文献14:Gentry,C.,Halevi,S.:Hierarchicalidentity-basedencryptionwithpolynomiallymanylevels.In:Reingold,O.(ed.)TCC2009.LNCS,vol.5444,pp.437·56.SpringerHeidelberg(2009)
非专利文献15:Gentry,C.,Silverberg,A.:HierarchicalID-basedcryptography.In:Zheng,Y.(ed.)ASIACRYPT2002.LNCS,vol.2501,pp.548·66.SpringerHeidelberg(2002)
非专利文献16:Goyal,V.,Pandey,O.,Sahai,A.,Waters,B.:Attribute-basedencryptionforfine-grainedaccesscontrolofencrypteddata.In:ACMConferenceonComputerandCommunicationSecurity2006,pp.89·8,ACM(2006)
非专利文献17:Katz,J.,Sahai,A.,Waters,B.:Predicateencryptionsupportingdisjunctions,polynomialequations,andinnerproducts.In:Smart,N.P.(ed.)EUROCRYPT2008.LNCS,vol.4965,pp.146·62.SpringerHeidelberg(2008)
非专利文献18:Lewko,A.,Okamoto,T.,Sahai,A.,Takashima,K.,Waters,B.:Fullysecurefunctionalencryption:Attribute-basedencryptionand(hierarchical)innerproductencryption,EUROCRYPT2010.LNCS,SpringerHeidelberg(2010)
非专利文献19:Lewko,A.B.,Waters,B.:NewtechniquesfordualsystemencryptionandfullysecureHIBEwithshortciphertexts.In:Micciancio,D.(ed.)TCC2010.LNCS,vol.5978,pp.455·79.SpringerHeidelberg(2010)
非专利文献20:Okamoto,T.,Takashima,K.:Homomorphicencryptionandsignaturesfromvectordecomposition.In:Galbraith,S.D.,Paterson,K.G.(eds.)Pairing2008.LNCS,vol.5209,pp.57·4.SpringerHeidelberg(2008)
非专利文献21:Okamoto,T.,Takashima,K.:Hierarchicalpredicateencryptionforinner-products,In:ASIACRYPT2009,SpringerHeidelberg(2009)
非专利文献22:Ostrovsky,R.,Sahai,A.,Waters,B.:Attribute-basedencryptionwithnon-monotonicaccessstructures.In:ACMConferenceonComputerandCommunicationSecurity2007,pp.195·03,ACM(2007)
非专利文献23:Pirretti,M.,Traynor,P.,McDaniel,P.,Waters,B.:Secureattribute-basedsystems.In:ACMConferenceonComputerandCommunicationSecurity2006,pp.99·12,ACM,(2006)
非专利文献24:Sahai,A.,Waters,B.:Fuzzyidentity-basedencryption.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.494,pp.457·73.SpringerHeidelberg(2005)
非专利文献25:Shi,E.,Waters,B.:Delegatingcapabilityinpredicateencryptionsystems.In:Aceto,L.,Damg“エard,I.,Goldberg,L.A.,Halldウエrsson,M.M.,Ingウエlfsdウエttir,A.,Walukiewicz,I.(eds.)ICALP(2)2008.LNCS,vol.5126,pp.560.578.SpringerHeidelberg(2008)
非专利文献26:Waters,B.:Efficientidentitybasedencryptionwithoutrandomoracles.Eurocrypt2005,LNCS,vol.3152,pp.443·59.SpringerVerlag,(2005)
非专利文献27:Waters,B.:Ciphertext-policyattribute-basedencryption:anexpressive,efficient,andprovablysecurerealization.ePrint,IACR,http://eprint.iacr.org/2008/290
非专利文献28:Waters,B.:Dualsystemencryption:realizingfullysecureIBEandHIBEundersimpleassumptions.In:Halevi,S.(ed.)CRYPTO2009.LNCS,vol.5677,pp.619·36.SpringerHeidelberg(2009)
发明内容
在非专利文献21记载的分层式内积谓词密码方式中,使用1个大的空间构筑了密码处理。因此,在安装了该分层式内积谓词密码方式的情况下,存在密钥的尺寸变大、运算等的效率恶化的危险。
本发明的目的在于提供一种提高了运算等的效率的分层式内积谓词密码。
本发明所涉及的密码处理系统,使用关于t=1,...,L+1(L是1以上的整数)的各整数t的基底Bt和基底B* t进行密码处理,其特征在于,具备:
加密装置,生成在关于t=1,...,L中的至少一部分的整数t的基底Bt的基底矢量中嵌入了属性信息x→t的矢量,作为加密数据ct;
解密装置,将在关于t=1,...,L的各整数t的基底B* t的基底矢量中嵌入谓词信息v→t的矢量作为解密密钥skL,针对所述加密装置生成的加密数据ct和所述解密密钥skL进行配对运算而对所述加密数据ct进行解密;以及
密钥移交装置,根据在基底B* L+1的基底矢量中嵌入了谓词信息的矢量、和所述解密装置使用的解密密钥skL,生成所述解密密钥skL的下位的解密密钥skL+1。
在本发明的密码处理系统中,使用多个空间构筑了分层构造。因此,能够减小密钥的尺寸,运算效率提高。
附图说明
图1是用于说明“权限移交(分层式权限移交)”这样的概念的图。
图2是用于说明跳过分层的权限移交的图。
图3是示出属性信息和谓词信息的分层构造的图。
图4是示出分层式基于ID的密码的例子的图。
图5是用于说明基底和基底矢量的图。
图6是用于说明矢量空间中的分层构造的实现方法的一个例子的图。
图7是执行分层式内积谓词密码方式的算法的密码处理系统10的结构图。
图8是示出密钥生成装置100的功能的功能框图。
图9是示出加密装置200的功能的功能框图。
图10是示出解密装置300的功能的功能框图。
图11是示出密钥移交装置400的功能的功能框图。
图12是示出Setup算法的处理的流程图。
图13是示出KeyGen算法的处理的流程图。
图14是示出Enc算法的处理的流程图。
图15是示出Dec算法的处理的流程图。
图16是示出DelegateL算法的处理的流程图。
图17是示出KeyGen算法的处理的流程图。
图18是示出Dec算法的处理的流程图。
图19是示出DelegateL算法的处理的流程图。
图20是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一个例子的图。
(符号说明)
10:密码处理系统;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部;141:随机数生成部;142:解密要素生成部;143:随机化要素生成部;144:移交要素生成部;150:密钥分发部;200:加密装置;210:主公开密钥取得部;220:信息输入部;221:属性信息输入部;222:消息输入部;230:加密数据生成部;231:随机数生成部;232:加密数据c1生成部;233:加密数据c2生成部;240:数据发送部;300:解密装置;310:解密密钥取得部;320:数据接收部;330:配对运算部;340:消息计算部;400:密钥移交装置;410:解密密钥取得部;420:信息输入部;430:移交密钥生成部;431:随机数生成部;432:下位解密要素生成部;433:下位随机化要素生成部;434:下位移交要素生成部;440:密钥分发部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述的CPU911等。存储装置是后述的ROM913、RAM914、磁盘920等。通信装置是后述的通信板915等。输入装置是后述的键盘902、通信板915等。输出装置是后述的RAM914、磁盘920、通信板915、LCD901等。即,处理装置、存储装置、通信装置、输入装置、输出装置是硬件。
说明以下的说明中的记法。
在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所示的2个矢量x→与v→的式109所示的内积。
[式107]
[式108]
[式109]
XT表示矩阵X的转置矩阵。
针对式110所示的基底B和基底B*,是式111。
[式110]
[式111]
e→t,j表示式112所示的标准基底矢量。
[式112]
其中,j=1,...,nt
另外,是式113至式117。
[式113]
[式114]
[式115]
[式116]
[式117]
其中
另外,在为式118的情况下,是式119。
[式118]
[式119]
另外,在以下的说明中,Fq nt中的nt是nt。
同样地,秘密密钥sk(v→1,...,v→L)中的(v→1,...,v→L)是(v→1,...,v→L),秘密密钥sk(v→1,...,v→L+1)中的(v→1,...,v→L+1)是(v→1,...,v→L+1)。
同样地,在上标中表示“δi,j”的情况下,该δi,j意味着δi,j。
另外,在表示矢量的“→”被附加到下标文字或者上标文字的情况下,该“→”意味着对下标文字或者上标文字以上标附加。
另外,在以下的说明中,密码处理包括加密处理、解密处理、密钥生成处理、密钥移交处理。
实施方式1.
在该实施方式中,说明成为实现“分层式内积谓词密码”的基础的概念、和“分层式内积谓词密码”的结构。
第1,说明分层式内积谓词密码的概念。在说明分层式内积谓词密码这样的概念时,首先,说明“权限移交”这样的概念。另外,一并地,说明“分层(Hierarchial)式权限移交”这样的概念。接下来,说明“内积谓词密码”。然后,说明对内积谓词密码加上了分层式权限移交这样的概念的“分层式内积谓词密码”。进而,为了深化分层式内积谓词密码的理解,说明分层式内积谓词密码的应用例子。
第2,说明矢量空间中的分层式内积谓词密码。在该实施方式以及以下的实施方式中,在矢量空间中实现分层式谓词密码和分层式谓词密钥隐匿方式。此处,首先,说明“基底”和“基底矢量”。接下来,说明“矢量空间中的内积谓词密码”。然后,说明“矢量空间中的分层构造的实现方法”。进而,为了深化理解,说明分层构造的实现例子。
第3,说明作为用于实现分层式内积谓词密码的空间的“对偶配对矢量空间(DualPairingVectorSpaces,DPVS)”这样的具有丰富的数学性构造的空间。
第4,说明该实施方式所涉及的“分层式内积谓词密码方式”的基本结构。接下来,说明执行分层式谓词密码的“密码处理系统10”的基本结构。然后,详细说明该实施方式所涉及的分层式谓词密码方式以及密码处理系统10。
<第1.分层式内积谓词密码>
<第1-1.权限移交(分层式权限移交)这样的概念>
图1是用于说明“权限移交(分层式权限移交)”这样的概念的图。
权限移交是指,具有上位的密钥的利用者生成与该密钥(上位的密钥)相比功能被限制了的下位的密钥。
在图1中,Root(密钥生成装置)使用主秘密密钥,向第1层(Level-1)的利用者生成秘密密钥。即,Root向第1层的利用者1、2、3分别生成密钥1、2、3。然后,例如,如果是利用者1,则能够使用密钥1,向作为利用者1的下位(第2层)的利用者的利用者11、12、13分别生成密钥11、12、13。此处,与利用者1具有的密钥1相比,利用者11、12、13具有的密钥11、12、13的功能被限制。功能被限制是指,通过该秘密密钥可解密的密文被限定。即,意味着,利用下位的秘密密钥仅能够对可利用上位的秘密密钥解密的密文的一部分的密文进行解密。即,通过利用者11、12、13具有的密钥11、12、13仅能够对可通过利用者1具有的密钥1解密的密文中的一部分的密文进行解密。另外,通常,密钥11、密钥12、以及密钥13能够解密的密文是不同的。另一方面,关于密钥11、密钥12、以及密钥13能够解密的密文,能够通过密钥1来进行解密。
另外,如图1所示,将对各秘密密钥进行分层(等级)称为“分层式”。即,如图1所示,将分层式地生成下位的密钥称为“分层式权限移交”。
另外,在图1中,说明为Root向第1层的利用者生成秘密密钥,第1层的利用者向第2层的利用者生成秘密密钥,第2层的利用者向第3层的利用者生成秘密密钥。但是,如图2所示,Root不仅向第1层的利用者生成秘密密钥,而且还能够向第2层以下的层的利用者生成秘密密钥。同样地,第1层的利用者不仅向第2层的利用者生成秘密密钥,而且还能够向第3层以下的层的利用者生成秘密密钥。即,Root、利用者能够生成比自己具有的秘密密钥下位的层的秘密密钥。
<第1-2.内积谓词密码>
接下来,说明“内积谓词密码”。
首先,谓词密码是指,在谓词信息fv中输入了属性信息x的情况时成为1(True(真))的情况(成为fv(x)=1的情况)下,能够对密文进行解密的密码方式。通常,在密文中嵌入属性信息x,在秘密密钥中嵌入谓词信息fv。即,在谓词密码中,通过根据谓词信息fv生成的秘密密钥SKf对根据属性信息x加密了的密文c进行解密。谓词密码也可以说是如下密码方式:例如,谓词信息fv是条件式,属性信息x是向该条件式的输入信息,如果输入信息(属性信息x)满足条件式(谓词信息fv)(fv(x)=1),则能够对密文进行解密。
另外,关于谓词密码,在非专利文献17中详细记载。
内积谓词密码是指,在属性信息x与谓词信息fv的内积是规定的值的情况下成为fv(x)=1的谓词密码。即,仅在属性信息x与谓词信息fv的内积是规定的值的情况下,能够通过根据谓词信息fv生成的秘密密钥SKf对通过属性信息x加密了的密文c进行解密。
在实施方式1中,原则上,设为在属性信息x与谓词信息fv的内积是0的情况下成为fv(x)=1。
<第1-3.分层式内积谓词密码>
分层式内积谓词密码(分层式内积谓词密钥隐匿方式)是指,具有上述的“分层式权限移交”这样的概念的“内积谓词密码”。
关于分层式内积谓词密码,由于使内积谓词密码具有分层式权限移交系统,所以使属性信息和谓词信息具有分层构造。
图3是示出属性信息和谓词信息的分层构造的图。
在图3中,设为符号对应的属性信息和谓词信息是对应的(即,内积为0)。即,设为属性1与谓词1的内积为0,属性11与谓词11的内积为0,属性12与谓词12的内积为0,属性13与谓词13的内积为0。即,关于通过属性1加密了的密文c1,只要是根据谓词1生成的秘密密钥k1就能够解密。另外,关于通过属性11加密了的密文c11,只要是根据谓词11生成的秘密密钥k11就能够解密。可以说关于属性12和谓词12、属性13和谓词13也是同样的。
如上所述,分层式内积谓词密码具有分层式权限移交系统。因此,能够根据依据谓词1生成的秘密密钥k1、和谓词11,生成秘密密钥k11。即,具有上位的秘密密钥k1的利用者能够根据该秘密密钥k1和下位的谓词11,生成秘密密钥k1的下位的秘密密钥k11。同样地,能够根据秘密密钥k1和谓词12生成秘密密钥k12,能够根据秘密密钥k1和谓词13生成秘密密钥k13。
另外,能够利用上位的秘密密钥对利用与下位的秘密密钥对应的密钥(公开密钥)加密了的密文进行解密。另一方面,无法通过下位的秘密密钥对利用与上位的秘密密钥对应的密钥(公开密钥)加密了的密文进行解密。即,关于通过属性11、属性12、属性13加密了的密文c11、c12、c13,如果是根据谓词1生成的秘密密钥k1,则能够解密。另一方面,关于通过属性1加密了的密文c1,无法通过根据谓词11、谓词12、谓词13生成的秘密密钥k11、k12、k13来解密。即,属性11、属性12、属性13与谓词1的内积成为0。另一方面,属性1与谓词11、谓词12、谓词13的内积不成为0。
<第1-4.分层式内积谓词密码的应用例子>
图4是示出作为后述的分层式内积谓词密码的应用例子的分层式基于ID的密码(HierarchialIdentifierBasedEncryption,HIBE)的例子的图。另外,分层式基于ID的密码是指,基于ID的密码成为分层式的密码处理。基于ID的密码是谓词密码的一种,是在密文中所包含的ID和秘密密钥中所包含的ID一致的情况下能够对密文进行解密的匹配谓词密码。
在图4所示的例子中,Root(密钥生成装置)根据主秘密密钥sk和作为A公司的ID的“A”,生成与ID“A”对应的秘密密钥(密钥A)。例如,A公司的保密工作人员根据密钥A和各部门的ID,生成与该ID对应的秘密密钥。例如,保密工作人员生成与营业部门的ID即“A-1”对应的秘密密钥(密钥1)。接下来,例如,各部门的管理者根据该部门的秘密密钥和属于该部门的各课的ID,生成与该ID对应的秘密密钥。例如,营业部门的管理者生成与营业1课的ID即“A-11”对应的秘密密钥(密钥11)。
此处,能够通过作为与营业1课的ID“A-11”对应的秘密密钥的密钥11,对通过营业1课的ID“A-11”加密了的密文进行解密。但是,无法通过密钥11对利用营业2课、营业3课的ID加密了的密文进行解密。另外,无法通过密钥11对利用营业部门的ID加密了的密文进行解密。
通过作为与营业部门的ID“A-1”对应的秘密密钥的密钥1,能够对通过营业部门的ID“A-1”加密了的密文进行解密。另外,能够通过密钥1对利用属于营业部门的课的ID加密了的密文进行解密。即,能够通过密钥1对利用营业1课、营业2课、营业3课的ID加密了的密文进行解密。但是,无法通过密钥1对利用制造部门(ID:A-2)、原料部门(ID:A-3)的ID加密了的密文进行解密。另外,无法通过密钥1对利用A公司的ID加密了的密文进行解密。
能够通过作为与A公司的ID“A”对应的秘密密钥的密钥A,对利用A公司的ID“A”加密了的密文进行解密。另外,能够对利用属于A公司的各部门、属于该部门的课的ID加密了的密文进行解密。
分层式内积谓词密码还可以实现向基于ID的密码以外的各种应用。特别,以下说明的密码处理不限于等号关系测试的级别,所以能够实现非常多的应用。例如,关于作为内积谓词密码的一种的可检索的密码等,也能够实现针对每个分层使用AND条件、OR条件等条件式来限定可检索的范围等在具有以往的权限移交系统的谓词密码中无法实现的应用。
即,在后面的实施方式中说明的分层式谓词密钥隐匿方式和分层式谓词密码能够向基于ID的密码、可检索的密码等广泛应用。
<第2.矢量空间中的分层式内积谓词密码>
分层式谓词密钥隐匿方式和分层式谓词密码在后述的对偶配对矢量空间这样的高维矢量空间中实现。因此,说明矢量空间中的分层式内积谓词密码。
<第2-1.基底和基底矢量>
首先,简单地说明在矢量空间的说明中使用的“基底”和“基底矢量”。
图5是用于说明基底和基底矢量的图。
图5示出二维矢量空间中的矢量v。矢量v是c1a1+c2a2。另外,矢量v是y1b1+y2b2。此处,将a1,a2称为基底A中的基底矢量,表示为基底A:=(a1,a2)。另外,将b1,b2称为基底B中的基底矢量,表示为基底B:=(b1,b2)。另外,c1,c2,y1,y2是针对各基底矢量的系数。在图5中,由于是二维矢量空间,所以各基底中的基底矢量是2个。但是,如果是N维矢量空间,则各基底中的基底矢量是N个。
<第2-2.矢量空间中的内积谓词密码>
接下来,说明矢量空间中的内积谓词密码。
如上所述,内积谓词密码是指,在属性信息x与谓词信息fv的内积是规定的值(此处为0)的情况下成为fv(x)=1的谓词密码。在属性信息x和谓词信息fv是矢量的情况、即是属性矢量x→和谓词矢量v→的情况下,内积谓词如式120那样定义。
[式120]
如果
如果
其中,
即,是如下谓语密码:在属性矢量x→与谓词矢量v→的内积、即每个要素的内积之和是0的情况下,在谓词信息fv中输入了属性信息x的结果成为1(True(真))。另外,在属性矢量x→与谓词矢量v→的内积不为0的情况下,在谓词信息fv中输入了属性信息x的结果成为0(False(假))。
<第2-3.矢量空间中的分层构造的实现方法>
接下来,说明矢量空间中的分层构造的实现方法。
图6是用于说明矢量空间中的分层构造的实现方法的一个例子的图。
此处,处理d个(d是1以上的整数)矢量空间。各矢量空间是高维(Nt维(t=1,...,d))矢量空间。即,在各矢量空间中的规定的基底Ct(t=1,...,d)中,存在基底矢量ci(i=1,...,Nt)这Nt个基底矢量。
另外,将基底C1设为用于设定第1层的属性信息、谓词信息的空间。另外,将基底C2设为用于设定第2层的属性信息、谓词信息的空间。以下同样地,将基底CL设为用于设定第L层的属性信息、谓词信息的空间。因此,此处能够表示d层的分层。
此处,关于第L层的秘密密钥,不仅是使用基底CL来设定第L层的谓词信息,而且还使用基底C1至基底CL-1设定第1层至第L-1层的谓词信息来生成。即,在下位的层的秘密密钥中,还设定对上位的层的秘密密钥设定的谓词信息。由此,使谓词信息具有分层构造。然后,利用使该谓词信息具有的分层构造,构成内积谓词密码中的权限移交系统。
另外,在以下的说明中,为了示出矢量空间中的分层式构造,使用分层信息n→:=(d;N1,...,Nd)。此处,d是表示上述的分层的深度的值。Ni(i=1,...,d)是表示对各层i分配的空间的维数、即基底矢量的数量的值。
<第2-4.分层构造的实现例>
此处,使用简单的例子来说明分层构造。此处,使用具备3个分层,对各分层分配的空间由二维构成的例子来说明。即,n→:=(d;N1,...,Nd)=(3;2,2,2)。
具有根据第1层的谓词矢量v→1:=(v1,v2)生成的第1层的秘密密钥sk1的利用者能够根据第1层的秘密密钥sk1和第2层的谓词矢量v→2:=(v3,v4)生成第2层的秘密密钥sk2。即,第2层的秘密密钥sk2是根据谓词矢量(v→1,v→2)生成的。同样地,具有第2层的秘密密钥sk2的利用者能够根据第2层的秘密密钥sk2和第3层的谓词矢量v→3:=(v5,v6)生成第3层的秘密密钥sk3。即,第3层的秘密密钥sk3是根据谓词矢量(v→1,v→2,v→3)来生成的。
根据第1层的谓词矢量v→1生成的第1层的秘密密钥sk1是通过(v→1,(0,0)、(0,0))生成的秘密密钥。因此,关于第1层的秘密密钥sk1,在v→1·x→1=0的情况下能够对通过属性矢量(x→1,(*,*)、(*,*)):=((x1,x2)、(*,*)、(*,*))加密了的密文进行解密。其原因为(*,*)·(0,0)=0。此处,“*”表示任意的值。
同样地,根据第2层的谓词矢量(v→1,v→2)生成的第2层的秘密密钥sk2是通过(v→1,v→2,(0,0))生成的秘密密钥。因此,关于第2层的秘密密钥sk2,在v→1·x→1=0并且v→2·x→2=0的情况下能够对通过属性矢量(x→1,x→2,(*,*)):=((x1,x2)、(x3,x4)、(*,*))加密了的密文进行解密。
但是,第2层的秘密密钥sk2无法对通过第1层的属性矢量x→1:=(x1,x2)(即,(x→1,(*,*)、(*,*))加密了的密文进行解密。其原因为如果不是v→2=(0,0),则(*,*)·v→2≠0,v→2·x→2≠0的缘故。因此,第2层的秘密密钥sk2可以说仅具有与作为父亲的秘密密钥sk1相比被限定的能力。
<第3.对偶配对矢量空间>
首先,说明对称双线性配对群(SymmetricBilinearPairingGroups)。
对称双线性配对群(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。
在以下的说明中,使式121为如下算法:将1λ作为输入并输出将保密参数设为λ的双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
[式121]
接下来,说明对偶配对矢量空间。
对偶配对矢量空间(q,V,GT,A,e)能够通过对称双线性配对群(paramG:=(q,G,GT,g,e))的直积构成。对偶配对矢量空间(q,V,GT,A,e)是素数q、式122所示的Fq上的N维矢量空间V、位数q的循环群GT、空间V的标准基底A:=(a1,...,aN)的组,具有以下的运算(1)(2)。此处,ai如式123所示。
[式122]
[式123]
运算(1):非退化双线性配对
空间V中的配对通过式124来定义。
[式124]
其中,
其是非退化双线性。即,是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):失真映射
式125所示的空间V中的线性变换φi,j能够进行式126。
[式125]
是φi,j(aj)=ai,
如果k≠j,则φi,j(ak)=0。
[式126]
这里,
(g1,...gN):=x。
此处,将线性变换φi,j称为失真映射。
在以下的说明中,使式127为如下算法:将1λ(λ∈自然数)、N∈自然数、双线性配对群的参数paramG:=(q,G,GT,g,e)的值作为输入,输出保密参数是λ、且作为N维的空间V的对偶配对矢量空间的参数paramV:=(q,V,GT,A,e)的值。
[式127]
另外,此处,说明通过上述的对称双线性配对群构成了对偶配对矢量空间的情况。另外,还能够通过非对称双线性配对群构成对偶配对矢量空间。易于将以下的说明应用于通过非对称双线性配对群构成了对偶配对矢量空间的情况。
<第4.分层式谓词密码的结构和密码处理系统10>
<第4-1.分层式内积谓词密码的基本结构>
简单说明分层式内积谓词密码方式的结构。
分层式内积谓词密码方式具备Setup、KeyGen、Enc、Dec、DelegateL(L=1,...,d-1)这5个概率性的多项式时间算法。
(Setup)
在Setup算法中,输入保密参式1λ和分层信息n→:=(d;N0,...,Nd),输出主公开密钥pk和主秘密密钥sk。主秘密密钥sk是最上位的密钥。
(KeyGen)
在KeyGen算法中,输入主公开密钥pk、主秘密密钥sk、以及谓词矢量(v→1,...,v→L)(1≤L≤d),输出第L层的秘密密钥sk(v→1,...,v→L)。
(Enc)
在Enc算法中,输入主公开密钥pk、属性矢量(x→1,...,x→h)(1≤h≤d)、以及明文信息m,输出加密数据ct(密文)。即,在Enc算法中,嵌入明文信息m,输出通过属性矢量(x→1,...,x→h)加密了的加密数据ct。
(Dec)
在Dec算法中,输入主公开密钥pk、第L层的秘密密钥sk(v→1,...,v→L)、以及加密数据ct,输出明文信息m或者识别信息⊥。识别信息⊥是指,表示解密失败了的信息。即,在Dec算法中,通过第L层的秘密密钥对加密数据ct进行解密,抽出明文信息m。另外,在解密失败了的情况下输出识别信息⊥。
(DelegateL)
在DelegateL中,输入主公开密钥pk、第L层的秘密密钥sk(v→1,...,v→L)、以及第L+1层的谓词矢量v→L+1(L+1≤d),输出第L+1层的秘密密钥sk(v→1,...,v→L+1)。即,在DelegateL算法中,输出下位的秘密密钥。
<第4-2.密码处理系统10>
说明执行分层式内积谓词密码方式的算法的密码处理系统10。
图7是执行分层式内积谓词密码方式的算法的密码处理系统10的结构图。
密码处理系统10具备密钥生成装置100、加密装置200、解密装置300、密钥移交装置400。另外,此处,设为解密装置300具备密钥移交装置400进行说明,但密钥移交装置400也可以与解密装置300独立地设置。
密钥生成装置100将保密参数λ、和分层信息n→:=(d;N0,...,Nd)作为输入,执行Setup算法,生成主公开密钥pk和主秘密密钥sk。然后,密钥生成装置100公开所生成的主公开密钥pk。另外,密钥生成装置100将主公开密钥pk、主秘密密钥sk、以及谓词矢量(v→1,...,v→L)(1≤L≤d)作为输入,执行KeyGen算法,生成第L层的秘密密钥sk(v→1,...,v→L),秘密地分发到第L层的解密装置300。
加密装置200将主公开密钥pk、属性矢量(x→1,...,x→h)(1≤h≤d)、以及明文信息m作为输入,执行Enc算法,生成加密数据ct。加密装置200将所生成的加密数据ct发送到解密装置300。
解密装置300将主公开密钥pk、第L层的秘密密钥sk(v→1,...,v→L)、以及加密数据ct作为输入,执行Dec算法,输出明文信息m或者识别信息⊥。
密钥移交装置400将主公开密钥pk、第L层的秘密密钥sk(v→1,...,v→L)、以及第L+1层的谓词矢量v→L+1(L+1≤d)作为输入,执行DelegateL算法,生成第L+1层的秘密密钥sk(v→1,...,v→L+1),向第L+1层的解密装置300秘密地分发。
<第4-3.分层式内积谓词密码方式以及密码处理系统10的详细内容>
根据图8至图16,说明实施方式1所涉及的分层式内积谓词密码方式、以及执行分层式内积谓词密码方式的密码处理系统10的功能和动作。
图8是示出密钥生成装置100的功能的功能框图。图9是示出加密装置200的功能的功能框图。图10是示出解密装置300的功能的功能框图。图11是示出密钥移交装置400的功能的功能框图。
图12和图13是示出密钥生成装置100的动作的流程图。另外,图12是示出Setup算法的处理的流程图,图13是示出KeyGen算法的处理的流程图。图14是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图15是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。图16是示出密钥移交装置400的动作的流程图,是示出DelegateL算法的处理的流程图。
另外,在以下的说明中,下标的“dec”是“decryption”的简称,在下标中有“dec”的部分是加密数据的解密中使用的解密要素。另外,下标的“ran”是“randomization”的简称,在下标中有“ran”的部分是用于使下位的解密密钥针对规定的基底矢量的系数随机化的随机化要素。另外,下标的“del”是“delegation”的简称,在下标中有“del”的部分是用于生成下位的解密密钥的移交要素。
说明密钥生成装置100的功能和动作。
如图8所示,密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130(第1信息输入部)、解密密钥生成部140、密钥分发部150(解密密钥发送部)。
另外,解密密钥生成部140具备随机数生成部141、解密要素生成部142、随机化要素生成部143、移交要素生成部144。
首先,根据图12,说明Setup算法的处理。
(S101:标准正交基底生成步骤)
主密钥生成部110通过处理装置,计算式128,针对paramn→、和t=0,...,d的各整数t,随机地生成基底Bt以及基底B* t。
[式128]
(1)input(输入)
N0:=1+u0+1+w0+z0;Nt:=nt+ut+wt+zt(t=1,…,d)
关于t=0......d的各t,执行(4)到(8)的处理
(9)gT:=e(g,g)ψ,
即,主密钥生成部110执行以下的处理。
(1)主密钥生成部110通过输入装置,输入保密参数λ(1λ)、和属性的格式n→:=(d;n1,...,nd,u0,...,ud,w0,...,wd,z0,...,zd)。此处,d是1以上的整数。关于t=1,...,d的各整数t,nt是1以上的整数。关于直至t=0,...,d的各整数t,ut,wt,zt是1以上的整数。另外,在主密钥生成部110中,设为N0:=1+u0+1+w0+z0,关于t=1,...,d的各整数t,设为Nt:=nt+ut+wt+zt。
(2)主密钥生成部110通过处理装置,将在(1)中输入的保密参数λ(1λ)作为输入,执行算法Gbpg,随机地生成双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
(3)主密钥生成部110通过处理装置,生成随机数ψ。
接下来,主密钥生成部110针对t=0,...,d的各整数t,执行以下的(4)至(8)的处理。
(4)主密钥生成部110通过处理装置,将在(1)中输入的保密参数λ(1λ)以及Nt、和在(2)中生成的paramG:=(q,G,GT,g,e)的值作为输入,执行算法Gdpvs,生成对偶配对矢量空间的参数paramVt:=(q,Vt,GT,At,e)的值。
(5)主密钥生成部110通过处理装置,将在(1)中设定的Nt、和Fq作为输入,随机地生成线性变换Xt:=(χt,i,j)i,j。另外,GL是GeneralLinear的简称。即,GL是一般线性群,是行列式非0的方阵的集合,关于乘法是群。另外,(χ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有关的矩阵这样的意思,此处,i,j=1,...,Nt。
(7)主密钥生成部110通过处理装置,根据在(5)中生成的线性变换Xt,根据在(4)中生成的标准基底At生成基底Bt。
(8)主密钥生成部110通过处理装置,根据在(6)中生成的(νt,i,j)i,j,根据在(4)中生成的标准基底At生成基底B* t。
(9)主密钥生成部110通过处理装置,对gT设定e(g,g)ψ。另外,主密钥生成部110对paramn→设定在(4)中生成的{paramVt}t=0,...,d、和gT。另外,关于t=0,...,d和i=1,...,Nt的各整数t,i,为gT=e(bt,i,b* t,i)。
即,在(S101)中,主密钥生成部110执行式129所示的算法Gob,针对paramn→、和t=0,...,d的各整数t,生成基底Bt以及基底B* t。
[式129]
N0:=1+u0+1+w0+z0,Nt:=nt+ut+wt+zt其中t=1,..,d,
其中,t=0,...,d,
gT:=e(g,g)ψ,
返回
(S102:主公开密钥生成步骤)
主密钥生成部110通过处理装置,针对基底B0的部分基底B^0、和t=1,...,d的各整数t,如式130所示,生成基底Bt的部分基底B^t。
[式130]
其中,t=1,..,d
主密钥生成部110将所生成的部分基底B^0以及部分基底B^t、在(S101)中输入的保密参数λ(1λ)、在(S101)中生成的paramn→、基底矢量b* 0,1+u0+1+1,...,b* 0,1+u0+1+w0(此处u0、w0是u0,w0)、以及关于t=1,...,d的各整数t的基底矢量b* t,nt+ut+1,...,b* t,nt+ut+wt(此处nt,ut,wt是nt,ut,wt)合起来,设为主公开密钥pk。
(S103:主秘密密钥生成步骤)
主密钥生成部110通过处理装置,针对基底B* 0的部分基底B^* 0、和t=1,...,d的各整数t,如式131所示,生成基底B* t的部分基底B^* t。
[式131]
其中,t=1,..,d
主密钥生成部110将所生成的部分基底B^* 0以及部分基底B^* t设为主秘密密钥。
(S104:主密钥存储步骤)
主密钥存储部120将在(S102)中生成的主公开密钥pk存储于存储装置。另外,主密钥存储部120将在(S103)中生成的主秘密密钥sk存储于存储装置。
即,在(S101)至(S103)中,密钥生成装置100执行式132所示的Setup算法,生成主公开密钥pk和主秘密密钥sk。然后,在(S104)中,密钥生成装置100将所生成的主公开秘钥pk和主秘密密钥sk存储于存储装置。
另外,主公开密钥pk例如经由网络被公开,被设为解密装置300可取得的状态。
[式132]
其中t=1,..,d,
其中t=1,..,d,
返回pk,sk.
接下来,根据图13,说明密钥生成装置100执行的KeyGen算法的处理。
(S201:信息输入步骤)
信息输入部130通过输入装置,输入谓词信息(v→1,...,v→L):=((v1,i(i=1,...,n1)),...,(vL,i(i=1,...,nL)))。另外,作为谓词信息,输入使用密钥的人员的属性。
(S202:随机数生成步骤)
随机数生成部141通过处理装置,针对j=1,...,2L,τ=L+1,...,d,以及(τ,ι)=(τ,1),...,(τ,nτ)的各整数j,τ,ι,如式133所示,生成随机数ψ、随机数sdec,t,sran,j,t(t=1,...,L)、随机数θdec,t,θran,j,t,η→dec,t,η→ran,j,t(t=0,...,L)、随机数sran,(τ,ι),t,sdel,(τ,ι),t(t=1,...,L+1)、以及随机数θran,(τ,ι),t,θdel,(τ,ι),t,η→ran,(τ,ι),t,η→del,(τ,ι),t(t=0,...,L+1)。
[式133]
其中,j=1,…,2L;τ=L+l,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
ψ,sdec,t,
θdec,t,
sran,(τ,ι),t,
θran,(τ,ι),t,
另外,如式134所示,设定sdec,0、sran,j,0、sran,(τ,ι),0、以及sdel,(τ,ι),0。
[式134]
(S203:解密要素生成步骤)
解密要素生成部142通过处理装置,如式135所示,生成作为解密密钥skL的要素的解密要素k* L,dec。
[式135]
另外,如上所述,相对于式110所示的基底B和基底B*,是式111。因此,式135意味着如以下那样,设定基底B* 0以及基底B* t(t=1,...,L)的基底矢量的系数,生成解密要素k* L,dec。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B*0的基底矢量1的系数设定-sdec,0。作为基底矢量1+1,...,1+u0的系数设定0。作为基底矢量1+u0+1的系数设定1。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηdec,0,1,...,ηdec,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。
作为基底B* t(t=1,...,L)的基底矢量1的系数设定sdec,t+θdec,tvt,1。作为基底矢量2,...,nt的系数设定θdec,tvt,2,...,θdec,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdec,t,1,...,ηdec,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
(S204:第1随机化要素生成步骤)
随机化要素生成部143通过处理装置,针对j=1,...,2L的各整数j,如式136所示,生成作为解密密钥skL的要素的第1随机化要素k* L,ran,j。
[式136]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式136意味着如以下那样,设定基底B* 0、基底B* t(t=1,...,L)的基底矢量的系数,生成第1随机化要素k* L,ran,j。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sran,j,0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηran,j,0,1,...,ηran,j,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。
作为基底B* t(t=1,...,L)的基底矢量1的系数设定sran,j,t+θran,j,tvt,1。作为基底矢量2,...,nt的系数设定θran,j,tvt,2,...,θran,j,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηran,j,t,1,...,ηran,j,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
(S205:第2随机化要素生成步骤)
随机化要素生成部143通过处理装置,针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式137所示,生成作为解密密钥skL的要素的第2随机化要素k* L,ran,(τ,ι)。
[式137]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式137意味着如以下那样,设定基底B* 0、基底B* t(t=1,...,L)和基底B* τ的基底矢量的系数,生成第2随机化要素k* L,ran,(τ,ι)。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sran,(τ,ι),0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηran,(τ,ι),0,1,...,ηran,(τ,ι),0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。
作为基底B* t(t=1,...,L)的基底矢量1的系数设定sran,(τ,ι),t+θran,(τ,ι),tvt,1。作为基底矢量2,...,nt的系数设定θran,(τ,ι),tvt,2,...,θran,(τ,ι),tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηran,(τ,ι),t,1,...,ηran,(τ,ι),t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
接下来,说明基底B* τ的部分。此处,简化标记,仅通过基底矢量b* τ,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* τ,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* τ,1,...,b* τ,3。
作为基底B* τ的基底矢量1的系数设定sran,(τ,ι),L+1。作为基底矢量2,...,nτ,...,nτ+uτ的系数设定0。作为基底矢量nτ+uτ+1,...,nτ+uτ+wτ的系数设定ηran,(τ,ι),L+1,1,...,ηran,(τ,ι),L+1,wτ(此处,wτ是wτ)。作为基底矢量nτ+uτ+wτ+1,...,nτ+uτ+wτ+zτ的系数设定0。
(S206:移交要素生成步骤)
移交要素生成部144通过处理装置,针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式138所示,生成作为解密密钥skL的要素的移交要素k* L,del,(τ,ι)。
[式138]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式138意味着如以下那样,设定基底B* 0和基底B* t(t=1,...,L)和基底B* τ的基底矢量的系数,生成移交要素k* L,del,(τ,ι)。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sdel,(τ,ι),0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηdel,(τ,ι),0,1,...,ηdel,(τ,ι),0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。
作为基底B* t(t=1,...,L)的基底矢量1的系数设定sdel,(τ,ι),t+θdel,(τ,ι),tvt,1。作为基底矢量2,...,nt的系数设定θdel,(τ,ι),tvt,2,...,θdel,(τ,ι),tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdel,(τ,ι),t,1,...,ηdel,(τ,ι),t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
接下来,说明基底B* τ的部分。此处,简化标记,仅通过基底矢量b* τ,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* τ,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* τ,1,...,b* τ,3。
作为基底B* τ的基底矢量1,...,nτ的系数设定sdel,(τ,ι),L+1e→τ,1+ψe→τ,ι。作为基底矢量nτ+1,...,nτ+uτ的系数设定0。作为基底矢量nτ+uτ+1,...,nτ+uτ+wτ的系数设定ηdel,(τ,ι),L+1,1,...,ηdel,(τ,ι),L+1,wτ(此处,wτ是wτ)。作为基底矢量nτ+uτ+wτ+1,...,nτ+uτ+wτ+zτ的系数设定0。
(S207:密钥分发步骤)
密钥分发部150将以解密要素k* L,dec、第1随机化要素k* L,ran,j(j=1,...,2L)、第2随机化要素k* L,ran,(τ,ι)(τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ))、以及移交要素k* L,del,(τ,ι)(τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ))为要素的解密密钥skL通过例如通信装置经由网络秘密地分发到解密装置300。当然,解密密钥skL也可以通过其他方法分发到解密装置300。
即,在(S201)至(S206)中,密钥生成装置100执行式139、式140所示的KeyGen算法,生成解密密钥skL。然后,在(S207)中,密钥生成装置100将所生成的解密密钥skL分发到解密装置300。
[式139]
其中j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
θdec,t,
sran,(τ,t),t,
θran,(τ,ι),t,
(t=0,...,L+1);
[式140]
返回skL.
说明加密装置200的功能和动作。
如图9所示,加密装置200具备主公开密钥取得部210、信息输入部220(第2信息输入部)、加密数据生成部230、数据发送部240。
另外,信息输入部220具备属性信息输入部221、消息输入部222。另外,加密数据生成部230具备随机数生成部231、加密数据c1生成部232、加密数据c2生成部233。
根据图14,说明加密装置200执行的Enc算法的处理。
(S301:主公开密钥取得步骤)
主公开密钥取得部210通过例如通信装置经由网络,取得密钥生成装置100生成的主公开密钥pk。
(S302:信息输入步骤)
属性信息输入部221通过输入装置,输入属性信息(x→1,...,x→L):=((x1,i(i=1,...,n1)),...,(xL,i(i=1,...,nL)))。另外,作为属性信息,输入能够对加密了的消息进行解密的人员的属性。
另外,消息输入部222通过输入装置,输入所加密的消息m。
(S303:随机数生成步骤)
随机数生成部231通过处理装置,如式141所示,生成随机数(x→L+1,...,x→d):=((xL+1,i(i=1,...,nL+1)),...,(xd,i(i=1,...,nd)))、和随机数ω,ζ,(t=0,...,d)。
[式141]
(S304:加密数据c1生成步骤)
加密数据c1生成部232通过处理装置,如式142所示,生成作为加密数据ct的要素的加密数据c1。
[式142]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式142意味着如以下那样,设定基底B0以及基底Bt(t=1,...,d)的基底矢量的系数,生成加密数据c1。
首先,说明基底B0的部分。此处,简化标记,仅通过基底矢量b0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b0,1,...,b0,3。
作为基底B0的基底矢量1的系数设定ω。作为基底矢量1+1,...,1+u0的系数设定0。作为基底矢量1+u0+1的系数设定ζ。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定0。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定φ0,1,...,φ0,zo(此处,z0是z0)。
接下来,说明基底Bt(t=1,...,d)的部分。此处,简化标记,仅通过基底矢量bt,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量bt,1。另外,如果是基底矢量1,...,3,则意味着基底矢量bt,1,...,bt,3。
作为基底Bt(t=1,...,d)的基底矢量1,...,nt的系数设定ωxt,1,...,ωxt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut+wt的系数设定0。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定φt,1,...,φt,zt(此处,zt是zt)。
(S305:加密数据c2生成步骤)
加密数据c2生成部233通过处理装置,如式143所示,生成作为加密数据ct的要素的加密数据c2。
[式143]
(S306:数据发送步骤)
数据发送部240将包括加密数据c1、和加密数据c2的加密数据ct通过例如通信装置经由网络发送到解密装置300。当然,加密数据ct也可以通过其他方法发送到解密装置300。
即,在(S301)至(S305)中,加密装置200执行式144所示的Enc算法,生成加密数据ct。然后,在(S306)中,加密装置200将所生成的加密数据ct发送到解密装置300。
[式144]
ct:=(c1,c2),
返回ct.
说明解密装置300的功能和动作。
如图10所示,解密装置300具备解密密钥取得部310、数据接收部320、配对运算部330、消息计算部340。
根据图15,说明解密装置300执行的Dec算法的处理。
(S401:解密密钥取得步骤)
解密密钥取得部310通过例如通信装置经由网络,取得解密密钥skL。另外,解密密钥取得部310取得密钥生成装置100生成的主公开秘钥pk。
(S402:数据接收步骤)
数据接收部320通过例如通信装置经由网络,接收加密装置200发送了的加密数据ct。
(S403:配对运算步骤)
配对运算部330通过处理装置,进行式145所示的配对运算,计算会话密钥K=gT ζ。
[式145]
另外,如果(v→1,...,v→L)与(x→1,...,x→L)的内积是0,则通过计算式145,计算会话密钥K。
(S404:消息计算步骤)
消息计算部340通过处理装置,将加密数据c2除以会话密钥K,从而计算消息m’(=m)。
即,在(S401)至(S404)中,解密装置300执行式146所示的Dec算法,计算消息m’(=m)。
[式146]
返回m'.
说明密钥移交装置400的功能和动作。
如图11所示,密钥移交装置400具备解密密钥取得部410、信息输入部420(第3信息输入部)、移交密钥生成部430、密钥分发部440(移交密钥发送部)。
另外,移交密钥生成部430具备随机数生成部431、下位解密要素生成部432、下位随机化要素生成部433、下位移交要素生成部434。
根据图16,说明密钥移交装置400执行的DelegateL算法的处理。
(S501:解密密钥取得步骤)
解密密钥取得部410通过例如通信装置经由网络,取得解密密钥skL。另外,解密密钥取得部410取得密钥生成装置100生成的主公开秘钥pk。
(S502:信息输入步骤)
信息输入部420通过输入装置,输入谓词信息v→L+1:=(vL+1,i(i=1,...,nL+1))。另外,作为谓词信息,输入被移交密钥的人员的属性。
(S503:随机数生成步骤)
随机数生成部431通过处理装置,针对j=1,...,2L,j’=1,...,2(L+1)、τ=L+2,...,d、(τ,ι)=(τ,1),...,(τ,nτ)、t=0,...,L+1,τ、以及(t,i)=(t,1),...,(t,nt)的各整数j,j’,τ,ι,t,i,如式147所示,生成随机数αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι),j,σran,(τ,ι),φran,(τ,ι),αdel,(τ,ι),j,σdel,(τ,ι),φdel,(τ,ι),ψ’,ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι)、(t,i),ηdel,(τ,ι)、(t,i)。
[式147]
其中,j=1,...,2L;j'=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,wt);
αdec,j,σdec,αran,j’,j,σran,j',αran,(τ,ι),j,σran,(τ,ι),
φran,(τ,ι),αdel,(τ,ι),j,σdel,(τ,ι),φdel,(τ,ι),ψ’,
ηdec,(t,i),ηran,i’,(t,i),ηran,(τ,ι),(t,i),
(S504:下位解密要素生成步骤)
下位解密要素生成部432通过处理装置,如式148所示,生成作为移交密钥skL+1的要素的下位解密要素k* L+1,dec。
[式148]
(S505:第1下位随机化要素生成步骤)
下位随机化要素生成部433通过处理装置,针对j’=1,...,2(L+1)的各整数j’,如式149所示,生成作为移交密钥skL+1的要素的第1下位随机化要素k* L+1,ran,j’。
[式149]
(S506:第2下位随机化要素生成步骤)
下位随机化要素生成部433通过处理装置,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式150所示,生成作为移交密钥skL+1的要素的第2下位随机化要素k* L+1,ran,(τ,ι)。
[式150]
(S507:下位移交要素生成步骤)
下位移交要素生成部434通过处理装置,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式151所示,生成作为移交密钥skL+1的要素的下位移交要素k* L+1,del,(τ,ι)。
[式151]
(S508:密钥分发步骤)
密钥分发部150将以下位解密要素k* L+1,dec、第1下位随机化要素k* L+1,ran,j’(j’=1,...,2(L+1))、第2下位随机化要素k* L+1,ran,(τ,ι)(τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ))、以及下位移交要素k* L+1,del,(τ,ι)(τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ))为要素的移交密钥skL+1(下位的解密密钥)通过例如通信装置经由网络秘密地分发到下位的解密装置300。当然,移交密钥skL+1也可以通过其他方法分发到下位的解密装置300。
即,在(S501)至(S507)中,密钥移交装置400执行式152、153所示的DelegateL算法,生成移交密钥skL+1。然后,在(S508)中,密钥移交装置400将所生成的移交密钥skL+1分发到下位的解密装置300。
[式152]
其中,j=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,wt);
αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι),j,σran,(τ,ι),
φran,(τ,ι),αdel,(τ,ι),j,σdel,(τ,ι),φdel,(τ,ι),ψ',
ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι),(t,i),
[式153]
返回skL+1
另外,在下位的解密装置300使用移交密钥skL+1执行了Dec算法的情况下,在图15的(S403)中,如果(v→1,...,v→L+1)与(x→1,...,x→L+1)的内积是0,则通过计算式145,计算会话密钥K。
如以上那样,实施方式1所涉及的密码处理系统10使用d+1个Nt(t=0,...,d)维空间,实现d分层的分层式内积谓词密码方式。此处,第L层(1≤L≤d)的密码处理所需的空间是L+1个Nt(t=0,...,L)维空间。因此,能够减小密钥的尺寸,能够提高运算等的效率。另外,还能够减小记录密钥的存储器、寄存器等的区域。
另外,在上述说明中,ut、wt、zt(t=0,...,d)的维度是为了提高安全性而设置的维度。因此,虽然安全性变低,但也可以使ut、wt、zt(t=0,...,d)分别为0,而不设置ut、wt、zt(t=0,...,d)的维度。
另外,在上述说明中,对N0设定了1+u0+1+w0+z0,对Nt设定了nt+ut+wt+zt。但是,也可以使1+u0+1+w0+z0为1+1+1+1+1而对N0设定5,使nt+ut+wt+zt为nt+nt+nt+1而对Nt设定3nt+1。
在该情况下,式132所示的Setup算法如式154那样被置换。另外,Gob如式155那样被置换。
[式154]
返回pk,sk.
[式155]
N0:=5,Nt:=3nt+1(t=1,...,d),
Fort=0,...,d,
gT:=e(g,g)ψ,
返回
另外,式139、式140所示的KeyGen算法如式156、式157那样被置换。
[式156]
其中j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
ψ,sdec,t,
θdec,t,
sran,(τ,ι),t,
θran,(τ,ι),t
(t=0,...,L+1);
[式157]
返回skL.
另外,式144所示的Enc算法如式158那样被置换。
[式158]
ct:=(c1,c2),
返回ct.
另外,式152、式153所示的DelegateL算法如式159、式160那样被置换。
[式159]
其中j=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,nt);
αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι),j,σran,(τ,ι),
φran,(τ,ι),αdel,(τ,ι),j,σdel,(τ,ι),φdel,(τ,ι),ψ',
ηdec,(t,i),ηran,j’(t,i),ηran,(τ,ι),(t,i),
[式160]
返回skL+1
另外,在式146所示的Dec算法中没有变更。
另外,关于Setup算法,在密码处理系统10的设置时执行一次即可,而无需每当生成解密密钥时执行。另外,在上述说明中,使密钥生成装置100执行Setup算法和KeyGen算法,但也可以使分别不同的装置执行Setup算法和KeyGen算法。
实施方式2.
在该实施方式中,说明使在实施方式1中说明的方式一般化了的分层式内积谓词密码方式。
在实施方式1中说明的分层式内积谓词密码方式中,原则上在对加密数据ct设定的属性信息、与对解密密钥设定的谓词信息的内积是0的情况下,能够通过解密密钥对加密数据ct进行解密。
但是,在实施方式2中说明的分层式内积谓词密码方式中,能够设定为即使在对加密数据ct设定的属性信息、与对解密密钥设定的谓词信息的内积未成为0的情况下也能够解密。
具体而言,在以下的说明中,在关于ρt(t=1,...,d)的值是0的整数t,属性信息x→t与谓词信息v→t的内积成为0,关于ρt(t=1,...,d)的值是1的整数t,属性信息x→t与谓词信息v→t的内积不为0的情况下,能够解密。
由此,例如,能够根据ρt(t=1,...,d)的值的设定,进行肯定形的条件式(例如,属性信息=谓词信息)和否定形的条件式(属性信息≠谓词信息)的设定。
根据图17至图19,说明实施方式2所涉及的分层式内积谓词密码方式、以及执行分层式内积谓词密码方式的密码处理系统10的功能和动作。
另外,关于实施方式2所涉及的密码处理系统10的功能结构,与图8至图11所示的实施方式1所涉及的密码处理系统10的功能结构相同。
图17是示出密钥生成装置100的动作的流程图,是示出KeyGen算法的处理的流程图。图18是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。图19是示出密钥移交装置400的动作的流程图,是示出DelegateL算法的处理的流程图。
另外,实施方式2所涉及的Setup算法和Enc算法的处理与实施方式1所涉及的Setup算法和Enc算法的处理相同,所以省略说明。但是,在Enc算法中,在加密数据ct中,不仅包含加密数据c1,c2,而且还包含属性信息x→i(i=1,...,L),而发送到解密装置300。
根据图17,说明密钥生成装置100执行的KeyGen算法的处理。
(S601:信息输入步骤)
信息输入部130通过输入装置,输入谓词信息((v→1,ρ1),...,(v→L,ρL)):=((v1,i(i=1,...,n1),ρ1∈{0,1}),...,(vL,i(i=1,...,nL),ρL∈{0,1}))。另外,作为谓词信息,输入使用密钥的人员的属性。
(S602:随机数生成步骤)
随机数生成部141通过处理装置,针对j=1,...,2L、τ=L+1,...,d和(τ,ι)=(τ,1),...,(τ,nτ)的各整数j,τ,ι,如式161所示,生成随机数ψ、随机数sdec,t,sran,j,t(t=1,...,L)、随机数θdec,t,θran,j,t,η→dec,t,η→ran,j,t,η→ran,0,t,η→del,0,t,η→del,1,t(t=0,...,L)、随机数sran,0,t,sdel,0,t,sdel,1,t(t=0,...,L+1)、随机数θran,0,t,θdel,0,t,θdel,1,t(t=0,...,L+1)、以及随机数η→ran,(τ,ι),η→del,0,(τ,ι),η→del,1,(τ,ι)。
[式161]
其中j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
另外,如式162所示,设定sdec,0、sran,j,0、sran,0,0、sdel,0,0、以及sdel,1,0。
[式162]
(S603:解密要素生成步骤)
解密要素生成部142通过处理装置,如式163所示,生成作为解密密钥skL的要素的解密要素k* L,dec。
[式163]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式163意味着如以下那样,设定基底B* 0以及基底B* t(t=1,...,L)的基底矢量的系数,生成解密要素k* L,dec。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sdec,0。作为基底矢量1+1,...,1+u0的系数设定0。作为基底矢量1+u0+1的系数设定1。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηdec,0,1,...,ηdec,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。另外,关于基底B* t(t=1,...,L),根据ρt的值是0还是1而划分情况。
在ρt的值是0的情况下,作为基底B* t(t=1,...,L)的基底矢量1的系数设定sdec,t+θdec,tvt,1。作为基底矢量2,...,nt的系数设定θdec,tvt,2,...,θdec,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdec,t,1,...,ηdec,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
另一方面,在ρt的值是1的情况下,作为基底B* t(t=1,...,L)的基底矢量1,...,nt的系数设定sdec,tvt,1,...,sdec,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdec,t,1,...,ηdec,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
(S604:第1随机化要素生成步骤)
随机化要素生成部143通过处理装置,针对j=1,...,2L的各整数j,如式164所示,生成作为解密密钥skL的要素的第1随机化要素k* L,ran,j。
[式164]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式164意味着如以下那样,设定基底B* 0以及基底B* t(t=1,...,L)的基底矢量的系数,生成第1随机化要素k* L,ran,j。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sran,j,0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηran,j,0,1,...,ηran,j,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。另外,关于基底B* t(t=1,...,L),根据ρt的值是0还是1而划分情况。
在ρt的值是0的情况下,作为基底B* t(t=1,...,L)的基底矢量1的系数设定sran,j,t+θran,j,tvt,1。作为基底矢量2,...,nt的系数设定θran,j,tvt,2,...,θran,j,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηran,j,t,1,...,ηran,j,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
另一方面,在ρt的值是1的情况下,作为基底B* t(t=1,...,L)的基底矢量1,...,nt的系数设定sran,j,tvt,1,...,sran,j,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηran,j,t,1,...,ηran,j,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
(S605:第2随机化要素生成步骤)
随机化要素生成部143通过处理装置,针对τ=L+1,...,d的各整数τ、关于各整数τ的ι=1,...,nτ的各整数ι,如式165所示,生成作为解密密钥skL的要素的第2随机化要素k* L,ran,(τ,ι,0)。
[式165]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式165意味着如以下那样,设定基底B* 0、基底B* t(t=1,...,L)、以及基底B* τ的基底矢量的系数,生成第2随机化要素k* L,ran,(τ,ι,0)。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sran,0,0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηran,0,0,1,...,ηran,0,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。另外,关于基底B* t(t=1,...,L),根据ρt的值是0还是1而划分情况。
在ρt的值是0的情况下,作为基底B* t(t=1,...,L)的基底矢量1的系数设定sran,0,t+θran,0,tvt,1。作为基底矢量2,...,nt的系数设定θran,0,tvt,2,...,θran,0,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηran,0,t,1,...,ηran,0,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
另一方面,在ρt的值是1的情况下,作为基底B* t(t=1,...,L)的基底矢量1,...,nt的系数设定sran,0,tvt,1,...,sran,0,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηran,0,t,1,...,ηran,0,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
接下来,说明基底B* τ的部分。此处,简化标记,仅通过基底矢量b* τ,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* τ,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* τ,1,...,b* τ,3。
作为基底B* τ的基底矢量1的系数设定sran,0,L+1。作为基底矢量2,...,nτ,...,nτ+uτ的系数设定0。作为基底矢量nτ+uτ+1,...,nτ+uτ+wτ的系数设定ηran,0,(τ,ι),1,...,ηran,0,(τ,ι)s,wτ(此处,wτ是wτ)。作为基底矢量nτ+uτ+wτ+1,...,nτ+uτ+wτ+zτ的系数设定0。
(S606:第1移交要素生成步骤)
移交要素生成部144通过处理装置,针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式166所示,生成作为解密密钥skL的要素的第1移交要素k* L,del,(τ,ι,0)。
[式166]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式166意味着如以下那样,设定基底B* 0、基底B* t(t=1,...,L)、以及基底B* τ的基底矢量的系数,生成第1移交要素k* L,del,(τ,ι,0)。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sdel,0,0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηdel,0,0,1,...,ηdel,0,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。另外,关于基底B* t(t=1,...,L),根据ρt的值是0还是1而划分情况。
在ρt的值是0的情况下,作为基底B* t(t=1,...,L)的基底矢量1的系数设定sdel,0,t+θdel,0,tvt,1。作为基底矢量2,...,nt的系数设定θdel,0,tvt,2,...,θdel,0,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdel,0,t,1,...,ηdel,0,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
另一方面,在ρt的值是1的情况下,作为基底B* t(t=1,...,L)的基底矢量1,...,nt的系数设定sdel,0,tvt,1,...,sdel,0,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdel,0,t,1,...,ηdel,0,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
接下来,说明基底B* τ的部分。此处,简化标记,仅通过基底矢量b* τ,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* τ,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* τ,1,...,b* τ,3。
作为基底B* τ的基底矢量1,...,nτ的系数设定sdel,0,L+1e→τ,1+ψe→τ,ι。作为基底矢量nτ+1,...,nτ+uτ的系数设定0。作为基底矢量nτ+uτ+1,...,nτ+uτ+wτ的系数设定ηdel,0,(τ,ι),1,...,ηdel,0,(τ,ι),wτ(此处,wτ是wτ)。作为基底矢量nτ+uτ+wτ+1,...,nτ+uτ+wτ+zτ的系数设定0。
(S607:第2移交要素生成步骤)
移交要素生成部144通过处理装置,针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式167所示,生成作为解密密钥skL的要素的第2移交要素k* L,del,(τ,ι,1)。
[式167]
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式167意味着如以下那样,设定基底B* 0、基底B* t(t=1,...,L)、以及基底B* τ的基底矢量的系数,生成第2移交要素k* L,del,(τ,ι,1)。
首先,说明基底B* 0的部分。此处,简化标记,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* 0,1,...,b* 0,3。
作为基底B* 0的基底矢量1的系数设定-sdel,1,0。作为基底矢量1+1,...,1+u0+1的系数设定0。作为基底矢量1+u0+1+1,...,1+u0+1+w0的系数设定ηdel,1,0,1,...,ηdel,1,0,wo(此处,w0是w0)。作为基底矢量1+u0+1+w0+1,...,1+u0+1+w0+z0的系数设定0。
接下来,说明基底B* t(t=1,...,L)的部分。此处,简化标记,仅通过基底矢量b* t,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* t,1,...,b* t,3。另外,关于基底B* t(t=1,...,L),根据ρt的值是0还是1而划分情况。
在ρt的值是0的情况下,作为基底B* t(t=1,...,L)的基底矢量1的系数设定sdel,1,t+θdel,1,tvt,1。作为基底矢量2,...,nt的系数设定θdel,1,tvt,2,...,θdel,1,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdel,1,t,1,...,ηdel,1,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
另一方面,在ρt的值是1的情况下,作为基底B* t(t=1,...,L)的基底矢量1,...,nt的系数设定sdel,1,tvt,1,...,sdel,1,tvt,nt(此处,nt是nt)。作为基底矢量nt+1,...,nt+ut的系数设定0。作为基底矢量nt+ut+1,...,nt+ut+wt的系数设定ηdel,1,t,1,...,ηdel,1,t,wt(此处,wt是wt)。作为基底矢量nt+ut+wt+1,...,nt+ut+wt+zt的系数设定0。
接下来,说明基底B* τ的部分。此处,简化标记,仅通过基底矢量b* τ,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* τ,1。另外,如果是基底矢量1,...,3,则意味着基底矢量b* τ,1,...,b* τ,3。
作为基底B* τ的基底矢量1,...,nτ的系数设定sdel,1,L+1e→τ,ι。作为基底矢量nτ+1,...,nτ+uτ的系数设定0。作为基底矢量nτ+uτ+1,...,nτ+uτ+wτ的系数设定ηdel,1,(τ,ι),1,...,ηdel,1,(τ,ι),wτ(此处,wτ是wτ)。作为基底矢量nτ+uτ+wτ+1,...,nτ+uτ+wτ+zτ的系数设定0。
(S608:密钥分发步骤)
密钥分发部150将以解密要素k* L,dec、第1随机化要素k* L,ran,j(j=1,...,2L)、第2随机化要素k* L,ran,(τ,ι,0)(τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ))、第1移交要素k* L,del,(τ,ι,0)(τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ))、以及第2移交要素k* L,del,(τ,ι,1)(τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ))为要素的解密密钥skL,通过例如通信装置经由网络秘密地分发到解密装置300。当然,解密密钥skL也可以通过其他方法分发到解密装置300。
即,在(S601)至(S607)中,密钥生成装置100执行式168、式169所示的KeyGen算法,生成解密密钥skL。然后,在(S608)中,密钥生成装置100将所生成的解密密钥skL分发到解密装置300。
[式168]
其中,j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
ψ,sdec,t,
θdec,t,
sran,0,t,sdel,0,t,
θran,0,t,θdel,0,t,
(t=0,...,L+1);
[式169]
返回skL.
根据图18,说明解密装置300执行的Dec算法的处理。
(S701:解密密钥取得步骤)
解密密钥取得部310通过例如通信装置经由网络,取得解密密钥skL。另外,解密密钥取得部310取得密钥生成装置100生成的主公开秘钥pk。
(S702:数据接收步骤)
数据接收部320通过例如通信装置经由网络,接收加密装置200发送了的加密数据ct。
(S703:配对运算步骤)
配对运算部330通过处理装置,进行式170所示的配对运算,计算会话密钥K=gT ζ。
[式170]
此处,是式171。
[式171]
另外,如果关于t=1,...,L的各整数t,针对ρt=0的整数t,v→t与x→t的内积是0,针对ρt=1的整数t,v→t与x→t的内积不是0,则通过计算式170,计算会话密钥K。
(S704:消息计算步骤)
消息计算部340通过处理装置,将加密数据c2除以会话密钥K,从而计算消息m’(=m)。
即,在(S701)至(S704)中,解密装置300执行式172所示的Dec算法,计算消息m’(=m)。
[式172]
Dec(pk,skL,ct):
m’:=c2/K,
返回m'.
根据图19,说明密钥移交装置400执行的DelegateL算法的处理。
(S801:解密密钥取得步骤)
解密密钥取得部410通过例如通信装置经由网络,取得解密密钥skL。另外,解密密钥取得部410取得密钥生成装置100生成的主公开秘钥pk。
(S802:信息输入步骤)
信息输入部420通过输入装置,输入谓词信息(v→L+1,ρL+1):=(vL+1,i(i=1,...,nL+1),ρL+1∈{0,1})。另外,作为谓词信息,输入被移交密钥的人员的属性。
(S803:随机数生成步骤)
随机数生成部431通过处理装置,针对j=1,...,2L、j’=1,...,2(L+1)、τ=L+2,...,d、(τ,ι)=(τ,1),...,(τ,nτ)、t=0,...,L+1,τ、以及(t,i)=(t,1),...,(t,nt)的各整数j,j’,τ,ι,t,i,如式173所示,生成随机数αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι,0),j,σran,(τ,ι,0),φran,(τ,ι,0),αdel,(τ,ι,0),j,σdel,(τ,ι,0),φdel,(τ,ι,0),αdel,(τ,ι,1),j,σdel,(τ,ι,1),φdel,(τ,ι,1),ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι,0)、(t,i),ηdel,(τ,ι,0)、(t,i),ηdel,(τ,ι,1)、(t,i),ψ0,ψ1。
[式173]
其中,j=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,wt);
αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι,0),j,σran,(τ,ι,0),
φran,(τ,ι,0),αdel,(τ,ι,0),j,σdel,(τ,ι,0),φdel,(τ,ι,0),αdel,(τ,ι,1),j,
σdel,(τ,ι,1),φdel,(τ,ι,1),ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι,0),(t,i),
ηdel,(τ,ι,0),(t,i),ηdel,(τ,ι,1),(t,i),
(S804:下位解密要素生成步骤)
下位解密要素生成部432通过处理装置,如式174所示,生成作为移交密钥skL+1的要素的下位解密要素k* L+1,dec。
[式174]
(S805:第1下位随机化要素生成步骤)
下位随机化要素生成部433通过处理装置,针对j’=1,...,2(L+1)的各整数j’,如式175所示,生成作为移交密钥skL+1的要素的第1下位随机化要素k* L+1,ran,j’。
[式175]
(S806:第2下位随机化要素生成步骤)
下位随机化要素生成部433通过处理装置,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式176所示,生成作为移交密钥skL+1的要素的第2下位随机化要素k* L+1,ran,(τ,ι)。
[式176]
(S807:第1下位移交要素生成步骤)
下位移交要素生成部434通过处理装置,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式177所示,生成作为移交密钥skL+1的要素的第1下位移交要素k* L+1,del,(τ,ι,0)。
[式177]
(S808:第2下位移交要素生成步骤)
下位移交要素生成部434通过处理装置,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,如式178所示,生成作为移交密钥skL+1的要素的第2下位移交要素k* L+1,del,(τ,ι,1)。
[式178]
(S809:密钥分发步骤)
密钥分发部150将以下位解密要素k* L+1,dec、第1下位随机化要素k* L+1,ran,j’(j’=1,...,2(L+1))、第2下位随机化要素k* L+1,ran,(τ,ι,0)(τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ))、第1下位移交要素k* L+2,del,(τ,ι,0)(τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ))、以及第2下位移交要素k* L+2,del,(τ,ι,1)(τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ))为要素的移交密钥skL+1通过例如通信装置经由网络秘密地分发到下位的解密装置300。当然,移交密钥skL+1也可以通过其他方法分发到下位的解密装置300。
即,在(S501)至(S507)中,密钥移交装置400执行式179、式180所示的DelegateL算法,生成移交密钥skL+1。然后,在(S508)中,密钥移交装置400将所生成的移交密钥skL+1分发到下位的解密装置300。
[式179]
forj=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),....,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,wt);
αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι,0),j,σran,(τ,ι,0),φran,(τ,ι,0),
αdel,(τ,ι,0),j,σdel,(τ,ι,0),φdel,(τ,ι,0),αdel,(τ,ι,1),j,σdel,(τ,ι,1),φdel,(τ,ι,1),
ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι,0),(t,i),ηdel,(τ,ι,0),(t,i),ηdel,(τ,ι,1),(t,i),
[式180]
返回skL+1.
另外,在下位的解密装置300使用移交密钥skL+1执行了Dec算法的情况下,在图15的(S403)中,如果(v→1,...,v→L+1)与(x→1,...,x→L+1)的内积是0,则通过计算式170,计算会话密钥K。
如以上那样,实施方式2所涉及的密码处理系统10在针对一部分,属性信息与谓词信息的内积成为0,针对剩余的部分,属性信息与谓词信息的内积不为0的情况下,实现可解密的分层式内积谓词密码方式。因此,例如,能够实现肯定形和否定形的条件设定等。
另外,在上述说明中,ut、wt、zt(t=0,...,d)的维度是为了提高安全性而设置的维度。因此,虽然安全性变低,但也可以使ut、wt、zt(t=0,...,d)分别为0,而不设置ut、wt、zt(t=0,...,d)的维度。
另外,在上述说明中,对N0设定了1+u0+1+w0+z0,对Nt设定了nt+ut+wt+zt。但是,也可以使1+u0+1+w0+z0设为1+1+1+1+1对N0设定5,使nt+ut+wt+zt设为nt+nt+nt+1对Nt设定3nt+1。
在该情况下,式168、式169所示的KeyGen算法如式181、式182那样被置换。
[式181]
其中,j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
(t=0,...,L+1);
[式182]
返回skL.
另外,式179、式180所示的DelegateL算法如式183、式184那样被置换。
[式183]
其中,j=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,nt);
αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι,0),j,σran,(τ,ι,0),φran,(τ,ι,0),
αdel,(τ,ι,0),j,σdel,(τ,ι,0),φdel,(τ,ι,0),αdel,(τ,ι,1),j,σdel,(τ,ι,1),φdel,(τ,t,1),
ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι,0),(t,i),ηdel,(τ,ι,0),(t,i),ηdel,(τ,ι,1),(t,i),
[式184]
返回skL+1.
另外,在式172所示的Dec算法中无变更。
另外,Setup算法在密码处理系统10的设置时执行一次即可,而无需每当生成解密密钥时执行。另外,在上述说明中,使密钥生成装置100执行了Setup算法和KeyGen算法,但也可以使分别不同的装置执行Setup算法和KeyGen算法。
实施方式3.
在以上的实施方式中,说明了在对偶矢量空间中实现密码处理的方法。在该实施方式中,说明在对偶加法群中实现密码处理的方法。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码处理。但是,在使用合成数M如式185那样表示了环R的情况下,即使在以环R为系数的加法群中,也能够应用在上述实施方式中说明的密码处理。
[式185]
整数
M:合成数
如果在以环R为系数的加法群中实现在实施方式1中说明的分层式谓词密码方式,则如式186至式193那样。
[式186]
其中,t=1,...,d,
返回pk,sk.
[式187]
N0:=1+u0+1+w0+z0,Nt:=nt+ut+wt+zt其中,t=1,..,d,
其中,t=0,...,d,
gT:=e(g,g)ψ,
返回
[式188]
其中j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
ψ,sdec,t,
θdec,t,
sran,(τ,ι),t,
θran,(τ,ι),t,
(t=0,...,L+1);
[式189]
返回skL
[式190]
ct:=(c1,c2),
返回Ct·
[式191]
返回m'.
[式192]
其中,j=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,wt);
αdec,j,σdec,αran,j’,j,σran,j’,αran,(τ,ι),j,σran,(τ,ι),
φran,(τ,ι),αdel,(τ,ι),j,σdel,(τ,ι),φdel,(τ,ι),ψ',
ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι),(t,i),
[式193]
返回skL+1
如果在以环R为系数的加法群中实现在实施方式2中说明的分层式谓词密码方式,则如式194至式199那样。另外,Setup算法和Gob算法是如式186和式187所示那样。
[式194]
其中j=1,...,2L;τ=L+1,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
ψ,sdec,t,
θdec,t,
sran,0,t,sdel,0,t,
θran,0,t,θdel,0,t,
(t=0,...,L+1);
[式195]
返回skL.
[式196]
返回ct.
[式197]
Dec(pk,skL,ct):
m’:=c2/K,
返回m'.
[式198]
其中j=1,...,2L;j’=1,...,2(L+1);τ=L+2,...,d;(τ,ι)=(τ,1),...,(τ,nτ);
t=0,...,L+1,τ;(t,i)=(t,1),...,(t,wt);
αdec,j,σdec,αran,j’,j,σran,j’,αtan,(τ,ι,0),j,σran,(τ,ι,0),φran,(τ,ι,0),
αdel,(τ,ι,0),j,σdel,(τ,ι,0),φdel,(τ,ι,0),αdel,(τ,ι,1),j,σdel,(τ,ι,1),φdel,(τ,ι,1),
ηdec,(t,i),ηran,j’,(t,i),ηran,(τ,ι,0),(t,i),ηdel,(τ,ι,0),(t,i),ηdel,(τ,ι,1),(t,i),
[式199]
返回skL+1.
接下来,说明实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300、密钥移交装置400)的硬件结构。
图20是示出密钥生成装置100、加密装置200、解密装置300、密钥移交装置400的硬件结构的一个例子的图。
如图20所示,密钥生成装置100、加密装置200、解密装置300、密钥移交装置400具备执行程序的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。程序群923的程序由CPU911、操作系统921、视窗系统922执行。
在程序群923中,存储了执行在上述说明中作为“主密钥生成部110”、“主密钥存储部120”、“信息输入部130”、“解密密钥生成部140”、“密钥分发部150”、“主公开密钥取得部210”、“信息输入部220”、“加密数据生成部230”、“数据发送部240”、“解密密钥取得部310”、“数据接收部320”、“配对运算部330”、“消息计算部340”、“解密密钥取得部410”、“信息输入部420”、“移交密钥生成部430”、“密钥分发部440”等说明了的功能的软件、程序、其他程序。程序由CPU911读出并执行。
在文件群924中,在上述说明中,作为“文件”、“数据库”的各项目,存储“主公开密钥pk”、“主秘密密钥sk”、“解密密钥skL”、“移交密钥skL+1”、“加密数据ct”、“属性信息”、“谓词信息”、“消息m”等信息、数据、信号值、变量值、参数。“文件”、“数据库”存储于盘、存储器等记录介质中。关于盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数,经由读写电路,通过CPU911,读出到主存储器、高速缓存存储器,用于抽出、检索、参照、比较、运算、计算、处理、输出、印刷、显示等CPU911的动作。在抽出、检索、参照、比较、运算、计算、处理、输出、印刷、显示的CPU911的动作的期间,信息、数据、信号值、变量值、参数被临时地存储于主存储器、高速缓存存储器、缓冲存储器。
另外,上述说明中的流程图的箭头的部分主要表示数据、信号的输入输出,数据、信号值被记录于RAM914的存储器、其他光盘等记录介质、IC芯片。另外,数据、信号通过总线912、信号线、线缆等的传送介质、电波在线传送。
另外,在上述说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~设备”、“~单元”、“~功能”,并且,也可以是“~步骤”、“~阶段”、“~处理”。另外,说明为“~装置”的部分也可以是“~电路”、“~设备”、“~单元”、“~功能”,并且,也可以是“~步骤”、“~阶段”、“~处理”。进而,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过ROM913中存储的固件来实现。或者,也可以仅通过软件、或者、仅通过元件、器件、基板、布线等硬件、或者、通过软件与硬件的组合、进而、通过与固件的组合来实施。固件和软件作为程序存储于ROM913等记录介质中。程序由CPU911读出并由CPU911执行。即,程序使计算机等作为在上述中叙述的“~部”发挥功能。或者,使计算机等执行在上述中叙述的“~部”的步骤、方法。
Claims (17)
1.一种密码处理系统,使用关于t=1,...,L+1的各整数t的基底Bt和基底B* t来进行密码处理,其中,L是1以上的整数,该密码处理系统的特征在于,具备:
加密装置,生成在关于t=1,...,L中的至少一部分的整数t的基底Bt的基底矢量中嵌入了属性信息x→ t的矢量,作为加密数据ct;
解密装置,将在关于t=1,...,L的各整数t的基底B* t的基底矢量中嵌入谓词信息v→ t的矢量作为解密密钥skL,针对所述加密装置生成的加密数据ct和所述解密密钥skL进行配对运算而对所述加密数据ct进行解密;以及
密钥移交装置,根据在基底B* L+1的基底矢量中嵌入了谓词信息v→ L+1的矢量、和所述解密装置使用的解密密钥skL,生成所述解密密钥skL的下位的解密密钥skL+1。
2.根据权利要求1所述的密码处理系统,其特征在于,
所述密码处理系统还具备密钥生成装置,该密钥生成装置生成所述解密密钥skL,
所述密钥生成装置具备:
第1信息输入部,针对t=1,...,L的各整数t输入谓词信息v→ t:=(vt,i)(i=1,...,nt);
解密要素生成部,使用所述第1信息输入部输入的谓词信息v→ t、规定的值Δ、关于t=1,...,L的各整数t的规定的值θdec,t、以及sdec, 0=∑t=1 Lsdec,t那样的关于t=0,...,L的各整数t的规定的值sdec,t,生成解密要素k* L,dec,该解密要素k* L,dec作为基底B* 0的基底矢量b* 0,p的系数设定了-sdec,0,作为基底B* 0的基底矢量b* 0,q的系数设定了所述Δ,作为关于t=1,...,L的各整数t的基底B* t的基底矢量b* t,i(i=1,...,nt)的系数设定了sdec,te→ t,1+θdec,tvt,i(i=1,...,nt),其中,p是规定的值,q是规定的值;以及
解密密钥发送部,将包括所述解密要素生成部生成的解密要素k* L,dec的解密密钥skL发送到所述解密装置,
所述加密装置具备:
第2信息输入部,针对t=1,...,L的至少一部分的整数t,输入属性信息x→ t:=(xt,i)(i=1,...,nt);
加密数据c1生成部,使用所述第2信息输入部输入的属性信息x→ t、和规定的值ω,ζ,生成加密数据c1,该加密数据c1作为基底B0的基底矢量b0,p的系数设定了所述ω,作为基底B0的基底矢量b0,q的系数设定了所述ζ,作为关于所述至少一部分的整数t的基底Bt的基底矢量bt,i(i=1,...,nt)的系数设定了ωxt,i(i=1,...,nt);以及
数据发送部,将包括所述加密数据c1生成部生成的加密数据c1的加密数据ct发送到所述解密装置,
所述解密装置具备配对运算部,该配对运算部针对所述数据发送部发送了的加密数据ct所包含的加密数据c1、和所述解密密钥发送部发送了的所述解密密钥skL所包含的解密要素k* L,dec,进行配对运算e(c1,k* L,dec),
所述nt是1以上的整数,e→ t,1是标准基底矢量,
在下标中有“dec”的部分是加密数据的解密中使用的解密要素。
3.根据权利要求2所述的密码处理系统,其特征在于,
所述加密装置还具备加密数据c2生成部,该加密数据c2生成部生成对消息m乘以根据值gT=e(b0,1,b* 0,1)、所述Δ以及所述ζ得到的gT Δζ而得到的加密数据c2,
所述数据发送部将包括加密数据c1、和所述加密数据c2生成部生成的加密数据c2的加密数据ct发送到所述解密装置,
所述配对运算部进行所述配对运算e(c1,k* L,dec),计算会话密钥K:=gT Δζ,
所述解密装置还具备消息计算部,该消息计算部将所述加密数据c2除以所述配对运算部计算出的会话密钥K来计算所述消息m。
4.根据权利要求2所述的密码处理系统,其特征在于,
所述密钥生成装置还具备移交要素生成部,
该移交要素生成部是针对作为τ=L+1的整数τ、和ι=1,...,nτ的各整数ι生成移交要素k* L,del,(τ,ι)的移交要素生成部,该移交要素生成部使用关于t=1,...,L的各整数t的规定的值θdel,(τ,ι),t、规定的值ψ、以及sdel,(τ,ι),0=∑t=1 L+1sdel,(τ,ι),t那样的关于t=0,...,L+1的各整数t的规定的值sdel,(τ,ι),t,作为基底B* 0的基底矢量b* 0, p的系数设定-sdel,(τ,ι),0,作为关于t=1,...,L的各整数t的基底B* t的基底矢量b* t,i(i=1,...,nt)的系数设定sdel,(τ,ι),te→ t,1+θdel,(τ,ι), tvt,i(i=1,...,nt),作为基底B* τ的基底矢量b* τ,i(i=1,...,nτ)的系数设定sdel,(τ,ι),L+1e→ τ,1+φe→ τ,ι(i=1,...,nτ),生成移交要素k* L,del,(τ,ι),
所述解密密钥发送部将包括所述解密要素k* L,dec、和所述移交要素生成部生成的移交要素k* L,del,(τ,ι)的解密密钥skL发送到所述移交装置,
所述密钥移交装置具备:
第3信息输入部,输入谓词信息v→ L+1:=(vL+1,i)(i=1,...,nL+1);
下位解密要素生成部,使用所述第3信息输入部输入的谓词信息v→ L+1、和所述解密密钥发送部发送了的解密密钥skL,生成包括式1所示的矢量的下位解密要素k* L+1,dec;以及
移交密钥发送部,将包括所述下位解密要素生成部生成的下位解密要素k* L+1,dec的下位的解密密钥skL+1发送到下位的解密装置,所述nτ是1以上的整数,所述nL+1是1以上的整数,e→ τ,1和e→ τ,ι是标准基底矢量,
[式1]
5.根据权利要求4所述的密码处理系统,其特征在于,
所述密码处理系统使用
至少具有基底矢量b0,i(i=1,...,1+n0,1+n0+1,...,1+n0+1+u0,...,1+n0+1+u0+w0,...,1+n0+1+u0+w0+z0)的基底B0、
至少具有基底矢量b* 0,i(i=1,...,1+n0,1+n0+1,...,1+n0+1+u0,...,1+n0+1+u0+w0,...,1+n0+1+u0+w0+z0)的基底B* 0、
至少具有基底矢量bt,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)的基底Bt(t=1,...,L+1)、以及
至少具有基底矢量b* t,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)的基底B* t(t=1,...,L+1)
来进行密码处理,
所述解密要素生成部根据关于t=0,...,L的各整数t的随机数η→ dec,t:=(ηdec,t,i)(i=1,...,wt),生成式2所示的解密要素k* L, dec,
所述加密数据c1生成部根据关于t=0,...,L的各整数t的随机数φ→ t:=(φt,i)(i=1,...,zt),生成式3所示的加密数据c1,
所述n0,u0,w0,z0是1以上的整数,所述ut,wt,zt是1以上的整数,是基底矢量的系数,
[式2]
[式3]
6.根据权利要求5所述的密码处理系统,其特征在于,
所述密钥生成装置还具备随机化要素生成部,该随机化要素生成部针对j=1,...,2L的各整数j,生成第1随机化要素k* L,ran,j,并且针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,生成第2随机化要素k* L,ran,(τ,ι),其中,d是L+1以上的整数,并且,
该随机化要素生成部根据关于t=1,...,L的各整数t的规定的值θran,j,t、sran,j,0=∑t=1 Lsran,j,t那样的关于t=0,...,L的规定的值sran,j, t、以及关于t=0,...,L的各整数t的随机数η→ ran,j,t:=(ηran,j,t,i)(i=1,...,wt),生成式4所示的第1随机化要素k* L,ran,j,
该随机化要素生成部根据关于t=1,...,L的各整数t的规定的值θran,(τ,ι),t、sran,(τ,ι),0=∑t=1 L+1sran,(τ,ι),t那样的关于t=0,...,L+1的规定的值sran,(τ,ι),t、和关于t=0,...,L+1的各整数t的随机数η→ ran, (τ,ι),t:=(ηran,(τ,ι),t,i)(i=1,...,wt),生成式5所示的第2随机化要素k* L,ran,(τ,ι),
所述移交要素生成部针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,根据关于t=0,...,L+1的各整数t的随机数η→ del,(τ,ι),t:=(ηdel,(τ,ι),t,i)(i=1,...,wt),生成式6所示的移交要素k* L,del,(τ,ι),
所述解密密钥发送部将包括所述解密要素k* L,dec、所述随机化要素生成部生成的第1随机化要素k* L,ran,j以及第2随机化要素k* L,ran, (τ,ι)、和所述移交要素生成部生成的移交要素k* L,del,(τ,ι)的解密密钥skL发送到所述移交装置,
所述下位解密要素生成部使用所述谓词信息v→ L+1、所述解密密钥发送部发送了的解密密钥skL、关于j=1,...,2L的各整数j的随机数αdec,j、随机数σdec、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的随机数ηdec,(t,i),生成式7所示的下位解密要素k* L+1, dec,
在下标中有“ran”的部分是用于使下位的解密密钥针对规定的基底矢量的系数随机化的随机化要素,是基底矢量的系数,
[式4]
[式5]
[式6]
[式7]
7.根据权利要求6所述的密码处理系统,其特征在于,
所述移交装置还具备:
下位随机化要素生成部,针对j’=1,...,2(L+1)的各整数j’,生成第1下位随机化要素k* L+1,ran,j,,并且针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,生成第2下位随机化要素k* L+1,ran,(τ,ι),其中,d是L+2以上的整数,并且,该下位随机化要素生成部根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j和j’=1,...,2(L+1)的各整数j’的随机数αran, j’,j、关于j’=1,...,2(L+1)的各整数j’的随机数σran,j’、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的随机数ηran,j’,(t, i),生成式8所示的第1下位随机化要素k* L+1,ran,j’,根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j的随机数αran, (τ,ι),j、随机数σran,(τ,ι)、随机数φran,(τ,ι)、以及关于t=0,...,L+1,τ的各整数t和i=1,...,wt的各整数i的随机数ηran,(τ,ι)、(t,i),生成式9所示的第2下位随机化要素k* L+1,ran,(τ,ι);以及
下位移交要素生成部,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,生成下位移交要素k* L+1,del,(τ,ι),并且,该下位移交要素生成部根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j的随机数αdel,(τ,ι),j、随机数σdel, (τ,ι)、随机数ψ’、随机数φdel,(τ,ι)、以及关于t=0,...,L+1,τ的各整数t和i=1,...,wt的各整数i的随机数ηdel,(τ,ι)、(t,i),生成式10所示的下位移交要素k* L+1,del,(τ,ι),其中,d是L+2以上的整数,
所述移交密钥发送部将包括所述下位解密要素生成部生成的下位解密要素k* L+1,dec、所述下位随机化要素生成部生成的第1下位随机化要素k* L+1,ran,j’以及第2下位随机化要素k* L+1,ran,(τ,ι)、和所述下位移交要素生成部生成的下位移交要素k* L+1,del,(τ,ι)的下位的解密密钥skL+1发送到下位的移交装置,
[式8]
[式9]
[式10]
8.根据权利要求2所述的密码处理系统,其特征在于,
所述第1信息输入部针对t=1,...,L的各整数t输入谓词信息(v→ t:=(vt,i)(i=1,...,nt),ρt∈{0,1}),
所述解密要素生成部生成解密要素k* L,dec,该解密要素k* L,dec作为基底矢量b* 0,p的系数设定了-sdec,0,作为基底矢量b* 0,q的系数设定了所述Δ,作为关于t=1,...,L的各整数t的基底矢量b* t,i的系数,在ρt是0的情况下设定了sdec,te→ t,1+θdec,tvt,i(i=1,...,nt),在ρt是1的情况下设定了sdec,tvt,i(i=1,...,nt)。
9.根据权利要求8所述的密码处理系统,其特征在于,
所述密钥生成装置还具备移交要素生成部,该移交要素生成部针对作为τ=L+1的整数τ、和ι=1,...,nτ的各整数ι生成第1移交要素k* L,del,(τ,ι,0)和第2移交要素k* L,del,(τ,ι,1),并且,
该移交要素生成部使用关于t=1,...,L的各整数t的规定的值θdel, 0,t、规定的值ψ、以及sdel,0,0=∑t=1 L+1sdel,0,t那样的关于t=0,...,L+1的规定的值sdel,0,t,作为基底B* 0的基底矢量b* 0,p的系数设定-sdel, 0,0,作为关于t=1,...,L的各整数t的基底B* t的基底矢量b* t,i(i=1,...,nt)的系数,在ρt是0的情况下设定sdel,0,te→ t,1+θdel,0,tvt,i(i=1,...,nt),在ρt是1的情况下设定sdel,0,tvt,i(i=1,...,nt),作为基底B* τ的基底矢量b* τ,i(i=1,...,nτ)的系数设定sdel,0,L+1e→ τ,1+ψe→ τ, ι(i=1,...,nτ),来生成第1移交要素k* L,del,(τ,ι,0),
该移交要素生成部使用关于t=1,...,L的各整数t的规定的值θdel, 1,t、和sdel,1,0=∑t=1 L+1sdel,1,t那样的关于t=0,...,L+1的规定的值sdel, 1,t,作为基底B* 0的基底矢量b* 0,p的系数设定-sdel,1,0,作为关于t=1,...,L的各整数t的基底B* t的基底矢量b* t,i(i=1,...,nt)的系数,在ρt是0的情况下设定sdel,1,te→ t,1+θdel,1,tvt,i(i=1,...,nt),在ρt是1的情况下设定sdel,1,tvt,i(i=1,...,nt),作为基底B* τ的基底矢量b* τ,i(i=1,...,nτ)的系数设定sdel,1,L+1e→ τ,1(i=1,...,nτ),来生成第2移交要素k* L,del,(τ,ι,1),
所述解密密钥发送部将包括所述解密要素k* L,dec、和所述移交要素生成部生成的第1移交要素k* L,del,(τ,ι,0)以及第2移交要素k* L,del, (τ,ι,1)的解密密钥skL发送到所述移交装置,
所述密钥移交装置具备:
第3信息输入部,输入谓词信息(v→ L+1:=(vL+1,i)(i=1,...,nL+1),ρL+1∈{0,1});以及
下位解密要素生成部,使用所述第3信息输入部输入的谓词信息v→ L+1、和所述解密密钥发送部发送了的解密密钥skL,生成包括式11所示的矢量的下位解密要素k* L+1,dec,
所述nτ是1以上的整数,所述nL+1是1以上的整数,e→ τ,1、e→ τ, ι是标准基底矢量,
[式11]
10.根据权利要求9所述的密码处理系统,其特征在于,
所述密码处理系统使用
至少具有基底矢量b0,i(i=1,...,1+n0,1+n0+1,...,1+n0+1+u0,...,1+n0+1+u0+w0,...,1+n0+1+u0+w0+z0)的基底B0、
至少具有基底矢量b* 0,i(i=1,...,1+n0,1+n0+1,...,1+n0+1+u0,...,1+n0+1+u0+w0,...,1+n0+1+u0+w0+z0)的基底B* 0、
至少具有基底矢量bt,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)的基底Bt(t=1,...,L+1)、以及
至少具有基底矢量b* t,i(i=1,...,nt,...,nt+ut,...,nt+ut+wt,...,nt+ut+wt+zt)的基底B* t(t=1,...,L+1)
来进行密码处理,其中,n0,u0,w0,z0是1以上的整数,ut,wt,zt是1以上的整数,
所述解密要素生成部根据关于t=0,...,L的各整数t的随机数η→ dec,t:=(ηdec,t,i)(i=1,...,wt),生成式12所示的解密要素k* L, dec,
所述加密数据c1生成部根据关于t=0,...,L的各整数t的随机数φ→ t:=(φt,i)(i=1,...,zt),生成式13所示的加密数据c1,
是基底矢量的系数,
[式12]
[式13]
11.根据权利要求10所述的密码处理系统,其特征在于,
所述密钥生成装置还具备随机化要素生成部,
该随机化要素生成部针对j=1,...,2L的各整数j,生成第1随机化要素k* L,ran,j,并且针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,生成第2随机化要素k* L,ran,(τ,ι,0),其中d是L+1以上的整数,并且,
该随机化要素生成部根据关于t=1,...,L的各整数t的规定的值θran,j,t、sran,j,0=∑t=1 Lsran,j,t那样的关于t=0,...,L的规定的值sran,j, t、以及关于t=0,...,L的各整数t的随机数η→ ran,j,t:=(ηran,j,t,i)(i=1,...,wt),生成式14所示的第1随机化要素k* L,ran,j,
该随机化要素生成部根据关于t=1,...,L的各整数t的规定的值θran,0,t、sran,0,0=∑t=1 L+1sran,0,t那样的关于t=0,...,L+1的规定的值sran,0,t、关于t=0,...,L的各整数t的随机数η→ ran,0,t:=(ηran,0,t, i)(i=1,...,wt)、以及随机数η→ ran,0,(τ,ι):=(ηran,0,(τ,ι),i)(i=1,...,wt),生成式15所示的第2随机化要素k* L,ran,(τ,ι,0),
所述移交要素生成部针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,根据关于t=0,...,L的各整数t的随机数η→ del,0,t:=(ηdel,0,t,i)(i=1,...,wt)、和随机数η→ del,0, (τ,ι):=(ηdel,0,(τ,ι),i)(i=1,...,wt),生成式16所示的第1移交要素k* L,del,(τ,ι,0),并且针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,根据关于t=0,...,L的各整数t的随机数η→ del,1,t:=(ηdel,1,t,i)(i=1,...,wt)、和随机数η→ del,1, (τ,ι):=(ηdel,1,(τ,ι),i)(i=1,...,wt),生成式17所示的第2移交要素k* L,del,(τ,ι,1),
所述解密密钥发送部将包括所述解密要素k* L,dec、所述随机化要素生成部生成的第1随机化要素k* L,ran,j以及第2随机化要素k* L,ran, (τ,ι,0)、和所述移交要素生成部生成的第1移交要素k* L,del,(τ,ι,0)以及第2移交要素k* L,del,(τ,ι,1)的解密密钥skL发送到所述移交装置,
所述下位解密要素生成部使用所述谓词信息v→ L+1、所述解密密钥发送部发送了的解密密钥skL、关于j=1,...,2L的各整数j的随机数αdec,j、随机数σdec、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的随机数ηdec,(t,i),生成式18所示的下位解密要素k* L+1, dec,
在下标中有“ran”的部分是用于使下位的解密密钥针对规定的基底矢量的系数随机化的随机化要素,是基底矢量的系数,
[式14]
[式15]
[式16]
[式17]
[式18]
12.根据权利要求11所述的密码处理系统,其特征在于,
所述移交装置还具备:
下位随机化要素生成部,针对j’=1,...,2(L+1)的各整数j’,生成第1下位随机化要素k* L+1,ran,j’,并且针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,生成第2下位随机化要素k* L+1,ran,(τ,ι,0),其中,d是L+2以上的整数,并且,该下位随机化要素生成部根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j和j’=1,...,2(L+1)的各整数j’的随机数αran, j’,j、关于j’=1,...,2(L+1)的各整数j’的随机数σran,j’、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的随机数ηran,j’,(t, i),生成式19所示的第1下位随机化要素k* L+1,ran,j’,根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j的随机数αran,(τ,ι),j、随机数σran,(τ,ι,0)、随机数φran,(τ,ι,0)、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的ηran,(τ,ι,0)、(t, i),生成式20所示的第2下位随机化要素k* L+1,ran,(τ,ι,0);以及
下位移交要素生成部,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,nτ的各整数ι,生成第1下位移交要素k* L+1,del, (τ,ι,0)和第2下位移交要素k* L+1,del,(τ,ι,1),其中,d是L+2以上的整数,并且,该下位移交要素生成部根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j的随机数αdel,(τ,ι,0),j、随机数σdel,(τ,ι,0)、随机数ψ0、随机数φdel,(τ,ι,0)、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的ηdel,(τ,ι,0)、(t,i),生成式21所示的第1下位移交要素k* L+1,del,(τ,ι,0),根据所述谓词信息v→ L+1、所述解密密钥skL、关于j=1,...,2L的各整数j的随机数αdel,(τ,ι,1), j、随机数σdel,(τ,ι,1)、随机数ψ1、随机数φdel,(τ,ι,1)、以及关于t=0,...,L+1的各整数t和i=1,...,wt的各整数i的ηdel,(τ,ι,1)、(t,i),生成式22所示的第2下位移交要素k* L+1,del,(τ,ι,1),
[式19]
[式20]
[式21]
[式22]
13.一种密钥生成装置,在使用关于t=1,...,L的各整数t的基底Bt和基底B* t来进行密码处理的密码处理系统中,生成解密密钥skL,其中,L是1以上的整数,该密钥生成装置的特征在于,具备:
第1信息输入部,针对t=1,...,L的各整数t,输入谓词信息v→ t:=(vt,i)(i=1,...,nt);
解密要素生成部,使用所述第1信息输入部输入的谓词信息v→ t、规定的值Δ、关于t=1,...,L的各整数t的规定的值θdec,t、以及sdec, 0=∑t=1 Lsdec,t那样的关于t=0,...,L的各整数t的规定的值sdec,t,生成解密要素k* L,dec,该解密要素k* L,dec作为基底B* 0的基底矢量b* 0,p的系数设定了-sdec,0,作为基底B* 0的基底矢量b* 0,q的系数设定了所述Δ,作为关于t=1,...,L的各整数t的基底B* t的基底矢量b* t,i(i=1,...,nt)的系数设定了sdec,te→ t,1+θdec,tvt,i(i=1,...,nt),其中p是规定的值,q是规定的值;以及
解密密钥发送部,将包括所述解密要素生成部生成的解密要素k* L,dec的解密密钥skL发送到解密装置,
所述nt是1以上的整数,e→ t,1是标准基底矢量,
在下标中有“dec”的部分是加密数据的解密中使用的解密要素。
14.一种加密装置,在使用关于t=1,...,L的各整数t的基底Bt和基底B* t来进行密码处理的密码处理系统中,生成加密数据ct,其中,L是1以上的整数,该加密装置的特征在于,具备:
第2信息输入部,针对t=1,...,L的至少一部分的整数t输入属性信息x→ t:=(xt,i)(i=1,...,nt);
加密数据c1生成部,使用所述第2信息输入部输入的属性信息x→ t、和规定的值ω,ζ,生成加密数据c1,该加密数据c1作为基底B0的基底矢量b0,p的系数设定了所述ω,作为基底B0的基底矢量b0,q的系数设定了所述ζ,作为关于所述至少一部分的整数t的基底Bt的基底矢量bt,i(i=1,...,nt)的系数设定了ωxt,i(i=1,...,nt),其中,p是规定的值,q是规定的值;以及
数据发送部,将包括所述加密数据c1生成部生成的加密数据c1的加密数据ct发送到解密装置,
所述nt是1以上的整数。
15.一种解密装置,在使用关于t=1,...,L的各整数t的基底Bt和基底B* t来进行密码处理的密码处理系统中,通过解密密钥skL对加密数据c1进行解密,其中,L是1以上的整数,该解密装置的特征在于,具备:
数据接收部,从加密装置接收加密数据c1,该加密数据c1使用属性信息x→ t:=(xt,i)(i=1,...,nt)、和规定的值ω,ζ,作为基底B0的基底矢量b0,p的系数设定了所述ω,作为基底B0的基底矢量b0, q的系数设定了所述ζ,作为关于至少一部分的整数t的基底Bt的基底矢量bt,i(i=1,...,nt)的系数设定了ωxt,i(i=1,...,nt),其中,p是规定的值,q是规定的值;
解密密钥取得部,从密钥生成装置取得包括解密要素k* L,dec的解密密钥skL,该解密要素k* L,dec使用谓词信息v→ t:=(vt,i)(i=1,...,nt)、规定的值Δ、关于t=1,...,L的各整数t的规定的值θdec,t、以及sdec,0=∑t=1 Lsdec,t那样的关于t=0,...,L的各整数t的规定的值sdec, t,作为基底B* 0的基底矢量b* 0,p的系数设定了-sdec,0,作为基底B* 0的基底矢量b* 0,q的系数设定了所述Δ,作为关于t=1,...,L的各整数t的基底B* t的基底矢量b* t,i(i=1,...,nt)的系数设定了sdec,te→ t, 1+θdec,tvt,i(i=1,...,nt),其中,p是规定的值,q是规定的值;以及
配对运算部,针对所述数据接收部接收到的加密数据c1、和所述解密密钥取得部取得的所述解密密钥skL所包含的解密要素k* L,dec,进行配对运算e(c1,k* L,dec),对所述加密数据c1进行解密,
所述nt是1以上的整数,e→ t,1是标准基底矢量,
在下标中有“dec”的部分是加密数据的解密中使用的解密要素。
16.一种密钥移交装置,在使用关于t=1,...,L+1的各整数t的基底Bt和基底B* t来进行密码处理的密码处理系统中,生成解密密钥skL的下位的解密密钥skL+1,其中,L是1以上的整数,该密钥移交装置的特征在于,具备:
解密密钥取得部,取得在关于t=1,...,L的各整数t的基底B* t的基底矢量中嵌入了谓词信息v→ t的矢量,作为解密密钥skL;以及
移交密钥生成部,根据所述解密密钥取得部取得的解密密钥skL、和在基底B* L+1的基底矢量中嵌入了谓词信息v→ L+1的矢量,生成所述解密密钥skL的下位的解密密钥skL+1。
17.一种密码处理方法,使用了关于t=1,...,L+1的各整数t的基底Bt和基底B* t,其中,L是1以上的整数,该密码处理方法的特征在于,具备:
加密工序,加密装置生成在关于t=1,...,L中的至少一部分的整数t的基底Bt的基底矢量中嵌入了属性信息x→ t的矢量,作为加密数据ct;
解密工序,解密装置将在关于t=1,...,L的各整数t的基底B* t的基底矢量中嵌入了谓词信息v→ t的矢量作为解密密钥skL,针对在所述加密工序中生成的加密数据ct和所述解密密钥skL,进行配对运算而对所述加密数据ct进行解密;以及
密钥移交工序,密钥移交装置根据在基底B* L+1的基底矢量中嵌入了谓词信息的矢量v→ L+1、和在所述解密工序中使用的解密密钥skL,生成所述解密密钥skL的下位的解密密钥skL+1。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011026216A JP5606351B2 (ja) | 2011-02-09 | 2011-02-09 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
JP2011-026216 | 2011-02-09 | ||
PCT/JP2011/078668 WO2012108100A1 (ja) | 2011-02-09 | 2011-12-12 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103354984A CN103354984A (zh) | 2013-10-16 |
CN103354984B true CN103354984B (zh) | 2015-11-25 |
Family
ID=46638329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180067247.XA Active CN103354984B (zh) | 2011-02-09 | 2011-12-12 | 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置以及密码处理方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9385867B2 (zh) |
EP (1) | EP2675107B1 (zh) |
JP (1) | JP5606351B2 (zh) |
KR (1) | KR101432462B1 (zh) |
CN (1) | CN103354984B (zh) |
ES (1) | ES2699535T3 (zh) |
WO (1) | WO2012108100A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2947641B1 (en) * | 2013-01-16 | 2018-03-14 | Mitsubishi Electric Corporation | Information processing device, information processing method, and program |
WO2016088251A1 (ja) * | 2014-12-05 | 2016-06-09 | 三菱電機株式会社 | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム |
CN110140161B (zh) * | 2017-01-12 | 2023-02-17 | 三菱电机株式会社 | 加密标签生成装置、检索查询生成装置和隐匿检索系统 |
JP6885325B2 (ja) * | 2017-12-26 | 2021-06-16 | 日本電信電話株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム |
JP6971917B2 (ja) * | 2018-06-11 | 2021-11-24 | 三菱電機株式会社 | 復号装置、暗号化装置及び暗号システム |
JP7233265B2 (ja) * | 2019-03-15 | 2023-03-06 | 三菱電機株式会社 | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214698A (en) * | 1991-03-20 | 1993-05-25 | International Business Machines Corporation | Method and apparatus for validating entry of cryptographic keys |
US7349538B2 (en) | 2002-03-21 | 2008-03-25 | Ntt Docomo Inc. | Hierarchical identity-based encryption and signature schemes |
JP5245835B2 (ja) | 2007-02-13 | 2013-07-24 | 日本電気株式会社 | 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム |
US20090080658A1 (en) * | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
US8422681B2 (en) * | 2008-03-06 | 2013-04-16 | International Business Machines Corporation | Non-interactive hierarchical identity-based key-agreement |
JP5349261B2 (ja) * | 2009-04-23 | 2013-11-20 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
-
2011
- 2011-02-09 JP JP2011026216A patent/JP5606351B2/ja active Active
- 2011-12-12 WO PCT/JP2011/078668 patent/WO2012108100A1/ja active Application Filing
- 2011-12-12 US US13/982,778 patent/US9385867B2/en active Active
- 2011-12-12 KR KR1020137023636A patent/KR101432462B1/ko active IP Right Grant
- 2011-12-12 ES ES11858018T patent/ES2699535T3/es active Active
- 2011-12-12 CN CN201180067247.XA patent/CN103354984B/zh active Active
- 2011-12-12 EP EP11858018.2A patent/EP2675107B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2675107B1 (en) | 2018-10-24 |
KR20130122678A (ko) | 2013-11-07 |
US9385867B2 (en) | 2016-07-05 |
US20130336474A1 (en) | 2013-12-19 |
JP2012163917A (ja) | 2012-08-30 |
CN103354984A (zh) | 2013-10-16 |
WO2012108100A1 (ja) | 2012-08-16 |
JP5606351B2 (ja) | 2014-10-15 |
EP2675107A4 (en) | 2017-07-19 |
EP2675107A1 (en) | 2013-12-18 |
KR101432462B1 (ko) | 2014-08-20 |
ES2699535T3 (es) | 2019-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101386294B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치 | |
CN103270719B (zh) | 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法 | |
JP5769401B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及びプログラム | |
JP5618881B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
CN103354984B (zh) | 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置以及密码处理方法 | |
KR101246241B1 (ko) | 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체 | |
JP5680007B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
JP5334873B2 (ja) | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5921410B2 (ja) | 暗号システム | |
WO2018043049A1 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
CN107086912B (zh) | 一种异构存储系统中的密文转换方法、解密方法及系统 | |
Liu et al. | Multi-authority ciphertext policy attribute-based encryption scheme on ideal lattices | |
JP4143036B2 (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |