CN103270719B - 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法 - Google Patents

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

Info

Publication number
CN103270719B
CN103270719B CN201180061703.XA CN201180061703A CN103270719B CN 103270719 B CN103270719 B CN 103270719B CN 201180061703 A CN201180061703 A CN 201180061703A CN 103270719 B CN103270719 B CN 103270719B
Authority
CN
China
Prior art keywords
integer
group
vector
coefficient
base vector
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.)
Expired - Fee Related
Application number
CN201180061703.XA
Other languages
English (en)
Other versions
CN103270719A (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

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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法
技术领域
本发明涉及函数型密码(Functional Encryption,FE(功能加密))方式。
背景技术
在非专利文献3-6、10、12、13、15、18中,记载有关于作为函数型密码方式的1个分类的基于ID的密码(Identity-Based Encryption,IBE(基于身份的加密))方式。
非专利文献1:Beimel,A.,Secure schemes for secret sharing and key distribution.PhD Thesis,Israel Institute of Technology,Technion,Haifa,Israel,1996
非专利文献2:Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertextpolicy attribute-based encryption.In:2007IEEE Symposium on Security and Privacy,pp.321·34.IEEE Press(2007)
非专利文献3:Boneh,D.,Boyen,X.:Efficient selective-ID secure 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 based encryption 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.:Hierarchical identity based encryption with constant size ciphertext.In:Cramer, R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.440·56.Springer Heidelberg(2005)
非专利文献6:Boneh,D.,Franklin,M.:Identity-based encryption from the Weil pairing.In:Kilian,J.(ed.)CRYPTO2001.LNCS,vol.2139,pp.213·29.Springer Heidelberg(2001)
非专利文献7:Boneh,D.,Hamburg,M.:Generalized identity based 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 for CCA-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 hierarchical identity-based encryption(without random oracles).In:Dwork,C.(ed.)CRYPTO2006.LNCS,vol.4117,pp.290·07.Springer Heidelberg(2006)
非专利文献11:Canetti,R.,Halevi S.,Katz J.,Chosen-ciphertext security from identity-based encryption.EUROCRYPT2004,LNCS,Springer-Verlag(2004)
非专利文献12:Cocks,C.:An identity based encryption scheme based on quadratic residues.In:Honary,B.(ed.)IMAInt.Conf.LNCS,vol.2260,pp.360·63.Springer Heidelberg(2001)
非专利文献13:Gentry,C.:Practical identity-based encryption without random oracles.In:Vaudenay,S.(ed.)EUROCRYPT2006.LNCS,vol.4004,pp.445·64.Springer Heidelberg(2006)
非专利文献14:Gentry,C.,Halevi,S.:Hierarchical  identity-based encryption with polynomially many levels.In:Reingold,O.(ed.)TCC2009.LNCS,vol.5444,pp.437·56.Springer Heidelberg(2009)
非专利文献15:Gentry,C.,Silverberg,A.:Hierarchical ID-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 controlof encrypted data.In:ACM Conference on Computer and Communication Security2006,pp.89·8,ACM(2006)
非专利文献17:Groth,J.,Sahai,A.:Efficient non-interactive proof systems for bilinear groups.In:Smart,N.P.(ed.)EUROCRYPT2008.LNCS,vol.4965,pp.415·32.Springer Heidelberg(2008)
非专利文献18:Horwitz,J.,Lynn,B.:Towards hierarchical identity-based encryption.In:Knudsen,L.R.(ed.)EUROCRYPT2002.LNCS,vol.2332,pp.466·81.Springer Heidelberg(2002)
非专利文献19:Katz,J.,Sahai,A.,Waters,B.:Predicate encryption supporting disjunctions,polynomial equations,andinner products.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-based encryption 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 HIBE with short ciphertexts.ePrint,IACR,http://eprint.iacr.org/2009/482 
非专利文献22:Okamoto,T.,Takashima,K.:Homomorphic  encryption 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.:Hierarchical predicate encryption for Inner-Products,In:ASIACRYPT2009,Springer Heidelberg(2009)
非专利文献24:Okamoto,T.,Takashima,K.:Fully Secure Functional Encryption with General Relations from the Decisional Linear 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:ACM Conferenceon Computer and Communication Security2006,pp.99·12,ACM,(2006)
非专利文献27:Sahai,A.,Waters,B.:Fuzzy identity-based encryption.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.457·73.Springer Heidelberg(2005)
非专利文献28:Shi,E.,Waters,B.:Delegating capability in 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 encryption without random oracles.Eurocrypt2005,LNCS No.3152,pp.443·59.Springer Verlag,2005.
非专利文献30:Waters,B.:Ciphertext-policy attribute-based encryption:an expressive,efficient,and provably securerealization.ePrint,IACR,http://eprint.iacr.org/2008/290 
非专利文献31:Waters,B.:Dual system encryption:Realizing fully secure IBE and HIBE under simple assumptions.In:Halevi,S.(ed.)CRYPTO2009.LNCS,vol.5677,pp.619·36.Springer Heidelberg(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 * ) ,
在本发明的密码处理系统中,向解密密钥和密文这两者嵌入了访问构造(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]
表示 ( 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]
对于 j = 1 , . . . , n t KP ,
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.
在该实施方式中,说明成为实现“函数型密码(Functional Encryption)方式”的基础的概念、和函数型密码的结构。
第1,简单说明函数型密码。
第2,说明作为用于实现函数型密码的空间的“对偶配对矢量空间(Dual Pairing Vector Spaces,DPVS)”这样的具有丰富的数学性构造的空间。
第3,说明用于实现函数型密码的概念。此处,说明“区间程序(Span Program)”、“属性矢量的内积和访问构造”、“秘密分散方式(秘密共享方式)”。
第4,说明该实施方式的“函数型密码方式”。在该实施方式中,说明“Unified-Policy函数型密码(Unified-Policy Functional Encryption,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 Pairing Groups)。
对称双线性配对群(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]
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]
将式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>的情况下,存在作为 的常数{α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]
[式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
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,
( v 0 , i , j ) i , : j : = &psi; &CenterDot; ( X 0 T ) - 1 ,
对于t=1,...,dKP,
( v t , i , j KP ) i , j : = &psi; &CenterDot; ( ( X t KP ) T ) - 1 ,
对于t=1,...,dCP,
( v t , i , j CP ) i , j : = &psi; &CenterDot; ( ( X t CP ) T ) - 1 ,
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,
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]
( v 0 , i , j ) i , j : = &psi; &CenterDot; ( X 0 T ) - 1 ,
即,主密钥生成部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
( v t , i , j KP ) i , j : = &psi; &CenterDot; ( ( X t KP ) T ) - 1 ,
即,主密钥生成部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 KP, i,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
( v t , i , j KP ) i , j : = &psi; &CenterDot; ( ( X t KP ) T ) - 1 ,
即,主密钥生成部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 CP, i,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)ψ,
即,主密钥生成部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→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]
以使
(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 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]
( 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 ,
对于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→CPT
[式147]
( s &RightArrow; CP ) T : = ( s 1 CP , . . . , s L CP CP ) T : = M CP &CenterDot; ( f &RightArrow; CP ) T
另外,s矢量生成部232通过处理装置,根据在(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]
另外,如上所述,针对式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(此处,ztKP是zt KP)。
(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 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]
( 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 ,
对于
对于i=1,...,LCP
如果
如果
c d + 1 : = g T &xi; m ,
返回
说明解密装置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]
是MKP的第i行,并且
另外,CP补充系数计算部342通过处理装置,计算成为式156的ICP,并且针对ICP中包含的各整数i,计算常数(补充系数)αi CP
[式156]
其中,是MCP的第i行,并且
(S405:配对运算步骤)
配对运算部350通过处理装置来计算式157,生成会话密钥K=gT ζ
[式157]
K : e ( c 0 , k 0 * ) .
另外,如式158所示,通过计算式157而得到密钥K=gT ζ
[式158]
K : e ( c 0 , k 0 * ) .
(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]
如果接受 &Gamma; KP : = { ( t , x &RightArrow; t KP ) }
并且接受 &Gamma; CP : = { ( t , x &RightArrow; t CP ) } ,
然后计算以及以使
其中是MKP的第i行,并且
并且
其中是MCP的第i行,并且
K : = e ( c 0 , k 0 * ) .
返回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]
对于t=1,...,dKP,
对于t=1,...,dCP,
返回pk,sk.
[式161]
对于t=1,...,dKP
对于t=1,...,dCP,
对于t=1,...dKP,
对于t=1,...,dCP
gT:=e(g,g)ψ,
返回
另外,式144所示的KeyGen算法如式162那样被改写。 
[式162]
( 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 ,
以使
对于i=1,...,LKP
如果
如果
对于
返回
另外,式154所示的Enc算法如式163那样被改写。 
[式163]
Enc(pk,m,ΓKP∶=
对于
s 0 CP : = 1 &RightArrow; &CenterDot; ( f &RightArrow; CP ) T ,
对于
对于i=1,...,LCP
如果
如果
c d + 1 : = g T &xi; m ,
返回
另外,在式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]
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
对于t=1,...,dKP
对于t=1,..,dCP,
( v t , i , j CP ) i , j : = &psi; ( ( X t CP ) T ) - 1 ,
gT∶=e(g,g)ψ,
返回
[式166]
对于t=1,...,dKP
对于t=1,...,dCP
返回pk,sk.
[式167]
( 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 ,
以使
对于i=1,...,LKP
如果
如果
对于 ( t , x &RightArrow; t CP ) &Element; &Gamma; CP ,
返回
[式168]
对于
对于
对于i=1,....LCP
如果
如果
c d + 1 : = g T &xi; m ,
返回
[式169]
如果接受 &Gamma; KP : = { ( t , x &RightArrow; x KP ) }
并且接受 &Gamma; CP : = { ( t , x &RightArrow; t CP ) } ,
然后计算以及以使
其中是MKP的第i行,并且
并且
其中是MCP的第i行,并且
K : e ( c 0 , k 0 * ) .
返回m'∶=cd+1/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 Crystal Display,液晶显示器)、键盘902(K/B)、通信板915、磁盘装置920连接,控制这些硬件设备。代替磁盘装置920(固定盘装置),而也可以是光盘装置、存储卡读写装置等存储装置。磁盘装置920经由规定的固定盘接口而连接。
ROM913、磁盘装置920是非易失性存储器的一个例子。RAM914是易失性存储器的一个例子。ROM913、RAM914以及磁盘装置920是存储装置(存储器)的一个例子。另外,键盘902、通信板915是输入装置的一个例子。另外,通信板915是通信装置的一个例子。而且,LCD901是显示装置的一个例子。
在磁盘装置920或者ROM913等中,存储有操作系统921(OS)、视窗系统922、程序群923、文件群924。程序群923的程序通过CPU911、操作系统921、视窗系统922而被执行。
在程序群923中,存储有执行在上述的说明中作为“主密钥生成部110”、“信息输入部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 (7)

1.一种密码处理系统,具备密钥生成装置、加密装置以及解密装置,使用B0以及基底B0 、关于t=1、…、dKP的各整数t的基底Bt KP以及基底B t KP、和关于t=1、…、dCP的各整数t的基底Bt CP以及基底B t CP来执行密码处理,所述dKP是1以上的整数,所述dCP是1以上的整数,所述密码处理系统的特征在于,
所述密钥生成装置具备:
第1KP信息输入部,输入关于i=1、…、LKP的各整数i的变量ρKP(i)、以及LKP行rKP列的规定的矩阵MKP,其中,该变量ρKP(i)是识别信息t和属性矢量v i KP:=(vi,i’ KP)的肯定形的组(t,v i KP)或者否定形的组(t,v i KP),所述LKP是1以上的整数,所述识别信息t=1、…、dKP中的某一个整数,所述i’=1、…、nt KP,nt KP是1以上的整数,所述rKP是1以上的整数;
第1CP信息输入部,针对t=1、…、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,i’ CP)的属性集合ΓCP,所述属性矢量x t CP:=(xt,i’ CP)中的i’=1、…、nt CP,nt CP是1以上的整数;
主解密密钥生成部,设定值-s0 KP作为基底B 0的基底矢量b 0,p的系数,设定随机数δCP作为基底矢量b 0,p’的系数,设定规定的值κ作为基底矢量b 0,q的系数,生成要素k 0,所述基底矢量b 0,p中的p是规定的值,所述s0 KP:=h→KP·(f→KP)T,h→KP以及f→KP是具有rKP个要素的矢量,所述基底矢量b 0,p’中的p’是与所述p不同的规定的值,所述基底矢量b 0,q中的q是与所述p以及所述p’不同的规定的值;
KP解密密钥生成部,根据所述f→KP、基于所述第1KP信息输入部所输入的矩阵MKP而生成的列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T、以及随机数θi KP,生成关于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,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,所述列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T中的i=LKP,所述随机数θi KP中的i=1、…、LKP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,i’ CP作为基底B t CP的基底矢量b t,i’ CP的系数,生成要素k t CP,所述基底矢量b t,i’ CP中的i’=1、…、nt CP
所述加密装置具备:
第2KP信息输入部,针对t=1、…、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,i’ KP)的属性集合ΓKP,所述属性矢量x t KP:=(xt,i’ KP)中的i’=1、…、nt KP
第2CP信息输入部,输入关于i=1、…、LCP的各整数i的变量ρCP(i)、以及LCP行rCP列的规定的矩阵MCP,其中,该变量ρCP(i)是识别信息t和属性矢量v i CP:=(vi,i’ CP)的肯定形的组(t,v i CP)或者否定形的组(t,v i CP),所述LCP是1以上的整数,该识别信息t=1、…、dCP中的某一个整数,所述属性矢量v i CP:=(vi,i’ CP)中的i’=1、…、nt CP,所述rCP是1以上的整数;
主加密数据生成部,设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0,所述s0 CP:=h→CP·(f→CP)T,h→CP以及f→CP是具有rCP个要素的矢量;
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’ KP作为基底Bt KP的基底矢量bt,i’ KP的系数,生成要素ct KP,所述基底矢量bt,i’ KP中的i’=1、…、nt KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T、以及随机数θi CP,生成关于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,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,所述(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T中的i=LCP,所述随机数θi CP中的i=1、…、LCP
所述解密装置具备:
数据取得部,取得加密数据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的基底B0,其中,所述基底矢量b0,i中的i=1、2、…、2+u0、2+u0+1、…、2+u0+1+w0、…、2+u0+1+z0,u0、w0、z0是1以上的整数;
至少具有基底矢量b 0,i的基底B 0,其中,所述基底矢量b 0,i中的i=1、2、…、2+u0、2+u0+1、…、2+u0+1+w0、…、2+u0+1+z0
至少具有基底矢量bt,i KP的基底Bt KP,其中,所述基底矢量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以上的整数;
至少具有基底矢量b t,i KP的基底B t KP,其中,所述基底矢量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
至少具有基底矢量bt,i CP的基底Bt CP,其中,所述基底矢量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以上的整数;以及
至少具有基底矢量b t,i CP的基底B t CP,其中,所述基底矢量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
来执行密码处理,
其中,所述基底Bt KP中的t=1、…、dKP,所述基底B t KP中的t=1、…、dKP,所述基底Bt CP中的t=1、…、dCP,所述基底B t CP中的t=1、…、dCP
在所述密钥生成装置中,
所述主解密密钥生成部根据随机数δCP、随机数η0,i和规定的值κ,生成式2所示的要素k 0,所述随机数η0,i中的i=1、…、w0
所述KP解密密钥生成部在所述变量ρKP(i)是肯定形的组(t,v i KP)的情况下,根据随机数θi KP、随机数ηi,i’ KP,生成式3所示的要素k i KP,在变量ρKP(i)是否定形的组(t,v i KP)的情况下,根据随机数ηi,i’ KP,生成式4所示的要素k i KP,所述随机数θi KP中的i=1、…、LKP,所述随机数ηi,i’ KP中的i=1、…、LKP且i’=1、…、wt KP
所述CP解密密钥生成部根据所述随机数δCP和随机数ηt,i CP,生成式5所示的要素η t CP,所述随机数ηt,i CP中的i=1、…、wt CP
在所述加密装置中,
所述主加密数据生成部根据所述随机数ωKP和随机数ζ、φ0,i,生成式6所示的要素c0,所述φ0,i中的i=1、…、z0
所述KP加密数据生成部根据所述随机数ωKP和随机数φt,i KP,生成式7所示的要素ct KP,所述随机数φt,i KP中的i=1、…、zt KP
所述CP加密数据生成部在所述变量ρCP(i)是肯定形的组(t,v i CP)的情况下,根据随机数θi CP、随机数φi,i’ CP,生成式8所示的要素ci CP,在变量ρCP(i)是否定形的组(t,v i CP)的情况下,根据随机数φi,i’ CP,生成式9所示的要素ci CP,所述随机数θi CP中的i=1、…、LCP,所述随机数φi,i’ CP中的i=1、…、LCP且i’=1、…、zt 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的各整数t的基底Bt KP以及基底B t KP、和关于t=1、…、dCP的各整数t的基底Bt CP以及基底B t CP来执行密码处理的密码处理系统中,生成解密密钥sk(SKP,ΓCP),所述dKP是1以上的整数,所述dCP是1以上的整数,所述密钥生成装置的特征在于,具备:
第1KP信息输入部,输入关于i=1、…、LKP的各整数i的变量ρKP(i)、以及LKP行rKP列的规定的矩阵MKP,其中,所述变量ρKP(i)是识别信息t和属性矢量v i KP:=(vi,i’ KP)的肯定形的组(t,v i KP)或者否定形的组(t,v i KP),所述LKP是1以上的整数,所述识别信息t=1、…、dKP中的某一个整数,所述属性矢量v i KP:=(vi,i’ KP)中的i’=1、…、nt KP,nt KP是1以上的整数,所述rKP是1以上的整数;
第1CP信息输入部,针对t=1、…、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,i’ CP)的属性集合ΓCP,所述属性矢量x t CP:=(xt,i’ CP)中的i’=1、…、nt CP,nt CP是1以上的整数;
主解密密钥生成部,设定值-s0 KP作为基底B 0的基底矢量b 0,p的系数,设定随机数δCP作为基底矢量b 0,p’的系数,设定规定的值κ作为基底矢量b 0,q的系数,生成解密密钥sk(SKP,ΓCP)的要素k 0,所述基底矢量b 0,p中的p是规定的值,所述s0 KP:=h→KP·(f→KP)T,h→KP以及f→KP是具有rKP个要素的矢量,所述基底矢量b 0,p’中的p,是与所述p不同的规定的值,所述基底矢量b 0,q中的q是与所述p以及所述p’不同的规定的值;
KP解密密钥生成部,根据所述f→KP、基于所述第1KP信息输入部输入的矩阵MKP而生成的列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T、以及随机数θi KP,生成关于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,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,所述列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T中的i=LKP,所述随机数θi KP中的i=1、…、LKP;以及
CP解密密钥生成部,生成关于所述第1CP信息输入部所输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,i’ CP作为基底B t CP的基底矢量b t,i’ CP的系数,生成解密密钥sk(SKP,ΓCP)的要素k t CP,所述基底矢量b t,i’ CP中的i’=1、…、nt CP
5.一种加密装置,在使用基底B0以及基底B0 、关于t=1、…、dKP的各整数t的基底Bt KP以及基底B t KP、和关于t=1、…、dCP的各整数t的基底Bt CP以及基底B t CP来执行密码处理的密码处理系统中,生成加密数据ct(ΓKP,SCP),所述dKP是1以上的整数,所述dCP是1以上的整数,所述加密装置的特征在于,具备:
第2KP信息输入部,针对t=1、…、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,i’ KP)的属性集合ΓKP,所述属性矢量x t KP:=(xt,i’ KP)中的i’=1、…、nt KP
第2CP信息输入部,输入关于i=1、…、LCP的各整数i的变量ρCP(i)、以及LCP行rCP列的规定的矩阵MCP,其中,所述变量ρCP(i)是识别信息t和属性矢量v i CP:=(vi,i’ CP)的肯定形的组(t,v i CP)或者否定形的组(t,v i CP),所述LCP是1以上的整数,所述识别信息t=1、…、dCP中的某一个整数,所述属性矢量v i CP:=(vi,i’ CP)中的i’=1、…、nt CP,所述rCP是1以上的整数;
主加密数据生成部,设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成加密数据ct(ΓKP,SCP)的要素c0,所述s0 CP:=h→CP·(f→CP)T,h→CP以及f→CP是具有rCP个要素的矢量;
KP加密数据生成部,生成关于所述第2KP信息输入部所输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’ KP作为基底Bt Kp的基底矢量bt,i’ KP的系数,生成加密数据ct(ΓKP,SCP)的要素ct KP,所述基底矢量bt,i’ KP中的i’=1,…,nt KP;以及
CP加密数据生成部,根据所述f→CP、基于所述第2CP信息输入部所输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T、以及随机数θi CP,生成关于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,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,所述(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T中的i=LCP,所述随机数θi CP中的i=1、…、LCP
6.一种解密装置,在使用基底B0以及基底B0 、关于t=1、…、dKP的各整数t的基底Bt Kp以及基底B t KP、和关于t=1、…、dCP的各整数t的基底Bt CP以及基底B t CP来执行密码处理的密码处理系统中,利用解密密钥sk(SKP,ΓCP)对加密数据ct(ΓKP,SCP)进行解密,所述dKP是1以上的整数,所述dCP是1以上的整数,所述解密装置的特征在于,具备:
数据取得部,取得加密数据ct(ΓKP,SCP),该加密数据ct(ΓKP,SCP)包括:关于t=1、…、dKP的至少1个以上的整数t具有识别信息t和属性矢量x t KP:=(xt,i’ KP)的属性集合ΓKP,所述属性矢量x t KP:=(xt,i’ KP)中的i,=1、…、Bt KP,Bt KP是1以上的整数;关于i=1、…、LCP的各整数i的变量ρCP(i),其中,该变量ρCP(i)是识别信息t和属性矢量v i CP:=(vi,i’ CP)的肯定形的组(t,v i CP)或者否定形的组(t,v i CP),所述LCP是1以上的整数,所述识别信息t=1、…、dCP中的某一个整数,所述属性矢量v i CP:=(vi,i’ CP)中的i’=1、…、nt CP,nt CP是1以上的整数;LCP行rCP列的规定的矩阵MCP,此处所述rCP是1以上的整数;要素c0,设定了随机数ωKP作为基底B0的基底矢量b0,p的系数,设定了值-s0 CP作为基底矢量b0,p’的系数,设定了随机数ζ作为基底矢量b0,q的系数,所述s0 CP:=h→CP·(f→CP)T,h→CP以及f→CP是具有rCP个要素的矢量;要素ct KP,针对所述属性集合ΓKP中包含的各识别信息t,设定了设为所述随机数ωKP倍的xt,i’ KP作为基底Bt KP的基底矢量bt,i’ KP的系数,所述基底矢量bt,i’ KP中的i’=1、…、nt KP;以及根据所述f→CP、基于所述矩阵MCP生成的列矢量(s→CP)T:=(si CP,…,si CP)T:=MCP·(f→CP)T、以及随机数θi CP而针对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,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的系数,所述(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T中的i=LCP,所述随机数θi CP中的i=1、…、LCP
解密密钥取得部,取得解密密钥sk(SKP,ΓCP),该解密密钥sk(SKP, ΓCP)包括:关于i=1、…、LKP的各整数i的变量ρKP(i),其中,该变量ρKP(i)是识别信息t和属性矢量v i KP:=(vi,i’ KP)的肯定形的组(t,v i KP)或者否定形的组(t,v i KP),所述LKP是1以上的整数,所述识别信息t=1、…、dKP中的某一个整数,所述属性矢量v i KP:=(vi,i’ KP)中的i’=1、…、nt KP;LKP行rKP列的规定的矩阵MKP,此处所述rKP是1以上的整数;关于t=1、…、dCP的至少1个以上的整数t具有识别信息t和属性矢量x t CP:=(xt,i’ CP)的属性集合ΓCP,所述属性矢量x t CP:=(xt,i’ CP)中的i’=1、…、nt CP;要素k 0,设定了值-s0 KP作为基底B 0的基底矢量b 0,p的系数,设定了随机数δCP作为基底矢量b 0,p’的系数,设定了规定的值κ作为基底矢量b 0,q的系数,所述基底矢量b 0,p中的p是规定的值,所述s0 KP:=h→KP·(f→KP)T,h→KP以及f→KP是具有rKP个要素的矢量,所述基底矢量b 0,p’中的p’是与所述p不同的规定的值,所述基底矢量b 0,q中的q是与所述p以及所述p’不同的规定的值;根据所述f→KP、基于所述矩阵MKP生成的列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T、以及随机数θi KP而针对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,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的系数,所述列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T中的i=LKP,所述随机数θi KP中的i=1、…、LKP;以及要素k t CP,针对所述属性集合ΓCP中包含的各识别信息t,设定了设为所述随机数δCP倍的xt,i’ CP作为基底B t CP的基底矢量b t,i’ 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的各整数t的基底Bt KP以及基底B t KP、和关于t=1、…、dCP的各整数t的基底Bt CP以及基底B t CP的密码处理方法,所述dKP是1以上的整数,所述dCP是1以上的整数,其特征在于,具备:
第1KP信息输入工序,密钥生成装置输入关于i=1、…、LKP的各整数i的变量ρKP(i)、以及LKP行rKP列的规定的矩阵MKP,其中,该变量ρKP(i)是识别信息t和属性矢量v i KP:=(vi,i’ KP)的肯定形的组(t,v i KP)或者否定形的组(t,v i KP),所述LKP是1以上的整数,所述识别信息t=1、…、dKP中的某一个整数,所述属性矢量v i KP:=(vi,i’ KP)中的i’=1、…、nt KP,nt KP是1以上的整数,所述rKP是1以上的整数;
第1CP信息输入工序,所述密钥生成装置针对t=1、…、dCP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t CP:=(xt,i’ CP)的属性集合ΓCP,所述属性矢量x t CP:=(xt,i’ CP)中的i’=1、…、nt CP,nt CP是1以上的整数;
主解密密钥生成工序,所述密钥生成装置设定值-s0 KP作为基底B 0的基底矢量b 0,p的系数,设定随机数δCP作为基底矢量b 0,p’的系数,设定规定的值κ作为基底矢量b 0,q的系数,生成要素k 0,所述基底矢量b 0,p中的p是规定的值,所述s0 KP:=h→KP·(f→KP)T,h→KP以及f→KP是具有rKP个要素的矢量,所述基底矢量b 0,p’中的p’是与所述p不同的规定的值,所述基底矢量b 0,q中的q是与所述p以及所述p’不同的规定的值;
KP解密密钥生成工序,所述密钥生成装置根据所述f→KP、基于在所述第1KP信息输入工序中输入的矩阵MKP而生成的列矢量(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T、以及随机数θi KP,生成关于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,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,所述(s→KP)T:=(s1 KP,…,si KP)T:=MKP·(f→KP)T中的i=LKP,所述随机数θi KP中的i=1、…、LKP
CP解密密钥生成工序,所述密钥生成装置生成关于在所述第1CP信息输入工序中输入的属性集合ΓCP中包含的各识别信息t的要素k t CP,其中,设定设为所述随机数δCP倍的xt,i’ CP作为基底B t CP的基底矢量b t,i’ CP的系数,生成要素k t CP,所述基底矢量b t,i’ CP中的i’=1,…,nt CP
第2KP信息输入工序,加密装置针对t=1、…、dKP的至少1个以上的整数t,输入具有识别信息t和属性矢量x t KP:=(xt,i’ KP)的属性集合ΓKP,所述属性矢量x t KP:=(xt,i’ KP)中的i’=1、…、nt KP
第2CP信息输入工序,所述加密装置输入关于i=1、…、LCP的各整数i的变量ρCP(i)、以及LCP行rCP列的规定的矩阵MCP,其中,该变量ρCP(i)是识别信息t和属性矢量v i CP:=(vi,i’ CP)的肯定形的组(t,v i CP)或者否定形的组(t,v i CP),所述LCP是1以上的整数,所述识别信息t=1、…、dCP中的某一个整数,所述属性矢量v i CP:=(vi,i’ CP)中的i’=1、…、nt CP,所述rCP是1以上的整数;
主加密数据生成工序,所述加密装置设定随机数ωKP作为基底B0的基底矢量b0,p的系数,设定值-s0 CP作为基底矢量b0,p’的系数,设定随机数ζ作为基底矢量b0,q的系数,生成要素c0,所述s0 CP:=h→CP·(f→CP)T,h→CP以及f→CP是具有rCP个要素的矢量;
KP加密数据生成工序,所述加密装置生成关于在所述第2KP信息输入工序中输入的属性集合ΓKP中包含的各识别信息t的要素ct KP,其中,设定设为所述随机数ωKP倍的xt,i’ KP作为基底Bt KP的基底矢量bt,i’ KP的系数,生成要素ct KP,所述基底矢量bt,i’ KP中的i’=1、…、nt KP
CP加密数据生成工序,所述加密装置根据所述f→CP、基于在所述第2CP信息输入工序中输入的矩阵MCP而生成的列矢量(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T、以及随机数θi CP,生成关于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,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,所述(s→CP)T:=(s1 CP,…,si CP)T:=MCP·(f→CP)T中的i=LCP,所述随机数θi CP中的i=1、…、LCP
数据取得工序,解密装置取得加密数据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,进行式11所示的配对运算,计算值K,
[式11]
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 CN103270719A (zh) 2013-08-28
CN103270719B true 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)

Families Citing this family (18)

* 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 日本電信電話株式会社 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
CN104871477B (zh) * 2013-01-16 2018-07-10 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法
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
WO2015052799A1 (ja) 2013-10-09 2015-04-16 三菱電機株式会社 暗号システム、暗号化装置、再暗号化鍵生成装置、再暗号化装置及び暗号プログラム
JP6026017B2 (ja) * 2013-12-02 2016-11-16 三菱電機株式会社 データ処理システム及び暗号装置及び復号装置及びプログラム
CN105850071B (zh) 2014-01-14 2019-06-25 三菱电机株式会社 加密系统、重加密密钥生成装置以及重加密装置
CN106031080B (zh) 2014-02-24 2019-07-16 三菱电机株式会社 加密系统
WO2016088250A1 (ja) 2014-12-05 2016-06-09 三菱電機株式会社 復号条件追加装置、暗号システム及び復号条件追加プログラム
CN107454975B (zh) 2015-04-07 2020-11-27 三菱电机株式会社 加密系统和密钥生成装置
KR102447476B1 (ko) * 2015-08-20 2022-09-27 삼성전자주식회사 암복호 장치, 그것을 포함하는 저장 장치 및 그것의 암복호 방법
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
KR101994236B1 (ko) * 2017-04-21 2019-09-30 한국전자통신연구원 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치
EP3698515B1 (en) * 2017-10-17 2021-02-17 Koninklijke Philips N.V. Configurable device for lattice-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 四川师范大学 一种分层文件加密方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401141A (zh) * 2006-03-14 2009-04-01 日本电气株式会社 信息处理系统、信息处理方法以及信息处理程序
CN102859571A (zh) * 2010-04-27 2013-01-02 三菱电机株式会社 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置

Family Cites Families (7)

* 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
US7533270B2 (en) * 2002-04-15 2009-05-12 Ntt Docomo, 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
US8023646B2 (en) * 2006-11-08 2011-09-20 Voltage Security, Inc. Identity-based-encryption extensions formed using multiple instances of an identity based encryption scheme

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401141A (zh) * 2006-03-14 2009-04-01 日本电气株式会社 信息处理系统、信息处理方法以及信息处理程序
CN102859571A (zh) * 2010-04-27 2013-01-02 三菱电机株式会社 密码处理系统、密钥生成装置、加密装置、解密装置、签名处理系统、签名装置以及验证装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Functional Encryption for Inner Product:Achieving Constant-Size Ciphertexts with Adaptive Security or Support for Negation";Nuttapong Attrapadung,et al;《13th International Conference on Practice and Theory in Public Key Cryptography Paris》;20100528;第384-402页 *

Also Published As

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

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150930

Termination date: 20211206