CN104160437A - 密码系统、密码方法以及密码程序 - Google Patents
密码系统、密码方法以及密码程序 Download PDFInfo
- Publication number
- CN104160437A CN104160437A CN201380012925.1A CN201380012925A CN104160437A CN 104160437 A CN104160437 A CN 104160437A CN 201380012925 A CN201380012925 A CN 201380012925A CN 104160437 A CN104160437 A CN 104160437A
- Authority
- CN
- China
- Prior art keywords
- vector
- integer
- index
- substrate
- key
- 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
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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
目的在于无需重发公开参数,而能够追加属性类别。密码系统(10)在对偶配对矢量空间中的对偶系统密码中,使用附加索引的技术。具体而言,密码系统(10)针对关于索引j的发送侧矢量tj,作为规定的基底矢量的系数,设定对索引j预先分配了的信息J,针对与索引j对应的索引j'的接收侧矢量rj',作为与所述规定的基底矢量对应的基底矢量的系数,设定与信息J的内积成为0的信息J'。
Description
技术领域
本发明涉及无需重发公开参数而能够追加属性类别的密码系统。
背景技术
在非专利文献29中,有关于函数型密码方式的记载。
非专利文献1:Beimel,A.,Secure schemes for secret sharingand key distribution.PhD Thesis,Israel Institute of Technology,Technion,Haifa,Israel,1996.
非专利文献2:Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertext-policy attribute-based encryption.In:2007IEEESymposiumon Security and Privacy,pp.321-334.IEEE Press(2007)
非专利文献3:Boneh,D.,Boyen,X.:Efficient selective-IDsecure identity based encryption without random oracles.In:Cachin,C.,Camenisch,J.(eds.)EUROCRYPT2004.LNCS,vol.3027,pp.223-238.Springer Heidelberg(2004)
非专利文献4:Boneh,D.,Boyen,X.:Secure identity basedencryption without random oracles.In:Franklin,M.K.(ed.)CRYPTO2004.LNCS,vol.3152,pp.443-459.Springer Heidelberg(2004)
非专利文献5:Boneh,D.,Boyen,X.,Goh,E.:Hierarchical identity based encryption with constant size ciphertext.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.440-456.Springer Heidelberg(2005)
非专利文献6:Boneh,D.,Boyen,X.,Shacham,H.:Shortgroup signatures.In:Franklin,M.(ed.)CRYPTO2004.LNCS,vol.3152,pp.41-55.Springer,Heidelberg(2004)
非专利文献7:Boneh,D.,Franklin,M.:Identity-basedencryption from the Weil pairing.In:Kilian,J.(ed.)CRYPTO2001.LNCS,vol.2139,pp.213-229.Springer Heidelberg(2001)
非专利文献8:Boneh,D.,Hamburg,M.:Generalizedidentity based and broadcast encryption scheme.In:Pieprzyk,J.(ed.)ASIACRYPT2008.LNCS,vol.5350,pp.455-470.SpringerHeidelberg(2008)
非专利文献9:Boneh,D.,Katz,J.,Improved efficiencyfor CCA-secure cryptosystems built using identity based encryption.RSA-CT2005,LNCS,Springer Verlag(2005)
非专利文献10:Boneh,D.,Waters,B.:Conjunctive,subset,and range queries on encrypted data.In:Vadhan,S.P.(ed.)TCC2007.LNCS,vol.4392,pp.535-554.SpringerHeidelberg(2007)
非专利文献11:Boyen,X.,Waters,B.:Anonymoushierarchical identity-based encryption(without random oracles).In:Dwork,C.(ed.)CRYPTO2006.LNCS,vol.4117,pp.290-307.Springer Heidelberg(2006)
非专利文献12:Canetti,R.,Halevi S.,Katz J.:Chosen-ciphertext security from identity-based encryption.EUROCRYPT2004,LNCS,Springer Heidelberg(2004)
非专利文献13:Chase,M.:Multi-authority attribute basedencryption.TCC,LNCS,pp.515-534,Springer Heidelberg(2007).
非专利文献14:Chase,M.and Chow,S.:Improving privacyand security in multi-authority attribute-based encryption,ACMConference on Computer and Communications Security,pp.121-130,ACM(2009).
非专利文献15:Cocks,C.:An identity based encryptionscheme based on quadratic residues.In:Honary,B.(ed.)IMAInt.Conf.LNCS,vol.2260,pp.360-363.Springer Heidelberg(2001)
非专利文献16:Gentry,C.:Practical identity-basedencryption without random oracles.In:Vaudenay,S.(ed.)EUROCRYPT2006.LNCS,vol.4004,pp.445-464.SpringerHeidelberg(2006)
非专利文献17:Gentry,C.,Halevi,S.:Hierarchicalidentity-based encryption with polynomially many levels.In:Reingold,O.(ed.)TCC2009.LNCS,vol.5444,pp.437-456.Springer Heidelberg(2009)
非专利文献18:Gentry,C.,Silverberg,A.:HierarchicalID-based cryptography.In:Zheng,Y.(ed.)ASIACRYPT2002.LNCS,vol.2501,pp.548-566.Springer Heidelberg(2002)
非专利文献19:Goyal,V.,Pandey,O.,Sahai,A.,Waters,B.:Attribute-based encryption for fine-grained access control ofencrypted data.In:ACM Conference on Computer andCommunication Security2006,pp.89-98,ACM(2006)
非专利文献20:Katz,J.,Sahai,A.,Waters,B.:Predicateencryption supporting disjunctions,polynomial equations,andinner products.In:Smart,N.P.(ed.)EUROCRYPT2008.LNCS,vol.4965,pp.146-162.Springer Heidelberg(2008)
非专利文献21:Lewko,A.,Okamoto,T.,Sahai,A.,Takashima,K.,Waters,B.:Fully secure functional encryption:Attributebased encryption and(hierarchical)inner productencryption,EUROCRYPT2010.LNCS,Springer Heidelberg(2010)
非专利文献22:Lewko,A.B.,Waters,B.:New techniquesfor dual system encryption and fully secure HIBE with shortciphertexts.In:Micciancio,D.(ed.)TCC2010.LNCS,vol.5978,pp.455-479.Springer Heidelberg(2010)
非专利文献23:Lewko,A.B.,Waters,B.:DecentralizingAttribute-Based Encryption,the proceedings of Eurocrypt2011,LNCS,Springer Heidelberg(2011).
非专利文献24:Lewko,A.B.,Waters,B.:Unbounded HIBEand attribute-based encryption,the proceedings of Eurocrypt2011,LNCS,Springer Heidelberg(2011).
非专利文献25:H.Lin,Z.Cao,X.Liang,and J.Shao.:Secure threshold multi authority attribute based encryption without acentral authority,INDOCRYPT,LNCS,vol.5365,pp.426-436,Springer Heidelberg(2008).
非专利文献26:S.M¨uller,S.Katzenbeisser,and C.Eckert.;On multi-authority ciphertext-policy attribute-based encryption,Bull.Korean Math Soc.46,No.4,pp.803-819(2009).
非专利文献27:Okamoto,T.,Takashima,K.:Homomorphicencryption and signatures from vector decomposition.In:Galbraith,S.D.,Paterson,K.G.(eds.)Pairing2008.LNCS,vol.5209,pp.57-74,Springer Heidelberg(2008)
非专利文献28:Okamoto,T.,Takashima,K.:Hierarchicalpredicate encryption for inner-products,In:ASIACRYPT2009,Springer Heidelberg(2009)
非专利文献29:Okamoto,T.,Takashima,K.:Fully securefunctional encryption with general relations from the decisionallinear assumption.In:Rabin,T.(ed.)CRYPTO2010.LNCS,vol.6223,pp.191-208.Springer Heidelberg(2010).Full version isavailable at http://eprint.iacr.org/2010/563
非专利文献30:Okamoto,T.,Takashima,K.:Efficientattribute-based signatures for non-monotone predicates in thestandard model,In:PKC2011,Springer Heidelberg(2011)
非专利文献31:Okamoto,T.,Takashima,K.:DecentralizedAttribute-Based Signatures http://eprint.iacr.org/2011/701
非专利文献32:Ostrovsky,R.,Sahai,A.,Waters,B.:Attribute-based encryption with non-monotonic access structures.In:ACM Conference on Computer and Communication Security2007,pp.195-203,ACM(2007)
非专利文献33:Pirretti,M.,Traynor,P.,McDaniel,P.,Waters,B.:Secure attribute-based systems.In:ACM Conferenceon Computer and Communication Security2006,pp.99-112,ACM,(2006)
非专利文献34:Sahai,A.,Waters,B.:Fuzzy identity-basedencryption.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.457-473.Springer Heidelberg(2005)
非专利文献35:Shi,E.,Waters,B.:Delegating capabilityin predicate encryption systems.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.Springer Heidelberg(2008)
非专利文献36:Waters,B.:Efficient identity based encryptionwithout random oracles.Eurocrypt2005,LNCS,vol.3152,pp.443-459.Springer Verlag,(2005)
非专利文献37:Waters,B.:Ciphertext-policy attribute-basedencryption:an expressive,efficient,and provably securerealization.ePrint,IACR,http://eprint.iacr.org/2008/290
非专利文献38:Waters,B.:Dual system encryption:realizingfully secure IBE and HIBE under simple assumptions.In:Halevi,S.(ed.)CRYPTO2009.LNCS,vol.5677,pp.619-636.SpringerHeidelberg(2009)
发明内容
在非专利文献29记载的函数型密码方式中,针对每个属性类别,需要基底Bt以及基底B* t的对,在追加属性类别的情况下,需要生成新的基底Bt以及基底B* t的对。另外,基底Bt包含于公开参数中,所以需要重发公开参数。
本发明的目的在于,无需重发公开参数,而能够追加属性类别。
本发明的密码系统是使用规定的基底B以及规定的基底B*进行处理的密码系统,其特征在于,具备:
发送装置,生成关于多个索引j中的一个以上的索引j的发送侧矢量tj,该发送侧矢量tj在所述基底B中的规定的基底矢量bindex的系数中设定了对索引j预先分配了的信息J,在所述基底B中的其他基底矢量batt的系数中设定了关于索引j的参数Φj;以及
接收装置,使用关于多个索引j’中的一个以上的索引j’的接收侧矢量rj’,针对关于索引j的所述发送侧矢量tj和关于与所述索引j对应的索引j’的所述接收侧矢量rj’,计算每对应的基底矢量的配对运算之积,该接收侧矢量rj’在与所述基底矢量bindex对应的所述基底B*中的基底矢量b* index的系数中设定了和对与索引j’对应的索引j预先分配了的信息J的内积成为0的信息J’,在与所述基底矢量batt对应的所述基底B*中的基底矢量b* att的系数中设定了关于索引j’的参数Ψj’。
在本发明的密码系统中,在发送侧矢量tj中,设定了对索引j预先分配了的信息J,在接收侧矢量rj’中,设定了与信息J的内积成为0的信息J’。由此,能够在维持了安全性的状态下,针对所有属性类别使用共用的基底B以及基底B*,无需针对每个属性类别使用基底Bt以及基底B* t。其结果,在追加属性类别的情况下,无需生成新的基底Bt以及基底B* t,无需重发公开参数,而能够追加属性类别。
附图说明
图1是矩阵M^的说明图。
图2是矩阵Mδ的说明图。
图3是s0的说明图。
图4是s→T的说明图。
图5是执行实施方式2的KP-FE方式的密码系统10的结构图。
图6是实施方式2的密钥生成装置100的结构图。
图7是实施方式2的加密装置200的结构图。
图8是实施方式2的解密装置300的结构图。
图9是示出实施方式2的Setup算法的处理的流程图。
图10是示出实施方式2的KeyGen算法的处理的流程图。
图11是示出实施方式2的Enc算法的处理的流程图。
图12是示出实施方式2的Dec算法的处理的流程图。
图13是执行实施方式3的CP-FE方式的密码系统10的结构图。
图14是实施方式3的密钥生成装置100的结构图。
图15是实施方式3的加密装置200的结构图。
图16是实施方式3的解密装置300的结构图。
图17是示出实施方式3的KeyGen算法的处理的流程图。
图18是示出实施方式3的Enc算法的处理的流程图。
图19是示出实施方式3的Dec算法的处理的流程图。
图20是执行实施方式4的HIPE方式的密码系统10的结构图。
图21是实施方式4的密钥生成装置100的结构图。
图22是实施方式4的加密装置200的结构图。
图23是实施方式4的解密装置300的结构图。
图24是实施方式4的密钥转交装置400的结构图。
图25是示出实施方式4的Setup算法的处理的流程图。
图26是示出实施方式4的KeyGen算法的处理的流程图。
图27是示出实施方式4的Enc算法的处理的流程图。
图28是示出实施方式4的Dec算法的处理的流程图。
图29是示出实施方式4的DelegateL算法的处理的流程图。
图30是执行实施方式5的签名方式的密码系统10的结构图。
图31是实施方式5的密钥生成装置100的结构图。
图32是实施方式5的签名装置500的结构图。
图33是实施方式5的验证装置600的结构图。
图34是示出实施方式5的Setup算法的处理的流程图。
图35是示出实施方式5的KeyGen算法的处理的流程图。
图36是示出实施方式5的Sig算法的处理的流程图。
图37是示出实施方式5的Ver算法的处理的流程图。
图38是多管理者的说明图。
图39是多管理者的情况下的能够追加属性类别的函数型密码方式的说明图。
图40是示出密钥生成装置100、加密装置200、解密装置300、密钥转交装置400、签名装置500、验证装置600的硬件结构的一个例子的图。
(附图标记说明)
10:密码系统;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部;141:f矢量生成部;142:s矢量生成部;143:随机数生成部;144:密钥要素生成部;145:随机化要素生成部;146:转交要素生成部;150:密钥分发部;200:加密装置;210:公开参数取得部;220:信息输入部;230:加密数据生成部;231:随机数生成部;232:密码要素生成部;240:数据发送部;300:解密装置;310:解密密钥取得部;320:数据接收部;330:张成方案计算部;340:补充系数计算部;350:配对运算部;360:消息计算部;400:密钥转交装置;410:解密密钥取得部;420:信息输入部;430:转交密钥生成部;431:随机数生成部;432:下位密钥要素生成部;433:下位随机化要素生成部;434:下位转交要素生成部;440:密钥分发部;500:签名装置;510:签名密钥取得部;520:信息输入部;530:补充系数计算部;540:签名数据生成部;541:随机数生成部;542:签名要素生成部;550:数据发送部;600:验证装置;610:公开参数取得部;620:数据接收部;630:验证数据生成部;631:f矢量生成部;632:s矢量生成部;633:随机数生成部;634:验证要素生成部;640:配对运算部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述CPU911等。存储装置是后述ROM913、RAM914、磁盘920等。通信装置是后述通信板(communication board)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的有限域(finite field)。
[式105]
矢量标记表示有限域Fq中的矢量显示。即,是式106。
[式106]
表示
式107表示式108所示的2个矢量x→和v→的式109所示的内积。
[式107]
[式108]
[式109]
XT表示矩阵X的转置矩阵。
在bi(i=1,...,n)是空间V的矢量的要素时,即,在是式110时,式111表示通过式112生成的部分空间。
[式110]
[式111]
[式112]
针对式113所示的基底B和基底B*,是式114。
[式113]
[式114]
e→ j表示式115所示的标准基底矢量。
[式115]
另外,在以下的说明中,在下标或者上标中示出了“Vt”的情况下,该Vt意味着Vt。同样地,在上标中示出了“δi,j”的情况下,该δi,j意味着δi,j。
另外,在下标文字或者上标文字中附加了意味着矢量的“→”的情况下,该“→”意味着在下标文字或者上标文字中以上标附加。
另外,在以下的说明中,关于密码基元(cryptographic primitive)的处理,不仅是用于使信息从第三方隐匿的狭义的密码处理,而且还包括签名处理,包括密钥生成处理、加密处理、解密处理、密钥转交处理、签名处理、验证处理。
实施方式1.
在该实施方式中,说明成为实现在以下的实施方式中说明的、无需重发公开参数而能够追加属性类别的密码基元的处理的基础的概念。
第1,说明属性类别的追加。
第2,简单地说明函数型密码方式、和函数型密码方式的基本结构。
第3,说明无需重发公开参数而能够追加属性类别的关键技术。
第4,说明具有作为用于实现函数型密码方式的空间的“对偶配对矢量空间(Dual Pairing Vector Spaces,DPVS)”这样的丰富的数学构造的空间。
第5,说明用于实现函数型密码方式的概念。此处,说明张成方案(Span Program)”、“属性信息的内积和访问架构(accessstructure)”、“秘密分散方式(秘密共享方式)”。
<第1.属性类别的追加>
属性类别是指,例如,所属机关、所属工作岗位、职务、年龄、性别等各用户的属性的分类。
在以下的实施方式中说明的密码基元的处理实现基于用户的属性的访问控制。例如,如果是用于使信息从第三方隐匿的狭义的密码处理,则根据用户的属性,控制可否对密文进行解密。
通常,在系统设计时,预先决定在访问控制中使用的属性类别。但是,有之后系统的运用被变更,需要追加在访问控制中使用的属性类别的情况。
例如,设为设想仅在A公司内使用来构筑了密码系统。在该情况下,作为所使用的属性类别,设想所属工作岗位、职务、个人的ID等。但是,之后,设为以不仅是A公司,而且在A公司的关联公司中也使用密码系统的方式,变更了运用。在该情况下,作为所使用的属性类别,需要新追加所属公司。
在通过公开参数规定了在访问控制中使用的属性类别的情况下,为了之后追加属性类别,必须重发公开参数而向用户重新分发。因此,难以之后追加属性类别,无法灵活地采用在系统设计时未设想的运用形式。
因此,无需重发公开参数而能够追加属性类别变得重要。
<第2.函数型密码方式>
函数型密码方式是使加密密钥ek、与解密密钥dk之间的关系更高级、更灵活的密码方式。
在函数型密码方式中,在加密密钥ek和解密密钥dk中,分别设定了参数Φ和参数Ψ。另外,仅限关系R(Φ,Ψ)成立的情况,解密密钥dk能够对用加密密钥ek加密了的密文进行解密。
在函数型密码方式中,包括基于属性的密码方式、基于ID的密码方式。
简单说明函数型密码方式的结构。
函数型密码方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输出公开参数pk、和主密钥sk的算法。
(KeyGen)
KeyGen算法是将公开参数pk、主密钥sk、以及参数Ψ作为输入,输出解密密钥skΨ的算法。
(Enc)
Enc算法是将公开参数pk、参数Φ、以及消息m作为输入,输出密文ctΦ的算法。
(Dec)
Dec算法是将公开参数pk、解密密钥skΨ、以及密文ctΦ作为输入,输出消息m、或者、识别信息⊥的算法。
另外,仅限参数Ψ和参数Φ满足关系R的情况(R(Φ,Ψ)成立的情况),能够用解密密钥skΨ对密文ctΦ进行解密,得到消息m。
另外,通常,在系统的设置(setup)时,仅执行1次Setup算法。每当生成用户的解密密钥skΨ时,执行KeyGen算法。每当对消息m进行加密时,执行Enc算法。每当对密文ctΦ进行解密时,执行Dec算法。
<第3.关键技术>
在无需重发公开参数而能够追加属性类别的关键技术中,在对偶配对矢量空间中的对偶系统密码中,应用附加索引的技术。
在对偶配对矢量空间中的对偶系统密码中,随机地生成作为对偶基底的基底B和基底B*。另外,基底B的一部分(基底B^)成为公开参数。
在非专利文献29记载的函数型密码方式中,生成基底B^1,...,基底B^d作为公开参数。另外,对关于t=1,...,d的各整数t的基底B^t,分配了1个属性类别。即,能够处理d个属性类别。
此处,根据基底B^1,...,基底B^d是公开参数可知,在之后追加基底B^的情况、即让d的值增加的情况下,必须重发公开参数。即,d的值被公开参数限制。
在以下的实施方式中说明的函数型密码方式中,生成基底B^作为公开参数。另外,关于t=1,...,d的各整数t,对密文c和秘密密钥k*设定σt(1,t)和μi(t,-1)的二维索引矢量,对各整数t分配1个属性类别。即,能够处理d个属性类别。
此处,在公开参数中,包括基底B^,但未包括索引矢量。因此,在之后追加索引矢量,而使d的值增加的情况下,无需重发公开参数。即,d的值未被公开参数限制。
<第4.对偶配对矢量空间>
首先,说明对称双线性配对群。
对称双线性配对群(q,G,GT,g,e)是素数q、位数q的循环加法群G、位数q的循环乘法群GT、g≠0∈G、以及能够用多项式时间计算的非退化双线性配对(Nondegenerate Bilinear Pairing)e:G×G→GT的组。非退化双线性配对是e(sg,tg)=e(g,g)st,是e(g,g)≠1。
在以下的说明中,将Gbpg设为将1λ作为输入,输出将保密参数设为λ的双线性配对群的参数paramG:=(q,G,GT,g,e)的值的算法。
接下来,说明对偶配对矢量空间。
对偶配对矢量空间(q,V,GT,A,e)能够通过对称双线性配对群(paramG:=(q,G,GT,g,e))的直积构成。对偶配对矢量空间(q,V,GT,A,e)是素数q、式116所示的Fq上的N维矢量空间V、位数q的循环群GT、空间V的标准基底A:=(a1,...,aN)的组,具有以下的运算(1)(2)。此处,ai如式117所示。
[式116]
[式117]
运算(1):非退化双线性配对
空间V中的配对通过式118定义。
[式118]
此处,
其是非退化双线性。即,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):畸变映射
式119所示的空间V中的线性变换φi,j能够进行式120。
[式119]
φi,j(aj)=ai,
如果k≠j,则φi,j(ak)=0。
[式120]
此处,
(g1,…gN):=x。
此处,将线性变换φi,j称为畸变映射。
在以下的说明中,将Gdpvs设为如下算法:将1λ(λ∈自然数)、N∈自然数、双线性配对群的参数paramG:=(q,G,GT,g,e)的值作为输入,输出保密参数是λ、作为N维的空间V的对偶配对矢量空间的参数paramV:=(q,V,GT,A,e)的值的算法。
另外,此处,说明通过上述对称双线性配对群,构成了对偶配对矢量空间的情况。另外,还能够通过非对称双线性配对群构成对偶配对矢量空间。易于将以下的说明应用于通过非对称双线性配对群构成了对偶配对矢量空间的情况。
<第5.用于实现函数型密码的概念>
<第5-1.张成方案>
图1是矩阵M^的说明图。
将{p1,...,pn}设为变量的集合。M^:=(M,ρ)是附加了标签的矩阵。此处,矩阵M是Fq上的(L行×r列)的矩阵。另外,ρ是对矩阵M的各列附加了的标签,向{p1,...,pn,¬p1,...,¬pn}中的某一个字面值(literal)对应起来。另外,对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}对应起来了的情况下,张成方案被称为单调(monotone)。另一方面,在标签ρ与字面值{p1,...,pn,¬p1,...,¬pn}对应起来了的情况下,张成方案被称为非单调。此处,张成方案成为非单调(non-monotone)。另外,使用非单调张成方案,构成访问架构(非单调访问架构)。访问架构是指,简单而言进行向密码的访问控制的结构。即,控制可否对密文进行解密。
详情后述,通过张成方案并非单调而是非单调,利用张成方案构成的函数型密码方式的利用范围扩大。
<第5-2.属性信息的内积和访问架构>
此处,使用属性信息的内积来计算上述映射γ(j)。即,使用属性信息的内积,决定将矩阵M的哪个行包含于矩阵Mδ中。
Ut(t=1,...,d且Ut{0,1}*)是部分全集(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∈Fqn,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,ρ)受理Γ。
<第5-3.秘密分散方式>
说明针对访问架构S:=(M,ρ)的秘密分散方式。
另外,秘密分散方式是指,使秘密信息分散,成为无意义的分散信息。例如,使秘密信息s分散为10个,生成10个分散信息。此处,10个分散信息各自未具有秘密信息s的信息。因此,即便获得某一个分散信息,关于秘密信息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设为式121所示的列矢量。
[式121]
将式122所示的s0设为共享的秘密信息。
[式122]
另外,将式123所示的s→T设为s0的L个分散信息的矢量。
[式123]
另外,设为使分散信息si属于ρ(i)。
在访问架构S:=(M,ρ)受理Γ的情况、即关于γ:{1,...,L}→{0,1}是1→∈span<(Mi)γ(i)=1>的情况下,存在作为I{i∈{1,...,L}|γ(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。
另外,是式124。
[式124]
Σi∈Iαisi:=s0
另外,常数{αi}能够通过矩阵M的尺寸中的多项式时间来计算。
在以下的实施方式的函数型密码方式中,如上所述,在张成方案中应用内积谓词和秘密分散方式来构成访问架构。因此,通过设计张成方案中的矩阵M、内积谓词中的属性信息x以及属性信息v(谓词信息),能够自由地设计访问控制。即,能够以非常高的自由度设计访问控制。另外,矩阵M的设计相当于秘密分散方式的阈值等条件设计。
例如,上述基于属性的密码方式相当于在以下的实施方式的函数型密码方式中的访问架构中,将内积谓词的设计限定于某个条件的情况。即,相比于以下的实施方式的函数型密码方式中的访问架构,在基于属性的密码方式中的访问架构中,关于内积谓词中的属性信息x以及属性信息v(谓词信息),没有设计的自由度,与此对应地,访问控制的设计的自由度低。另外,具体而言,基于属性的密码方式相当于将属性信息{x→ t}t∈{1,...,d}和{v→ t}t∈{1,...,d}限定为针对等号关系的二维矢量、例如x→ t:=(1,xt)和v→ t:=(vt,-1)的情况。
另外,内积谓词密码方式相当于在以下的实施方式的函数型密码方式中的访问架构中,将张成方案中的矩阵M的设计限定为某个条件的情况。即,相比于以下的实施方式的函数型密码方式中的访问架构,在内积谓词密码方式中的访问架构中,没有张成方案中的矩阵M的设计的自由度,与此对应地,访问控制的设计的自由度低。另外,具体而言,内积谓词密码方式是将秘密分散方式限定为1-out-of-1(或者d-out-of-d)的情况。
特别,以下的实施方式的函数型密码方式中的访问架构构成使用了非单调张成方案的非单调访问架构。因此,访问控制的设计的自由度变得更高。
具体而言,在非单调张成方案中,包括否定形的字面值(¬p),所以能够设定否定形的条件。例如,设为在第1公司中,有A部、B部、C部以及D部这4个工作岗位。此处,设为希望仅对第1公司的除B部以外的工作岗位所属的用户进行可访问(可解密)这样的访问控制。在该情况下,如果无法设定否定形的条件,则需要设定“属于第1公司的A部、C部以及D部中的任意一个”这样的条件。另一方面,如果能够设定否定形的条件,则能够设定“第1公司的社员、且属于B部以外”这样的条件。即,通过能够设定否定形的条件,能够进行自然的条件设定。另外,此处,工作岗位的数量少,但在工作岗位的数量多的情况等情况下,非常有效。
实施方式2.
在该实施方式中,说明狭义的密码处理方式。特别,在该实施方式中,说明Key-Policy函数型密码(KP-FE)方式。
另外,Key-Policy意味着,在解密密钥中埋入Policy、即埋入访问架构。
第1,说明KP-FE方式的结构。
第2,说明实现KP-FE方式的密码系统10的结构。
第3,详细说明KP-FE方式。
<第1.KP-FE方式的结构>
KP-FE方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ,输出公开参数pk、和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是将访问架构S:=(M,ρ)、公开参数pk、以及主密钥sk作为输入,输出解密密钥skS的概率性的算法。
(Enc)
Enc算法是将消息m、作为属性的集合的Γ:={(t,x→ t)|x→ t∈Fq n,1≦t≦d}、以及公开参数pk作为输入,输出密文ctΓ的概率性的算法。
(Dec)
Dec算法是将在作为属性的集合的Γ下加密了的密文ctΓ、针对访问架构S的解密密钥skS、以及公开参数pk作为输入,输出消息m、或者、识别信息⊥的算法。
<第2.实现KP-FE方式的密码系统10的结构>
图5是执行实施方式2的KP-FE方式的密码系统10的结构图。
密码系统10具备密钥生成装置100、加密装置200、解密装置300。
密钥生成装置100将保密参数λ作为输入执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开生成了的公开参数pk。另外,密钥生成装置100将访问架构S作为输入执行KeyGen算法,生成解密密钥skS向解密装置300秘密地分发。
加密装置200将消息m、属性的集合Γ、以及公开参数pk作为输入执行Enc算法,生成密文ctΓ。加密装置200将生成了的密文ctΓ发送到解密装置300。
解密装置300将公开参数pk、解密密钥skS、以及密文ctΓ作为输入执行Dec算法,输出消息m或者识别信息⊥。
<第3.KP-FE方式的详情>
根据图6至图12,说明KP-FE方式、以及、执行KP-FE方式的密码系统10的功能和动作。
图6是实施方式2的密钥生成装置100的结构图。图7是实施方式2的加密装置200的结构图。图8是实施方式2的解密装置300的结构图。
图9和图10是示出密钥生成装置100的动作的流程图。另外,图9是示出Setup算法的处理的流程图,图10是示出KeyGen算法的处理的流程图。图11是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图12是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。
另外,在以下的说明中,设为是xt,1:=1。
说明密钥生成装置100的功能和动作。
密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥分发部150。另外,解密密钥生成部140具备f矢量生成部141、s矢量生成部142、随机数生成部143、密钥要素生成部144。
首先,根据图9,说明Setup算法的处理。
(S101:标准正交基底(orthonormal basis)生成步骤)
主密钥生成部110通过处理装置,计算式125,生成参数param、基底B0以及基底B* 0、和基底B1(基底B)以及基底B* 1(基底B*)。
[式125]
(1)input1λ
(2)
(3)
N0:=1+u0+1+w0+z0,N1:=2+n+u+w+z
针对t=0,1的各t,执行(4)至(8)的处理。
(4)
(5)
(6)
(7)
(8)
(9)
即,主密钥生成部110执行以下的处理。
(1)主密钥生成部110通过输入装置,输入保密参数λ(1λ)。
(2)主密钥生成部110通过处理装置,将在(1)中输入了的保密参数λ(1λ)作为输入执行算法Gbpg,生成双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
(3)主密钥生成部110通过处理装置,生成随机数ψ,并且对N0设定1+u0+1+w0+z0,对N1设定2+n+u+w+z。另外,n是1以上的整数,u0,w0,z0,u,w,z分别是0以上的整数。
接下来,主密钥生成部110针对t=0,1的各t,执行以下的(4)至(8)的处理。
(4)主密钥生成部110通过处理装置,将在(1)中输入了的保密参数λ(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是General Linear的简称。即,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。另外,x→ t,i表示线性变换Xt的第i行。
(8)主密钥生成部110通过处理装置,根据在(6)中生成了的(νt,i,j)i,j,根据在(4)中生成了的标准基底At,生成基底B* t。另外,v→ t,i表示线性变换X* t的第i行。
(9)主密钥生成部110通过处理装置,对gT设定e(g,g)ψ。另外,主密钥生成部110对param设定在(4)中生成了的{paramVt}t=0, 1、和gT。
即,在(S101)中,主密钥生成部110执行式126所示的算法Gob,生成param、基底B0以及基底B* 0、和基底B1(基底B)以及基底B* 1(基底B*)。
[式126]
另外,在以下的说明中,为了简化,将基底B1以及基底B* 1设为基底B以及基底B*。
(S102:公开参数生成步骤)
主密钥生成部110通过处理装置,如式127所示生成在(S101)中生成了的基底B0的部分基底B^0、和基底B的部分基底B^。
[式127]
主密钥生成部110将生成了的部分基底B^0以及部分基底B^、在(S101)中输入了的保密参数λ(1λ)、以及在(S101)中生成了的param合起来设为公开参数pk。
(S103:主密钥生成步骤)
主密钥生成部110通过处理装置,如式128所示生成在(S101)中生成了的基底B* 0的部分基底B^* 0、和基底B*的部分基底B^*。
[式128]
主密钥生成部110将生成了的部分基底B^* 0和部分基底B^*设为主密钥sk。
(S104:主密钥存储步骤)
主密钥存储部120将在(S102)中生成了的公开参数pk存储到存储装置中。另外,主密钥存储部120将在(S103)中生成了的主密钥sk存储到存储装置中。
即,在(S101)至(S103)中,密钥生成装置100执行式129所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S104)中,密钥生成装置100将生成了的公开参数pk和主密钥sk存储到存储装置中。
另外,公开参数例如经由网络公开,成为加密装置200、解密装置300可取得的状态。
[式129]
接下来,根据图10,说明KeyGen算法的处理。
(S201:信息输入步骤)
信息输入部130通过输入装置,输入上述访问架构S:=(M,ρ)。另外,关于访问架构S的矩阵M的设定,根据希望实现的系统的条件设定。另外,关于访问架构S的ρ,例如,设定了解密密钥skS的使用者的属性信息。
(S202:f矢量生成步骤)
f矢量生成部141通过处理装置,如式130所示随机地生成具有r个要素的矢量f→。
[式130]
(S203:s矢量生成步骤)
s矢量生成部142通过处理装置,根据在(S201)中输入了的访问架构S中包含的(L行×r列)的矩阵M、和在(S202)中生成了的矢量f→,如式131所示生成矢量s→T:=(s1,...,sL)T。
[式131]
另外,s矢量生成部142通过处理装置,根据在(S202)中生成了的矢量f→,如式132所示生成值s0。
[式132]
(S204:随机数生成步骤)
随机数生成部143通过处理装置,如式133所示生成随机数。
[式133]
(S205:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如式134所示生成解密密钥skS的要素k* 0。
[式134]
另外,如上所述,在式113中,针对基底B和基底B*,是式114。因此,式134意味着,作为基底B* 0的基底矢量b* 0,1的系数,设定-s0,作为基底矢量b* 0,1+1,...,b* 0,1+u0的系数,设定0,作为基底矢量b* 0, 1+u0+1的系数,设定1,作为基底矢量b* 0,1+u0+1+1,...,b* 0,1+u0+1+w0的系数,设定η0,1,...,η0,w0,作为基底矢量b* 0,1+u0+1+w0+1,...,b* 0,1+u0+1+w0+z0的系数,设定0。此处,u0,w0,z0分别是指u0,w0,z0。
另外,密钥要素生成部144通过处理装置,针对i=1,...,L的各整数i,如式135所示生成解密密钥skS的要素k* i。
[式135]
即,式135与式134同样地意味着,在ρ(i)是肯定形的组(t,v→ i)的情况下,作为基底B*的基底矢量b* 1的系数,设定μit,作为基底矢量b* 2的系数,设定-μi,作为基底矢量b* 2+1的系数,设定si+θivi,1,作为基底矢量b* 2+2,...,b* 2+n的系数,设定θivi,2,...,θivi,n,作为基底矢量b* 2+n+1,...,b* 2+n+u的系数,设定0,作为基底矢量b* 2+n+u+1,...,b* 2+n+u+w的系数,设定ηi,1,...,ηi,w,作为基底矢量b* 2+n+u+w+1,...,b* 2+n+u+w+z的系数,设定0。
另一方面,意味着在ρ(i)是否定形的组¬(t,v→ i)的情况下,作为基底B*的基底矢量b* 1的系数,设定μit,作为基底矢量b* 2的系数,设定-μi,作为基底矢量b* 2+1,...,b* 2+n的系数,设定sivi,1,...,sivi,n,作为基底矢量b* 2+n+1,...,b* 2+n+u的系数,设定0,作为基底矢量b* 2+n+u+1,...,b* 2+n+u+w的系数,设定ηi,1,...,ηi,w,作为基底矢量b* 2+n+u+w+1,...,b* 2+n+u+w+z的系数,设定0。
(S206:密钥分发步骤)
密钥分发部150将以在(S201)中输入了的访问架构S、和在(S205)中生成了的k* 0,k* 1,...,k* L为要素的解密密钥skS,通过例如通信装置,经由网络秘密地分发到解密装置300。当然,解密密钥skS也可以通过其他方法分发到解密装置300。
即,在(S201)至(S205)中,密钥生成装置100执行式136所示的KeyGen算法,生成解密密钥skS。然后,在(S206)中,密钥生成装置100将生成了的解密密钥skS分发到解密装置300。
[式136]
说明加密装置200的功能和动作。
加密装置200具备公开参数取得部210、信息输入部220、加密数据生成部230、数据发送部240。另外,加密数据生成部230具备随机数生成部231、密码要素生成部232。
根据图11,说明Enc算法的处理。
(S301:公开参数取得步骤)
公开参数取得部210通过例如通信装置,经由网络,取得密钥生成装置100生成了的公开参数pk。
(S302:信息输入步骤)
信息输入部220通过输入装置,输入向解密装置300发送的消息m。另外,信息输入部220通过输入装置,输入属性的集合Γ:={(t,x→ t:=(xt,1,...,xt,n∈Fqn))|1≦t≦d}。另外,t也可以不是1以上d以下的所有整数,而是1以上d以下的至少一部分的整数。另外,关于属性的集合Γ,例如,设定了可解密的用户的属性信息。
(S303:随机数生成步骤)
随机数生成部231通过处理装置,如式137所示生成随机数。
[式137]
(S304:密码要素生成步骤)
密码要素生成部232通过处理装置,如式138所示生成密文ctΓ的要素c0。
[式138]
另外,密码要素生成部232通过处理装置,针对在属性信息Γ中包含的各整数t,如式139所示生成密文ctΓ的要素ct。
[式139]
另外,密码要素生成部232通过处理装置,如式140所示生成密文ctΓ的要素cd+1。
[式140]
(S305:数据发送步骤)
数据发送部240将以在(S302)中输入了的属性的集合Γ、和在(S304)中生成了的c0,ct,cd+1为要素的密文ctΓ通过例如通信装置,经由网络,发送到解密装置300。当然,密文ctΓ也可以通过其他方法发送到解密装置300。
即,在(S301)至(S304)中,加密装置200执行式141所示的Enc算法,生成密文ctΓ。然后,在(S305)中,加密装置200将生成了的密文ctΓ发送到解密装置300。
[式141]
说明解密装置300的功能和动作。
解密装置300具备解密密钥取得部310、数据接收部320、张成方案计算部330、补充系数计算部340、配对运算部350、消息计算部360。
根据图12,说明Dec算法的处理。
(S401:解密密钥取得步骤)
解密密钥取得部310通过例如通信装置,经由网络,取得从密钥生成装置100分发了的解密密钥skS:=(S,k* 0,k* 1,...,k* L)。另外,解密密钥取得部310取得密钥生成装置100生成了的公开参数pk。
(S402:数据接收步骤)
数据接收部320通过例如通信装置,经由网络,接收加密装置200发送了的密文ctΓ。
(S403:张成方案计算步骤)
张成方案计算部330通过处理装置,判定在(S401)中取得了的解密密钥skS中包含的访问架构S是否受理在(S402)中接收了的密文ctΓ中包含的Γ。访问架构S是否受理Γ的判定方法如“实施方式1中的第5.用于实现函数型密码的概念”中的说明。
张成方案计算部330在访问架构S受理Γ的情况下(在S403中受理),使处理进入到(S404)。另一方面,在访问架构S拒绝Γ的情况下(在S403中拒绝),设为无法用解密密钥skS对密文ctΓ进行解密,结束处理。
(S404:补充系数计算步骤)
补充系数计算部340通过处理装置,计算出成为式142的I、和常数(补充系数){αi}i∈I。
[式142]
(S405:配对运算步骤)
配对运算部350通过处理装置,计算式143,生成会话密钥K=gT ζ。
[式143]
另外,通过如式144所示,计算式143,得到密钥K=gT ζ。
[式144]
(S406:消息计算步骤)
消息计算部360通过处理装置,计算m’=cd+1/K,生成消息m’(=m)。另外,cd+1如式142所示是gT ζm,K是gT ζ,所以只要计算m’=cd+1/K,就得到消息m。
即,在(S401)至(S406)中,解密装置300执行式145所示的Dec算法,生成消息m’(=m)。
[式145]
如以上那样,实施方式2的密码系统10针对解密密钥skS的要素k* i,作为基底矢量b* 1,b* 2的系数,分别设定了μit和-μi。另外,密码系统10针对密文ctΓ的要素ct,作为基底矢量b1,b2的系数,分别设定了σt和σtt。
因此,如果进行了关于对应的索引t的要素k* i和要素ct的配对运算,则关于基底矢量b* 1,b* 2和基底矢量b1,b2的部分,内积成为0,被删除。即,如果进行了关于对应的索引t的要素k* i和要素ct的配对运算,则设定为基底矢量的系数的索引部(基底矢量b* 1,b* 2和基底矢量b1,b2的部分)被删除,得到关于剩余的部分的配对运算的结果。
实施方式2的密码系统10通过设置索引部,能够将在各属性类别中使用的基底设为共用的基底(基底B以及基底B*)。其结果,在公开参数中,仅包括基底B以及基底B*既可,在之后追加属性类别的情况下,无需重发公开参数。
另外,实施方式2的密码系统10相比于非专利文献29记载的函数型密码方式,公开参数、主秘密密钥的尺寸更小。因此,能够高效地进行使用了公开参数、主秘密密钥的各运算。
另外,关于索引部,内积了的结果成为0既可。因此,在上述说明中,将基底矢量b* 1,b* 2和基底矢量b1,b2的二维作为索引部,但不限于此,也可以将三维以上作为索引部。另外,向索引部的值的分配也不限于上述说明,也可以是其他分配。
另外,在上述说明中,说明了函数型密码方式。但是,还能够如式146至式149所示,将上述函数型密码方式变更为基于属性的密码方式。另外,在式146至式149中,将N0设为1+1+1+1+1=5,将N1设为2+2+8+2+2=16。即,设为u0=1,w0=1,z0=1,n=2,u=8,w=2,z=2。即使在该情况下,也能够证明安全性。
[式146]
[式147]
[式148]
[式149]
实施方式3.
在该实施方式中,与实施方式2同样地,说明狭义的密码处理方式。特别,在该实施方式中,说明Ciphertext-Policy函数型密码(CP-FE)方式。
另外,Ciphertext-Policy意味着,在密文中埋入Policy、即埋入访问架构。
第1,说明CP-FE方式的结构。
第2,说明实现CP-FE方式的密码系统10的结构。
第3,详细说明CP-FE方式。
<第1.CP-FE方式的结构>
CP-FE方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ,输出公开参数pk、和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是将作为属性的集合的Γ:={(t,x→ t)|x→ t∈Fq n,1≦t≦d}、公开参数pk、以及主密钥sk作为输入,输出解密密钥skΓ的概率性的算法。
(Enc)
Enc算法是将消息m、访问架构S:=(M,ρ)、以及公开参数pk作为输入,输出密文ctS的概率性的算法。
(Dec)
Dec算法是将在访问架构S下加密了的密文ctS、针对作为属性的集合的Γ的解密密钥skΓ、以及公开参数pk作为输入,输出消息m、或者、识别信息⊥的算法。
<第2.实现CP-FE方式的密码系统10的结构>
图13是执行实施方式3的CP-FE方式的密码系统10的结构图。
密码系统10具备密钥生成装置100、加密装置200、解密装置300。
密钥生成装置100将保密参数λ作为输入执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开生成了的公开参数pk。另外,密钥生成装置100将属性的集合Γ作为输入执行KeyGen算法,生成解密密钥skΓ向解密装置300秘密地分发。
加密装置200将消息m、访问架构S、以及公开参数pk作为输入执行Enc算法,生成密文ctS。加密装置200将生成了的密文ctS发送到解密装置300。
解密装置300将公开参数pk、解密密钥skS、以及密文ctS作为输入执行Dec算法,输出消息m或者识别信息⊥。
<第3.CP-FE方式的详情>
根据图14至图19,说明CP-FE方式、以及、执行CP-FE方式的密码系统10的功能和动作。
图14是实施方式3的密钥生成装置100的结构图。图15是实施方式3的加密装置200的结构图。图16是实施方式3的解密装置300的结构图。
图17是示出密钥生成装置100的动作的流程图,是示出KeyGen算法的处理的流程图。图18是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图19是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。
另外,在以下的说明中,设为是xt,1:=1。
Setup算法的处理与在实施方式2中说明了的处理相同,所以省略说明。
说明密钥生成装置100的功能和动作。
密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥分发部150。另外,解密密钥生成部140具备随机数生成部143、密钥要素生成部144。
根据图17,说明KeyGen算法的处理。
(S501:信息输入步骤)
信息输入部130通过输入装置,输入属性的集合Γ:={(t,x→ t:=(xt,1,...,xt,n∈Fq n))|1≦t≦d}。另外,关于属性的集合Γ,例如,设定了解密密钥skΓ的使用者的属性信息。
(S502:随机数生成步骤)
随机数生成部143通过处理装置,如式150所示生成随机数。
[式150]
(S503:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如式151所示生成解密密钥skΓ的要素k* 0。
[式151]
另外,密钥要素生成部144通过处理装置,针对在属性的集合Γ中包含的各整数t,如式152所示生成解密密钥skΓ的要素k* t。
[式152]
(S504:密钥分发步骤)
密钥分发部150将以在(S501)中输入了的属性的集合Γ、和在(S503)中生成了的k* 0,k* t为要素的解密密钥skΓ,通过例如通信装置,经由网络秘密地分发到解密装置300。当然,解密密钥skΓ也可以通过其他方法分发到解密装置300。
即,在(S501)至(S503)中,密钥生成装置100执行式153所示的KeyGen算法,生成解密密钥skΓ。然后,在(S504)中,密钥生成装置100将生成了的解密密钥skΓ分发到解密装置300。
[式153]
说明加密装置200的功能和动作。
加密装置200具备公开参数取得部210、信息输入部220、加密数据生成部230、数据发送部240。另外,加密数据生成部230具备随机数生成部231、密码要素生成部232、f矢量生成部233、s矢量生成部234。
根据图18,说明Enc算法的处理。
(S601:公开参数取得步骤)
公开参数取得部210通过例如通信装置,经由网络,取得密钥生成装置100生成了的公开参数pk。
(S602:信息输入步骤)
信息输入部220通过输入装置,输入访问架构S:=(M,ρ)。另外,关于访问架构S的设定,根据希望实现的系统的条件设定。另外,关于访问架构S的ρ,例如,设定了可解密的用户的属性信息。
另外,信息输入部220通过输入装置,输入向解密装置300发送的消息m。
(S603:f矢量生成步骤)
f矢量生成部233通过处理装置,如式154所示随机地生成具有r个要素的矢量f→。
[式154]
(S604:s矢量生成步骤)
s矢量生成部234通过处理装置,根据在(S602)中输入了的访问架构S中包含的(L行×r列)的矩阵M、和在(S603)中生成了的矢量f→,如式155所示生成矢量s→T:=(s1,...,sL)T。
[式155]
另外,s矢量生成部234通过处理装置,根据在(S603)中生成了的矢量f→,如式156所示生成值s0。
[式156]
(S605:随机数生成步骤)
随机数生成部231通过处理装置,如式157所示生成随机数。
[式157]
(S606:密码要素生成步骤)
密码要素生成部232通过处理装置,如式158所示生成加密数据c的要素c0。
[式158]
另外,密码要素生成部232通过处理装置,针对i=1,...,L的各整数i,如式159所示生成加密数据c的要素ci。
[式159]
另外,密码要素生成部232通过处理装置,如式160所示生成加密数据c的要素cd+1。
[式160]
(S607:数据发送步骤)
数据发送部240将以在(S602)中输入了的访问架构S、和在(S606)中生成了的c0,c1,...,cL,cd+1为要素的密文ctS,通过例如通信装置,经由网络,发送到解密装置300。当然,密文ctS也可以通过其他方法发送到解密装置300。
即,在(S601)至(S606)中,加密装置200执行式161所示的Enc算法,生成密文ctS。然后,在(S607)中,加密装置200将生成了的密文ctS发送到解密装置300。
[式161]
说明解密装置300的功能和动作。
解密装置300具备解密密钥取得部310、数据接收部320、张成方案计算部330、补充系数计算部340、配对运算部350、消息计算部360。
根据图15,说明Dec算法的处理。
(S701:解密密钥取得步骤)
解密密钥取得部310通过例如通信装置,经由网络,取得从密钥生成装置100分发了的解密密钥skΓ。另外,解密密钥取得部310取得密钥生成装置100生成了的公开参数pk。
(S702:数据接收步骤)
数据接收部320通过例如通信装置,经由网络,接收加密装置200发送了的密文ctS。
(S703:张成方案计算步骤)
张成方案计算部330通过处理装置,判定在(S702)中取得了的密文ctS中包含的访问架构S是否受理在(S701)中接收了的解密密钥skΓ中包含的Γ。访问架构S是否受理Γ的判定方法如“实施方式1中的第5.用于实现函数型密码的概念”中的说明。
张成方案计算部330在访问架构S受理Γ的情况下(在S703中受理),使处理进入到(S704)。另一方面,在访问架构S拒绝Γ的情况下(在S703中拒绝),设为无法用解密密钥skΓ对密文ctS进行解密,结束处理。
(S704)至(S706)与实施方式2中的图12所示的(S404)和(S406)相同。
即,在(S701)至(S706)中,加密装置200执行式162所示的Dec算法,生成消息m’(=m)。
[式162]
如以上那样,实施方式3的密码系统10通过与实施方式2的密码系统10同样地,设置索引部,能够将在各属性类别中使用的基底设为共用的基底(基底B以及基底B*)。其结果,在公开参数中,仅包括基底B以及基底B*既可,在之后追加属性类别的情况下,无需重发公开参数。
另外,与实施方式2同样地,关于索引部,内积了的结果成为0既可。因此,在上述说明中,将基底矢量b* 1,b* 2和基底矢量b1,b2的二维设为索引部,但不限于此,也可以将三维以上设为索引部。另外,向索引部的值的分配也不限于上述说明,也可以是其他分配。
另外,在上述说明中,说明了函数型密码方式。但是,还能够如式163至式167所示,将上述函数型密码方式变更为基于属性的密码方式。另外,在式163至式167中,将N0设为1+1+1+1+1=5,将N1设为2+2+8+2+2=16。即,设为u0=1,w0=1,z0=1,n=2,u=8,w=2,z=2。即使在该情况下,也能够证明安全性。
[式163]
[式164]
[式165]
[式166]
另外,在实施方式2中,说明了KP-FE方式,在实施方式3中,说明了CP-FE方式。与这些同样地,非专利文献30记载的Unified-Policy FE(UP-FE)也能够成为在追加属性类别的情况下,无需重发公开参数的结构。
实施方式4.
在该实施方式中,与实施方式2、3同样地,说明狭义的密码处理方式。特别,在该实施方式中,说明层次性的内积谓词密码(HIPE)方式。
另外,HIPE方式是指,可转交权限的内积谓词密码方式。权限转交是指,具有上位的密钥的利用者生成相比于该密钥(上位的密钥)限制了功能的下位的密钥。功能被限制是指,能够用下位的密钥对能够用上位的密钥解密的密文中的仅一部分的密文进行解密这样的含义。内积谓词密码方式相当于如实施方式1说明,限定了函数型密码方式中的访问架构的设计的情况。
在HIPE方式中,有高效的第1方式、和虽然效率不如第1方式但在密文中设定了的属性信息的隐匿性也被保证的第2方式(参照非专利文献29)。此处,作为一个例子,关于第2方式,说明无需重发公开参数而能够追加属性类别的方式。但是,通过对非专利文献29记载的算法追加同样的变更,关于第1方式,也无需重发公开参数而能够追加属性类别。
第1,说明HIPE方式的结构。
第2,说明实现HIPE方式的密码系统10的结构。
第3,详细说明HIPE方式。
<第1.HIPE方式的结构>
HIPE方式具备Setup、KeyGen、Enc、Dec、DelegateL这5个算法。
(Setup)
Setup算法是将保密参式1λ作为输入,输出主公开密钥pk和主秘密密钥sk的概率性的算法。主秘密密钥sk是最上位的密钥。
(KeyGen)
KeyGen算法是将主公开密钥pk、主秘密密钥sk、以及谓词信息(v→ 1,...,v→ L)(1≦L≦d)作为输入,输出第L层的秘密密钥skL的概率性的算法。
(Enc)
Enc算法是将主公开密钥pk、属性信息(x→ 1,...,x→ h)(1≦h≦d)、以及消息m作为输入,输出密文ct的概率性的算法。
(Dec)
Dec算法是将主公开密钥pk、第L层的秘密密钥skL、以及密文ct作为输入,输出消息m或者识别信息⊥的概率性的算法。
(DelegateL)
DelegateL是将主公开密钥pk、第L层的秘密密钥skL、以及第L+1层的谓词信息v→ L+1(L+1≦d)作为输入,输出第L+1层的秘密密钥skL+1的概率性的算法。即,在DelegateL算法中,输出下位的秘密密钥。
<第2.实现HIPE方式的密码系统10的结构>
图20是执行实施方式4的HIPE方式的密码系统10的结构图。
密码系统10具备密钥生成装置100、加密装置200、解密装置300、密钥转交装置400。另外,此处,说明为解密装置300具备密钥转交装置400,但密钥转交装置400也可以与解密装置300独立地设置。
密钥生成装置100将保密参数λ作为输入执行Setup算法,生成主公开密钥pk和主秘密密钥sk。然后,密钥生成装置100公开生成了的主公开密钥pk。另外,密钥生成装置100将主公开密钥pk、主秘密密钥sk、以及谓词信息(v→ 1,...,v→ L)(1≦L≦d)作为输入执行KeyGen算法,生成第L层的秘密密钥skL并向第L层的解密装置300秘密地分发。
加密装置200将主公开密钥pk、属性信息(x→ 1,...,x→ h)(1≦h≦d)、以及消息m作为输入执行Enc算法,生成密文ct。加密装置200将生成了的密文ct发送到解密装置300。
解密装置300将主公开密钥pk、第L层的秘密密钥skL、以及密文ct作为输入执行Dec算法,输出消息m或者识别信息⊥。
密钥转交装置400将主公开密钥pk、第L层的秘密密钥skL、以及第L+1层的谓词信息v→ L+1(L+1≦d)作为输入执行DelegateL算法,生成第L+1层的秘密密钥skL+1并向第L+1层的解密装置300秘密地分发。
<第3.HIPE方式的详情>
根据图21至图29,说明实施方式4的HIPE方式、以及、执行HIPE方式的密码系统10的功能和动作。
图21是实施方式4的密钥生成装置100的结构图。图22是实施方式4的加密装置200的结构图。图23是实施方式4的解密装置300的结构图。图24是实施方式4的密钥转交装置400的结构图。
图25和图26是示出密钥生成装置100的动作的流程图。另外,图25是示出Setup算法的处理的流程图,图26是示出KeyGen算法的处理的流程图。图27是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图28是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。图29是示出密钥转交装置400的动作的流程图,是示出DelegateL算法的处理的流程图。
说明密钥生成装置100的功能和动作。
密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥分发部150。另外,解密密钥生成部140具备随机数生成部143、密钥要素生成部144、随机化要素生成部145、转交要素生成部146。
首先,根据图25,说明Setup算法的处理。
S801与实施方式2中的图9所示的(S101)相同。
(S802:公开参数生成步骤)
主密钥生成部110通过处理装置,如式167所示生成在(S801)中生成了的基底B0的部分基底B^0、基底B的部分基底B^、基底B* 0的部分基底B^* 0,pk、以及基底B*的部分基底B^* pk。
[式167]
主密钥生成部110将生成了的部分基底B^0、部分基底B^、部分基底B^* 0,pk、以及部分基底B^* pk、在(S801)中输入了的保密参数λ(1λ)、和在(S801)中生成了的param合起来作为公开参数pk。
(S803:主密钥生成步骤)
主密钥生成部110通过处理装置,如式168所示生成在(S801)中生成了的基底B* 0的部分基底B^* 0,sk、和基底B*的部分基底B^* sk。
[式168]
主密钥生成部110将生成了的部分基底B^* 0和部分基底B^*作为主密钥sk。
(S804:主密钥存储步骤)
主密钥存储部120将在(S802)中生成了的公开参数pk存储到存储装置中。另外,主密钥存储部120将在(S803)中生成了的主密钥sk存储到存储装置中。
即,在(S801)至(S803)中,密钥生成装置100执行式169所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S804)中,密钥生成装置100将生成了的公开参数pk和主密钥sk存储到存储装置中。
另外,关于公开参数,例如经由网络公开,成为加密装置200、解密装置300可取得的状态。
[式169]
接下来,根据图26,说明密钥生成装置100执行的KeyGen算法的处理。
(S901:信息输入步骤)
信息输入部130通过输入装置,输入谓词信息(v→ 1,...,v→ L)。针对i=1,...,L的各整数,是v→ i:=vi,1,...,vi,n。另外,作为谓词信息,输入使用密钥的人员的属性。
(S902:随机数生成步骤)
随机数生成部143通过处理装置,如式170所示生成随机数。
[式170]
另外,如式171所示设定sdec,0、sran,1,j,0、sran,2,τ,0、以及sdel, (τ,ι),0。
[式171]
(S903:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如式172所示生成作为解密密钥skL的要素的密钥要素k* L,dec。
[式172]
(S904:第1随机化要素生成步骤)
随机化要素生成部145通过处理装置,针对j=1,...,2L的各整数j,如式173所示生成作为解密密钥skL的要素的第1随机化要素k* L,ran,1,j。
[式173]
(S905:第2随机化要素生成步骤)
随机化要素生成部145通过处理装置,针对τ=L+1,...,d的各整数τ,如式174所示生成作为解密密钥skL的要素的第2随机化要素k* L,ran,2,τ。
[式174]
(S906:转交要素生成步骤)
转交要素生成部146通过处理装置,针对τ=L+1,...,d的各整数τ、和关于各整数τ的ι=1,2的各整数ι,如式175所示生成作为解密密钥skL的要素的转交要素k* L,del,(τ,ι)。
[式175]
(S907:密钥分发步骤)
密钥分发部150将以密钥要素k* L,dec、第1随机化要素k* L,ran, 1,j、第2随机化要素k* L,ran,2,τ、以及转交要素k* L,del,(τ,ι)为要素的解密密钥skL,通过例如通信装置,经由网络秘密地分发到解密装置300。当然,解密密钥skL也可以通过其他方法分发到解密装置300。
即,在(S901)至(S906)中,密钥生成装置100执行式176、式177所示的KeyGen算法,生成解密密钥skL。然后,在(S907)中,密钥生成装置100将生成了的解密密钥skL分发到解密装置300。
[式176]
[式177]
说明加密装置200的功能和动作。
加密装置200具备公开参数取得部210、信息输入部220、加密数据生成部230、数据发送部240。另外,加密数据生成部230具备随机数生成部231、密码要素生成部232。
根据图27,说明加密装置200执行的Enc算法的处理。
(S1001:主公开密钥取得步骤)
公开参数取得部210通过例如通信装置,经由网络,取得密钥生成装置100生成了的主公开密钥pk。
(S1002:信息输入步骤)
信息输入部220通过输入装置,输入属性信息(x→ 1,...,x→ L)。针对i=1,...,L的各整数,是x→ i:=xi,1,...,xi,L。另外,作为属性信息,输入能够对加密了的消息进行解密的人员的属性。
另外,信息输入部220通过输入装置,输入要加密的消息m。
(S1003:随机数生成步骤)
随机数生成部231通过处理装置,如式178所示生成随机数。
[式178]
(S1004:密码要素c1生成步骤)
密码要素生成部232通过处理装置,如式179所示生成作为密文ct的要素的密码要素c1。
[式179]
(S1005:密码要素c2生成步骤)
密码要素生成部232通过处理装置,如式180所示生成作为密文ct的要素的密码要素c2。
[式180]
(S1006:数据发送步骤)
数据发送部240将包括密码要素c1、和密码要素c2的密文ct通过例如通信装置,经由网络,发送到解密装置300。当然,密文ct也可以通过其他方法发送到解密装置300。
即,在(S1001)至(S1005)中,加密装置200执行式181所示的Enc算法,生成密文ct。然后,在(S1006)中,加密装置200将生成了的密文ct发送到解密装置300。
[式181]
说明解密装置300的功能和动作。
解密装置300具备解密密钥取得部310、数据接收部320、配对运算部350、消息计算部360。
根据图28,说明解密装置300执行的Dec算法的处理。
(S1101:解密密钥取得步骤)
解密密钥取得部310通过例如通信装置,经由网络,取得解密密钥skL。另外,解密密钥取得部310取得密钥生成装置100生成了的公开参数pk。
(S1102:数据接收步骤)
数据接收部320通过例如通信装置,经由网络,接收加密装置200发送了的密文ct。
(S1103:配对运算步骤)
配对运算部350通过处理装置,进行式182所示的配对运算,计算会话密钥K=gT ζ。
[式182]
(S1104:消息计算步骤)
消息计算部360通过处理装置,将密码要素c2除以会话密钥K,从而计算消息m’(=m)。
即,在(S1101)至(S1104)中,解密装置300执行式183所示的Dec算法,计算消息m’(=m)。
[式183]
说明密钥转交装置400的功能和动作。
密钥转交装置400具备解密密钥取得部410、信息输入部420、转交密钥生成部430、密钥分发部440。另外,转交密钥生成部430具备随机数生成部431、下位密钥要素生成部432、下位随机化要素生成部433、下位转交要素生成部434。
根据图29,说明密钥转交装置400执行的DelegateL算法的处理。
(S1201:解密密钥取得步骤)
解密密钥取得部410通过例如通信装置,经由网络,取得解密密钥skL。另外,解密密钥取得部410取得密钥生成装置100生成了的公开参数pk。
(S1202:信息输入步骤)
信息输入部420通过输入装置,输入谓词信息v→ L+1:=(vL+1,i(i=1,...,nL+1))。另外,作为谓词信息,输入被转交密钥的人员的属性。
(S1203:随机数生成步骤)
随机数生成部431通过处理装置,如式184所示生成随机数。
[式184]
(S1204:下位密钥要素生成步骤)
下位密钥要素生成部432通过处理装置,如式185所示生成作为转交密钥skL+1的要素的下位密钥要素k* L+1,dec。
[式185]
(S1205:第1下位随机化要素生成步骤)
下位随机化要素生成部433通过处理装置,针对j’=1,...,2(L+1)的各整数j’,如式186所示生成作为转交密钥skL+1的要素的第1下位随机化要素k* L+1,ran,1,j’。
[式186]
(S1206:第2下位随机化要素生成步骤)
下位随机化要素生成部433通过处理装置,针对τ=L+2,...,d的各整数τ,如式187所示生成作为转交密钥skL+1的要素的第2下位随机化要素k* L+1,ran,2,τ。
[式187]
(S1207:下位转交要素生成步骤)
下位转交要素生成部434通过处理装置,针对τ=L+2,...,d的各整数τ、和关于各整数τ的ι=1,...,n的各整数ι,如式188所示生成作为转交密钥skL+1的要素的下位转交要素k* L+1,del,(τ,ι)。
[式188]
(S1208:密钥分发步骤)
密钥分发部150将以下位密钥要素k* L+1,dec、第1下位随机化要素k* L+1,ran,1,j’、第2下位随机化要素k* L+1,ran,2,τ、以及下位转交要素k* L+1,del,(τ,ι)为要素的转交密钥skL+1(下位的解密密钥),通过例如通信装置,经由网络,秘密地分发到下位的解密装置300。当然,转交密钥skL+1也可以通过其他方法分发到下位的解密装置300。
即,在(S1201)至(S1207)中,密钥转交装置400执行式189所示的DelegateL算法,生成转交密钥skL+1。然后,在(S1208)中,密钥转交装置400将生成了的转交密钥skL+1分发到下位的解密装置300。
[式189]
如以上那样,实施方式4的密码系统10与实施方式2、3的密码系统10同样地,通过设置索引部,能够将在各属性类别中使用的基底设为共用的基底(基底B以及基底B*)。其结果,在公开参数中,仅包括基底B以及基底B*既可,在之后追加属性类别的情况下,无需重发公开参数。
另外,与实施方式2、3同样地,针对索引部,内积了的结果成为0既可。因此,在上述说明中,将基底矢量b* 1,b* 2和基底矢量b1,b2的二维设为索引部,但不限于此,也可以将三维以上设为索引部。另外,向索引部的值的分配也不限于上述说明,也可以是其他分配。
另外,在上述说明中,说明了以函数型密码方式为基础的HIPE方式。但是,如式190至式195所示,还能够变更为以基于属性的密码方式为基础的HIPE方式。另外,在式190至式195中,将N0设为1+1+1+1+1=5,将N1设为2+2+8+2+2=16。即,设为u0=1,w0=1,z0=1,n=2,u=8,w=2,z=2。即使在该情况下,也能够证明安全性。
[式190]
[式191]
[式192]
[式193]
[式194]
[式195]
实施方式5.
在该实施方式中,说明签名方式。特别,在该实施方式中,说明基于在实施方式3中说明了的CP-FE方式的签名方式。
第1,说明签名方式的结构。
第2,说明实现签名方式的密码系统10的结构。
第3,详细说明签名方式。
<第1.签名方式的结构>
签名方式具备Setup、KeyGen、Sig、Ver这4个算法。
(Setup)
Setup算法是输入保密参数λ,输出公开参数pk、和主密钥sk的概率性的算法。
(KeyGen)
KeyGen算法是将作为属性的集合的Γ:={(t,x→ t)|x→ t∈Fq n,1≦t≦d}、公开参数pk、以及主密钥sk作为输入,输出签名密钥skΓ的概率性的算法。
(Sig)
Sig算法是将消息m、签名密钥skΓ、访问架构S:=(M,ρ)、以及公开参数pk作为输入,输出签名数据sig的概率性的算法。
(Ver)
Ver算法是将消息m、访问架构S:=(M,ρ)、签名数据sig、以及公开参数pk作为输入,输出表示签名的验证成功了的值“1”、或者、表示签名的验证失败了的值“0”的算法。
<第2.实现签名方式的密码系统10的结构>
图30是执行实施方式5的签名方式的密码系统10的结构图。
密码系统10具备密钥生成装置100、签名装置500、验证装置600。
密钥生成装置100将保密参数λ作为输入执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开生成了的公开参数pk。另外,密钥生成装置100将属性的集合Γ作为输入执行KeyGen算法,生成签名密钥skΓ来向签名装置500秘密地分发。
签名装置500将消息m、访问架构S、公开参数pk、以及签名密钥skΓ作为输入执行Sig算法,生成签名信息s→*。签名装置500将生成了的签名信息s→*、消息m、以及访问架构S发送到验证装置600。
验证装置600将签名信息s→*、消息m、访问架构S、以及公开参数pk作为输入,执行Ver算法,输出值“1”、或者、值“0”。
<第3.签名方式的详情>
根据图31至图37,说明签名方式、以及、执行签名方式的密码系统10的功能和动作。
图31是实施方式5的密钥生成装置100的结构图。图32是实施方式5的签名装置500的结构图。图33是实施方式5的验证装置600的结构图。
图34和图35是示出密钥生成装置100的动作的流程图。另外,图34是示出Setup算法的处理的流程图,图35是示出KeyGen算法的处理的流程图。图36是示出签名装置500的动作的流程图,是示出Sig算法的处理的流程图。图37是示出验证装置600的动作的流程图,是示出Ver算法的处理的流程图。
另外,在以下的说明中,H:=(KHλ,Hhk λ,D)是不易冲突散列函数(collision resistant hash function,参照非专利文献30)。不易冲突散列函数是指,难以发现输出变得相同的2个输入的散列函数。
具体而言,关于与算法Gbpg有关的不易冲突散列函数系H、和多项式poly(λ),有以下的2项。
1.密钥空间系通过λ附加索引。各密钥空间是通过KHλ表示的比特列中的概率空间。存在将1λ作为输入的情况下的输出分布等于KHλ的概率性的多项式时间算法。
2.散列函数系通过λ、从KHλ随机地选择了的hk、以及D:={0,1}poly(λ)附加索引。此处,各函数Hhk λ,D是从D的要素向Fq X的映射。另外,q是算法Gbpg(1λ)的输出paramG的最初的要素。有将1λ、hk、以及d∈D作为输入,输出Hhk λ,D(d)的决定性的多项式时间算法。
说明密钥生成装置100的功能和动作。
密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥分发部150。另外,解密密钥生成部140具备随机数生成部143、密钥要素生成部144。
首先,根据图34,说明Setup算法的处理。
(S1301)与实施方式2中的图9所示的(S101)原则上相同。但是,针对t=0,1,d+1执行(4)至(8)的处理这一点、和N0是1+u0+w0+z0这一点不同。另外,Nd+1是2+ud+1+wd+1+zd+1,ud+1,wd+1,zd+1分别是1以上的整数。
(S1302:散列密钥生成步骤)
主密钥生成部110通过处理装置,计算式196,随机地生成散列密钥hk。
[式196]
(S1303:公开参数生成步骤)
主密钥生成部110通过处理装置,如式197所示生成在(S1301)中生成了的基底B0的部分基底B^0、基底B的部分基底B^、基底Bd+1的部分基底B^d+1、基底B* 0的部分基底B^* 0、基底B*的部分基底B^*、以及基底B* d+1的部分基底B^* d+1。
[式197]
主密钥生成部110将生成了的部分基底B^0、部分基底B^、部分基底B^d+1、部分基底B^* 0、部分基底B^*、以及部分基底B^* d+1、在(S1301)中输入了的保密参数λ(1λ)、在(S1301)中生成了的param、和在(S1302)中生成了的散列密钥hk合起来作为公开参数pk。
(S1304:主密钥生成步骤)
主密钥生成部110将基底B^* 0的基底矢量b* 0,1作为主密钥sk。
(S1305:主密钥存储步骤)
主密钥存储部120将在(S1303)中生成了的公开参数pk存储到存储装置中。另外,主密钥存储部120将在(S1304)中生成了的主密钥sk存储到存储装置中。
即,在(S1301)至(S1304)中,密钥生成装置100执行式198所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S1305)中,密钥生成装置100将生成了的公开参数pk和主密钥sk存储到存储装置中。
另外,关于公开参数,例如,经由网络公开,成为签名装置500、验证装置600可取得的状态。
[式198]
根据图35,说明KeyGen算法的处理。
(S1401:信息输入步骤)
信息输入部130通过输入装置,输入属性的集合Γ:={(t,x→ t:=(xt,1,...,xt,n∈Fq n))|1≦t≦d}。另外,关于属性的集合Γ,例如,设定了签名密钥skΓ的使用者的属性信息。
(S1402:随机数生成步骤)
随机数生成部143通过处理装置,如式199所示生成随机数。
[式199]
(S1403:密钥要素生成步骤)
密钥要素生成部144通过处理装置,如式200所示生成签名密钥skΓ的要素k* 0。
[式200]
另外,密钥要素生成部144通过处理装置,针对在属性的集合Γ中包含的各整数t,如式201所示生成签名密钥skΓ的要素k* t。
[式201]
另外,密钥要素生成部144通过处理装置,如式202所示生成签名密钥skΓ的要素k* d+1,k* d+2。
[式202]
(S1404:密钥分发步骤)
密钥分发部150将以在(S1401)中输入了的属性的集合Γ、和在(S1403)中生成了的k* 0,k* t,k* d+1,k* d+2为要素的签名密钥skΓ,通过例如通信装置,经由网络,秘密地分发到签名装置500。当然,签名密钥skΓ也可以通过其他方法分发到签名装置500。
即,在(S1401)至(S1403)中,密钥生成装置100执行式203所示的KeyGen算法,生成签名密钥skΓ。然后,在(S1404)中,密钥生成装置100将生成了的签名密钥skΓ分发到签名装置500。
[式203]
说明签名装置500的功能和动作。
签名装置500具备签名密钥取得部510、信息输入部520、补充系数计算部530、签名数据生成部540、数据发送部550。另外,签名数据生成部540具备随机数生成部541、签名要素生成部542。
根据图36,说明Sig算法的处理。
(S1501:签名密钥取得步骤)
签名密钥取得部510通过例如通信装置,经由网络,取得密钥生成装置100生成了的签名密钥skΓ。另外,签名密钥取得部510取得密钥生成装置100生成了的公开参数pk。
(S1502:信息输入步骤)
信息输入部520通过输入装置,输入访问架构S:=(M,ρ)。另外,关于访问架构S的矩阵M的设定,根据希望实现的系统的条件设定。
另外,信息输入部520通过输入装置,输入附加签名的消息m。
(S1503:张成方案计算步骤)
补充系数计算部530通过处理装置,判定在(S1502)中输入了的访问架构S是否受理在(S1501)中取得了的签名密钥skΓ中包含的属性的集合Γ。
另外,关于访问架构是否受理属性的集合的判定方法,如“实施方式1中的第5.用于实现函数型密码的概念”中的说明。
补充系数计算部530在访问架构S受理属性的集合Γ的情况下(在S1503中受理),使处理进入到(S1504)。另一方面,在访问架构S拒绝属性的集合Γ的情况下(在S1503中拒绝),结束处理。
(S1504:补充系数计算步骤)
补充系数计算部530通过处理装置,计算出成为式204的I、和关于I中包含的各整数i的常数(补充系数)αi。
[式204]
(S1505:随机数生成步骤)
随机数生成部541通过处理装置,如式205所示生成随机数。
[式205]
(S1506:签名要素生成步骤)
签名要素生成部542通过处理装置,如式206所示生成作为签名数据sig的要素的签名要素s* 0。
[式206]
此处,r* 0是式207(参照式110至式112以及这些数学式的说明)。
[式207]
另外,签名要素生成部542通过处理装置,针对i=1,...,L的各整数i,如式208所示生成作为签名数据sig的要素的签名要素s* i。
[式208]
此处,r* i是式209。
[式209]
另外,γi和y→ i:=(yi,i’(i’=1,...,n)是式210。
[式210]
另外,签名要素生成部542通过处理装置,如式211所示生成作为签名数据sig的要素的签名要素s* L+1。
[式211]
此处,r* L+1是式212。
[式212]
(S1507:数据发送步骤)
数据发送部550将包括签名要素s* 0、签名要素s* i(i=1,...,L)、签名要素s* L+1、消息m、以及访问架构S:=(M,ρ)的签名数据sig,通过例如通信装置,经由网络,发送到验证装置600。当然,签名数据sig也可以通过其他方法发送到验证装置600。
即,在(S1501)至(S1506)中,签名装置500执行式213所示的Sig算法,生成签名数据sig。然后,在(S1507)中,签名装置500将生成了的签名数据sig发送到验证装置600。
[式213]
说明验证装置600的功能和动作。
验证装置600具备公开参数取得部610、数据接收部620、验证数据生成部630、配对运算部640。另外,验证数据生成部630具备f矢量生成部631、s矢量生成部632、随机数生成部633、验证要素生成部634。
根据图37,说明Ver算法的处理。
(S1601:公开参数取得步骤)
公开参数取得部610通过例如通信装置,经由网络,取得密钥生成装置100生成了的公开参数pk。
(S1602:签名数据接收步骤)
数据接收部620通过例如通信装置,经由网络,接收签名装置500发送了的签名数据sig。
(S1603:f矢量生成步骤)
f矢量生成部631通过处理装置,如式214所示随机地生成具有r个要素的矢量f→。
[式214]
(S1604:s矢量生成步骤)
s矢量生成部632通过处理装置,根据在(S1602)中接收了的签名数据sig中包含的访问架构S的(L行×r列)的矩阵M、和在(S1603)中生成了的具有r个要素的矢量f→,如式215所示生成矢量s→T。
[式215]
另外,s矢量生成部632通过处理装置,根据在(S1603)中生成了的矢量f→,如式216所示生成值s0。另外,1→是所有要素为值1的矢量。
[式216]
(S1605:随机数生成步骤)
随机数生成部633通过处理装置,如式217所示生成随机数。
[式217]
(S1606:验证要素生成步骤)
验证要素生成部634通过处理装置,如式218所示生成作为验证密钥的要素的验证要素c0。
[式218]
另外,验证要素生成部634通过处理装置,针对i=1,...,L的各整数i,如式219所示生成作为验证密钥的要素的验证要素ci。
[式219]
另外,验证要素生成部634通过处理装置,如式220所示生成作为验证密钥的要素的验证要素cL+1。
[式220]
(S1607:第1配对运算步骤)
配对运算部640通过处理装置,计算配对运算e(b0,1,s* 0)。
如果计算配对运算e(b0,1,s* 0)而得到的结果是值1,则配对运算部640输出表示签名的验证失败了的值0,结束处理。另一方面,如果计算配对运算e(b0,1,s* 0)而得到的结果并非值1,则配对运算部640使处理进入到S1608。
(S1608:第2配对运算步骤)
配对运算部640通过处理装置,计算式221所示的配对运算。
[式221]
如果计算式221所示的配对运算而得到的结果是值1,则配对运算部640输出表示签名的验证成功了的值1。另一方面,如果是其他值,则配对运算部640输出表示签名的验证失败了的值0。
即,在(S1601)至(S1608)中,验证装置600执行式222所示的Ver算法,验证签名数据sig。
[式222]
如以上那样,实施方式5的密码系统10与实施方式2-4的密码系统10同样地,通过设置索引部,能够将在各属性类别中使用的基底作为共用的基底(基底B以及基底B*)。其结果,在公开参数中,仅包括基底B以及基底B*既可,在之后追加属性类别的情况下,无需重发公开参数。
另外,与实施方式2-4同样地,关于索引部,内积了的结果成为0既可。因此,在上述说明中,将基底矢量b* 1,b* 2和基底矢量b1,b2的二维设为索引部,但不限于此,也可以将三维以上设为索引部。另外,向索引部的值的分配也不限于上述说明,也可以是其他分配。
另外,在上述说明中,说明了基于函数型密码方式的签名方式。但是,还能够与在实施方式3中将函数型密码方式变更为基于属性的密码方式的情况同样地,变更为根据基于属性的密码方式的签名方式。
实施方式6.
在该实施方式中,说明多管理者函数型密码方式以及多管理者签名方式。
多管理者(Multi-Authority)是指,生成用户的解密密钥(或者签名密钥)的管理者存在多个这样的含义。
在通常的函数型密码中,系统整体的保密依赖于1个机关(管理者)。例如,在实施方式2、3中说明了的密码系统10中,系统整体的保密依赖于密钥生成装置100。在作为密钥生成装置100的秘密密钥的主秘密密钥sk泄露了的情况下,系统整体的保密被破坏。
但是,通过设为多管理者,即使在一部分的管理者的保密被破坏、或者一部分的管理者的秘密密钥(主密钥)泄露了的情况下,只是仅系统的一部分不发挥功能,关于其他部分能够成为正常地发挥功能的状态。
图38是多管理者的说明图。另外,在图38中,以狭义的密码处理为例子。
在图38中,政府机关管理住址、电话号码、年龄等属性。另外,警察管理驾驶执照的种类等属性。另外,公司A管理公司A中的职务、公司A中的所属等属性。然后,关于与政府机关管理的属性关联起来了的解密密钥1,由政府机关发行,关于与警察管理的属性关联起来了的解密密钥2,由警察发行,关于与公司A管理的属性关联起来了的解密密钥3,由公司A发行。
对密文进行解密的解密者使用将政府机关、警察、公司A等的各管理者发行了的解密密钥1、2、3合起来的解密密钥,对密文进行解密。即,在从解密者观察的情况下,将从各管理者发行了的解密密钥合起来得到的结果成为对自己发行的1个解密密钥。
例如,在公司A的主密钥泄露了的情况下,密码处理系统虽然关于公司A的属性不会发挥功能,但关于其他管理者管理的属性发挥功能。即,关于公司A管理的属性,存在被指定了的属性以外的属性的用户解密的担忧,但关于其他属性,仅由指定了的属性的用户能够解密。
另外,如从图38的例子也可知,在函数型密码中,存在多个管理者,各管理者管理属性中的某个类别(部分空间)或者定义域,发行关于该类别中的用户的属性的解密密钥(的一片)是自然的。
哪个机关都能够成为管理者,无需与其他机关交换,而能够发行解密密钥(的一片),各用户无需与其他机关交换,而能够从管理者取得解密密钥(的一片)的情况下,将该方式称为分散多管理者(Decentralized Multi-Authority)方式。
例如,在有中央管理者的情况下,无法认为是分散多管理者。中央管理者是指,比其他管理者上位的管理者。在中央管理者的保密被破坏了的情况下,所有管理者的保密被破坏。
在非专利文献31中,记载了分散多管理者函数型密码方式,在非专利文献30中,记载了并非分散的多管理者签名方式。与上述实施方式说明了的密码方式、签名方式同样地,在非专利文献30、31记载的方式也能够成为在追加属性类别的情况下,无需重发公开参数的结构。
图39是多管理者的情况下的能够追加属性类别的函数型密码方式的说明图。
在图39中,与图38同样地,政府机关管理住址、电话号码、年龄等属性。另外,警察管理驾驶执照的种类等属性。另外,公司A管理公司A中的职务、公司A中的所属等属性。然后,关于与政府机关管理的属性关联起来了的解密密钥1,由政府机关发行,关于与警察管理的属性关联起来了的解密密钥2,由警察发行,关于与公司A管理的属性关联起来了的解密密钥3,由公司A发行。
此处,政府机关将基底B^1和基底B^* 1分别生成为公开参数pk和主秘密密钥sk。然后,使用基底B^* 1,生成关于住址、电话号码、年龄等属性的解密密钥1。同样地,警察将基底B^2和基底B^* 2分别生成为公开参数pk和主秘密密钥sk。然后,使用基底B^* 2,生成关于驾驶执照的种类等属性的解密密钥2。同样地,公司A将基底B^3和基底B^* 3分别生成为公开参数pk和主秘密密钥sk。然后,使用基底B^* 3,生成关于公司A中的职务、公司A中的所属等属性的解密密钥3。
发送者使用基底B^1来设定住址、电话号码、年龄等属性,使用基底B^2来设定驾驶执照的种类等属性,使用基底B^3来设定公司A中的职务、公司A中的所属等属性,而生成密文。然后,解密者使用解密密钥1-3,对密文进行解密。
例如,在政府机关管理的属性类别中进行追加的情况下,无需重发政府机关的公开参数pk,而能够追加属性类别。
另外,此处,说明了能够追加属性类别的函数型密码方式。但是,关于应用了函数型密码方式的签名方式,原则上成为与函数型密码方式同样的思路。
实施方式7.
在以上的实施方式中,说明了在对偶矢量空间中实现密码基元的处理的方法。在实施方式7中,说明在对偶加群(dual additive group)中实现密码基元的处理的方法。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码基元的处理。但是,在使用合成数M如式223那样表示了环R的情况下,即使在将环R作为系数的加群中,也能够应用在上述实施方式中说明了的密码基元的处理。
[式223]
此处,
整数
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、验证装置600)的硬件结构。
图40是示出密钥生成装置100、加密装置200、解密装置300、密钥转交装置400、签名装置500、验证装置600的硬件结构的一个例子的图。
如图40所示,密钥生成装置100、加密装置200、解密装置300、密钥转交装置400、签名装置500、验证装置600具备执行程序的CPU911(Central·Processing·Unit、还称为中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。CPU911经由总线912与ROM913、RAM914、LCD901(Liquid Crystal Display,液晶显示器)、键盘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”、“配对运算部350”、“消息计算部360”、“解密密钥取得部410”、“信息输入部420”、“转交密钥生成部430”、“密钥分发部440”、“签名密钥取得部510”、“信息输入部520”、“补充系数计算部530”、“签名数据生成部540”、“数据发送部550”、“公开参数取得部610”、“数据接收部620”、“验证数据生成部630”、“配对运算部640”等的功能的软件、程序、其他程序。程序由CPU911读出并执行。
在文件群924中,上述说明中的“公开参数pk”、“主秘密密钥sk”、“解密密钥skS,skΓ”、“密文ctΓ,ctS”、“访问架构S”、“属性信息”、“消息m”等信息、数据、信号值、变量值、参数被存储为“文件”、“数据库”的各项目。“文件”、“数据库”被存储到盘、存储器等记录介质中。关于盘、存储器等存储介质中存储了的信息、数据、信号值、变量值、参数,由CPU911,经由读写电路,读出到主存储器、高速缓冲存储器中,而用于抽出·检索·参照·比较·运算·计算·处理·输出·印刷·显示等CPU911的动作。在抽出·检索·参照·比较·运算·计算·处理·输出·印刷·显示的CPU911的动作的期间,将信息、数据、信号值、变量值、参数暂时地存储到主存储器、高速缓冲存储器、缓冲存储器中。
另外,上述说明中的流程图的箭头的部分主要表示数据、信号的输入输出,数据、信号值被记录到RAM914的存储器、其他光盘等记录介质、IC芯片中。另外,通过总线912、信号线、电缆、其他传送介质、电波,联机传送数据、信号。
另外,在上述说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~设备”、“~单元”、“~功能”,并且,也可以是“~步骤”、“~次序”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~设备”、“~单元”、“~功能”,并且,也可以是“~步骤”、“~次序”、“~处理”。进而,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过在ROM913中存储了的固件实现。或者,也可以仅通过软件、或者、仅通过元件·器件·基板·布线等硬件、或者、通过软件和硬件的组合、进而通过与固件的组合来实施。将固件和软件作为程序,存储到ROM913等记录介质中。关于程序,由CPU911读出,由CPU911执行。即,程序使计算机等作为在上述中叙述的“~部”发挥功能。或者,使计算机等执行在上述中叙述的“~部”的次序、方法。
Claims (11)
1.一种密码系统,使用规定的基底B以及规定的基底B*进行处理,该密码系统的特征在于,具备:
发送装置,生成关于多个索引j中的一个以上的索引j的发送侧矢量tj,该发送侧矢量tj在所述基底B中的规定的基底矢量bindex的系数中设定了对索引j预先分配了的信息J,在所述基底B中的其他基底矢量batt的系数中设定了关于索引j的参数Φj;以及
接收装置,使用关于多个索引j’中的一个以上的索引j’的接收侧矢量rj’,针对关于索引j的所述发送侧矢量tj和关于与所述索引j对应的索引j’的所述接收侧矢量rj’,计算每对应的基底矢量的配对运算之积,其中,该接收侧矢量rj’在与所述基底矢量bindex对应的所述基底B*中的基底矢量b* index的系数中设定了和对与索引j’对应的索引j预先分配了的信息J的内积成为0的信息J’,在与所述基底矢量batt对应的所述基底B*中的基底矢量b* att的系数中设定了关于索引j’的参数Ψj’。
2.根据权利要求1所述的密码系统,其特征在于,
所述发送装置是生成密文ct的加密装置,将t=1,...,d的整数t作为所述索引j,将关于整数t的属性信息xt作为关于所述索引j的所述参数Φj,关于一个以上的整数t,生成作为所述发送侧矢量tj包括密码矢量ct的密文ct,该密码矢量ct在所述基底矢量bindex的系数中设定了对整数t分配了的信息J,在所述基底矢量batt的系数中设定了关于整数t的属性信息xt,其中,d是1以上的整数,
所述接收装置是对所述密文ct进行解密的解密装置,将i=1,...,L的整数i作为所述索引j’,将关于整数i的谓词信息vi作为关于所述索引j’的所述参数Ψj’,关于各整数i,将在所述基底矢量b* index的系数中设定了和对与整数i对应的整数t分配了的信息J的内积成为0的信息J’并在所述基底矢量b* att的系数中设定了关于整数i的谓词信息vi的密钥矢量k* i用作所述接收侧矢量rj’,关于所述各整数i,针对关于该整数i的密钥矢量k* i和关于与该整数i对应的整数t的密码矢量ct,计算每对应的基底矢量的配对运算之积,其中,L是1以上的整数。
3.根据权利要求2所述的密码系统,其特征在于,
所述密码系统使用规定的基底B0以及规定的基底B* 0、和规定的基底B以及规定的基底B*进行处理,
所述发送装置生成包括密码矢量c0以及关于t=1,...,d的一个以上的整数t的密码矢量ct的密文ct,该密码矢量c0以及密码矢量ct如式1所示,
所述接收装置针对关于i=0,...,L的各整数i的式2所示的密钥矢量k* i和所述密码矢量ct,计算式3,
式1:
此处,
是随机数,
n是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数,
式2:
此处,
是具有r个要素的矢量,
M是L行r列的矩阵,
ρ(i)是预先分配了或者的变量,
n是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数,
式3:
此处,
其中,Mi是M的第i行,
4.根据权利要求1所述的密码系统,其特征在于,
所述发送装置是生成密文ct的加密装置,将i=1,...,L的整数i作为所述索引j,将关于整数i的谓词信息vi作为关于所述索引j的所述参数Φj,关于各整数i,生成作为所述发送侧矢量tj包括密码矢量ci的密文ct,该密码矢量ci在所述基底矢量bindex的系数中设定了对整数i分配了的信息J,在所述基底矢量batt的系数中设定了关于整数i的谓词信息vi,其中,L是1以上的整数,
所述接收装置是对所述密文ct进行解密的解密装置,将t=1,...,d的整数t作为所述索引j’,将关于整数t的属性信息xt作为关于所述索引j’的所述参数Ψj’,关于一个以上的整数t,将在所述基底矢量b* index的系数中设定了和对与整数t对应的整数i分配了的信息J的内积成为0的信息J’并在所述基底矢量b* att的系数中设定了关于整数t的属性信息xt的密钥矢量k* t用作所述接收侧矢量rj’,关于所述各整数i,针对关于该整数i的密码矢量ci和关于与该整数i对应的整数t的密钥矢量k* t,计算每对应的基底矢量的配对运算之积,其中,d是1以上的整数。
5.根据权利要求4所述的密码系统,其特征在于,
所述密码系统使用规定的基底B0以及规定的基底B* 0、和规定的基底B以及规定的基底B*来进行处理,
所述发送装置生成包括关于i=0,...,L的各整数i的式4所示的密码矢量ci的密文ct,
所述接收装置针对密钥矢量k* 0以及关于t=1,...,d的一个以上的整数t的密钥矢量k* t、和所述密码矢量ci,计算式6,该密钥矢量k* 0以及密钥矢量k* t如式5所示,
式4:
此处,
是具有r个要素的矢量,
M是L行r列的矩阵,
ρ(i)是预先分配了或者的变量,
n是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数,
式5:
此处,
是随机数,
n是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数,
式6:
此处,
其中,Mi是M的第i行,
6.根据权利要求1所述的密码系统,其特征在于,
所述发送装置是生成密文ct的加密装置,将i=1,...,L的整数i作为所述索引j,将关于整数i的属性信息xi作为关于所述索引j的所述参数Φj,关于各整数i,生成作为所述发送侧矢量tj包括密码矢量ci的密文ct,该密码矢量ci在所述基底矢量bindex的系数中设定了对整数i分配了的信息J,在所述基底矢量batt的系数中设定了关于整数i的属性信息xi,其中,L是1以上的整数,
所述接收装置是对所述密文ct进行解密的解密装置,将所述整数i作为所述索引j’,将关于整数i的谓词信息vi作为关于所述索引j’的所述参数Ψj’,关于各整数i,将在所述基底矢量b* index的系数中设定了和对整数i分配了的信息J的内积成为0的信息J’并在所述基底矢量b* att的系数中设定了关于整数i的谓词信息vi的密钥矢量k* i用作所述接收侧矢量rj’,关于所述各整数i,针对关于该整数i的密钥矢量k* i和密码矢量ct,计算每对应的基底矢量的配对运算之积。
7.根据权利要求6所述的密码系统,其特征在于,
所述密码系统使用规定的基底B0以及规定的基底B* 0、和规定的基底B以及规定的基底B*进行处理,
所述发送装置生成包括作为关于i=0,...,L的各整数i的密码矢量ci之和的密码矢量c1的密文ct,该密码矢量c1如式7所示,
所述接收装置针对作为关于所述各整数i的密钥矢量k* i之和的式8所示的密钥矢量k* L,dec和所述密码矢量c1,计算每对应的基底矢量的配对运算之积,
式7:
此处,
是随机数,
是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数,
式8:
此处,
n是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数。
8.根据权利要求1所述的密码系统,其特征在于,
所述发送装置是生成签名数据sig的签名装置,将t=1,...,d的整数t作为所述索引j,将关于整数t的属性信息xt作为关于所述索引j的所述参数Φj,关于一个以上的整数t,使用在所述基底矢量bindex的系数中设定了对整数t分配了的信息J并在所述基底矢量batt的系数中设定了关于整数t的属性信息xt的密钥矢量k* t,关于i=1,...,L的各整数i,生成作为所述发送侧矢量tj包括签名要素si的签名数据sig,该签名要素si包括关于与整数i对应的整数t的密钥矢量k* t,其中,d是1以上的整数,L是1以上的整数,
所述接收装置是对所述签名数据sig进行验证的验证装置,将所述整数i作为所述索引j’,将关于整数i的谓词信息vi作为关于所述索引j’的所述参数Ψj’,关于各整数i,将在所述基底矢量b* index的系数中设定了和对与整数i对应的整数t分配了的信息J的内积成为0的信息J’并在所述基底矢量b* att的系数中设定了关于整数i的谓词信息vi的验证要素ci用作所述接收侧矢量rj’,关于所述各整数i,针对关于该整数i的签名要素si和验证要素ci,计算每对应的基底矢量的配对运算之积。
9.根据权利要求8所述的密码系统,其特征在于,
所述密码系统使用规定的基底B0以及规定的基底B* 0、规定的基底B以及规定的基底B*、和规定的基底Bd+1以及规定的基底B* d+1来进行处理,
所述发送装置使用密钥矢量k* 0、关于t=1,...,d的一个以上的整数t的密钥矢量k* t、密钥矢量d+1,1、以及密钥矢量d+1,2,生成包括关于i=0,...,L+1的各整数i的式10所示的签名要素si的签名数据sig,该密钥矢量k* 0、密钥矢量k* t、密钥矢量d+1,1、以及密钥矢量d+1,2如式9所示,
所述接收装置针对关于所述各整数i的式11所示的验证要素ci和所述签名要素si,计算式12,
式9:
此处,
是随机数,
n是1以上的整数,
u0,w0,z0,u,w,z分别是0以上的整数,
式10:
此处,
ξ,是随机数,
M是L行r列的矩阵,
ρ(i)是预先分配了或者的变量,
H是散列值,
式11:
此处,
是具有r个要素的矢量,M是L行r列的矩阵,
ρ(i)是预先分配了或者的变量,
n是1以上的整数,u0,w0,z0,u,w,z分别是0以上的整数,
式12:
10.一种密码方法,使用规定的基底B以及规定的基底B*来进行处理,该密码方法的特征在于,具备:
发送工序,发送装置生成关于多个索引j中的一个以上的索引j的发送侧矢量tj,该发送侧矢量tj在所述基底B中的规定的基底矢量bindex的系数中设定了对索引j预先分配了的信息J,在所述基底B中的其他基底矢量batt的系数中设定了关于索引j的参数Φj;以及
接收工序,接收装置使用关于多个索引j’中的一个以上的索引j’的接收侧矢量rj’,针对关于索引j的所述发送侧矢量tj和关于与所述索引j对应的索引j’的所述接收侧矢量rj’,计算每对应的基底矢量的配对运算之积,其中,该接收侧矢量rj’在与所述基底矢量bindex对应的所述基底B*中的基底矢量b* index的系数中设定了和对与索引j’对应的索引j预先分配了的信息J的内积成为0的信息J’,在与所述基底矢量batt对应的所述基底B*中的基底矢量b* att的系数中设定了关于索引j’的参数Ψj’。
11.一种密码程序,使用规定的基底B以及规定的基底B*来进行处理,其特征在于,使计算机执行:
发送处理,生成关于多个索引j中的一个以上的索引j的发送侧矢量tj,该发送侧矢量tj在所述基底B中的规定的基底矢量bindex的系数中设定了对索引j预先分配了的信息J,在所述基底B中的其他基底矢量batt的系数中设定了关于索引j的参数Φj;以及
接收处理,使用关于多个索引j’中的一个以上的索引j’的接收侧矢量rj’,针对关于索引j的所述发送侧矢量tj和关于与所述索引j对应的索引j’的所述接收侧矢量rj’,计算每对应的基底矢量的配对运算之积,其中,该接收侧矢量rj’在与所述基底矢量bindex对应的所述基底B*中的基底矢量b* index的系数中设定了和对与索引j’对应的索引j预先分配了的信息J的内积成为0的信息J’,在与所述基底矢量batt对应的所述基底B*中的基底矢量b* att的系数中设定了关于索引j’的参数Ψj’。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012049275A JP5680007B2 (ja) | 2012-03-06 | 2012-03-06 | 暗号システム、暗号方法及び暗号プログラム |
JP2012-049275 | 2012-03-06 | ||
PCT/JP2013/055661 WO2013133158A1 (ja) | 2012-03-06 | 2013-03-01 | 暗号システム、暗号方法及び暗号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104160437A true CN104160437A (zh) | 2014-11-19 |
CN104160437B CN104160437B (zh) | 2016-06-08 |
Family
ID=49116638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380012925.1A Expired - Fee Related CN104160437B (zh) | 2012-03-06 | 2013-03-01 | 密码系统以及密码方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9407438B2 (zh) |
EP (1) | EP2824652B1 (zh) |
JP (1) | JP5680007B2 (zh) |
KR (1) | KR101588992B1 (zh) |
CN (1) | CN104160437B (zh) |
ES (1) | ES2604817T3 (zh) |
WO (1) | WO2013133158A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106922210A (zh) * | 2014-12-05 | 2017-07-04 | 三菱电机株式会社 | 解密条件追加装置、加密系统和解密条件追加程序 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10965459B2 (en) | 2015-03-13 | 2021-03-30 | Fornetix Llc | Server-client key escrow for applied key management system and process |
US10931653B2 (en) * | 2016-02-26 | 2021-02-23 | Fornetix Llc | System and method for hierarchy manipulation in an encryption key management system |
US10333695B2 (en) * | 2016-11-10 | 2019-06-25 | Microsoft Technology Licensing, Llc | Rational number arithmetic in homomorphic encryption |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
US10693627B2 (en) | 2017-01-20 | 2020-06-23 | Enveil, Inc. | Systems and methods for efficient fixed-base multi-precision exponentiation |
US10873568B2 (en) | 2017-01-20 | 2020-12-22 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
US10644876B2 (en) | 2017-01-20 | 2020-05-05 | Enveil, Inc. | Secure analytics using homomorphic encryption |
US10205713B2 (en) * | 2017-04-05 | 2019-02-12 | Fujitsu Limited | Private and mutually authenticated key exchange |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
JP7087965B2 (ja) * | 2018-11-29 | 2022-06-21 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011083678A1 (ja) * | 2010-01-08 | 2011-07-14 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
WO2012011575A1 (ja) * | 2010-07-23 | 2012-01-26 | 日本電信電話株式会社 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634085B1 (en) | 2005-03-25 | 2009-12-15 | Voltage Security, Inc. | Identity-based-encryption system with partial attribute matching |
US20090080658A1 (en) | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
JP5349261B2 (ja) * | 2009-04-23 | 2013-11-20 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
ES2512115T3 (es) * | 2009-04-24 | 2014-10-23 | Nippon Telegraph And Telephone Corporation | Dispositivo de generación de información, método de generación de información, y programa de generación de información y medio de almacenamiento del mismo |
JP5424974B2 (ja) | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
-
2012
- 2012-03-06 JP JP2012049275A patent/JP5680007B2/ja active Active
-
2013
- 2013-03-01 KR KR1020147026078A patent/KR101588992B1/ko active IP Right Grant
- 2013-03-01 ES ES13757621.1T patent/ES2604817T3/es active Active
- 2013-03-01 US US14/376,147 patent/US9407438B2/en active Active
- 2013-03-01 WO PCT/JP2013/055661 patent/WO2013133158A1/ja active Application Filing
- 2013-03-01 CN CN201380012925.1A patent/CN104160437B/zh not_active Expired - Fee Related
- 2013-03-01 EP EP13757621.1A patent/EP2824652B1/en not_active Not-in-force
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011083678A1 (ja) * | 2010-01-08 | 2011-07-14 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
WO2012011575A1 (ja) * | 2010-07-23 | 2012-01-26 | 日本電信電話株式会社 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106922210A (zh) * | 2014-12-05 | 2017-07-04 | 三菱电机株式会社 | 解密条件追加装置、加密系统和解密条件追加程序 |
CN106922210B (zh) * | 2014-12-05 | 2018-07-10 | 三菱电机株式会社 | 解密条件追加装置、加密系统和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2824652B1 (en) | 2016-10-19 |
JP2013186181A (ja) | 2013-09-19 |
CN104160437B (zh) | 2016-06-08 |
ES2604817T3 (es) | 2017-03-09 |
KR101588992B1 (ko) | 2016-01-26 |
US9407438B2 (en) | 2016-08-02 |
EP2824652A4 (en) | 2015-12-02 |
EP2824652A1 (en) | 2015-01-14 |
JP5680007B2 (ja) | 2015-03-04 |
US20150010147A1 (en) | 2015-01-08 |
KR20140138176A (ko) | 2014-12-03 |
WO2013133158A1 (ja) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104160437A (zh) | 密码系统、密码方法以及密码程序 | |
CN103038805B (zh) | 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序 | |
CN102859571B (zh) | 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置 | |
KR101393899B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
KR101443553B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN102822883B (zh) | 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序 | |
JP5921410B2 (ja) | 暗号システム | |
KR20120068762A (ko) | 암호 처리 시스템 | |
KR101432462B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 키 위양 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
Mittal et al. | A quantum secure ID-based cryptographic encryption based on group rings | |
Muthulakshmi et al. | Identity based privacy preserving dynamic broadcast encryption for multi-privileged groups |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160608 Termination date: 20210301 |
|
CF01 | Termination of patent right due to non-payment of annual fee |