CN103270719A - 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序 - Google Patents
密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序 Download PDFInfo
- 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
Links
Images
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
- H04L9/007—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
-
- 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/008—Cryptographic 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,i,CP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP;
主解密密钥生成部,设定值-s0 KP(s0 KP:=h→KP·(f→KP)T,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→KP)T:=(s1 KP,...,si KP)T:=MKP·(f→KP)T(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 KP+θi KPvi,1 KP作为该组的识别信息t所表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定θi KPvi,i,KP作为所述识别信息t和i’=2、...、nt KP的各整数i’所表示的基底矢量b* t,i,KP的系数,生成要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,设定si KPvi,i,KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’所表示的基底矢量b* t,i,KP的系数,生成要素k* i KP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k* t CP,其中,设定设为所述随机数δCP倍的xt,i,CP作为基底B* t CP的基底矢量b* t,i,CP(i’=1,...,nt CP)的系数,生成要素k* t CP,
所述加密装置具备:
第2KP信息输入部,针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x→ t KP:=(xt,i,KP)(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→CP)T,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p,的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0;
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i,KP作为基底Bt KP的基底矢量bt,i,KP(i’=1,...,nt)的系数,生成要素ct KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,...,si CP)T:=MCP·(f→CP)T(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v→ i CP)的情况下,设定si CP+θi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,i,CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,i,CP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,设定si CPvi,i,CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,i,CP的系数,生成要素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]
在本发明的密码处理系统中,向解密密钥和密文这两者嵌入了访问构造(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]
在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]
式107表示式108所示的2个矢量x→与v→的式109所示的内积。
[式107]
[式108]
[式109]
XT表示矩阵X的转置矩阵。
针对式110所示的基底B和基底B*,是式111。
[式110]
Β:=(b1,...,bN),
[式111]
e→ t,j KP,e→ t,j CP分别表示式112所示的标准基底矢量。
[式112]
另外,在以下的说明中,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]
[式115]
运算(1):非退化双线性配对
空间V中的配对通过式116来定义。
[式116]
此处,
(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δ。
将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]
将式121所示的s0设为共享的秘密信息。
[式121]
另外,将式122所示的s→T设为s0的L个分散信息的矢量。
[式122]
并且,将分散信息si设为属于ρ(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]
[式125]
[式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]
N0∶=2+u0+1+w0+z0,
对于t=1,...,dKP,
对于t=1,...,dCP,
gT∶=e(g,g)ψ,
即,主密钥生成部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]
即,主密钥生成部110以保密参数λ(1λ)为输入而执行算法Gbpg,生成双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
接下来,主密钥生成部110通过处理装置来计算式129。
[式129]
N0∶=2+u0+1+w0+z0,
即,主密钥生成部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]
即,主密钥生成部110以所输入的保密参数λ(1λ)、所设定的N0、以及所生成的paramG:=(q,G,GT,g,e)的值为输入而执行算法Gdpvs,生成对偶配对矢量空间的参数paramV0:=(q,V0,GT,A0,e)的值。
另外,主密钥生成部110以所设定的N0、和Fq为输入,随机地生成线性变换X0:=(χ0,i,j)i,j。另外,GL是General Linear的简称。即,GL是一般线性群,是行列式并非0的方阵的集合,关于乘法是群。另外,(χ0,i,j)i,j是与矩阵χ0,i,j的下标i、j相关的矩阵这样的意思,此处,i、j=1,...,N0。
另外,主密钥生成部110根据随机数ψ和线性变换X0,生成(ν0, i,j)i,j:=ψ·(X0 T)-1。另外,(ν0,i,j)i,j也与(χ0,i,j)i,j同样地,是与矩阵ν0,i,j的下标i、j相关的矩阵这样的意思,此处,i、j=1,...,N0。
然后,主密钥生成部110根据线性变换X0,从标准基底A0生成基底B0。同样地,主密钥生成部110根据(ν0,i,j)i,j,从标准基底A0生成基底B* 0。
接下来,主密钥生成部110通过处理装置来计算式131。
[式131]
对于t=1,...,dKP,
即,主密钥生成部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,j)i,j。(χt KP ,i,j)i,j是与矩阵χt KP ,i, j的下标i、j相关的矩阵这样的意思,此处,i、j=1,...,Nt KP。
另外,主密钥生成部110根据随机数ψ和线性变换Xt KP,生成(νt KP ,i,j)i,j:=ψ·((Xt KP)T)-1。另外,(νt KP ,i,j)i,j也与(χt KP,i,j)i,j同样地,是与矩阵νt KP ,i,j的下标i,j相关的矩阵这样的意思,此处,i、j=1,...,Nt KP。
然后,主密钥生成部110根据线性变换Xt KP,从标准基底At KP生成基底Bt KP。同样地,主密钥生成部110根据(νt KP ,i,j)i,j,从标准基底At KP生成基底B* t KP。
接下来,主密钥生成部110通过处理装置来计算式132。
[式132]
对于t=1,...,dCP,
即,主密钥生成部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,j)i,j。(χt CP ,i,j)i,j是与矩阵χt CP ,i, j的下标i,j相关的矩阵这样的意思,此处,i、j=1,...,Nt CP。
另外,主密钥生成部110根据随机数ψ和线性变换Xt CP,生成(νt CP ,i,j)i,j:=ψ·((Xt CP)T)-1。另外,(νt CP ,i,j)i,j也与(χt CP,i,j)i,j同样地,是与矩阵νt CP ,i,j的下标i,j相关的矩阵这样的意思,此处,i、j=1,...,Nt CP。
然后,主密钥生成部110根据线性变换Xt CP,从标准基底At CP生成基底Bt CP。同样地,主密钥生成部110根据(νt CP ,i,j)i,j,从标准基底At CP生成基底B* t CP。
接下来,主密钥生成部110通过处理装置来计算式133。
[式133]
gT:=e(g,g)ψ,
即,主密钥生成部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(bt,i,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,
主密钥生成部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]
对于t=1,...,dKP
对于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]
对于t=1,...,dKP,
对于t=1,...,dCP,
返回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]
(S203:s矢量生成步骤)
s矢量生成部142通过处理装置,根据在(S201)中输入的访问构造SKP中包含的(LKP行×rKP列)的矩阵MKP、和在(S202)中生成的具有rKP个要素的矢量f→KP,如式138所示生成矢量(s→KP)T。
[式138]
另外,s矢量生成部142通过处理装置,根据在(S202)中生成的矢量f→KP,如式139所示生成值s0 KP。另外,1→是所有的要素为值1的矢量。
[式139]
(S204:随机数生成步骤)
随机数生成部143通过处理装置,针对随机数δCP、和ΓCP中包含的(t,x→ t CP)的各整数t,如式140所示生成随机数η→ t CP和随机数η→ 0。
[式140]
(S205:主解密密钥生成步骤)
主解密密钥生成部144通过处理装置,如式141所示生成作为解密密钥sk(SKP,ΓCP)的要素的主解密密钥k* 0。
[式141]
另外,如上所述,针对式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,
即,式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 KP+θi 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]
对于i=1,...,LKP,
说明加密装置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]
(S304:f矢量生成步骤)
f矢量生成部231通过处理装置,如式146所示随机地生成具有rCP个要素的矢量f→CP。
[式146]
(S305:s矢量生成步骤)
s矢量生成部232通过处理装置,根据在(S302)中输入的访问构造SCP中包含的(LCP行×rCP列)的矩阵MCP、和在(S304)中生成的具有rCP个要素的矢量f→CP,如式147所示生成矢量(s→CP)T。
[式147]
另外,s矢量生成部142通过处理装置,根据在(S304)中生成的矢量f→CP,如式148所示生成值s0 CP。另外,1→是所有的要素为值1的矢量。
[式148]
(S306:主加密数据生成步骤)
主加密数据生成部234通过处理装置,如式149所示生成作为加密数据ct(ΓKP,SCP)的要素的主加密数据c0。
[式149]
另外,如上所述,针对式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]
即,式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,
即,式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 CP+θi 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]
另外,如上所述,是式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]
对于i=1,...,LCP
返回
说明解密装置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]
另外,CP补充系数计算部342通过处理装置,计算成为式156的ICP,并且针对ICP中包含的各整数i,计算常数(补充系数)αi CP。
[式156]
(S405:配对运算步骤)
配对运算部350通过处理装置来计算式157,生成会话密钥K=gT ζ。
[式157]
另外,如式158所示,通过计算式157而得到密钥K=gT ζ。
[式158]
(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]
如果接受
并且接受
返回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]
返回pk,sk.
[式161]
对于t=1,...,dCP,
对于t=1,...dKP,
对于t=1,...,dCP,
gT:=e(g,g)ψ,
返回
另外,式144所示的KeyGen算法如式162那样被改写。
[式162]
对于i=1,...,LKP,
另外,式154所示的Enc算法如式163那样被改写。
[式163]
Enc(pk,m,ΓKP∶=
对于
对于i=1,...,LCP
另外,在式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→KP)T,而设为s0:=h→KP·(f→KP)T即可。同样地,在Enc算法中,并非是s0 CP:=1→·(f→CP)T,而设为s0:=h→CP·(f→CP)T即可。
实施方式2.
在以上的实施方式中,说明了在对偶矢量空间中实现密码处理的方法。在该实施方式中,说明在对偶模中实现密码处理的方法。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码处理。但是,在使用合成数M如式164那样表示了环R的情况下,即使在将环R设为系数的模块中,也能够应用在上述实施方式中说明的密码处理。
[式164]
R:=Z/MZ
此处,
Z:整数
M:合成数
例如,如果在将环R设为系数的模块中实现在实施方式1中说明的Unified-Policy函数型密码,则成为式165至式169。
[式165]
N0:=2+u0+1+w0+z0,
对于t=1,...,dKP,
对于t=1,..,dCP,
gT∶=e(g,g)ψ,
[式166]
对于t=1,...,dKP,
对于t=1,...,dCP,
返回pk,sk.
[式167]
对于i=1,...,LKP,
对于
[式168]
对于i=1,....LCP
[式169]
返回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,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,i’CP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP;
主解密密钥生成部,设定值-s0 KP(s0 KP:=h→KP·(f→KP)T,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→KP)T:=(s1 KP,...,si KP)T:=MKP·(f→KP)T(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 KP+θi KPvi,1 KP作为该组的识别信息t所表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定θi KPvi,i’KP作为所述识别信息t和i’=2、...、nt KP的各整数i’所表示的基底矢量b* t,i’KP的系数,生成要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,设定si KPvi,i’KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’所表示的基底矢量b* t,i’KP的系数,生成要素k* i KP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k* t CP,其中,设定设为所述随机数δCP倍的xt,i’CP作为基底B* t CP的基底矢量b* t,i’CP(i’=1,...,nt CP)的系数,生成要素k* t CP,
所述加密装置具备:
第2KP信息输入部,针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x→ t KP:=(xt,i’KP)(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→CP)T,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0;
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’KP作为基底Bt KP的基底矢量bt,i’KP(i’=1,...,nt)的系数,生成要素ct KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,...,si CP)T:=MCP·(f→CP)T(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v→ i CP)的情况下,设定si CP+θi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,i’CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,设定si CPvi,i’CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成要素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]
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,i’KP(i=1、...、LKP,i’=1、...、wt KP),生成式3所示的要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,根据随机数ηi,i’KP(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,i’CP(i=1、...、LCP,i’=1、...、zt CP),生成式8所示的要素ci CP,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,根据随机数φi,i’CP(i=1、...、LCP,i’=1、...、zt CP),生成式9所示的要素ci CP,
[式2]
[式3]
[式4]
[式5]
[式6]
[式7]
[式8]
[式9]
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,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,i’CP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP;
主解密密钥生成部,设定值-s0 KP(s0 KP:=h→KP·(f→KP)T,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→KP)T:=(s1 KP,...,si KP)T:=MKP·(f→KP)T(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 KP+θi KPvi,1 KP作为该组的识别信息t表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定θi KPvi,i’KP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,生成解密密钥sk(SKP,ΓCP)的要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,设定si KPvi,i’KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,生成解密密钥sk(SKP,ΓCP)的要素k* i KP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k* t CP,其中,设定设为所述随机数δCP倍的xt,i’CP作为基底B* t CP的基底矢量b* t,i’CP(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,i’KP)(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→CP)T,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成加密数据ct(ΓKP,SCP)的要素c0;
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’KP作为基底Bt KP的基底矢量bt,i’KP(i’=1,...,nt)的系数,生成加密数据ct(ΓKP,SCP)的要素ct KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,...,si CP)T:=MCP·(f→CP)T(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v→ i CP)的情况下,设定si CP+θi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,i’CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成加密数据ct(ΓKP, SCP)的要素ci CP,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,设定si CPvi,i’CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成加密数据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,i’KP)(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,i’CP)(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→CP)T,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定了随机数ζ作为基底矢量b0,q的系数;要素ct KP,针对所述属性集合ΓKP中包含的各识别信息t,设定了设为所述随机数ωKP倍的xt,i’KP作为基底Bt KP的基底矢量bt,i’KP(i’=1,...,nt)的系数;以及根据所述f→CP、基于所述矩阵MCP生成的列矢量(s→CP)T:=(s1 CP,...,si CP)T:=MCP·(f→CP)T(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 CP+θi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定了θi CPvi,i’CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,设定了si CPvi,i’CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数;
解密密钥取得部,取得解密密钥sk(SKP,ΓCP),该解密密钥sk(SKP, ΓCP)包括:关于i=1、...、LKP(LKP是1以上的整数)的各整数i的变量ρKP(i),其中,该变量ρKP(i)是识别信息t(t=1、...、dKP中的某一个整数)和属性矢量v→ i KP:=(vi,i’KP)(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,i’CP)(i’=1,...,nt CP)的属性集合ΓCP;要素k* 0,设定了值-s0 KP(s0 KP:=h→KP·(f→KP)T,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→KP)T:=(s1 KP,...,si KP)T:=MKP·(f→KP)T(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 KP+θi KPvi,1 KP作为该组的识别信息t表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定了θi KPvi,i’KP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,设定了si KPvi,i’KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数;以及要素k* t CP,针对所述属性集合ΓCP中包含的各识别信息t,设定了设为所述随机数δCP倍的xt,i’CP作为基底B* t CP的基底矢量b* t,i’CP(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]
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,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,i’CP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP;
主解密密钥生成工序,所述密钥生成装置设定值-s0 KP(s0 KP:=h→KP·(f→KP)T,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→KP)T:=(s1 KP,...,si KP)T:=MKP·(f→KP)T(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 KP+θi KPvi,1 KP作为该组的识别信息t表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定θi KPvi,i’KP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,生成要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,设定si KPvi,i’KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,生成要素k* i KP;
CP解密密钥生成工序,所述密钥生成装置生成关于在所述第1CP信息输入工序中输入的属性集合ΓCP中包含的各识别信息t的要素k* t CP,其中,设定设为所述随机数δCP倍的xt,i’CP作为基底B* t CP的基底矢量b* t,i’CP(i’=1,...,nt CP)的系数,生成要素k* t CP;
第2KP信息输入工序,加密装置针对t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x→ t KP:=(xt,i’KP)(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→CP)T,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0;
KP加密数据生成工序,所述加密装置生成关于在所述第2KP信息输入工序中输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’KP作为基底Bt KP的基底矢量bt,i’KP(i’=1,...,nt)的系数,生成要素ct KP;
CP加密数据生成工序,所述加密装置根据所述f→CP、基于在所述第2CP信息输入工序中输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,...,si CP)T:=MCP·(f→CP)T(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v→ i CP)的情况下,设定si CP+θi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,i’CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,设定si CPvi,i’CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成要素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]
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,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,i’CP)(i’=1、...、nt CP,nt CP是1以上的整数)的属性集合ΓCP;
主解密密钥生成处理,设定值-s0 KP(s0 KP:=h→KP·(f→KP)T,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→KP)T:=(s1 KP,...,si KP)T:=MKP·(f→KP)T(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 KP+θi KPvi,1 KP作为该组的识别信息t表示的基底B* t KP的基底矢量b* t,1 KP的系数,并且设定θi KPvi,i’KP作为所述识别信息t和i’=2、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,生成要素k* i KP,在变量ρKP(i)是否定形的组¬(t,v→ i KP)的情况下,设定si KPvi,i’KP作为该组的识别信息t和i’=1、...、nt KP的各整数i’表示的基底矢量b* t,i’KP的系数,生成要素k* i KP;以及
CP解密密钥生成处理,生成关于在所述第1CP信息输入处理中输入的属性集合ΓCP中包含的各识别信息t的要素k* t CP,其中,设定设为所述随机数δCP倍的xt,i’CP作为基底B* t CP的基底矢量b* t,i’CP(i’=1,...,nt CP)的系数,生成要素k* t CP,
所述加密程序使计算机执行:
第2KP信息输入处理,关于t=1、...、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x→ t KP:=(xt,i’KP)(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→CP)T,h→CP以及f→CP是具有rCP个要素的矢量)作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0;
KP加密数据生成处理,生成关于在所述第2KP信息输入处理中输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’KP作为基底Bt KP的基底矢量bt,i’KP(i’=1,...,nt)的系数,生成要素ct KP;以及
CP加密数据生成处理,根据所述f→CP、基于在所述第2CP信息输入处理中输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,...,si CP)T:=MCP·(f→CP)T(i=LCP)、以及随机数θi CP(i=1,...,LCP),生成关于i=1、...、LCP的各整数i的要素ci CP,其中,关于i=1、...、LCP的各整数i,在变量ρCP(i)是肯定形的组(t,v→ i CP)的情况下,设定si CP+θi CPvi,1 CP作为该组的识别信息t表示的基底Bt CP的基底矢量bt,1 CP的系数,并且设定θi CPvi,i’CP作为所述识别信息t和i’=2、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成要素ci CP,在变量ρCP(i)是否定形的组¬(t,v→ i CP)的情况下,设定si CPvi,i’CP作为该组的识别信息t和i’=1、...、nt CP的各整数i’表示的基底矢量bt,i’CP的系数,生成要素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]
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)
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)
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)
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 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
-
2010
- 2010-12-22 JP JP2010286511A patent/JP5693206B2/ja active Active
-
2011
- 2011-12-06 EP EP11851495.9A patent/EP2613472A4/en not_active Ceased
- 2011-12-06 KR KR1020137012670A patent/KR101393899B1/ko active IP Right Grant
- 2011-12-06 WO PCT/JP2011/078164 patent/WO2012086405A1/ja active Application Filing
- 2011-12-06 CN CN201180061703.XA patent/CN103270719B/zh not_active Expired - Fee Related
- 2011-12-06 US US13/823,507 patent/US8938623B2/en active Active
Cited By (6)
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 |