CN103270719A - 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序 - Google Patents

密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序 Download PDF

Info

Publication number
CN103270719A
CN103270719A CN201180061703XA CN201180061703A CN103270719A CN 103270719 A CN103270719 A CN 103270719A CN 201180061703X A CN201180061703X A CN 201180061703XA CN 201180061703 A CN201180061703 A CN 201180061703A CN 103270719 A CN103270719 A CN 103270719A
Authority
CN
China
Prior art keywords
integer
key element
coefficient
group
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
Application number
CN201180061703XA
Other languages
English (en)
Other versions
CN103270719B (zh
Inventor
高岛克幸
冈本龙明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Publication of CN103270719A publication Critical patent/CN103270719A/zh
Application granted granted Critical
Publication of CN103270719B publication Critical patent/CN103270719B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • H04L9/007Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

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

Abstract

目的在于提供一种具有许多的密码功能的安全的函数型密码方式。通过在区间程序中应用属性矢量的内积,构成了访问构造。该访问构造在区间程序的设计和属性矢量的设计中有自由度,在访问控制的设计中具有大的自由度。使密文和解密密钥分别具有该访问构造而实现了函数型密码处理。

Description

密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序
技术领域
本发明涉及函数型密码(Functional Encryption,FE(功能加密))方式。
背景技术
在非专利文献3-6、10、12、13、15、18中,记载有关于作为函数型密码方式的1个分类的基于ID的密码(Identity-BasedEncryption,IBE(基于身份的加密))方式。
非专利文献1:Beimel,A.,Secure schemes for secret sharing andkey distribution.PhD Thesis,Israel Institute of Technology,Technion,Haifa,Israel,1996
非专利文献2:Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertextpolicy attribute-based encryption.In:2007IEEESymposium on Security and Privacy,pp.321·34.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·38.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·59.Springer Heidelberg(2004)
非专利文献5:Boneh,D.,Boyen,X.,Goh,E.:Hierarchicalidentity based encryption with constant size ciphertext.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.440·56.SpringerHeidelberg(2005)
非专利文献6:Boneh,D.,Franklin,M.:Identity-basedencryption from the Weil pairing.In:Kilian,J.(ed.)CRYPTO2001.LNCS,vol.2139,pp.213·29.Springer Heidelberg(2001)
非专利文献7:Boneh,D.,Hamburg,M.:Generalized identitybased and broadcast encryption scheme.In:Pieprzyk,J.(ed.)ASIACRYPT2008.LNCS,vol.5350,pp.455·70.Springer Heidelberg(2008)
非专利文献8:Boneh,D.,Katz,J.,Improved efficiency forCCA-secure cryptosystems built using identity based encryption.RSA-CT2005,LNCS,Springer Verlag(2005)
非专利文献9:Boneh,D.,Waters,B.:Conjunctive,subset,and range queries on encrypted data.In:Vadhan,S.P.(ed.)TCC2007.LNCS,vol.4392,pp.535·54.Springer Heidelberg(2007)
非专利文献10:Boyen,X.,Waters,B.:Anonymous hierarchicalidentity-based encryption(without random oracles).In:Dwork,C.(ed.)CRYPTO2006.LNCS,vol.4117,pp.290·07.SpringerHeidelberg(2006)
非专利文献11:Canetti,R.,Halevi S.,Katz J.,Chosen-ciphertextsecurity from identity-based encryption.EUROCRYPT2004,LNCS,Springer-Verlag(2004)
非专利文献12:Cocks,C.:An identity based encryption schemebased on quadratic residues.In:Honary,B.(ed.)IMAInt.Conf.LNCS,vol.2260,pp.360·63.Springer Heidelberg(2001)
非专利文献13:Gentry,C.:Practical identity-based encryptionwithout random oracles.In:Vaudenay,S.(ed.)EUROCRYPT2006.LNCS,vol.4004,pp.445·64.Springer Heidelberg(2006)
非专利文献14:Gentry,C.,Halevi,S.:Hierarchicalidentity-based encryption with polynomially many levels.In:Reingold,O.(ed.)TCC2009.LNCS,vol.5444,pp.437·56.SpringerHeidelberg(2009)
非专利文献15:Gentry,C.,Silverberg,A.:HierarchicalID-based cryptography.In:Zheng,Y.(ed.)ASIACRYPT2002.LNCS,vol.2501,pp.548·66.Springer Heidelberg(2002)
非专利文献16:Goyal,V.,Pandey,O.,Sahai,A.,Waters,B.:Attribute-based encryption for fine-grained access controlofencrypted data.In:ACM Conference on Computer andCommunication Security2006,pp.89·8,ACM(2006)
非专利文献17:Groth,J.,Sahai,A.:Efficient non-interactiveproof systems for bilinear groups.In:Smart,N.P.(ed.)EUROCRYPT2008.LNCS,vol.4965,pp.415·32.SpringerHeidelberg(2008)
非专利文献18:Horwitz,J.,Lynn,B.:Towards hierarchicalidentity-based encryption.In:Knudsen,L.R.(ed.)EUROCRYPT2002.LNCS,vol.2332,pp.466·81.Springer Heidelberg(2002)
非专利文献19:Katz,J.,Sahai,A.,Waters,B.:Predicateencryption supporting disjunctions,polynomial equations,andinnerproducts.In:Smart,N.P.(ed.)EUROCRYPT2008.LNCS,vol.4965,pp.146·62.Springer Heidelberg(2008)
非专利文献20:Lewko,A.,Okamoto,T.,Sahai,A.,Takashima,K.,Waters,B.:Fully secure functional encryption:Attribute-basedencryption and(hierarchical)inner product encryption,In:Gilbert,H.(ed.)EUROCRYPT2010.LNCS,vol.6110,pp.62-91.Springer,Heidelberg(2010)
非专利文献21:Lewko,A.B.,Waters,B.:Fully secure HIBEwith short ciphertexts.ePrint,IACR,http://eprint.iacr.org/2009/482
非专利文献22:Okamoto,T.,Takashima,K.:Homomorphicencryption and signatures from vector decomposition.In:Galbraith,S.D.,Paterson,K.G.(eds.)Pairing2008.LNCS,vol.5209,pp.57·4.Springer Heidelberg(2008)
非专利文献23:Okamoto,T.,Takashima,K.:Hierarchicalpredicate encryption for Inner-Products,In:ASIACRYPT2009,Springer Heidelberg(2009)
非专利文献24:Okamoto,T.,Takashima,K.:Fully SecureFunctional Encryption with General Relations from the DecisionalLinear Assumption,In:CRYPTO2010,LNCS vol.6223,pp.191-208.Springer Heidelberg(2010)
非专利文献25:Ostrovsky,R.,Sahai,A.,Waters,B.:Attribute-based encryption with non-monotonic access structures.In:ACM Conference on Computer and Communication Security2007,pp.195·03,ACM(2007)
非专利文献26:Pirretti,M.,Traynor,P.,McDaniel,P.,Waters,B.:Secure attribute-based systems.In:ACMConferenceon Computer and Communication Security2006,pp.99·12,ACM,(2006)
非专利文献27:Sahai,A.,Waters,B.:Fuzzy identity-basedencryption.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.457·73.Springer Heidelberg(2005)
非专利文献28:Shi,E.,Waters,B.:Delegating capabilityin predicate encryption systems.In:Aceto,L.,Damgard,I.,Goldberg,L.A.,Halldosson,M.M.,Ingofsdotir,A.,Walukiewicz,I.(eds.)ICALP(2)2008.LNCS,vol.5126,pp.560·78.Springer Heidelberg(2008)
非专利文献29:Waters,B.:Efficient identity based encryptionwithout random oracles.Eurocrypt2005,LNCS No.3152,pp.443·59.Springer Verlag,2005.
非专利文献30:Waters,B.:Ciphertext-policy attribute-basedencryption:an expressive,efficient,and provably securerealization.ePrint,IACR,http://eprint.iacr.org/2008/290
非专利文献31:Waters,B.:Dual system encryption:Realizingfully secure IBE and HIBE under simple assumptions.In:Halevi,S.(ed.)CRYPTO2009.LNCS,vol.5677,pp.619·36.SpringerHeidelberg(2009)
发明内容
本发明的目的在于提供一种具有多功能的密码功能的安全的函数型密码方式。
本发明的密码处理系统具备密钥生成装置、加密装置以及解密装置,使用B0以及基底B0 *、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B* t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B* t CP来执行密码处理,所述密码处理系统的特征在于,
所述密钥生成装置具备:
第1KP信息输入部,输入关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i)、以及LKP行rKP列(rKP是1以上的整数)的规定的矩阵MKP,其中,该变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v i KP:=(vi,i,KP)(i’=1、...、nt KP,nt KP是1以上的整数)的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP);
第1CP信息输入部,针对t=1、...、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,iCP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP
主解密密钥生成部,设定值-s0 KP(s0 KP:=h→KP·(f→KPT,h→KP以及f→KP是具有rKP个要素的矢量)作为基底B* 0的基底矢量b* 0,p(p是规定的值)的系数,设定随机数δCP作为基底矢量b* 0,p,(p’是与所述p不同的规定的值)的系数,设定规定的值κ作为基底矢量b* 0,q(q是与所述p以及所述p’不同的规定的值)的系数,生成要素k* 0
KP解密密钥生成部,根据所述f→KP、基于所述第1KP信息输入部所输入的矩阵MKP而生成的列矢量(s→KPT:=(s1 KP,...,si KPT:=MKP·(f→KPT(i=LKP)、以及随机数θi KP(i=1,...,LKP),生成关于i=1、...、LKP的各整数i的要素k* i KP,其中,关于i=1、...、LKP的各整数i,在变量ρKP(i)是肯定形的组(t,v i KP)的情况下,设定si KPi KPvi,1 KP作为该组的识别信息t所表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定θi KPvi,i,KP作为所述识别信息t和i’=2、...、nt KP的各整数i’所表示的基底矢量b* t,iKP的系数,生成要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,设定si KPvi,i,KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’所表示的基底矢量b* t,iKP的系数,生成要素k* i KP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k* t CP,其中,设定设为所述随机数δCP倍的xt,iCP作为基底B* t CP的基底矢量b* t,iCP(i’=1,...,nt CP)的系数,生成要素k* t CP
所述加密装置具备:
第2KP信息输入部,针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,iKP)(i’=1,...,nt KP)的属性集合ΓKP
第2CP信息输入部,输入关于i=1、...、LCP(LCP是1以上的整数)的各整数i的变量ρCP(i)、以及LCP行rCP列(rCP是1以上的整数)的规定的矩阵MCP,其中,该变量ρCP(i)是识别信息t(t=1、...、dCP中的某一个整数)和属性矢量v i CP:=(vi,i,CP)(i’=1,...,nt CP)的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP);
主加密数据生成部,设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP(s0 CP:=h→CP·(f→CPT,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p,的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,iKP作为基底Bt KP的基底矢量bt,iKP(i’=1,...,nt)的系数,生成要素ct KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CPT:=(s1 CP,...,si CPT:=MCP·(f→CPT(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v i CP)的情况下,设定si CPi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,i,CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,设定si CPvi,i,CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP
所述解密装置具备:
数据取得部,取得加密数据ct(ΓKP,SCP),其中,该加密数据ct(ΓKP, SCP)包括所述主加密数据生成部生成的要素c0、所述KP加密数据生成部生成的要素ct KP、所述CP加密数据生成部生成的要素ci CP、所述属性集合ΓKP、以及所述变量ρCP(i);
解密密钥取得部,取得解密密钥sk(SKP,ΓCP),其中,该解密密钥sk(SKP,ΓCP)包括所述主解密密钥生成部生成的要素k* 0、所述KP解密密钥生成部生成的要素k* i KP、所述CP解密密钥生成部生成的要素k* t CP、所述变量ρKP(i)、以及所述属性集合ΓCP
KP补充系数计算部,根据所述数据取得部所取得的加密数据ct(ΓKP,SCP)中包含的属性集合ΓKP、和所述解密密钥取得部所取得的解密密钥sk(SKP,ΓCP)中包含的变量ρKP(i),确定集合IKP,并且关于所确定的集合IKP中包含的i,计算在将αi KPMi KP进行了合计的情况下成为所述h→KP的补充系数αi KP,其中,该集合IKP是i=1、...、LKP的各整数i之中的、变量ρKP(i)是肯定形的组(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积成为0的i、和变量ρKP(i)是否定形的组¬(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积不成为0的i的集合;
CP补充系数计算部,根据所述加密数据ct(ΓKP,SCP)中包含的关于i=1、...、LCP的各整数i的变量ρCP(i)、和所述解密密钥sk(SKP, ΓCP)中包含的属性集合ΓCP,确定集合ICP,并且关于所确定的集合ICP中包含的i,计算在将αi CPMi CP进行了合计的情况下成为所述h→CP的补充系数αi CP,其中,该集合ICP是i=1、...、LCP的各整数i之中的、变量ρCP(i)是肯定形的组(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积成为0的i、和变量ρCP(i)是否定形的组¬(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积不成为0的i的集合;以及
配对运算部,针对所述加密数据ct(ΓKP,SCP)中包含的要素c0、要素ct KP和要素ci CP、以及所述解密密钥sk(SKP,ΓCP)中包含的要素k* 0、要素k* i KP和要素k* t CP,根据所述KP补充系数计算部确定的集合IKP、所述KP补充系数计算部计算的补充系数αi KP、所述CP补充系数计算部确定的集合ICP、以及所述CP补充系数计算部计算的补充系数αi CP,进行式1所示的配对运算,计算值K,
[式1]
K : e ( c 0 , k 0 * ) ,
Figure BDA00003382526300082
Figure BDA00003382526300083
Figure BDA00003382526300084
Figure BDA00003382526300085
在本发明的密码处理系统中,向解密密钥和密文这两者嵌入了访问构造(access structure),实现了多功能的密码功能。
附图说明
图1是矩阵M^的说明图。
图2是矩阵Mδ的说明图。
图3是s0的说明图。
图4是s →T的说明图。
图5是执行Unified-Policy函数型密码方式的密码处理系统10的结构图。
图6是示出密钥生成装置100的功能的功能框图。
图7是示出加密装置200的功能的功能框图。
图8是示出解密装置300的功能的功能框图。
图9是示出Setup算法的处理的流程图。
图10是示出KeyGen算法的处理的流程图。
图11是示出Enc算法的处理的流程图。
图12是示出Dec算法的处理的流程图。
图13是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一个例子的图。
(符号说明)
10:密码处理系统;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:信息输入部;131:KP信息输入部;132:CP信息输入部;140:解密密钥生成部;141:f矢量生成部;142:s矢量生成部;143:随机数生成部;144:主解密密钥生成部;145:KP解密密钥生成部;146:CP解密密钥生成部;150:密钥分发部;200:加密装置;210:公开参数取得部;220:信息输入部;221:KP信息输入部;222:CP信息输入部;223:消息输入部;230:加密数据生成部;231:f矢量生成部;232:s矢量生成部;233:随机数生成部;234:主加密数据生成部;235:KP加密数据生成部;236:CP加密数据生成部;237:消息加密数据生成部;240:数据发送部;300:解密装置;310:解密密钥取得部;320:数据接收部;330:区间程序(span program)计算部;331:KP区间程序计算部;332:CP区间程序计算部;340:补充系数计算部;341:KP补充系数计算部;342:CP补充系数计算部;350:配对运算部;360:消息计算部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述的CPU911等。存储装置是后述的ROM913、RAM914、磁盘920等。通信装置是后述的通信板915等。输入装置是后述的键盘902、通信板915等。即,处理装置、存储装置、通信装置、输入装置是硬件。
说明以下的说明中的记法。
在A是随机的变量或者分布时,式101表示按照A的分布从A随机地选择y。即,在式101中,y是随机数。
[式101]
Figure BDA00003382526300101
在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]
Φq
矢量标记表示有限域Fq中的矢量显示。即,是式106。
[式106]
Figure BDA00003382526300111
表示 ( x 1 , . . . , x n ) ∈ Φ q n
式107表示式108所示的2个矢量x与v的式109所示的内积。
[式107]
[式108]
x → = ( x 1 , . . . , x n ) ,
v → = ( v 1 , . . . , v n )
[式109]
Σ i = 1 n x i v i
XT表示矩阵X的转置矩阵。
针对式110所示的基底B和基底B*,是式111。
[式110]
Β:=(b1,...,bN),
B * : = ( b 1 * , . . . , b N * )
[式111]
( x 1 , . . . , x N ) B : = Σ i = 1 N x i b i ,
( y 1 , . . . , y N ) B * : = Σ I = 1 N y i b i *
e t,j KP,e t,j CP分别表示式112所示的标准基底矢量。
[式112]
Figure BDA00003382526300124
对于 j = 1 , . . . , n t KP ,
Figure BDA00003382526300126
j = 1 , . . . , n t CP
另外,在以下的说明中,Fq ntCP中的ntCP是nt CP
同样地,解密密钥sk(SKP,ΓCP)中的SKP是SKP,ΓCP是ΓCP。加密数据ct(ΓKP,SCP)中的ΓKP是ΓKP,SCP是SCP
同样地,paramV0中的V0是V0。paramVtKP中的VtKP是Vt KP。paramVtCP中的VtCP是Vt CP
同样地,在用上标示出了“δi,j”的情况下,该δi,j意思着δi,j
另外,在对下标文字或者上标文字附加了表示矢量的“→”的情况下,意味着对下标文字或者上标文字以上标方式附加了该“→”。
另外,在以下的说明中,密码处理是指包括密钥生成处理、加密处理、解密处理的处理。
实施方式1.
在该实施方式中,说明成为实现“函数型密码(FunctionalEncryption)方式”的基础的概念、和函数型密码的结构。
第1,简单说明函数型密码。
第2,说明作为用于实现函数型密码的空间的“对偶配对矢量空间(Dual Pairing Vector Spaces,DPVS)”这样的具有丰富的数学性构造的空间。
第3,说明用于实现函数型密码的概念。此处,说明“区间程序(Span Program)”、“属性矢量的内积和访问构造”、“秘密分散方式(秘密共享方式)”。
第4,说明该实施方式的“函数型密码方式”。在该实施方式中,说明“Unified-Policy函数型密码(Unified-Policy FunctionalEncryption,UP-FE)方式”。因此,首先说明“Unified-Policy函数型密码方式”的基本结构。接下来,说明实现该“Unified-Policy函数型密码方式”的“密码处理系统10”的基本结构。然后,详细说明该实施方式的“Unified-Policy函数型密码方式”以及“密码处理系统10”。
<第1.函数型密码方式>
函数型密码方式是使加密密钥(encryption-key,ek)与解密密钥(decryption-key,dk)之间的关系更加提升且更加灵活的密码方式。
在函数型密码方式中,对加密密钥和解密密钥,分别设定了属性x和属性v。并且,仅限于针对关系R而R(x,v)成立的情况,解密密钥dkv:=(dk,v)能够解密用加密密钥ekx:=(ek,x)进行了加密的密文。
在函数型密码方式中,存在数据库的访问控制、邮件服务、内容分发等各种应用(参照非专利文献2、7、9、16、19、25-28、30)。
在仅限于R是等号关系的情况即x=v的情况而R(x,v)成立的情况下,函数型密码方式是基于ID的密码方式。
作为比基于ID的密码方式一般化了的函数型密码方式,有基于属性的密码方式。
在基于属性的密码方式中,对加密密钥和解密密钥设定的属性是属性的组。例如,对加密密钥和解密密钥设定的属性分别是X:=(x1,...,xd)和V:=(v1,...,vd)。
并且,关于属性的成分,每个成分的等号关系(例如,{xt=vt}t∈{1,..., d})被输入到访问构造S。并且,仅在访问构造S受理了输入的情况下,R(X,V)成立。即,能够通过解密密钥对用加密密钥加密了的密文进行解密。
在访问构造S被嵌入到解密密钥dkV的情况下,基于属性的密码(ABE)方式被称为Key-Policy ABE(KP-ABE)。另一方面,在访问构造S被嵌入到密文的情况下,基于属性的密码(ABE)方式被称为Ciphertext-Policy ABE(CP-ABE)。并且,在访问构造S被嵌入到解密密钥dkV和密文这两方的情况下,基于属性的密码(ABE)方式被称为Unified-Policy ABE(UP-ABE)。
非专利文献19记载的内积谓词密码(Inner-Product Encryption,IPE)也是函数型密码的1个类型。此处,对加密密钥和解密密钥设定的属性分别是体或者环上的矢量。例如,对加密密钥和解密密钥分别设定x:=(x1,...,xn)∈Fq n和v:=(v1,...,vn)∈Fq n。并且,仅限于x·v=0的情况,R(x,v)成立。
<第2.对偶配对矢量空间>
首先,说明对称双线性配对群(Symmetric Bilinear PairingGroups)。
对称双线性配对群(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。
在以下的说明中,将式113设为如下算法:以1λ为输入,输出以保密参数为λ的双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
[式113]
gbpg
接下来,说明对偶配对矢量空间。
对偶配对矢量空间(q,V,GT,A,e)能够通过对称双线性配对群(paramG:=(q,G,GT,g,e))的直积来构成。对偶配对矢量空间(q,V,GT,A,e)是素数q、式114所示的Fq上的N维矢量空间V、位数q的循环群GT、空间V的标准基底A:=(a1,...,aN)的组,具有以下的运算(1)(2)。此处,ai如式115所示。
[式114]
Figure BDA00003382526300151
[式115]
Figure BDA00003382526300152
运算(1):非退化双线性配对
空间V中的配对通过式116来定义。
[式116]
e ( x , y ) : = &Pi; i = 1 N e ( G i , H i ) &Element; &Gamma; T
此处,
(G1,...,GN):=x∈ζ,
(H1,...,HN):=y∈ζ
这是非退化双线性。即,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):失真映射
式117所示的空间V中的线性变换φi,j能够进行式118。
[式117]
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0。
[式118]
此处,
(g1,...gN):=x。
此处,将线性变换φi,j称为失真映射。
在以下的说明中,将式119设为如下算法:以1λ(λ∈自然数)、N∈自然数、双线性配对群的参数paramG:=(q,G,GT,g,e)的值为输入,输出保密参数是λ、且作为N维空间V的对偶配对矢量空间的参数paramV:=(q,V,GT,A,e)的值。
[式119]
gdpvs
另外,此处说明通过上述对称双线性配对群来构成了对偶配对矢量空间的情况。另外,还能够通过非对称双线性配对群来构成对偶配对矢量空间。将以下的说明应用于通过非对称双线性配对群来构成了对偶配对矢量空间的情况是容易的。
<第3.用于实现函数型密码的概念>
<第3-1.区间程序>
图1是矩阵M^的说明图。
将{p1,...,pn}设为变量的集合。M^:=(M,ρ)是带标签的矩阵。此处,矩阵M是Fq上的(L行×r列)的矩阵。另外,ρ是对矩阵M的各列附加的标签,对应关联到{p1,...,pn,¬p1,...,¬pn}中的某1个句节(Literal)。另外,对M的所有的行附加的标签ρi(i=1,...,L)对应关联到某1个句节。即,ρ:{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}对应关联的情况下,区间程序被称为非单调。此处,将区间程序设为非单调。并且,使用非单调区间程序,构成访问构造(非单调访问构造)。关于访问构造,简单而言是进行向密码的访问控制的构造。即,是进行可否对密文进行解密的控制的构造。
在后面详细叙述,区间程序并非单调而是非单调,由此利用区间程序构成的函数型密码方式的利用范围扩大。
<第3-2.属性矢量的内积和访问构造>
此处,使用属性矢量的内积来计算上述的映射γ(j)。即,使用属性矢量的内积,决定使矩阵M的哪个行包含于矩阵Mδ
U t ( t = 1 , . . . , d , U t &Subset; { 0,1 } * ) 是部分全集合(sub-universe),是属性的集合。另外,Ut分别包括部分全集合的识别信息(t)和nt维矢量(v)。即,Ut是(t,v)。此处,t∈{1,...,d},v∈Fq nt
将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∈Fqnt,1≤t≤d}。
在对访问构造S提供了Γ的情况下,针对区间程序M^:=(M,ρ)的映射γ:{1,...,L}→{0,1}如以下那样被定义。对于i=1、...、L的各整数i,在[ρ(i)=(t,v i)]∧[(t,x t)∈Γ]∧[v i·x t=0]、或者[ρ(i)=¬(t,v i)]∧[(t,x t)∈Γ]∧[v i·x t≠0]的情况下,γ(j)=1,在其他情况下,设为γ(j)=0。
即,根据属性矢量v与x的内积,计算映射γ。并且,如上所述,通过映射γ,决定使矩阵M的哪个行包含于矩阵Mδ。即,根据属性矢量v与x的内积,决定使矩阵M的哪个行包含于矩阵Mδ,仅限于1∈span<(Miγ(i)=1>的情况,访问构造S:=(M,ρ)受理Γ。
<第3-3.秘密分散方式>
说明针对访问构造S:=(M,ρ)的秘密分散方式。
另外,秘密分散方式是指,使秘密信息分散,设为无含义的分散信息。例如,使秘密信息s分散为10个,生成10个分散信息。此处,10个分散信息各自不具有秘密信息s的信息。因此,即使得到某1个分散信息,关于秘密信息s也不能得到任何信息。另一方面,如果能够将10个分散信息全部得到,就能够还原秘密信息s。
另外,还有如下的秘密分散方式:即使未全部得到10个分散信息,而只得到一部分(例如,8个),就能够还原秘密信息s。这样,将能够利用10个分散信息中的8个来还原秘密信息s的情况称为8-out-of-10。即,将能够利用n个分散信息中的t个来还原秘密信息s的情况称为t-out-of-n。将该t称为阈值。
另外,还有如下那样的秘密分散方式:在生成了d1、...、d10这10个分散信息的情况下,如果是d1、...、d8为止的8个分散信息则能够还原秘密信息s,但如果是d3、...、d10为止的8个分散信息则无法还原秘密信息s。即,还有如下的秘密分散方式:不仅根据所得到的分散信息的数量,而且还根据分散信息的组合,来控制能否还原秘密信息s。
图3是s0的说明图。图4是s→T的说明图。
将矩阵M设为(L行×r列)的矩阵。将f→T设为式120所示的列矢量。
[式120]
Figure BDA00003382526300191
将式121所示的s0设为共享的秘密信息。
[式121]
s 0 : = 1 &RightArrow; &CenterDot; f &RightArrow; T : = &Sigma; k = 1 r f k
另外,将式122所示的s→T设为s0的L个分散信息的矢量。
[式122]
s &RightArrow; T : = ( s 1 , . . . , s L ) T : = M &CenterDot; f &RightArrow; T
并且,将分散信息si设为属于ρ(i)。
在访问构造S:=(M,ρ)受理Γ的情况、即关于γ:{1,...,L}→{0,1}是1∈span<(Miγ(i)=1>的情况下,存在作为
Figure BDA00003382526300202
Figure BDA00003382526300203
的常数{α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
并且,是式123。
[式123]
Σ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部以外”这样的条件。即,通过能够设定否定形的条件,能够进行自然的条件设定。另外,此处部门的数量少,但可知在部门的数量多的情况等下,非常有效。
<第4.函数型密码方式的基本结构>
<第4-1.Unified-Policy函数型密码方式的基本结构>
简单说明Unified-Policy函数型密码方式的结构。另外,Unified-Policy是指,向解密密钥以及密文嵌入Policy(策略)、即嵌入访问构造。
Unified-Policy函数型密码方式具备Setup、KeyGen、Enc、Dec这4个算法。
(Setup)
Setup算法是输入保密参数λ和属性的格式n:=((dKP;nt KP,ut KP,wt KP,zt KP(t=1,...,dKP)),(dCP;nt CP,ut CP,wt CP,zt CP(t=1,...,dCP))),并输出公开参数pk和主密钥sk的概率性算法。
(KeyGen)
KeyGen算法是输入访问构造SKP:=(MKP,ρKP)、作为属性的集合的ΓCP:={(t,x t CP)|x t CP∈Fq ntCP\{0},1≤t≤dCP}、公开参数pk、以及主密钥sk,并输出解密密钥sk(SKP,ΓCP)的概率性算法。
(Enc)
Enc算法是输入消息m、作为属性的集合的ΓKP:={(t,x t KP)|x t KP∈Fq ntKP\{0},1≤t≤dKP}、访问构造SCP:=(MCP,ρCP)、以及公开参数pk,并输出加密数据ct(ΓKP,SCP)的概率性算法。
(Dec)
Dec算法是输入在属性的集合以及访问构造(ΓKP,SCP)下加密的加密数据ct(ΓKP,SCP)、针对访问构造以及属性的集合(SKP,ΓCP)的解密密钥sk(SKP,ΓCP)、以及公开参数pk,并输出消息m(明文信息)或者识别信息⊥的算法。
在Unified-Policy函数型密码方式中,针对式124所示的所有的公开参数pk以及主密钥sk、所有的访问构造SKP、所有的属性的集合ΓCP、式125所示的所有的解密密钥sk(SKP,ΓCP)、所有的消息m、所有的属性的集合ΓKP、所有的访问构造SCP、以及式126所示的所有的加密数据ct(ΓKP,SCP),访问构造SKP受理属性的集合ΓKP,并且访问构造SCP受理属性的集合ΓCP的情况下,以压倒性的概率成为m=Dec(pk,sk(SKP,ΓCP),ct(ΓKP,SCP))。即,通过以公开参数pk、解密密钥sk(SKP,ΓCP)、以及加密数据ct(ΓKP,SCP)为输入而执行Dec算法,能够得到消息m。
[式124]
Figure BDA00003382526300231
[式125]
Figure BDA00003382526300232
[式126]
<第4-2.密码处理系统10>
说明执行上述Unified-Policy函数型密码方式的算法的密码处理系统10。
图5是执行Unified-Policy函数型密码方式的密码处理系统10的结构图。
密码处理系统10具备密钥生成装置100、加密装置200、解密装置300。
密钥生成装置100以保密参数λ、和属性的格式n:=((dKP;nt KP,ut KP,wt KP,zt KP(t=1,...,dKP)),(dCP;nt CP,ut CP,wt CP,zt CP(t=1,...,dCP)))为输入而执行Setup算法,生成公开参数pk和主密钥sk。然后,密钥生成装置100公开所生成的公开参数pk。另外,密钥生成装置100以访问构造SKP、属性的集合ΓCP、公开参数pk、以及主密钥sk为输入而执行KeyGen算法,生成解密密钥sk(SKP, ΓCP)而向解密装置300秘密地分发。
加密装置200以消息m、属性的集合ΓKP、访问构造SCP、以及公开参数pk为输入而执行Enc算法,生成加密数据ct(ΓKP,SCP)。加密装置200将所生成的加密数据ct(ΓKP,SCP)发送到解密装置300。
解密装置300以公开参数pk、解密密钥sk(SKP,ΓCP)、以及加密数据ct(ΓKP,SCP)为输入而执行Dec算法,输出消息m或者识别信息⊥。
<第4-3.Unified-Policy函数型密码方式以及密码处理系统10的详细内容>
根据图6至图12,说明执行Unified-Policy函数型密码方式、以及Unified-Policy函数型密码方式的密码处理系统10的功能和动作。
图6是示出密钥生成装置100的功能的功能框图。图7是示出加密装置200的功能的功能框图。图8是示出解密装置300的功能的功能框图。
图9和图10是示出密钥生成装置100的动作的流程图。另外,图9是示出Setup算法的处理的流程图,图10是示出KeyGen算法的处理的流程图。图11是示出加密装置200的动作的流程图,是示出Enc算法的处理的流程图。图12是示出解密装置300的动作的流程图,是示出Dec算法的处理的流程图。
另外,此处,标准化为xt,1 KP:=1、xt,1 CP:=1。另外,在xt,1 KP以及xt,1 CP没有被标准化的情况下,标准化为(1/xt,1 KP)·xt,1 KP、以及(1/xt,1 CP)·xt,1 CP即可。在该情况下,设为xt,i KP以及xt,i CP非0。
说明密钥生成装置100的功能和动作。
如图6所示,密钥生成装置100具备主密钥生成部110、主密钥存储部120、信息输入部130(第1信息输入部)、解密密钥生成部140、密钥分发部150。
另外,信息输入部130具备KP信息输入部131(第1KP信息输入部)、CP信息输入部132(第1CP信息输入部)。另外,解密密钥生成部140具备f矢量生成部141、s矢量生成部142、随机数生成部143、主解密密钥生成部144、KP解密密钥生成部145、CP解密密钥生成部146。
首先,根据图9,说明Setup算法的处理。
(S101:标准正交基底生成步骤)
主密钥生成部110通过处理装置来计算式127,随机地生成paramn→、基底B0及基底B* 0,针对t=1、...、dKP的各整数t随机地生成基底Bt KP以及基底B* t KP,并且针对t=1、...、dCP的各整数t随机地生成基底Bt CP以及基底B* t CP
[式127]
Figure BDA00003382526300251
Figure BDA00003382526300252
Figure BDA00003382526300253
N0∶=2+u0+1+w0+z0
N t KP : = n t KP + u t KP + w t KP + z t KP 对于t=1,...,dKP,
N t CP : = n t CP + u t CP + w t CP + z t CP 对于t=1,...,dCP,
Figure BDA00003382526300256
Figure BDA00003382526300257
( v 0 , i , j ) i , : j : = &psi; &CenterDot; ( X 0 T ) - 1 ,
Figure BDA00003382526300259
Figure BDA000033825263002511
Figure BDA000033825263002512
对于t=1,...,dKP,
Figure BDA000033825263002513
Figure BDA000033825263002514
( v t , i , j KP ) i , j : = &psi; &CenterDot; ( ( X t KP ) T ) - 1 ,
Figure BDA000033825263002516
Figure BDA000033825263002517
Figure BDA000033825263002518
Figure BDA000033825263002519
对于t=1,...,dCP,
Figure BDA000033825263002520
Figure BDA000033825263002521
( v t , i , j CP ) i , j : = &psi; &CenterDot; ( ( X t CP ) T ) - 1 ,
Figure BDA000033825263002523
Figure BDA000033825263002524
Figure BDA000033825263002525
Figure BDA000033825263002526
gT∶=e(g,g)ψ,
Figure BDA000033825263002527
返回
Figure BDA000033825263002528
即,主密钥生成部110执行以下的处理。
首先,主密钥生成部110通过输入装置,输入保密参数λ(1λ)、和属性的格式n:=((dKP;nt KP,ut KP,wt KP,zt KP(t=1,...,dKP)),(dCP;nt CP,ut CP,wt CP,zt CP(t=1,...,dCP)))。此处,dKP是1以上的整数,针对t=1、...、dKP为止的各整数t,nt KP、ut KP、wt KP、zt KP是1以上的整数。另外,dCP是1以上的整数,针对t=1,...,dCP为止的各整数t,nt CP、ut CP、wt CP、zt CP是1以上的整数。
接下来,主密钥生成部110通过处理装置来计算式128。
[式128]
Figure BDA00003382526300261
即,主密钥生成部110以保密参数λ(1λ)为输入而执行算法Gbpg,生成双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
接下来,主密钥生成部110通过处理装置来计算式129。
[式129]
N0∶=2+u0+1+w0+z0,
N t KP : = n t KP + U T KP + w t KP + z t KP 对于t=1,...,dKP,
N t CP : = n t CP + u t CP + w t CP + z t CP 对于t=1,...,dCP
即,主密钥生成部110生成随机数ψ。另外,主密钥生成部110对N0设定2+u0+1+w0+z0,关于t=1、...、dKP的各整数t,对Nt KP设定nt KP+ut KP+wt KP+zt KP,关于t=1、...、dCP的各整数t,对Nt CP设定nt CP+ut CP+wt CP+zt CP。此处,u0、w0、z0是1以上的整数。
接下来,主密钥生成部110通过处理装置来计算式130。
[式130]
Figure BDA00003382526300263
Figure BDA00003382526300264
( v 0 , i , j ) i , j : = &psi; &CenterDot; ( X 0 T ) - 1 ,
Figure BDA00003382526300266
Figure BDA00003382526300268
Figure BDA00003382526300269
即,主密钥生成部110以所输入的保密参数λ(1λ)、所设定的N0、以及所生成的paramG:=(q,G,GT,g,e)的值为输入而执行算法Gdpvs,生成对偶配对矢量空间的参数paramV0:=(q,V0,GT,A0,e)的值。
另外,主密钥生成部110以所设定的N0、和Fq为输入,随机地生成线性变换X0:=(χ0,i,ji,j。另外,GL是General Linear的简称。即,GL是一般线性群,是行列式并非0的方阵的集合,关于乘法是群。另外,(χ0,i,ji,j是与矩阵χ0,i,j的下标i、j相关的矩阵这样的意思,此处,i、j=1,...,N0
另外,主密钥生成部110根据随机数ψ和线性变换X0,生成(ν0, i,ji,j:=ψ·(X0 T-1。另外,(ν0,i,ji,j也与(χ0,i,ji,j同样地,是与矩阵ν0,i,j的下标i、j相关的矩阵这样的意思,此处,i、j=1,...,N0
然后,主密钥生成部110根据线性变换X0,从标准基底A0生成基底B0。同样地,主密钥生成部110根据(ν0,i,ji,j,从标准基底A0生成基底B* 0
接下来,主密钥生成部110通过处理装置来计算式131。
[式131]
对于t=1,...,dKP
Figure BDA00003382526300271
Figure BDA00003382526300272
( v t , i , j KP ) i , j : = &psi; &CenterDot; ( ( X t KP ) T ) - 1 ,
Figure BDA00003382526300274
Figure BDA00003382526300276
Figure BDA00003382526300277
即,主密钥生成部110针对t=1、...、dKP的各整数t,执行以下的处理。
主密钥生成部110以所输入的保密参数λ(1λ)、所设定的Nt KP、以及所生成的paramG:=(q,G,GT,g,e)的值为输入而执行算法Gdpvs,生成对偶配对矢量空间的参数paramVtKP:=(q,Vt KP,GT,At KP,e)的值。
另外,主密钥生成部110以所设定的Nt KP、和Fq为输入,随机地生成线性变换Xt KP:=(χt KP ,i,ji,j。(χt KP ,i,ji,j是与矩阵χt KP ,i, j的下标i、j相关的矩阵这样的意思,此处,i、j=1,...,Nt KP
另外,主密钥生成部110根据随机数ψ和线性变换Xt KP,生成(νt KP ,i,ji,j:=ψ·((Xt KPT-1。另外,(νt KP ,i,ji,j也与(χt KPi,ji,j同样地,是与矩阵νt KP ,i,j的下标i,j相关的矩阵这样的意思,此处,i、j=1,...,Nt KP
然后,主密钥生成部110根据线性变换Xt KP,从标准基底At KP生成基底Bt KP。同样地,主密钥生成部110根据(νt KP ,i,ji,j,从标准基底At KP生成基底B* t KP
接下来,主密钥生成部110通过处理装置来计算式132。
[式132]
对于t=1,...,dCP
Figure BDA00003382526300281
Figure BDA00003382526300282
( v t , i , j KP ) i , j : = &psi; &CenterDot; ( ( X t KP ) T ) - 1 ,
Figure BDA00003382526300284
Figure BDA00003382526300285
Figure BDA00003382526300287
即,主密钥生成部110对于t=1、...、dCP的各整数t,执行以下的处理。
主密钥生成部110以所输入的保密参数λ(1λ)、所设定的Nt CP、以及所生成的paramG:=(q,G,GT,g,e)的值为输入而执行算法Gdpvs,生成对偶配对矢量空间的参数paramVtCP:=(q,Vt CP,GT,At CP,e)的值。
另外,主密钥生成部110以所设定的Nt CP、和Fq为输入,随机地生成线性变换Xt CP:=(χt CP ,i,ji,j。(χt CP ,i,ji,j是与矩阵χt CP ,i, j的下标i,j相关的矩阵这样的意思,此处,i、j=1,...,Nt CP
另外,主密钥生成部110根据随机数ψ和线性变换Xt CP,生成(νt CP ,i,ji,j:=ψ·((Xt CPT-1。另外,(νt CP ,i,ji,j也与(χt CPi,ji,j同样地,是与矩阵νt CP ,i,j的下标i,j相关的矩阵这样的意思,此处,i、j=1,...,Nt CP
然后,主密钥生成部110根据线性变换Xt CP,从标准基底At CP生成基底Bt CP。同样地,主密钥生成部110根据(νt CP ,i,ji,j,从标准基底At CP生成基底B* t CP
接下来,主密钥生成部110通过处理装置来计算式133。
[式133]
gT:=e(g,g)ψ,
Figure BDA00003382526300291
即,主密钥生成部110对gT设定e(g,g)ψ
另外,主密钥生成部110对paramn→设定paramV0、关于t=1、...、dKP的各整数t的paramVtKP、关于t=1、...、dCP的各整数t的paramVtCP、以及gT。另外,关于i=1、...、N0的各整数i,是gT=e(b0,i,b* 0,i)。另外,关于t=1、...、dKP和i=1、...、Nt KP的各整数t、i,是gT=e(bti,b* t,i)。另外,关于t=1、...、dCP和i=1、...、Nt CP的各整数t、i,是gT=e(bt,i,b* t,i)。
然后,主密钥生成部110得到paramn→、{B0、B* 0}、关于t=1、...、dKP的各整数t的{Bt KP、B* t KP}、以及关于t=1、...、dCP的各整数t的{Bt CP、B* t CP}。
(S102:公开参数生成步骤)
主密钥生成部110通过处理装置,如式134所示,生成基底B0的部分基底B^0,针对t=1、...、dKP的各整数t,生成基底Bt KP的部分基底B^t KP,并且针对t=1、...、dCP的各整数t,生成基底Bt CP的部分基底B^t CP
[式134]
对于t=1,...dKP
对于t=1,...,dCP,
Figure BDA00003382526300303
主密钥生成部110将所生成的部分基底B^0、部分基底B^t KP、部分基底B^t CP、在(S101)中输入的保密参数λ(1λ)、以及在(S101)中生成的paramn→合起来设为公开参数pk。
(S103:主密钥生成步骤)
主密钥生成部110通过处理装置,如式135所示,生成基底B* 0的部分基底B^* 0,针对t=1、...、dKP的各整数t,生成基底B* t KP的部分基底B^* t KP,并且针对t=1、...、dCP的各整数t,生成基底B* t CP的部分基底B^* t CP
[式135]
Figure BDA00003382526300304
对于t=1,...,dKP
Figure BDA00003382526300305
对于t=1,...,dCP
主密钥生成部110将所生成的部分基底B^* 0、部分基底B^* t KP、部分基底B^* t CP设为主密钥sk。
(S104:主密钥存储步骤)
主密钥存储部120将在(S102)中生成的公开参数pk存储到存储装置。另外,主密钥存储部120将在(S103)中生成的主密钥sk存储到存储装置。
即,在(S101)至(S103)中,密钥生成装置100执行式136所示的Setup算法,生成公开参数pk和主密钥sk。然后,在(S104)中,密钥生成装置100将所生成的公开参数pk和主密钥sk存储到存储装置。
另外,公开参数例如经由网络而被公开,设为加密装置200、解密装置300可取得的状态。
[式136]
Figure BDA00003382526300311
Figure BDA00003382526300313
Figure BDA00003382526300314
Figure BDA00003382526300315
Figure BDA00003382526300316
对于t=1,...,dKP,
Figure BDA00003382526300317
Figure BDA00003382526300318
对于t=1,...,dCP
Figure BDA00003382526300319
Figure BDA000033825263003111
Figure BDA000033825263003112
返回pk,sk.
接下来,根据图10,说明KeyGen算法的处理。
(S201:信息输入步骤)
第1KP信息输入部131通过输入装置,输入访问构造SKP:=(MKP,ρKP)。另外,矩阵MKP是LKP行×rKP列的矩阵。LKP、rKP是1以上的整数。
另外,第1CP信息输入部132通过输入装置,输入属性的集合ΓCP:={(t,x t CP:=(xt,i CP(i=1,...,nt CP))∈Fq ntCP\{0})|1≤t≤dCP}。t也可以并非是1以上且dCP以下的所有的整数,而是1以上且dCP以下的至少一部分整数。
另外,关于访问构造SKP的矩阵MKP的设定,是根据希望实现的系统的条件来设定的。另外,关于访问构造SKP的ρKP、属性的集合ΓCP,例如设定了解密密钥sk(SKP,ΓCP)的使用者的属性信息。
(S202:f矢量生成步骤)
f矢量生成部141通过处理装置,如式137所示随机地生成具有rKP个要素的矢量f→KP
[式137]
Figure BDA00003382526300321
(S203:s矢量生成步骤)
s矢量生成部142通过处理装置,根据在(S201)中输入的访问构造SKP中包含的(LKP行×rKP列)的矩阵MKP、和在(S202)中生成的具有rKP个要素的矢量f→KP,如式138所示生成矢量(s→KPT
[式138]
( s &RightArrow; KP ) T : = ( s 1 KP , . . . , s L KP KP ) T : = M KP &CenterDot; ( f &RightArrow; KP ) T
另外,s矢量生成部142通过处理装置,根据在(S202)中生成的矢量f→KP,如式139所示生成值s0 KP。另外,1是所有的要素为值1的矢量。
[式139]
s 0 KP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; KP ) T
(S204:随机数生成步骤)
随机数生成部143通过处理装置,针对随机数δCP、和ΓCP中包含的(t,x t CP)的各整数t,如式140所示生成随机数η t CP和随机数η 0
[式140]
Figure BDA00003382526300331
Figure BDA00003382526300332
以使
Figure BDA00003382526300333
Figure BDA00003382526300334
(S205:主解密密钥生成步骤)
主解密密钥生成部144通过处理装置,如式141所示生成作为解密密钥sk(SKP,ΓCP)的要素的主解密密钥k* 0
[式141]
Figure BDA00003382526300335
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式141如以下那样意味着设定基底B* 0的基底矢量的系数。此处,简化书写,仅通过基底矢量b* 0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* 0,1。另外,如果是基底矢量1、...、3,则意味着基底矢量b* 0,1、...、b* 0,3
作为基底B* 0的基底矢量1的系数,设定-s0 KP。作为基底矢量2的系数,设定随机数δCP。作为基底矢量2+1、...、2+u0的系数,设定0。作为基底矢量2+u0+1的系数,设定1。作为基底矢量2+u0+1+1、...、2+u0+1+w0的系数,设定随机数η0,1、...、η0,w0(此处,w0是w0)。作为基底矢量2+u0+1+w0+1、...、2+u0+1+w0+z0的系数,设定0。
(S206:KP解密密钥生成步骤)
KP解密密钥生成部145通过处理装置,针对i=1、...、LKP的各整数i,如式142所示生成作为解密密钥sk(SKP,ΓCP)的要素的KP解密密钥k* i KP
[式142]
对于i=1,...,LKP
如果
Figure BDA00003382526300341
Figure BDA00003382526300342
Figure BDA00003382526300343
Figure BDA00003382526300344
如果
Figure BDA00003382526300345
Figure BDA00003382526300346
Figure BDA00003382526300347
即,式142与式141同样地,如以下那样意味着设定基底B* t KP的基底矢量的系数。另外,此处简化书写,仅通过基底矢量b* t,i KP中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1 KP。另外,如果是基底矢量1、...、3,则意味着基底矢量b* t,1 KP、...、b* t,3 KP
在ρKP(i)是肯定形的组(t,v i KP)的情况下,作为基底矢量1的系数而设定si KPi KPvi,1 KP。另外,如上所述,e t,j KP表示式112所示的标准基底矢量。另外,作为基底矢量2、...、nt KP的系数而设定θi KPvi,2 KP、...、θi KPvi,ntKP KP(此处,ntKP是nt KP)。作为基底矢量nt KP+1、...、nt KP+ut KP的系数而设定0。作为基底矢量nt KP+ut KP+1、...、nt KP+ut KP+wt KP的系数而设定ηi,1 KP、...、ηi,wtKP KP(此处,wtKP是wt KP)。作为基底矢量nt KP+ut KP+wt KP+1、...、nt KP+ut KP+wt KP+zt KP的系数而设定0。
另一方面,在ρKP(i)是否定形的组¬(t,v i KP)的情况下,作为基底矢量1、...、nt KP的系数而设定si KPvi,1 KP、...、si KPvi,ntKP KP(此处,ntKP是nt KP)。作为基底矢量nt KP+1、...、nt KP+ut KP的系数而设定0。作为基底矢量nt KP+ut KP+1、...、nt KP+ut KP+wt KP的系数而设定ηi,1 KP、...、ηi,wtKP KP(此处,wtKP是wt KP)。作为基底矢量nt KP+ut KP+wt KP+1、...、nt KP+ut KP+wt KP+zt KP的系数而设定0。
另外,θi KP以及η i KP是由随机数生成部143生成的随机数。
(S207:CP解密密钥生成步骤)
CP解密密钥生成部146通过处理装置,针对ΓCP中包含的(t,x t CP)的各整数t,如式143所示生成作为解密密钥sk(SKP,ΓCP)的要素的CP解密密钥k* t CP
[式143]
即,式143与式141同样地,如以下那样,意味着设定基底B* t CP的基底矢量的系数。另外,此处简化书写,仅通过基底矢量b* t,i CP中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b* t,1 CP。另外,如果是基底矢量1、...、3,则意味着基底矢量b* t,1 CP、...、b* t,3 CP
作为基底矢量1、...、nt CP的系数而设定δCPxt,1 CP、...、δCPxt,ntCP CP(此处,ntCP是nt CP)。作为基底矢量nt CP+1、...、nt CP+ut CP的系数而设定0。作为基底矢量nt CP+ut CP+1、...、nt CP+ut CP+wt CP的系数而设定ηt,1 CP、...、ηt,wtCP CP(此处,wtCP是wt CP)。作为基底矢量nt CP+ut CP+wt CP+1、...、nt CP+ut CP+wt CP+zt CP的系数而设定0。
(S208:密钥分发步骤)
密钥分发部150将以主解密密钥k* 0、访问构造SKP以及KP解密密钥k* i KP(i=1,...,LKP)、和属性的集合ΓCP以及CP解密密钥k* t CP(t是属性的集合ΓCP中包含的(t,x t CP)中的t)为要素的解密密钥sk(SKP,ΓCP)例如通过通信装置经由网络而秘密地分发到解密装置300。当然,解密密钥sk(SKP,ΓCP)也可以通过其他方法分发到解密装置300。
即,在(S201)至(S207)中,密钥生成装置100执行式144所示的KeyGen算法,生成解密密钥sk(SKP,ΓCP)。然后,在(S208)中,密钥生成装置100将所生成的解密密钥sk(SKP,ΓCP)分发到解密装置300。
[式144]
Figure BDA00003382526300361
Figure BDA00003382526300362
Figure BDA00003382526300364
( s &RightArrow; KP ) T : = ( s 1 KP , . . . , s L KP KP ) T : = M KP &CenterDot; ( f &RightArrow; KP ) T ,
s 0 KP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; KP ) T ,
Figure BDA00003382526300367
Figure BDA00003382526300368
Figure BDA00003382526300369
Figure BDA000033825263003610
Figure BDA000033825263003611
对于i=1,...,LKP
如果
Figure BDA000033825263003612
Figure BDA000033825263003614
Figure BDA000033825263003615
如果
Figure BDA000033825263003617
Figure BDA000033825263003618
如果
Figure BDA000033825263003619
Figure BDA000033825263003620
返回
Figure BDA000033825263003621
Figure BDA000033825263003622
说明加密装置200的功能和动作。
如图7所示,加密装置200具备公开参数取得部210、信息输入部220(第2信息输入部)、加密数据生成部230、数据发送部240(数据输出部)。
另外,信息输入部220具备KP信息输入部221(第2KP信息输入部)、CP信息输入部222(第2CP信息输入部)、消息输入部223。另外,加密数据生成部230具备f矢量生成部231、s矢量生成部232、随机数生成部233、主加密数据生成部234、KP加密数据生成部235、CP加密数据生成部236、消息加密数据生成部237。
根据图11,说明Enc算法的处理。
(S301:公开参数取得步骤)
公开参数取得部210例如通过通信装置,经由网络来取得密钥生成装置100生成的公开参数pk。
(S302:信息输入步骤)
KP信息输入部221通过输入装置,输入属性的集合ΓKP:={(t,x t KP:=(xt,i KP(i=1,...,nt KP))∈Fq ntKP\{0})|1≤t≤dKP}。t也可以并非是1以上且dKP以下的所有的整数,而是1以上且dKP以下的至少一部分整数。
另外,CP信息输入部222通过输入装置,输入访问构造SCP:=(MCP,ρCP)。另外,矩阵MCP是LCP行×rCP列的矩阵。LCP、rCP是1以上的整数。
另外,消息输入部通过输入装置,输入向解密装置300发送的消息m。
另外,关于访问构造SCP的矩阵MCP的设定,是根据希望实现的系统的条件来设定的。关于访问构造SCP的ρCP、属性的集合ΓKP,例如设定了可解密的用户的属性信息。
(S303:随机数生成步骤)
随机数生成部233通过处理装置,针对随机数ωKP、随机数φ 0、以及ΓKP中包含的(t,x t KP)的各整数t,如式145所示生成φ t KP和随机数ζ。
[式145]
Figure BDA00003382526300381
Figure BDA00003382526300382
Figure BDA00003382526300383
对于
(S304:f矢量生成步骤)
f矢量生成部231通过处理装置,如式146所示随机地生成具有rCP个要素的矢量f→CP
[式146]
Figure BDA00003382526300384
(S305:s矢量生成步骤)
s矢量生成部232通过处理装置,根据在(S302)中输入的访问构造SCP中包含的(LCP行×rCP列)的矩阵MCP、和在(S304)中生成的具有rCP个要素的矢量f→CP,如式147所示生成矢量(s→CPT
[式147]
( s &RightArrow; CP ) T : = ( s 1 CP , . . . , s L CP CP ) T : = M CP &CenterDot; ( f &RightArrow; CP ) T
另外,s矢量生成部142通过处理装置,根据在(S304)中生成的矢量f→CP,如式148所示生成值s0 CP。另外,1是所有的要素为值1的矢量。
[式148]
s 0 CP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; CP ) T
(S306:主加密数据生成步骤)
主加密数据生成部234通过处理装置,如式149所示生成作为加密数据ct(ΓKP,SCP)的要素的主加密数据c0
[式149]
Figure BDA00003382526300391
另外,如上所述,针对式110所示的基底B和基底B*,是式111。因此,式149如以下那样意味着设定基底B0的基底矢量的系数。此处,简化书写,仅通过基底矢量b0,i中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量b0,1。另外,如果是基底矢量1、...、3,则意味着基底矢量b0,1、...、b0,3
作为基底B0的基底矢量1的系数而设定随机数ωKP。作为基底矢量2的系数而设定-s0 CP。作为基底矢量2+1、...、2+u0的系数而设定0。作为基底矢量2+u0+1的系数而设定随机数ζ。作为基底矢量2+u0+1+1、...、2+u0+1+w0的系数而设定0。作为基底矢量2+u0+1+w0+1、...、2+u0+1+w0+z0的系数而设定随机数φ0,1,...,φ0, z0(此处,z0是z0)。
(S307:KP加密数据生成步骤)
KP加密数据生成部235通过处理装置,针对ΓKP中包含的(t,x t KP)的各整数t,如式150所示生成作为加密数据ct(ΓKP,SCP)的要素的KP加密数据ct KP
[式150]
Figure BDA00003382526300392
对于
Figure BDA00003382526300393
即,式150与式149同样地,如以下那样意味着设定基底Bt KP的基底矢量的系数。另外,此处简化书写,仅通过基底矢量bt,i KP中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量bt,1 KP。另外,如果是基底矢量1、...、3,则意味着基底矢量bt,1 KP、...、bt,3 KP
作为基底矢量1、...、nt KP的系数而设定ωKPxt,1 KP、...、ωKPxt,ntKP KP(此处,ntKP是nt KP)。作为基底矢量nt KP+1、...、nt KP+ut KP+wt KP的系数而设定0。作为基底矢量nt KP+ut KP+wt KP+1、...、nt KP+ut KP+wt KP+zt KP的系数而设定φt,1 KP、...、φt,ztKP KP(此处,ztCP是zt CP)。
(S308:CP加密数据生成步骤)
CP加密数据生成部236通过处理装置,针对i=1、...、LCP的各整数i,如式151所示生成作为加密数据ct(ΓKP,SCP)的要素的CP加密数据ci CP
[式151]
对于i=1,...,LCP
如果
Figure BDA00003382526300401
Figure BDA00003382526300402
Figure BDA00003382526300403
Figure BDA00003382526300404
如果
Figure BDA00003382526300405
Figure BDA00003382526300406
Figure BDA00003382526300407
即,式151与式150同样地,如以下那样意味着设定基底Bt CP的基底矢量的系数。另外,此处简化书写,仅通过基底矢量bt,i CP中的i的部分来确定基底矢量。例如,如果是基底矢量1,则意味着基底矢量bt,1 CP。另外,如果是基底矢量1、...、3,则意味着基底矢量bt,1 CP、...、bt,3 CP
在ρCP(i)是肯定形的组(t,v i CP)的情况下,作为基底矢量1的系数而设定si CPi CPvi,1 CP。另外,如上所述,e t,j CP表示式112所示的标准基底矢量。另外,作为基底矢量2、...、nt CP的系数而设定θi CPvi,2 CP、...、θi CPvi,ntCP CP(此处,ntCP是nt CP)。作为基底矢量nt CP+1、...、nt CP+ut CP+wt CP的系数而设定0。作为基底矢量nt CP+ut CP+wt CP+1、...、nt CP+ut CP+wt CP+zt CP的系数而设定φi,1 CP、...、φi,ztCP CP(此处,ztCP是zt CP)。
另一方面,在ρCP(i)是否定形的组¬(t,v i CP)的情况下,作为基底矢量1、...、nt CP的系数而设定si CPvi,1 CP、...、si CPvi,ntCP CP(此处,ntCP是nt CP)。作为基底矢量nt CP+1、...、nt CP+ut CP+wt CP的系数而设定0。作为基底矢量nt CP+ut CP+wt CP+1、...、nt CP+ut CP+wt CP+zt CP的系数而设定φi,1 CP、...、φi,ztCP CP(此处,ztCP是zt CP)。
另外,θi CP以及φ i CP是由随机数生成部233生成的随机数。
(S309:消息加密数据生成步骤)
消息加密数据生成部237通过处理装置,如式152所示生成作为加密数据ct(ΓKP,SCP)的要素的消息加密数据cd+1
[式152]
c d + 1 : = g T &xi; m
另外,如上所述,是式153。
[式153]
gT:=e(g,g)ψ
(S310:数据发送步骤)
数据发送部240将以主加密数据c0、属性的集合ΓKP以及KP加密数据ct KP、访问构造SCP以及CP加密数据ci CP、和消息加密数据cd+1为要素的加密数据ct(ΓKP,SCP)例如通过通信装置,经由网络而发送到解密装置300。当然,加密数据ct(ΓKP,SCP)也可以通过其他方法来发送到解密装置300。
即,在(S301)至(S309)中,加密装置200执行式154所示的Enc算法,生成加密数据ct(ΓKP,SCP)。然后,在(S310)中,加密装置200将所生成的加密数据ct(ΓKP,SCP)发送到解密装置300。
[式154]
Figure BDA00003382526300421
Figure BDA00003382526300422
Figure BDA00003382526300423
Figure BDA00003382526300425
Figure BDA00003382526300426
Figure BDA00003382526300427
( s &RightArrow; CP ) T : = ( s 1 CP , . . . , s L CP CP ) T : = M CP &CenterDot; ( f &RightArrow; CP ) T ,
s 0 CP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; CP ) T ,
Figure BDA000033825263004210
对于
Figure BDA000033825263004211
对于i=1,...,LCP
如果
Figure BDA000033825263004213
Figure BDA000033825263004214
Figure BDA000033825263004215
Figure BDA000033825263004216
如果
Figure BDA000033825263004217
Figure BDA000033825263004218
Figure BDA000033825263004219
c d + 1 : = g T &xi; m ,
返回
Figure BDA000033825263004222
说明解密装置300的功能和动作。
如图8所示,解密装置300具备解密密钥取得部310、数据接收部320(数据取得部)、区间程序计算部330、补充系数计算部340、配对运算部350、消息计算部360。
另外,区间程序计算部330具备KP区间程序计算部331、CP区间程序计算部332。另外,补充系数计算部340具备KP补充系数计算部341、CP补充系数计算部342。
根据图12,说明Dec算法的处理。
(S401:解密密钥取得步骤)
解密密钥取得部310例如通过通信装置,经由网络而取得从密钥生成装置100分发的解密密钥sk(SKP,ΓCP)。另外,解密密钥取得部310取得密钥生成装置100生成的公开参数pk。
(S402:数据接收步骤)
数据接收部320例如通过通信装置,经由网络而接收加密装置200发送的加密数据ct(ΓKP,SCP)
(S403:区间程序计算步骤)
KP区间程序计算部331通过处理装置,判定在(S401)中取得的解密密钥sk(SKP,ΓCP)中包含的访问构造SKP是否受理在(S402)中接收到的加密数据ct(ΓKP,SCP)中包含的属性的集合ΓKP
另外,CP区间程序计算部332通过处理装置,判定在(S402)中接收到的加密数据ct(ΓKP,SCP)中包含的访问构造SCP是否受理在(S401)中取得的解密密钥sk(SKP,ΓCP)中包含的属性的集合ΓCP
另外,访问构造是否受理属性的集合的判定方法如在“第3.用于实现函数型密码的概念”中所说明那样。
区间程序计算部330在访问构造SKP受理属性的集合ΓKP、并且访问构造SCP受理属性的集合ΓCP的情况下(在S403中受理),使处理进入(S404)。另一方面,在访问构造SKP拒绝属性的集合ΓKP的情况、和访问构造SCP拒绝属性的集合ΓCP的情况中的至少任一个的情况下(在S403中拒绝),设为无法通过解密密钥sk(SKP,ΓCP)对加密数据ct(ΓKP,SCP)进行解密,而输出识别信息⊥,结束处理。
(S404:补充系数计算步骤)
KP补充系数计算部341通过处理装置,计算成为式155的IKP,并且针对IKP中包含的各整数i,计算常数(补充系数)αi KP
[式155]
Figure BDA00003382526300441
Figure BDA00003382526300442
是MKP的第i行,并且
Figure BDA00003382526300443
Figure BDA00003382526300444
另外,CP补充系数计算部342通过处理装置,计算成为式156的ICP,并且针对ICP中包含的各整数i,计算常数(补充系数)αi CP
[式156]
Figure BDA00003382526300446
其中,是MCP的第i行,并且
Figure BDA00003382526300448
Figure BDA00003382526300449
(S405:配对运算步骤)
配对运算部350通过处理装置来计算式157,生成会话密钥K=gT ζ
[式157]
K : e ( c 0 , k 0 * ) .
Figure BDA000033825263004412
Figure BDA000033825263004413
Figure BDA000033825263004414
另外,如式158所示,通过计算式157而得到密钥K=gT ζ
[式158]
K : e ( c 0 , k 0 * ) .
Figure BDA00003382526300452
Figure BDA00003382526300453
Figure BDA00003382526300454
Figure BDA00003382526300455
Figure BDA00003382526300456
Figure BDA00003382526300457
Figure BDA00003382526300458
Figure BDA000033825263004510
Figure BDA000033825263004511
Figure BDA000033825263004512
(S406:消息计算步骤)
消息计算部360通过处理装置来计算m’=cd+1/K,生成消息m’(=m)。另外,消息加密数据cd+1如式152所示是gT ζm,K是gT ζ,所以如果计算m’=cd+1/K,则得到消息m。
即,在(S401)至(S406)中,解密装置300执行式159所示的Dec算法,生成消息m’(=m)。
[式159]
Figure BDA00003382526300461
Figure BDA00003382526300462
Figure BDA00003382526300463
如果接受 &Gamma; KP : = { ( t , x &RightArrow; t KP ) }
并且接受 &Gamma; CP : = { ( t , x &RightArrow; t CP ) } ,
然后计算
Figure BDA00003382526300468
以及
Figure BDA00003382526300469
以使
Figure BDA000033825263004610
其中
Figure BDA000033825263004611
是MKP的第i行,并且
Figure BDA000033825263004612
Figure BDA000033825263004613
并且
Figure BDA000033825263004614
其中
Figure BDA000033825263004615
是MCP的第i行,并且
Figure BDA000033825263004616
Figure BDA000033825263004617
K : = e ( c 0 , k 0 * ) .
Figure BDA000033825263004619
Figure BDA000033825263004620
Figure BDA000033825263004621
Figure BDA000033825263004622
返回m'∶=cd+l/K.
如以上那样,密码处理系统10使用利用区间程序、内积谓词以及秘密分散而构成的访问构造SKP以及SCP,来实现密码方式(函数型密码方式)。因此,密码处理系统10实现能够以非常高的自由度进行访问控制的设计的密码方式。
特别是,密码处理系统10使解密密钥具有访问构造SKP,使加密数据具有访问构造SCP。因此,密码处理系统10能够利用解密密钥和加密数据这两者来进行访问控制。
另外,在上述说明中,ut、wt、zt(t=0,...,d+1)的维度是为了提高安全性而设置的维度。因此,虽然安全性变低,但可以将ut、wt、zt(t=0,...,d+1)分别设为0,而不设置ut、wt、zt(t=0,...,d+1)的维度。
另外,在上述说明中,在(S101)中对N0设定了2+u0+1+w0+z0。但是,也可以将2+u0+1+w0+z0设为2+2+1+2+1,对N0设定8。
另外,在上述说明中,在(S101)中对Nt KP设定了nt KP+ut KP+wt KP+zt KP。但是,也可以将nt KP+ut KP+wt KP+zt KP设为nt KP+nt KP+nt KP+1,对Nt KP设定3nt KP+1。
同样地,在(S101)中对Nt CP设定了nt CP+ut CP+wt CP+zt CP。但是,也可以将nt CP+ut CP+wt CP+zt CP设为nt CP+nt CP+nt CP+1,对Nt CP设定3nt CP+1。
在该情况下,式136所示的Setup算法如式160那样被改写。另外,Gob UP如式161那样被改写。
[式160]
Figure BDA00003382526300471
Figure BDA00003382526300472
Figure BDA00003382526300473
Figure BDA00003382526300474
对于t=1,...,dKP,
Figure BDA00003382526300476
Figure BDA00003382526300477
对于t=1,...,dCP,
Figure BDA00003382526300478
Figure BDA00003382526300479
Figure BDA000033825263004710
Figure BDA000033825263004711
返回pk,sk.
[式161]
Figure BDA00003382526300483
对于t=1,...,dKP
对于t=1,...,dCP,
Figure BDA00003382526300485
Figure BDA00003382526300486
Figure BDA00003382526300487
Figure BDA00003382526300488
Figure BDA00003382526300489
对于t=1,...dKP,
Figure BDA000033825263004811
Figure BDA000033825263004813
Figure BDA000033825263004816
Figure BDA000033825263004817
对于t=1,...,dCP
Figure BDA000033825263004818
Figure BDA000033825263004819
Figure BDA000033825263004820
Figure BDA000033825263004821
Figure BDA000033825263004822
gT:=e(g,g)ψ,
Figure BDA000033825263004825
返回
另外,式144所示的KeyGen算法如式162那样被改写。
[式162]
Figure BDA00003382526300491
Figure BDA00003382526300492
Figure BDA00003382526300494
( s &RightArrow; CP ) T : = ( s 1 CP , . . . , s L CP CP ) T : = M CP &CenterDot; ( f &RightArrow; CP ) T ,
s 0 KP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; KP ) T ,
Figure BDA00003382526300497
Figure BDA00003382526300498
以使
Figure BDA00003382526300499
Figure BDA000033825263004910
Figure BDA000033825263004911
对于i=1,...,LKP
如果
Figure BDA000033825263004912
Figure BDA000033825263004913
Figure BDA000033825263004914
Figure BDA000033825263004915
如果
Figure BDA000033825263004916
Figure BDA000033825263004917
Figure BDA000033825263004918
对于
Figure BDA000033825263004919
Figure BDA000033825263004920
返回
Figure BDA000033825263004921
Figure BDA000033825263004922
另外,式154所示的Enc算法如式163那样被改写。
[式163]
Enc(pk,m,ΓKP∶=
Figure BDA00003382526300501
Figure BDA00003382526300502
Figure BDA00003382526300503
对于
Figure BDA000033825263005017
Figure BDA00003382526300504
s 0 CP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; CP ) T ,
Figure BDA00003382526300506
对于
Figure BDA00003382526300508
对于i=1,...,LCP
如果
Figure BDA00003382526300509
Figure BDA000033825263005011
如果
Figure BDA000033825263005012
Figure BDA000033825263005013
c d + 1 : = g T &xi; m ,
返回
Figure BDA000033825263005015
Figure BDA000033825263005016
另外,在式159所示的Dec算法中无变更。
另外,在上述说明中,在(S101)中对N0设定了8。但是,N0可以并非是8,而是3以上的整数即可。如果N0是3,则基底B0和基底B* 0成为二维。在N0是3的情况下,在KeyGen算法中,设为k* 0:=(-s0 KP,δCP,1))B*0,在Enc算法中,设为c0:=(ωKP,-s0 CP,ζ)B0即可。此处,B*0是B* 0,B0是B0
另外,在上述说明中,在KeyGen算法中,设为k* 0:=(-s0,δCP,0,0,1,η0,1,η0,2,0)B*0。但是,也可以使用加密装置200可知的规定的值κ,设为k* 0:=(-s0,δCP,0,0,κ,η0,1,η0,2,0)B*0。此处,B*0是B* 0,B0是B0。在该情况下,成为通过Dec算法而计算出的K:=gζκ T,所以在Enc算法中,设为cd+1:=gζκ Tm即可。
另外,在上述说明中,对于vi,ntCP CP(此处ntCP是nt CP)的值,没有特别限定。但是,也可以根据安全性的证明的观点,设为vi,ntCP CP:=1的限定。
另外,根据安全性的证明的观点,关于i=1、...、LKP的各整数i的ρKP(i)也可以限定为是关于分别不同的识别信息t的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP)。
换言之,在ρKP(i)=(t,v i KP)或者ρKP(i)=¬(t,v i KP)的情况下,将函数ρ~KP设为是作为ρ~KP(i)=t的{1,...,L}→{1,..,dKP}的映射。在该情况下,也可以限定为ρ~KP是单射。另外,ρKP(i)是上述访问构造SKP:=(MKP,ρKP(i))的ρKP(i)。
同样地,关于i=1、...、LCP的各整数i的ρCP(i)也可以限定为是关于分别不同的识别信息t的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP)。
换言之,在ρCP(i)=(t,v i CP)或者ρCP(i)=¬(t,v i CP)的情况下,将函数ρ~CP设为是作为ρ~CP(i)=t的{1,...,L}→{1,..,dCP}的映射。在该情况下,也可以限定为ρ~CP是单射。另外,ρCP(i)是上述访问构造SCP:=(MCP,ρCP(i))的ρCP(i)。
另外,关于Setup算法,在密码处理系统10的设置时执行一次即可,而无需每当生成解密密钥时都执行。另外,在上述说明中,设为密钥生成装置100执行Setup算法和KeyGen算法,但也可以分别由不同的装置执行Setup算法和KeyGen算法。
另外,在上述说明中,限于对通过输入列δ从矩阵M^得到的矩阵Mδ的行进行线性结合而得到1的情况,区间程序M^受理输入列δ。但是,也可以并非1而是限于得到其他矢量h的情况,区间程序M^受理输入列δ。
在该情况下,在KeyGen算法中,并非是s0 KP:=1·(f→KPT,而设为s0:=h→KP·(f→KPT即可。同样地,在Enc算法中,并非是s0 CP:=1·(f→CPT,而设为s0:=h→CP·(f→CPT即可。
实施方式2.
在以上的实施方式中,说明了在对偶矢量空间中实现密码处理的方法。在该实施方式中,说明在对偶模中实现密码处理的方法。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码处理。但是,在使用合成数M如式164那样表示了环R的情况下,即使在将环R设为系数的模块中,也能够应用在上述实施方式中说明的密码处理。
[式164]
R:=Z/MZ
此处,
Z:整数
M:合成数
例如,如果在将环R设为系数的模块中实现在实施方式1中说明的Unified-Policy函数型密码,则成为式165至式169。
[式165]
Figure BDA00003382526300531
Figure BDA00003382526300532
Figure BDA00003382526300533
N0:=2+u0+1+w0+z0,
N t KP : = n t KP + u t KP + w t KP + z t KP 对于t=1,...,dKP,
N t CP : = n t CP + u t CP + w t CP + z t CP 对于t=1,...,dCP
Figure BDA00003382526300536
Figure BDA00003382526300537
Figure BDA00003382526300539
对于t=1,...,dKP
Figure BDA000033825263005310
Figure BDA000033825263005325
Figure BDA000033825263005312
Figure BDA000033825263005313
Figure BDA000033825263005314
Figure BDA000033825263005315
对于t=1,..,dCP,
Figure BDA000033825263005316
Figure BDA000033825263005317
( v t , i , j CP ) i , j : = &psi; ( ( X t CP ) T ) - 1 ,
Figure BDA000033825263005319
Figure BDA000033825263005320
Figure BDA000033825263005321
Figure BDA000033825263005322
gT∶=e(g,g)ψ,
Figure BDA000033825263005323
返回
Figure BDA000033825263005324
[式166]
Figure BDA00003382526300541
Figure BDA00003382526300542
Figure BDA00003382526300543
Figure BDA00003382526300545
Figure BDA00003382526300546
对于t=1,...,dKP
Figure BDA00003382526300547
Figure BDA00003382526300548
对于t=1,...,dCP
Figure BDA00003382526300549
Figure BDA000033825263005410
Figure BDA000033825263005411
Figure BDA000033825263005412
返回pk,sk.
[式167]
Figure BDA00003382526300552
Figure BDA00003382526300553
Figure BDA00003382526300554
( s &RightArrow; KP ) T : = ( s 1 KP , . . . , s L KP KP ) T : = M KP &CenterDot; ( f &RightArrow; KP ) T ,
s 0 KP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; KP ) T ,
以使
Figure BDA00003382526300557
Figure BDA00003382526300558
对于i=1,...,LKP
如果
Figure BDA000033825263005510
Figure BDA000033825263005511
Figure BDA000033825263005512
如果
Figure BDA000033825263005513
Figure BDA000033825263005514
Figure BDA000033825263005515
对于 ( t , x &RightArrow; t CP ) &Element; &Gamma; CP ,
Figure BDA000033825263005517
返回
Figure BDA000033825263005518
Figure BDA000033825263005519
[式168]
Figure BDA00003382526300561
Figure BDA00003382526300562
Figure BDA00003382526300563
Figure BDA00003382526300564
Figure BDA00003382526300565
Figure BDA00003382526300566
对于
Figure BDA00003382526300567
Figure BDA00003382526300569
Figure BDA000033825263005610
对于
Figure BDA000033825263005611
对于i=1,....LCP
如果
Figure BDA000033825263005613
Figure BDA000033825263005614
Figure BDA000033825263005615
如果
Figure BDA000033825263005616
c d + 1 : = g T &xi; m ,
返回
Figure BDA000033825263005619
Figure BDA000033825263005620
[式169]
Figure BDA00003382526300571
Figure BDA00003382526300572
Figure BDA00003382526300573
如果
Figure BDA00003382526300574
接受
Figure BDA00003382526300575
并且
Figure BDA00003382526300576
接受
然后计算以及
Figure BDA00003382526300579
以使
其中
Figure BDA000033825263005711
是MKP的第i行,并且
Figure BDA000033825263005712
Figure BDA000033825263005713
Figure BDA000033825263005714
并且
Figure BDA000033825263005715
其中
Figure BDA000033825263005716
是MCP的第i行,并且
Figure BDA000033825263005718
K : = e ( c 0 , k 0 * ) .
Figure BDA000033825263005721
Figure BDA000033825263005722
Figure BDA000033825263005724
返回m'∶=cd+l/K.
另外,上述说明中的密码处理还能够进行权限的移交。权限的移交是指,具有解密密钥的人员生成权限比该解密密钥弱的下位的解密密钥。此处,权限弱是指,可解密的加密数据被限定这样的意思。
例如,在第1分层(最上位)中使用t=1的基底Bt和基底B* t,在第2分层中使用t=1、2的基底Bt和基底B* t,···,在第k分层中使用t-1、...、k的基底Bt和基底B* t。与所使用的基底Bt和基底B* t增加的量相应地,属性信息被设定得多。因此,解密密钥的权限被进一步限定。
接下来,说明实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300)的硬件结构。
图13是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一个例子的图。
如图13所示,密钥生成装置100、加密装置200、解密装置300具备执行程序的CPU911(Central Processing Unit,也称为中央处理装置、处理装置、运算装置、微处理器、微型机算计、处理器)。CPU911经由总线912而与ROM913、RAM914、LCD901(Liquid CrystalDisplay,液晶显示器)、键盘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”、“信息输入部130”、“解密密钥生成部140”、“密钥分发部150”、“公开参数取得部210”、“信息输入部220”、“加密数据生成部230”、“数据发送部240”、“解密密钥取得部310”、“数据接收部320”、“区间程序计算部330”、“补充系数计算部340”、“配对运算部350”、“消息计算部360”等而说明的功能的软件、程序、其他程序。程序由CPU911读出并执行。
在文件群924中,上述说明的“公开参数pk”、“主密钥sk”、“加密数据ct(ΓKP,SCP)”、“解密密钥sk(SKP,ΓCP)”、“访问构造SKP,SCP”、“属性的集合ΓKP,ΓCP”、“消息m”等的信息、数据、信号值、变量值、参数作为“文件”、“数据库”的各项目而被存储。“文件”、“数据库”被存储到盘、存储器等记录介质中。盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数经由读写电路而被CPU911读出到主存储器、闪存中,利用于抽出、检索、参照、比较、运算、计算、处理、输出、打印、显示等的CPU911的动作。在抽出、检索、参照、比较、运算、计算、处理、输出、打印、显示的CPU911的动作的期间,信息、数据、信号值、变量值、参数被临时存储到主存储器、闪存、缓冲存储器中。
另外,上述说明中的流程图的箭头部分主要表示数据、信号的输入输出,数据、信号值被记录到RAM914的存储器、其他光盘等记录介质、IC芯片中。另外,数据、信号通过总线912、信号线、电缆、其他传送介质、电波而被在线传送。
另外,在上述说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~仪器”、“~单元”、“~功能”,另外也可以是“~步骤”、“~过程”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~仪器”、“~单元”、“~功能”,另外也可以是“~步骤”、“~过程”、“~处理”。而且,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过ROM913中存储的固件来实现。或者,也可以仅通过软件,或者仅通过元件、设备、基板、布线等硬件,或者通过软件和硬件的组合,进而与固件的组合来实施。固件和软件作为程序而被存储到ROM913等记录介质中。程序由CPU911读出并由CPU911执行。即,程序使计算机等作为上述叙述的“~部”而发挥功能。或者,使计算机等执行上述叙述的“~部”的过程、方法。

Claims (8)

1.一种密码处理系统,具备密钥生成装置、加密装置以及解密装置,使用B0以及基底B0 、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B t CP来执行密码处理,所述密码处理系统的特征在于,
所述密钥生成装置具备:
第1KP信息输入部,输入关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i)、以及LKP行rKP列(rKP是1以上的整数)的规定的矩阵MKP,其中,该变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v i KP:=(vi,iKP)(i’=1、...、nt KP,nt KP是1以上的整数)的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP);
第1CP信息输入部,针对t=1、...、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,iCP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP
主解密密钥生成部,设定值-s0 KP(s0 KP:=h→KP·(f→KPT,h→KP以及f→KP是具有rKP个要素的矢量)作为基底B 0的基底矢量b 0,p(p是规定的值)的系数,设定随机数δCP作为基底矢量b 0,p’(p’是与所述p不同的规定的值)的系数,设定规定的值κ作为基底矢量b 0,q(q是与所述p以及所述p’不同的规定的值)的系数,生成要素k 0
KP解密密钥生成部,根据所述f→KP、基于所述第1KP信息输入部所输入的矩阵MKP而生成的列矢量(s→KPT:=(s1 KP,...,si KPT:=MKP·(f→KPT(i=LKP)、以及随机数θi KP(i=1,...,LKP),生成关于i=1、...、LKP的各整数i的要素k i KP,其中,关于i=1、...、LKP的各整数i,在变量ρKP(i)是肯定形的组(t,v i KP)的情况下,设定si KPi KPvi,1 KP作为该组的识别信息t所表示的基底B t KP的基底矢量b t,1 KP的系数,并且设定θi KPvi,iKP作为所述识别信息t和i’=2、...、nt KP的各整数i’所表示的基底矢量b t,iKP的系数,生成要素k i KP,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,设定si KPvi,iKP作为该组的识别信息t和i’=1、...、nt KP的各整数i’所表示的基底矢量b t,iKP的系数,生成要素k i KP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,iCP作为基底B t CP的基底矢量b t,iCP(i’=1,...,nt CP)的系数,生成要素k t CP
所述加密装置具备:
第2KP信息输入部,针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,iKP)(i’=1,...,nt KP)的属性集合ΓKP
第2CP信息输入部,输入关于i=1、...、LCP(LCP是1以上的整数)的各整数i的变量ρCP(i)、以及LCP行rCP列(rCP是1以上的整数)的规定的矩阵MCP,其中,该变量ρCP(i)是识别信息t(t=1、...、dCP中的某一个整数)和属性矢量v i CP:=(vi,iCP)(i’=1,...,nt CP)的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP);
主加密数据生成部,设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP(s0 CP:=h→CP·(f→CPT,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,iKP作为基底Bt KP的基底矢量bt,iKP(i’=1,...,nt)的系数,生成要素ct KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CPT:=(s1 CP,...,si CPT:=MCP·(f→CPT(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v i CP)的情况下,设定si CPi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,iCP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,设定si CPvi,iCP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP
所述解密装置具备:
数据取得部,取得加密数据ct(ΓKP,SCP),其中,该加密数据ct(ΓKP, SCP)包括所述主加密数据生成部生成的要素c0、所述KP加密数据生成部生成的要素ct KP、所述CP加密数据生成部生成的要素ci CP、所述属性集合ΓKP、以及所述变量ρCP(i);
解密密钥取得部,取得解密密钥sk(SKP,ΓCP),其中,该解密密钥sk(SKP,ΓCP)包括所述主解密密钥生成部生成的要素k 0、所述KP解密密钥生成部生成的要素k i KP、所述CP解密密钥生成部生成的要素k t CP、所述变量ρKP(i)、以及所述属性集合ΓCP
KP补充系数计算部,根据所述数据取得部所取得的加密数据ct(ΓKP,SCP)中包含的属性集合ΓKP、和所述解密密钥取得部所取得的解密密钥sk(SKP,ΓCP)中包含的变量ρKP(i),确定集合IKP,并且关于所确定的集合IKP中包含的i,计算在将αi KPMi KP进行了合计的情况下成为所述h→KP的补充系数αi KP,其中,该集合IKP是i=1、...、LKP的各整数i之中的、变量ρKP(i)是肯定形的组(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积成为0的i、和变量ρKP(i)是否定形的组¬(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积不成为0的i的集合;
CP补充系数计算部,根据所述加密数据ct(ΓKP,SCP)中包含的关于i=1、...、LCP的各整数i的变量ρCP(i)、和所述解密密钥sk(SKP, ΓCP)中包含的属性集合ΓCP,确定集合ICP,并且关于所确定的集合ICP中包含的i,计算在将αi CPMi CP进行了合计的情况下成为所述h→CP的补充系数αi CP,其中,该集合ICP是i=1、...、LCP的各整数i之中的、变量ρCP(i)是肯定形的组(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积成为0的i、和变量ρCP(i)是否定形的组¬(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积不成为0的i的集合;以及
配对运算部,针对所述加密数据ct(ΓKP,SCP)中包含的要素c0、要素ct KP和要素ci CP、以及所述解密密钥sk(SKP,ΓCP)中包含的要素k 0、要素k i KP和要素k t CP,根据所述KP补充系数计算部确定的集合IKP、所述KP补充系数计算部计算的补充系数αi KP、所述CP补充系数计算部确定的集合ICP、以及所述CP补充系数计算部计算的补充系数αi CP,进行式1所示的配对运算,计算值K,
[式1]
K : = e ( c 0 , k 0 * ) .
Figure FDA00003382526200042
Figure FDA00003382526200043
Figure FDA00003382526200044
Figure FDA00003382526200045
2.根据权利要求1所述的密码处理系统,其特征在于,
所述密码处理系统使用
至少具有基底矢量b0,i(i=1,2,...,2+u0,2+u0+1,...,2+u0+1+w0,...,2+u0+1+z0)的基底B0
至少具有基底矢量b 0,i(i=1,2,...,2+u0,2+u0+1,...,2+u0+1+w0,...,2+u0+1+z0)的基底B 0
至少具有基底矢量bt,i KP(i=1,...,nt KP,...,nt KP+ut KP,...,nt KP+ut KP+wt KP,...,nt KP+ut KP+wt KP+zt KP)(ut KP、wt KP、zt KP是1以上的整数)的基底Bt KP(t=1,...,d)、
至少具有基底矢量b t,i KP(i=1,...,nt KP,...,nt KP+ut KP,...,nt KP+ut KP+wt KP,...,nt KP+ut KP+wt KP+zt KP)的基底B t KP(t=1,...,dKP)、
至少具有基底矢量bt,i CP(i=1,...,nt CP,...,nt CP+ut CP,...,nt CP+ut CP+wt CP,...,nt CP+ut CP+wt CP+zt CP)(ut CP,wt CP,zt CP是1以上的整数)的基底Bt CP(t=1,...,d)、以及
至少具有基底矢量b t,i CP(i=1,...,nt CP,...,nt CP+ut CP,...,nt CP+ut CP+wt CP,...,nt CP+ut CP+wt CP+zt CP)的基底B t CP(t=1,...,dCP),
来执行密码处理,
在所述密钥生成装置中,
所述主解密密钥生成部根据随机数δCP、η0,i(i=1,...,w0)和规定的值κ,生成式2所示的要素k 0
所述KP解密密钥生成部在所述变量ρKP(i)是肯定形的组(t,v i KP)的情况下,根据随机数θi KP、ηi,iKP(i=1、...、LKP,i’=1、...、wt KP),生成式3所示的要素k i KP,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,根据随机数ηi,iKP(i=1、...、LKP,i’=1、...、wt KP),生成式4所示的要素k i KP
所述CP解密密钥生成部根据所述随机数δCP和随机数ηt,i CP(i=1,...,wt CP),生成式5所示的要素k t CP
在所述加密装置中,
所述主加密数据生成部根据所述随机数ωKP和随机数ζ、φ0,i(i=1,...,z0),生成式6所示的要素c0
所述KP加密数据生成部根据所述随机数ωKP和随机数φt,i KP(i=1,...,zt KP),生成式7所示的要素ct KP
所述CP加密数据生成部在所述变量ρCP(i)是肯定形的组(t,v i CP)的情况下,根据随机数θi CP、φi,iCP(i=1、...、LCP,i’=1、...、zt CP),生成式8所示的要素ci CP,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,根据随机数φi,iCP(i=1、...、LCP,i’=1、...、zt CP),生成式9所示的要素ci CP
[式2]
Figure FDA00003382526200061
[式3]
Figure FDA00003382526200063
[式4]
Figure FDA00003382526200064
Figure FDA00003382526200065
[式5]
Figure FDA00003382526200066
[式6]
Figure FDA00003382526200067
[式7]
Figure FDA00003382526200068
[式8]
Figure FDA00003382526200071
Figure FDA00003382526200072
[式9]
Figure FDA00003382526200073
Figure FDA00003382526200074
3.根据权利要求1或者2所述的密码处理系统,其特征在于,
所述加密装置还具备消息加密数据生成部,该消息加密数据生成部使用关于规定的值i是gT=e(b0,i,b 0,i)、关于t=1、...、dKP的各整数t和规定的值i是gT=e(bt,i,b t,i)、关于t=1、...、dCP的各整数t和规定的值i是gT=e(bt,i,b t,i)的值gT,生成嵌入了消息m的要素cd+1=gT ζm,
在所述解密装置中,
所述数据取得部还取得包括所述要素cd+1的加密数据ct(ΓKP,SCP)
所述解密装置还具备消息计算部,该消息计算部将所述加密数据ct(ΓKP,SCP)中包含的所述要素cd+1除以所述配对运算部计算的值K,计算所述消息m。
4.一种密钥生成装置,在使用基底B0以及基底B0 、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B t CP来执行密码处理的密码处理系统中,生成解密密钥sk(SKP, ΓCP),所述密钥生成装置的特征在于,具备:
第1KP信息输入部,输入关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i)、以及LKP行rKP列(rKP是1以上的整数)的规定的矩阵MKP,其中,所述变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v i KP:=(vi,iKP)(i’=1、...、nt KP,nt KP是1以上的整数)的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP);
第1CP信息输入部,针对t=1、...、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,iCP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP
主解密密钥生成部,设定值-s0 KP(s0 KP:=h→KP·(f→KPT,h→KP以及f→KP是具有rKP个要素的矢量)作为基底B 0的基底矢量b 0,p(p是规定的值)的系数,设定随机数δCP作为基底矢量b 0,p’(p’是与所述p不同的规定的值)的系数,设定规定的值κ作为基底矢量b 0,q(q是与所述p以及所述p’不同的规定的值)的系数,生成解密密钥sk(SKP,ΓCP)的要素k 0
KP解密密钥生成部,根据所述f→KP、基于所述第1KP信息输入部输入的矩阵MKP而生成的列矢量(s→KPT:=(s1 KP,...,si KPT:=MKP·(f→KPT(i=LKP)、以及随机数θi KP(i=1,...,LKP),生成关于i=1、...、LKP的各整数i的要素k i KP,其中,关于i=1、...、LKP的各整数i,在变量ρKP(i)是肯定形的组(t,v i KP)的情况下,设定si KPi KPvi,1 KP作为该组的识别信息t表示的基底B t KP的基底矢量b t,1 KP的系数,并且设定θi KPvi,iKP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,生成解密密钥sk(SKP,ΓCP)的要素k i KP,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,设定si KPvi,iKP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,生成解密密钥sk(SKP,ΓCP)的要素k i KP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,iCP作为基底B t CP的基底矢量b t,iCP(i’=1,...,nt CP)的系数,生成解密密钥sk(SKP,ΓCP)的要素k t CP
5.一种加密装置,在使用基底B0以及基底B0 、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B t CP来执行密码处理的密码处理系统中,生成加密数据ct(ΓKP,SCP),所述加密装置的特征在于,具备:
第2KP信息输入部,针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,iKP)(i’=1,...,nt KP)的属性集合ΓKP
第2CP信息输入部,输入关于i=1、...、LCP(LCP是1以上的整数)的各整数i的变量ρCP(i)、以及LCP行rCP列(rCP是1以上的整数)的规定的矩阵MCP,其中,所述变量ρCP(i)是识别信息t(t=1、...、dCP中的某一个整数)和属性矢量v i CP:=(vi,iCP)(i’=1,...,nt CP)的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP);
主加密数据生成部,设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP(s0 CP:=h→CP·(f→CPT,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成加密数据ct(ΓKP,SCP)的要素c0
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,iKP作为基底Bt KP的基底矢量bt,iKP(i’=1,...,nt)的系数,生成加密数据ct(ΓKP,SCP)的要素ct KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CPT:=(s1 CP,...,si CPT:=MCP·(f→CPT(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v i CP)的情况下,设定si CPi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,iCP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成加密数据ct(ΓKP, SCP)的要素ci CP,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,设定si CPvi,iCP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成加密数据ct(ΓKP,SCP)的要素ci CP
6.一种解密装置,在使用基底B0以及基底B0 、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B t CP来执行密码处理的密码处理系统中,利用解密密钥sk(SKP,ΓCP)对加密数据ct(ΓKP,SCP)进行解密,所述解密装置的特征在于,具备:
数据取得部,取得加密数据ct(ΓKP,SCP),该加密数据ct(ΓKP,SCP)包括:关于t=1、...、dKP的至少1个以上的整数t具有识别信息t和属性矢量x t KP:=(xt,iKP)(i’=1、...、nt KP,nt KP是1以上的整数)的属性集合ΓKP;关于i=1、...、LCP(LCP是1以上的整数)的各整数i的变量ρCP(i),其中,该变量ρCP(i)是识别信息t(t=1、...、dCP中的某一个整数)和属性矢量v i CP:=(vi,iCP)(i’=1、...、nt CP,nt CP是1以上的整数)的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP);LCP行rCP列(rCP是1以上的整数)的规定的矩阵MCP;要素c0,设定了随机数ωKP作为基底B0的基底矢量b0,p的系数,设定了值-s0 CP(s0 CP:=h→CP·(f→CPT,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定了随机数ζ作为基底矢量b0,q的系数;要素ct KP,针对所述属性集合ΓKP中包含的各识别信息t,设定了设为所述随机数ωKP倍的xt,iKP作为基底Bt KP的基底矢量bt,iKP(i’=1,...,nt)的系数;以及根据所述f→CP、基于所述矩阵MCP生成的列矢量(s→CPT:=(s1 CP,...,si CPT:=MCP·(f→CPT(i=LCP)、以及随机数θi CP(i=1,...,LCP)而针对i=1、...、LCP的各整数i生成的要素ci CP,其中,该要素ci CP关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v i CP)的情况下,设定了si CPi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定了θi CPvi,iCP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,设定了si CPvi,iCP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数;
解密密钥取得部,取得解密密钥sk(SKP,ΓCP),该解密密钥sk(SKP, ΓCP)包括:关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i),其中,该变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v i KP:=(vi,iKP)(i’=1,...,nt KP)的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP);LKP行rKP列(rKP是1以上的整数)的规定的矩阵MKP;关于t=1、...、dCP的至少1个以上的整数t具有识别信息t和属性矢量x t CP:=(xt,iCP)(i’=1,...,nt CP)的属性集合ΓCP;要素k 0,设定了值-s0 KP(s0 KP:=h→KP·(f→KPT,h→KP以及f→KP是具有rKP个要素的矢量)作为基底B 0的基底矢量b 0,p(p是规定的值)的系数,设定了随机数δCP作为基底矢量b 0,p’(p’是与所述p不同的规定的值)的系数,设定了规定的值κ作为基底矢量b 0,q(q是与所述p以及所述p’不同的规定的值)的系数;根据所述f→KP、基于所述第1KP信息输入部所输入的矩阵MKP生成的列矢量(s→KPT:=(s1 KP,...,si KPT:=MKP·(f→KPT(i=LKP)、以及随机数θi KP(i=1,...,LKP)而针对i=1、...、LKP的各整数i生成的要素k i KP,其中,该要素k i KP关于i=1、...、LKP的各整数i,在变量ρKP(i)是肯定形的组(t,v i KP)的情况下,设定了si KPi KPvi,1 KP作为该组的识别信息t表示的基底B t KP的基底矢量b t,1 KP的系数,并且设定了θi KPvi,iKP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,设定了si KPvi,iKP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数;以及要素k t CP,针对所述属性集合ΓCP中包含的各识别信息t,设定了设为所述随机数δCP倍的xt,iCP作为基底B t CP的基底矢量b t,iCP(i’=1,...,nt CP)的系数;
KP补充系数计算部,根据所述数据取得部取得的加密数据ct(ΓKP, SCP)中包含的属性集合ΓKP和所述解密密钥取得部取得的解密密钥sk(SKP,ΓCP)中包含的变量ρKP(i),确定集合IKP,并且关于所确定的集合IKP中包含的i,计算在将αi KPMi KP进行了合计的情况下成为所述h→KP的补充系数αi KP,其中,该集合IKP是i=1、...、LKP的各整数i之中的、变量ρKP(i)是肯定形的组(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积成为0的i、和变量ρKP(i)是否定形的组¬(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积不成为0的i的集合;
CP补充系数计算部,根据所述加密数据ct(ΓKP,SCP)中包含的关于i=1、...、LCP的各整数i的变量ρCP(i)和所述解密密钥sk(SKP,ΓCP)中包含的属性集合ΓCP,确定集合ICP,并且关于所确定的集合ICP中包含的i,计算在将αi CPMi CP进行了合计的情况下成为所述h→CP的补充系数αi CP,其中,该集合ICP是i=1、...、LCP的各整数i之中的、变量ρCP(i)是肯定形的组(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积成为0的i、和变量ρCP(i)是否定形的组¬(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积不成为0的i的集合;以及
配对运算部,针对所述加密数据ct(ΓKP,SCP)中包含的要素c0、要素ct KP和要素ci CP、以及所述解密密钥sk(SKP,ΓCP)中包含的要素k 0、要素k i KP和要素k t CP,根据所述KP补充系数计算部确定的集合IKP、所述KP补充系数计算部计算的补充系数αi KP、所述CP补充系数计算部确定的集合ICP、以及所述CP补充系数计算部计算的补充系数αi CP,进行式10所示的配对运算,计算值K,
[式10]
K : = e ( c 0 , k 0 * ) .
Figure FDA00003382526200122
Figure FDA00003382526200123
Figure FDA00003382526200124
7.一种密码处理方法,是使用了基底B0以及基底B0 、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B t CP的密码处理方法,其特征在于,具备:
第1KP信息输入工序,密钥生成装置输入关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i)、以及LKP行rKP列(rKP是1以上的整数)的规定的矩阵MKP,其中,该变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v i KP:=(vi,iKP)(i’=1、...、nt KP,nt KP是1以上的整数)的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP);
第1CP信息输入工序,所述密钥生成装置针对t=1、...、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,iCP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP
主解密密钥生成工序,所述密钥生成装置设定值-s0 KP(s0 KP:=h→KP·(f→KPT,h→KP以及f→KP是具有rKP个要素的矢量)作为基底B 0的基底矢量b 0,p(p是规定的值)的系数,设定随机数δCP作为基底矢量b 0,p’(p’是与所述p不同的规定的值)的系数,设定规定的值κ作为基底矢量b 0,q(q是与所述p以及所述p’不同的规定的值)的系数,生成要素k 0
KP解密密钥生成工序,所述密钥生成装置根据所述f→KP、基于在所述第1KP信息输入工序中输入的矩阵MKP而生成的列矢量(s→KPT:=(s1 KP,...,si KPT:=MKP·(f→KPT(i=LKP)、以及随机数θi KP(i=1,...,LKP),生成关于i=1、...、LKP的各整数i的要素k i KP,其中,关于i=1、...、LKP的各整数i,在变量ρKP(i)是肯定形的组(t,v i KP)的情况下,设定si KPi KPvi,1 KP作为该组的识别信息t表示的基底B t KP的基底矢量b t,1 KP的系数,并且设定θi KPvi,iKP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,生成要素k i KP,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,设定si KPvi,iKP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,生成要素k i KP
CP解密密钥生成工序,所述密钥生成装置生成关于在所述第1CP信息输入工序中输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,iCP作为基底B t CP的基底矢量b t,iCP(i’=1,...,nt CP)的系数,生成要素k t CP
第2KP信息输入工序,加密装置针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,iKP)(i’=1,...,nt KP)的属性集合ΓKP
第2CP信息输入工序,所述加密装置输入关于i=1、...、LCP(LCP是1以上的整数)的各整数i的变量ρCP(i)、以及LCP行rCP列(rCP是1以上的整数)的规定的矩阵MCP,其中,该变量ρCP(i)是识别信息t(t=1、...、dCP中的某一个整数)和属性矢量v i CP:=(vi,iCP)(i’=1,...,nt CP)的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP);
主加密数据生成工序,所述加密装置设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP(s0 CP:=h→CP·(f→CPT,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0
KP加密数据生成工序,所述加密装置生成关于在所述第2KP信息输入工序中输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,iKP作为基底Bt KP的基底矢量bt,iKP(i’=1,...,nt)的系数,生成要素ct KP
CP加密数据生成工序,所述加密装置根据所述f→CP、基于在所述第2CP信息输入工序中输入的矩阵MCP而生成的列矢量(s→CPT:=(s1 CP,...,si CPT:=MCP·(f→CPT(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v i CP)的情况下,设定si CPi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,iCP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,设定si CPvi,iCP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP
数据取得工序,解密装置取得加密数据ct(ΓKP,SCP),其中,该加密数据ct(ΓKP,SCP)包括在所述主加密数据生成工序中生成的要素c0、在所述KP加密数据生成工序中生成的要素ct KP、在所述CP加密数据生成工序中生成的要素ci CP、所述属性集合ΓKP、以及所述变量ρCP(i);
解密密钥取得工序,所述解密装置取得解密密钥sk(SKP,ΓCP),该解密密钥sk(SKP,ΓCP)包括在所述主解密密钥生成工序中生成的要素k 0、在所述KP解密密钥生成工序中生成的要素k i KP、在所述CP解密密钥生成工序中生成的要素k t CP、所述变量ρKP(i)、以及所述属性集合ΓCP
KP补充系数计算工序,所述解密装置根据在所述数据取得工序中取得的加密数据ct(ΓKP,SCP)中包含的属性集合ΓKP、和在所述解密密钥取得工序中取得的解密密钥sk(SKP,ΓCP)中包含的变量ρKP(i),确定集合IKP,并且关于所确定的集合IKP中包含的i,计算在将αi KPMi KP进行了合计的情况下成为所述h→KP的补充系数αi KP,其中,该集合IKP是i=1、...、LKP的各整数i之中的、变量ρKP(i)是肯定形的组(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积成为0的i、和变量ρKP(i)是否定形的组¬(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积不成为0的i的集合;
CP补充系数计算工序,所述解密装置根据所述加密数据ct(ΓKP, SCP)中包含的关于i=1、...、LCP的各整数i的变量ρCP(i)、和所述解密密钥sk(SKP,ΓCP)中包含的属性集合ΓCP,确定集合ICP,并且关于所确定的集合ICP中包含的i,计算在将αi CPMi CP进行了合计的情况下成为所述h→CP的补充系数αi CP,其中,该集合ICP是i=1、...、LCP的各整数i之中的、变量ρCP(i)是肯定形的组(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积成为0的i、和变量ρCP(i)是否定形的组¬(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积不成为0的i的集合;以及
配对运算工序,所述解密装置针对所述加密数据ct(ΓKP,SCP)中包含的要素c0、要素ct KP和要素ci CP、以及所述解密密钥sk(SKP,ΓCP)中包含的要素k 0、要素k i KP和要素k t CP,根据在所述KP补充系数计算工序中确定的集合IKP、在所述KP补充系数计算工序中计算的补充系数αi KP、在所述CP补充系数计算工序中确定的集合ICP、以及在所述CP补充系数计算工序中计算的补充系数αi CP,进行式1所示的配对运算,计算值K,
[式11]
K : = e ( c 0 , k 0 * ) .
Figure FDA00003382526200162
Figure FDA00003382526200163
Figure FDA00003382526200164
8.一种密码处理程序,具备密钥生成程序、加密程序以及解密程序,使用基底B0以及基底B0 、关于t=1、...、dKP(dKP是1以上的整数)的各整数t的基底Bt KP以及基底B t KP、和关于t=1、...、dCP(dCP是1以上的整数)的各整数t的基底Bt CP以及基底B t CP来执行密码处理,所述密码处理程序的特征在于,
所述密钥生成程序使计算机执行:
第1KP信息输入处理,输入关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i)、以及LKP行rKP列(rKP是1以上的整数)的规定的矩阵MKP,其中,所述变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v i KP:=(vi,iKP)(i’=1、...、nt KP,nt KP是1以上的整数)的肯定形的组(t,v i KP)或者否定形的组¬(t,v i KP);
第1CP信息输入处理,关于t=1、...、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,iCP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP
主解密密钥生成处理,设定值-s0 KP(s0 KP:=h→KP·(f→KPT,h→KP以及f→KP是具有rKP个要素的矢量)作为基底B 0的基底矢量b 0,p(p是规定的值)的系数,设定随机数δCP作为基底矢量b 0,p’(p’是与所述p不同的规定的值)的系数,设定规定的值κ作为基底矢量b 0,q(q是与所述p以及所述p’不同的规定的值)的系数,生成要素k 0
KP解密密钥生成处理,根据所述f→KP、基于在所述第1KP信息输入处理中输入的矩阵MKP而生成的列矢量(s→KPT:=(s1 KP,...,si KPT:=MKP·(f→KPT(i=LKP)、以及随机数θi KP(i=1,...,LKP),生成关于i=1、...、LKP的各整数i的要素k i KP,其中,关于i=1、...、LKP的各整数i,在变量ρKP(i)是肯定形的组(t,v i KP)的情况下,设定si KPi KPvi,1 KP作为该组的识别信息t表示的基底B t KP的基底矢量b t,1 KP的系数,并且设定θi KPvi,iKP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,生成要素k i KP,在变量ρKP(i)是否定形的组¬(t,v i KP)的情况下,设定si KPvi,iKP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b t,iKP的系数,生成要素k i KP;以及
CP解密密钥生成处理,生成关于在所述第1CP信息输入处理中输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,iCP作为基底B t CP的基底矢量b t,iCP(i’=1,...,nt CP)的系数,生成要素k t CP
所述加密程序使计算机执行:
第2KP信息输入处理,关于t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,iKP)(i’=1,...,nt KP)的属性集合ΓKP
第2CP信息输入处理,输入关于i=1、...、LCP(LCP是1以上的整数)的各整数i的变量ρCP(i)、以及LCP行rCP列(rCP是1以上的整数)的规定的矩阵MCP,其中,该变量ρCP(i)是识别信息t(t=1、...、dCP中的某一个整数)和属性矢量v i CP:=(vi,iCP)(i’=1,...,nt CP)的肯定形的组(t,v i CP)或者否定形的组¬(t,v i CP);
主加密数据生成处理,设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP(s0 CP:=h→CP·(f→CPT,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0
KP加密数据生成处理,生成关于在所述第2KP信息输入处理中输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,iKP作为基底Bt KP的基底矢量bt,iKP(i’=1,...,nt)的系数,生成要素ct KP;以及
CP加密数据生成处理,根据所述f→CP、基于在所述第2CP信息输入处理中输入的矩阵MCP而生成的列矢量(s→CPT:=(s1 CP,...,si CPT:=MCP·(f→CPT(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v i CP)的情况下,设定si CPi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,iCP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v i CP)的情况下,设定si CPvi,iCP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,iCP的系数,生成要素ci CP
所述解密程序使计算机执行:
数据取得处理,取得加密数据ct(ΓKP,SCP),其中,该加密数据ct(ΓKP,SCP)包括在所述主加密数据生成处理中生成的要素c0、在所述KP加密数据生成处理中生成的要素ct KP、在所述CP加密数据生成处理中生成的要素ci CP、所述属性集合ΓKP、以及所述变量ρCP(i);
解密密钥取得处理,取得解密密钥sk(SKP,ΓCP),其中,该解密密钥sk(SKP,ΓCP)包括在所述主解密密钥生成处理中生成的要素k 0、在所述KP解密密钥生成处理中生成的要素k i KP、在所述CP解密密钥生成处理中生成的要素k t CP、所述变量ρKP(i)、以及所述属性集合ΓCP
KP补充系数计算处理,根据在所述数据取得处理中取得的加密数据ct(ΓKP,SCP)中包含的属性集合ΓKP、和在所述解密密钥取得处理中取得的解密密钥sk(SKP,ΓCP)中包含的变量ρKP(i),确定集合IKP,并且关于所确定的集合IKP中包含的i,计算在将αi KPMi KP进行了合计的情况下成为所述h→KP的补充系数αi KP,其中,该集合IKP是i=1、...、LKP的各整数i之中的、变量ρKP(i)是肯定形的组(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积成为0的i、和变量ρKP(i)是否定形的组¬(t,v i KP)并且该组的v i KP与该组的识别信息t表示的ΓKP中包含的x t KP的内积不成为0的i的集合;
CP补充系数计算处理,根据所述加密数据ct(ΓKP,SCP)中包含的关于i=1、...、LCP的各整数i的变量ρCP(i)、和所述解密密钥sk(SKP, ΓCP)中包含的属性集合ΓCP 确定集合ICP,并且关于所确定的集合ICP中包含的i,计算在将αi CPMi CP进行了合计的情况下成为所述h→CP的补充系数αi CP,其中,该集合ICP是i=1、...、LCP的各整数i之中的、变量ρCP(i)是肯定形的组(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积成为0的i、和变量ρCP(i)是否定形的组¬(t,v i CP)并且该组的v i CP与该组的识别信息t表示的ΓCP中包含的x t CP的内积不成为0的i的集合;以及
配对运算处理,针对所述加密数据ct(ΓKP,SCP)中包含的要素c0、要素ct KP和要素ci CP、以及所述解密密钥sk(SKP,ΓCP)中包含的要素k 0、要素k i KP和要素k t CP,根据在所述KP补充系数计算处理中确定的集合IKP、在所述KP补充系数计算处理中计算的补充系数αi KP、在所述CP补充系数计算处理中确定的集合ICP、以及在所述CP补充系数计算处理中计算的补充系数αi CP,进行式1所示的配对运算,计算值K,
[式12]
K : = e ( c 0 , k 0 * ) .
Figure FDA00003382526200204
CN201180061703.XA 2010-12-22 2011-12-06 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法 Expired - Fee Related CN103270719B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-286511 2010-12-22
JP2010286511A JP5693206B2 (ja) 2010-12-22 2010-12-22 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
PCT/JP2011/078164 WO2012086405A1 (ja) 2010-12-22 2011-12-06 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Publications (2)

Publication Number Publication Date
CN103270719A true CN103270719A (zh) 2013-08-28
CN103270719B CN103270719B (zh) 2015-09-30

Family

ID=46313685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180061703.XA Expired - Fee Related CN103270719B (zh) 2010-12-22 2011-12-06 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法

Country Status (6)

Country Link
US (1) US8938623B2 (zh)
EP (1) EP2613472A4 (zh)
JP (1) JP5693206B2 (zh)
KR (1) KR101393899B1 (zh)
CN (1) CN103270719B (zh)
WO (1) WO2012086405A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105637799A (zh) * 2013-10-09 2016-06-01 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序
CN105850072A (zh) * 2013-12-02 2016-08-10 三菱电机株式会社 数据处理系统、加密装置、解密装置以及程序
CN106470102A (zh) * 2015-08-20 2017-03-01 三星电子株式会社 密码装置、具有密码装置的存储装置、其加密和解密方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5606344B2 (ja) 2011-01-25 2014-10-15 三菱電機株式会社 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム
JP5921410B2 (ja) * 2012-10-19 2016-05-24 三菱電機株式会社 暗号システム
JP5852551B2 (ja) * 2012-11-12 2016-02-03 日本電信電話株式会社 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
EP2947810B1 (en) * 2013-01-16 2021-07-14 Mitsubishi Electric Corporation Encryption system, re-encryption key generation device, re-encryption device, encryption method and encryption program
EP2860905A1 (en) * 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
EP3096487B1 (en) 2014-01-14 2020-04-29 Mitsubishi Electric Corporation Crypt-system, re-encryption key generation apparatus, re-encryption apparatus, and crypt-program
CN106031080B (zh) 2014-02-24 2019-07-16 三菱电机株式会社 加密系统
DE112014007226B4 (de) 2014-12-05 2023-09-07 Mitsubishi Electric Corporation Entschlüsselungsbedingungs-Hinzufügungsvorrichtung, kryptografisches System und Entschlüsselungsbedingungs-Hinzufügungsprogramm
WO2016162941A1 (ja) 2015-04-07 2016-10-13 三菱電機株式会社 暗号システム及び鍵生成装置
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
KR101994236B1 (ko) * 2017-04-21 2019-09-30 한국전자통신연구원 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치
WO2019076706A1 (en) * 2017-10-17 2019-04-25 Koninklijke Philips N.V. CONFIGURABLE DEVICE FOR NETWORK-BASED CRYPTOGRAPHY
JP7117964B2 (ja) * 2018-10-04 2022-08-15 三菱電機株式会社 復号装置、暗号システム、復号方法及び復号プログラム
US10778410B2 (en) 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
CN113271309B (zh) * 2021-05-24 2022-04-08 四川师范大学 一种分层文件加密方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349538B2 (en) * 2002-03-21 2008-03-25 Ntt Docomo Inc. Hierarchical identity-based encryption and signature schemes
WO2003090429A1 (en) * 2002-04-15 2003-10-30 Docomo Communications Laboratories Usa, Inc. Signature schemes using bilinear mappings
US6886096B2 (en) * 2002-11-14 2005-04-26 Voltage Security, Inc. Identity-based encryption system
US7003117B2 (en) * 2003-02-05 2006-02-21 Voltage Security, Inc. Identity-based encryption system for secure data distribution
US7499544B2 (en) * 2003-11-03 2009-03-03 Microsoft Corporation Use of isogenies for design of cryptosystems
EP1646174A1 (en) * 2004-10-07 2006-04-12 Axalto SA Method and apparatus for generating cryptographic sets of instructions automatically and code generation
EP1995710A1 (en) * 2006-03-14 2008-11-26 NEC Corporation Information processing system, information processing method, and information processing program
WO2008066671A2 (en) * 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105637799A (zh) * 2013-10-09 2016-06-01 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序
CN105637799B (zh) * 2013-10-09 2019-06-25 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置以及重加密装置
CN105850072A (zh) * 2013-12-02 2016-08-10 三菱电机株式会社 数据处理系统、加密装置、解密装置以及程序
CN105850072B (zh) * 2013-12-02 2018-11-20 三菱电机株式会社 数据处理系统、加密装置以及解密装置
CN106470102A (zh) * 2015-08-20 2017-03-01 三星电子株式会社 密码装置、具有密码装置的存储装置、其加密和解密方法
CN106470102B (zh) * 2015-08-20 2021-08-03 三星电子株式会社 密码装置、具有密码装置的存储装置、其加密和解密方法

Also Published As

Publication number Publication date
KR101393899B1 (ko) 2014-05-12
US8938623B2 (en) 2015-01-20
EP2613472A4 (en) 2017-07-12
CN103270719B (zh) 2015-09-30
EP2613472A1 (en) 2013-07-10
JP5693206B2 (ja) 2015-04-01
WO2012086405A1 (ja) 2012-06-28
US20130173929A1 (en) 2013-07-04
JP2012133214A (ja) 2012-07-12
KR20130084669A (ko) 2013-07-25

Similar Documents

Publication Publication Date Title
CN103270719B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法
CN102859571B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN103444126B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置以及密码处理方法
CN102822883B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN104160437A (zh) 密码系统、密码方法以及密码程序
CN103348624A (zh) 签名处理系统、密钥生成装置、签名装置、验证装置、签名处理方法以及签名处理程序
CN104718566B (zh) 密码系统
CN103354984A (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置、密码处理方法以及密码处理程序

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: 20150930

Termination date: 20211206

CF01 Termination of patent right due to non-payment of annual fee