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

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

Info

Publication number
CN102822883A
CN102822883A CN2010800653417A CN201080065341A CN102822883A CN 102822883 A CN102822883 A CN 102822883A CN 2010800653417 A CN2010800653417 A CN 2010800653417A CN 201080065341 A CN201080065341 A CN 201080065341A CN 102822883 A CN102822883 A CN 102822883A
Authority
CN
China
Prior art keywords
vector
sigma
key
dec
keys
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800653417A
Other languages
English (en)
Other versions
CN102822883B (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 CN102822883A publication Critical patent/CN102822883A/zh
Application granted granted Critical
Publication of CN102822883B publication Critical patent/CN102822883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

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)
  • Complex Calculations (AREA)

Abstract

本发明的目的在于实现能够进行权限转让的谓词密码。使用作为通过配对运算关联起来的对偶矢量空间(对偶畸变矢量空间)的空间V和空间V*进行密码处理。加密装置生成作为空间V中的矢量的、埋入了发送信息的矢量,来作为密码矢量。解密装置将空间V*中的规定的矢量作为密钥矢量,针对加密装置生成的密码矢量和密钥矢量,进行配对运算,对所述密码矢量进行解密,而抽出与发送信息相关的信息。特别,加密装置以及解密装置不使用空间V和空间V*的一部分的维而进行密码处理。

Description

密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
技术领域
本发明涉及层次性的谓词(predicate)密钥隐匿方式以及层次性的谓词密码。
背景技术
在非专利文献18中,记载了在通过配对运算关联起来的对偶空间中实现层次性的谓词密钥隐匿方式以及层次性的谓词密码的技术。
【非专利文献1】Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertext-policy attribute-based encryption.In:2007IEEESymposium on Security and Privacy,pp.321--334.IEEE Press(2007)
【非专利文献2】Boneh,D.,Boyen,X.:Efficient selective-IDsecure identity based encryption without randomoracles.In:Cachin,C.,Camenisch,J.(eds.)EUROCRYPT 2004.LNCS,vol.3027,pp.223--238.Springer Heidelberg(2004)
【非专利文献3】Boneh,D.,Boyen,X.:Secure identity basedencryption without random oracles.In:Franklin,M.K.(ed.)CRYPTO 2004.LNCS,vol.3152,pp.443--459.Springer Heidelberg(2004)
【非专利文献4】Boneh,D.,Boyen,X.,Goh,E.:Hierarchical identity based encryption with constantsizeciphertext.In:Cramer,R.(ed.)EUROCRYPT 2005.LNCS,vol.3494,pp.440--456.Springer Heidelberg(2005)
【非专利文献5】Boneh,D.,Franklin,M.:Identity-basedencryption from the Weil pairing.In:Kilian,J.(ed.)CRYPTO2001.LNCS,vol.2139,pp.213--229.Springer Heidelberg(2001)
【非专利文献6】Boneh,D.,Hamburg,M.:Generalizedidentity based and broadcast encryption scheme.In:Pieprzyk,J.(ed.)ASIACRYPT 2008.LNCS,vol.5350,pp.455--470.SpringerHeidelberg(2008)
【非专利文献7】Boneh,D.,Waters,B.:Conjunctive,subset,and range queries onencrypted data.In:Vadhan,S.P.(ed.)TCC2007.LNCS,vol.4392,pp.535--554.Springer Heidelberg(2007)
【非专利文献8】Boyen,X.,Waters,B.:Anonymoushierarchical identity-based encryption(without random oracles).In:Dwork,C.(ed.)CRYPTO 2006.LNCS,vol.4117,pp.290--307.Springer Heidelberg(2006)
【非专利文献9】Cocks,C.:An identity based encryptionscheme based on quadratic residues.In:Honary,B.(ed.)IMA Int.Conf.LNCS,vol.2260,pp.360--363.Springer Heidelberg(2001)
【非专利文献10】Gentry,C.:Practical identity-basedencryption without random oracles.In:Vaudenay,S.(ed.)EUROCRYPT 2006.LNCS,vol.4004,pp.445--464.SpringerHeidelberg(2006)
【非专利文献11】Gentry,C.,Halevi,S.:Hierarchicalidentity-based encryption with polynomially many levels.In:Reingold,O.(ed.)TCC 2009.LNCS,vol.5444,pp.437--456.Springer Heidelberg(2009)
【非专利文献12】Gentry,C.,Silverberg,A.:HierarchicalID-based cryptography.In:Zheng,Y.(ed.)ASIACRYPT2002.LNCS,vol.2501,pp.548--566.Springer Heidelberg(2002)
【非专利文献13】Goyal,V.,Pandey,O.,Sahai,A.,Waters,B.:Attribute-based encryption for fine-grained accesscontrol of encrypted data.In:ACM Conference on Computer andCommunication Security 2006,pp.89--98,ACM(2006)
【非专利文献14】Groth,J.,Sahai,A.:Efficientnon-interactive proof systems for bilinear groups.In:Smart,N.P.(ed.)EUROCRYPT 2008.LNCS,vol.4965,pp.415--432.SpringerHeidelberg(2008)
【非专利文献15】Horwitz,J.,Lynn,B.:Towards hierarchicalidentity-based encryption.In:Knudsen,L.R.(ed.)EUROCRYPT2002.LNCS,vol.2332,pp.466--481.Springer Heidelberg(2002)
【非专利文献16】Katz,J.,Sahai,A.,Waters,B.:Predicate encryption supporting disjunctions,polynomial equations,and inner products.In:Smart,N.P.(ed.)EUROCRYPT2008.LNCS,vol.4965,pp.146--162.Springer Heidelberg(2008)
【非专利文献17】Okamoto,T.,Takashima,K.:Homomorphic encryption and signatures fromvectordecomposition.In:Galbraith,S.D.,Paterson,K.G.(eds.)Pairing2008.LNCS,vol.5209,pp.57--74.Springer Heidelberg(2008)
【非专利文献18】Okamoto,T.,Takashima,K.:A geometricapproach on pairings and hierarchical predicate encryption.In:Poster session,EUROCRYPT 2009.(2009)
【非专利文献19】Ostrovsky,R.,Sahai,A.,Waters,B.:Attribute-based encryption with non-monotonic accessstructures.In:ACM Conference on Computer and Communication Security 2007,pp.195--203,ACM,(2007)
【非专利文献20】Pirretti,M.,Traynor,P.,McDaniel,P.,Waters,B.:Secure attribute-based systems.In:ACMConference on Computer and Communication Security 2006,pp.99--112,ACM,(2006)
【非专利文献21】Sahai,A.,Waters,B.:Fuzzyidentity-based encryption.In:Cramer,R.(ed.)EUROCRYPT2005.LNCS,vol.3494,pp.457--473.Springer Heidelberg(2005)
【非专利文献22】Shi,E.,Waters,B.:Delegating capabilityin predicate encryption systems.In:Aceto,L.,Damgard,I.,Goldberg,L.A.,Halldorsson,M.M.,Ingolfsdottir,A.,Walukiewicz,I.(eds.)ICALP(2)2008.LNCS,vol.5126,pp.560--578.Springer Heidelberg(2008)
【非专利文献23】Takashima,K.:Efficiently computabledistortion maps for supersingularcurves.In:van der Poorten,A.J.,Stein,A.(eds.)ANTS VIII,LNCS,vol.5011,pp.88--101.Springer Heidelberg(2008)
【非专利文献24】Waters,B.:Ciphertext-policy attribute-basedencryption:an expressive,efficient,and provably securerealization.ePrint,IACR,http://eprint.iacr.org/2008/290
【非专利文献25】T.Okamoto and K.Takashima,“Hierarchicalpredicate encryption for inner-products”,Asiacrypt 2009,LNCS vol.5912,pp.214-231.Springer Heidelberg(2009)
【非专利文献26】B.Waters,“Dual system encryption:Realizing fully secure IBE and HIBE under simple assumptions”,CRYPTO 2009,LNCS vol.5677,pp.619-636.Springer Heidelberg(2009)
【非专利文献27】A.Lewko and B.Waters,“New techniques fordual system encryption and fully secure HIBE with shortciphertexts”,ePrint,IACR,http://eprint.iacr.org/2009/482
发明内容
在非专利文献18中提出的层次性的谓词密钥隐匿方式以及层次性的谓词密码被证明了理想化的模型(Generic Model)中的安全性。但是,在非专利文献18中提出的层次性的谓词密钥隐匿方式以及层次性的谓词密码没有被证明标准的模型(Standard Model)中的安全性。
本发明的目的在于提供一种安全性高的谓词密码以及谓词密钥隐匿方式。特别,其目的在于提供一种能够进行权限转让的谓词密码以及谓词密钥隐匿方式。
本发明的密码处理系统是,例如,
一种密码处理系统,其特征在于,使用作为通过式1所示的配对运算关联起来的对偶矢量空间(dual vector space)的空间V和空间V*来进行谓词密码处理,该密码处理系统具备:
加密装置,该加密装置被提供有基底B^和规定的属性信息来作为公开密钥,其中,所述基底B^具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1);该加密装置通过处理装置生成如下矢量作为密码矢量c1:作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;以及
解密装置,关于所述加密装置生成的密码矢量c1和密钥矢量k* L, dec,通过处理装置,进行式1所示的配对运算e(c1,k* L,dec),对所述密码矢量c1进行解密,而抽出与所述规定的信息相关的值,其中,将如下矢量作为所述密钥矢量k* L,dec:是所述空间V*的基底B*中的矢量,且作为针对构成基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)的基底矢量b* i(i=1,...,n)中的至少一部分的基底矢量的系数设定了谓词信息、并且作为针对所述基底B*的基底矢量b* n+1的系数设定了规定的值的矢量,
【式1】
e ( p , q ) : = Π i = 1 N e ( χ i b i , η i b i * )
此处,
p : = Σ i = 1 N χ i b i ,
q : = Σ i = 1 N η i b i * ,
χi,ηi:系数。
根据本发明的密码系统,能够实现安全性高的谓词密码以及谓词密钥隐匿方式。
附图说明
图1是用于说明“权限转让(层次性的权限转让)”这样的概念的图。
图2是用于说明跳越层次的权限转让的图。
图3是示出属性信息和谓词信息的层次构造的图。
图4是示出作为层次性的内积谓词密码的应用例的层次性的基于ID的密码的例子的图。
图5是用于说明基底和基底矢量的图。
图6是用于说明矢量空间中的层次构造的实现方法的一个例子的图。
图7是密码处理系统10的结构图。
图8是示出密码处理系统10的密钥生成装置100、第L层的加密装置200和解密装置300的动作的流程图。
图9是示出密码处理系统10的第L层的密钥转让装置400、第L+1层的加密装置200和解密装置300的动作的流程图。
图10是用于说明基底变换方法的图。
图11是示出实现实施方式2的层次性的谓词密码的密码处理系统10的功能的功能框图。
图12是示出实施方式2的密钥生成装置100的动作的流程图。
图13是示出实施方式2的加密装置200的动作的流程图。
图14是示出实施方式2的解密装置300的动作的流程图。
图15是示出实施方式2的密钥转让装置400的动作的流程图。
图16是示出实施方式2的对偶配对矢量空间的基底的构造的概念图。
图17是示出实现实施方式2的层次性的谓词密钥隐匿方式的密码处理系统10的功能的功能框图。
图18是示出实施方式2的加密装置200的动作的流程图。
图19是示出实施方式2的解密装置300的动作的流程图。
图20是示出实现实施方式3的能够进行权限转让的谓词密码的密码处理系统10的功能的功能框图。
图21是示出密钥生成装置100、加密装置200、解密装置300、密钥转让装置400的硬件结构的一个例子的图。
(附图标记说明)
10:密码处理系统;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:密钥矢量生成部;140:随机化矢量生成部;150:密钥生成用矢量生成部;160:密钥分发部;200:加密装置;210:发送信息设定部;220:密码矢量生成部;230:密码信息生成部;240:数据发送部;250:公开密钥取得部;260:会话密钥生成部;300:解密装置;310:矢量输入部;320:密钥矢量存储部;330:配对运算部;400:密钥转让装置;410:密钥矢量取得部;420:密钥矢量生成部;430:随机化矢量生成部;440:密钥生成用矢量生成部;450:密钥分发部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述CPU911等。存储装置是后述ROM913、RAM914、磁盘920等。通信装置是后述通信板915等。输入装置是后述键盘902、通信板915等。输出装置是后述RAM914、磁盘920、通信板915、LCD901等。即,处理装置、存储装置、通信装置、输入装置、输出装置是硬件。
说明以下的说明中的记载方法。
在A是随机的变量或者分布时,式101表示依照A的分布从A随机地选择y。即,在式101中,y是随机数。
【式101】
y ← R A
在A是集合时,式102表示从A均匀地选择y。即,在式102中,y是均匀随机数(uniform random number)。
【式102】
y ← U A
式103表示y是用z定义了的集合、或者表示y是被代入了z的集合。
【式103】
y:=z
在a是常数时,式104表示机械(算法)A针对输入x输出a。
【式104】
A(x)→a
例如,
A(x)→1
矢量标记表示有限域Fq中的矢量显示。即,是式105。
【式105】
表示
(x1,...,xn)∈Fq
式106表示式107所示的2个矢量x与v的式108所示的内积。
【式106】
x → · v →
【式107】
x → = ( x 1 , . . . , x n ) ,
v → = ( v 1 , . . . , v n )
【式108】
Σ i = 1 n x i v i
XT表示矩阵X的转置矩阵。
另外,在以下的说明中,密码处理包括加密处理、解密处理、密钥生成处理,还包括密钥隐匿处理。
实施方式1.
在该实施方式中,说明成为实现在后面的实施方式中说明的“具有权限转让的谓词密码(Predicate Encryption with Delegation)”、“具有权限转让的谓词密钥隐匿方式(Predicate Key EncapsulationMechanism with Delegation)”的基础的概念、和具有权限转让的谓词密码(谓词密钥隐匿方式)的基本结构。
第1,说明作为具有权限转让的谓词密码(谓词密钥隐匿方式)的一种的“具有权限转让的内积谓词密码(内积谓词密钥隐匿方式)”这样的概念。在后面的实施方式中说明的具有权限转让的谓词密码(谓词密钥隐匿方式)是具有权限转让的内积谓词密码(内积谓词密钥隐匿方式)。在说明具有权限转让的内积谓词密码这样的概念时,首先说明“权限转让”这样的概念。另外,一并地说明“层次性(Hierarchial)的权限转让”这样的概念。接下来,说明“内积谓词密码”。然后,说明对内积谓词密码加上了层次性的权限转让这样的概念的“层次性的内积谓词密码(层次性的内积谓词密钥隐匿方式)”。进而,为了进一步理解层次性的内积谓词密码,说明层次性的内积谓词密码的应用例。
第2,说明矢量空间中的层次性的内积谓词密码。在该实施方式以及以下的实施方式中,在矢量空间中实现层次性的谓词密码和层次性的谓词密钥隐匿方式。此处,首先,说明“基底”和“基底矢量”。接下来,说明“矢量空间中的内积谓词密码”。然后,说明“矢量空间中的层次构造的实现方法”。进而,为进一步理解,说明层次构造的实现例。
第3,说明该实施方式以及后面的实施方式的“层次性的谓词密码”和“层次性的谓词密钥隐匿方式”的基本结构。一并地,说明执行层次性的谓词密码和层次性的谓词密钥隐匿方式的“密码处理系统10”的概要。
第4,说明用于实现层次性的谓词密钥隐匿方式、层次性的谓词密码的概念。此处,说明“双线性配对组”、“矢量空间V和矢量空间V”、“标准的对偶基底A,A”、“配对运算”、“基底变换”、“畸变映射”。
第5,说明作为用于实现层次性的谓词密钥隐匿方式和层次性的谓词密码的空间的“对偶配对矢量空间(Dual Pairing Vector Spaces,DPVS)”这样的具有丰富的数学构造的空间。
然后,第6,按照以上的说明,简单地说明在后面的实施方式中详细说明的层次性的谓词密码和层次性的谓词密钥隐匿方式的实现方法。
<第1.层次性的内积谓词密码>
<第1-1.权限转让(层次性的权限转让)的概念>
图1是用于说明“权限转让(层次性的权限转让)”这样的概念的图。
权限转让是指,具有上位的密钥的利用者生成相比于该密钥(上位的密钥)功能被限制的下位的密钥。
在图1中,Root(密钥生成装置)使用主秘密密钥,向第1层(等级-1)的利用者生成秘密密钥。即,Root向第1层的利用者1、2、3分别生成密钥1、2、3。然后,例如,如果是利用者1,则能够使用密钥1,向作为利用者1的下位(第1层)的利用者的利用者11、12、13分别生成密钥11、12、13。此处,相比于利用者1具有的密钥1,利用者11、12、13具有的密钥11、12、13的功能被限制。功能被限制是指,能够通过该秘密密钥解密的密文被限定。即,意味着通过下位的秘密密钥仅对能够通过上位的秘密密钥解密的密文的一部分的密文能够进行解密。即,通过利用者11、12、13具有的密钥11、12、13仅对能够通过利用者1具有的密钥1解密的密文中的一部分的密文能够进行解密。另外,通常,密钥11、密钥12、以及密钥13能够解密的密文不同。另一方面,能够通过密钥1对密钥11、密钥12、以及密钥13能够解密的密文进行解密。
另外,如图1所示,将各秘密密钥被分层(等级)的情况称为“层次性”。即,如图1所示,将层次性地生成下位的密钥的情况称为“层次性的权限转让”。
另外,在图1中,说明了Root向第1层的利用者生成秘密密钥,第1层的利用者向第2层的利用者生成秘密密钥,第2层的利用者向第3层的利用者生成秘密密钥。但是,如图2所示,Root不仅向第1层的利用者生成秘密密钥,而且还能够向第2层以下的层的利用者生成秘密密钥。同样地,第1层的利用者不仅向第2层的利用者生成秘密密钥,而且还能够向第3层以下的层的利用者生成秘密密钥。即,Root、利用者能够生成比自己具有的秘密密钥更下位的层的秘密密钥。
<第1-2.内积谓词密码>
接下来,说明“内积谓词密码”。
首先,谓词密码是指,在对谓词信息fv输入了属性信息x的情况下成为1(True)的情况(成为fv(x)=1的情况)下,能够对密文进行解密的密码方式。通常,在密文中埋入属性信息x,在秘密密钥中埋入谓词信息fv。即,在谓词密码中,通过根据谓词信息fv生成的秘密密钥SKf对根据属性信息x加密了的密文c进行解密。谓词密码还可以称为是,例如,谓词信息fv是条件式,属性信息x是向该条件式的输入信息,如果输入信息(属性信息x)满足条件式(谓词信息fv)(fv(x)=1),则能够对密文进行解密的密码方式。
另外,谓词密码的详细内容记载于非专利文献16。
内积谓词密码是指,在属性信息x与谓词信息fv的内积是规定的值的情况下,成为fv(x)=1的谓词密码。即,仅在属性信息x与谓词信息fv的内积是规定的值的情况下,能够通过根据谓词信息fv生成的秘密密钥SKf对通过属性信息x加密了的密文c进行解密。在以下的说明中,设为在属性信息x与谓词信息fv的内积是0的情况下,成为fv(x)=1。
<第1-3.层次性的内积谓词密码>
层次性的内积谓词密码(层次性的内积谓词密钥隐匿方式)是指,具有上述“层次性的权限转让”这样的概念的“内积谓词密码”。
在层次性的内积谓词密码中,为了使内积谓词密码具有层次性的权限转让系统,使属性信息和谓词信息具有层次构造。
图3是示出属性信息和谓词信息的层次构造的图。
在图3中,设为符号相对应的属性信息和谓词信息是相对应的(即,内积成为0)。即,设为属性1与谓词1的内积成为0,属性11与谓词11的内积成为0,属性12与谓词12的内积成为0,属性13与谓词13的内积成为0。即,如果是根据谓词1生成的秘密密钥k1,则能够对通过属性1加密了的密文c1进行解密。另外,如果是根据谓词11生成的秘密密钥k11,则能够对通过属性11加密了的密文c11进行解密。对于属性12和谓词12、属性13和谓词13,也是同样的。
如上所述,层次性的内积谓词密码具有层次性的权限转让系统。因此,能够根据依据谓词1生成的秘密密钥k1、和谓词11,生成秘密密钥k11。即,具有上位的秘密密钥k1的利用者能够根据该秘密密钥k1和下位的谓词11,生成秘密密钥k1的下位的秘密密钥k11。同样地,能够根据秘密密钥k1和谓词12生成秘密密钥k12,能够根据秘密密钥k1和谓词13生成秘密密钥k13。
另外,能够通过上位的秘密密钥对用与下位的秘密密钥对应的密钥(公开密钥)加密了的密文进行解密。另一方面,无法通过下位的秘密密钥对用与上位的秘密密钥对应的密钥(公开密钥)加密了的密文进行解密。即,如果是根据谓词1生成的秘密密钥k1,则能够对通过属性11、属性12、属性13加密了的密文c11、c12、c13进行解密。另一方面,无法通过根据谓词11、谓词12、谓词13生成的秘密密钥k11、k12、k13,对通过属性1加密了的密文c1进行解密。即,属性11、属性12、属性13与谓词1的内积成为0。另一方面,属性1与谓词11、谓词12、谓词13的内积不成为0。
<第1-4.层次性的内积谓词密码的应用例>
图4是示出作为后述层次性的内积谓词密码的应用例的层次性的基于ID的密码(Hierarchial Identifier Based Encryption,HIBE)的例子的图。另外,层次性的基于ID的密码是指,基于ID的密码成为层次性的密码处理。基于ID的密码是谓词密码的一种,是在密文中包含的ID和秘密密钥中包含的ID一致的情况下能够对密文进行解密的匹配谓词密码。
在图4所示的例子中,Root(密钥生成装置)根据主秘密密钥sk和作为A公司的ID的“A”,生成与ID“A”对应的秘密密钥(密钥A)。例如,A公司的保密担当者根据密钥A和各部门的ID,生成与该ID对应的秘密密钥。例如,保密担当者生成与作为营业部门的ID的“A-1”对应的秘密密钥(密钥1)。接下来,例如,各部门的管理者根据该部门的秘密密钥和属于该部门的各课的ID,生成与该ID对应的秘密密钥。例如,营业部门的管理者生成与作为营业1课的ID的“A-11”对应的秘密密钥(密钥11)。
此处,能够通过作为与营业1课的ID“A-11”对应的秘密密钥的密钥11,对用营业1课的ID“A-11”加密了的密文进行解密。但是,无法通过密钥11,对用营业2课、营业3课的ID加密了的密文进行解密。另外,无法通过密钥11,对用营业部门的ID加密了的密文进行解密。
能够通过作为与营业部门的ID“A-1”对应的秘密密钥的密钥1,对用营业部门的ID“A-1”加密了的密文进行解密。另外,能够通过密钥1,对用属于营业部门的课的ID加密了的密文进行解密。即,能够通过密钥1,对用营业1课、营业2课、营业3课的ID加密了的密文进行解密。但是,无法通过密钥1,对用制造部门(ID:A-2)、管理部门(ID:A-3)的ID加密了的密文进行解密。另外,无法通过密钥1,对用A公司的ID加密了的密文进行解密。
能够通过作为与A公司的ID“A”对应的秘密密钥的密钥A,对用A公司的ID“A”加密了的密文进行解密。另外,能够对用属于A公司的各部门、属于该部门的课的ID加密了的密文进行解密。
层次性的内积谓词密码除了基于ID的密码以外还能够实现各种应用。特别,以下说明的密码处理不限于等号关系测试(test)的类(class),所以能够实现非常多的应用。例如,对于作为内积谓词密码的一种的能够检索的密码等,也能够实现针对每个层次使用AND条件、OR条件等条件式来限定可检索的范围等通过具有以往的权限转让系统的谓词密码无法实现的应用。
即,在后面的实施方式中说明的层次性的谓词密钥隐匿方式和层次性的谓词密码能够广泛应用于基于ID的密码、能够检索的密码等。
<第2.矢量空间中的层次性的内积谓词密码>
层次性的谓词密钥隐匿方式和层次性的谓词密码在后述对偶配对矢量空间这样的高维矢量空间中实现。因此,说明矢量空间中的层次性的内积谓词密码。
<第2-1.基底和基底矢量>
首先,简单说明在矢量空间的说明中使用的“基底”和“基底矢量”。
图5是用于说明基底和基底矢量的图。
图5示出二维矢量空间中的矢量v。矢量v是c1a1+c2a2。另外,矢量v是y1b1+y2b2。此处,将a1,a2称为基底A中的基底矢量,表示为基底A:=(a1,a2)。另外,将b1,b2称为基底B中的基底矢量,表示为基底B:=(b1,b2)。另外,c1,c2,y1,y2是针对各基底矢量的系数。在图5中,由于是二维矢量空间,所以各基底中的基底矢量是2个。但是,如果是N维矢量空间,则各基底中的基底矢量是N个。
<第2-2.矢量空间中的内积谓词密码>
接下来,说明矢量空间中的内积谓词密码。
如上所述,内积谓词密码是指,在属性信息x与谓词信息fv的内积是规定的值(此处为0)的情况下,成为fv(x)=1的谓词密码。在属性信息x和谓词信息fv是矢量的情况、即是属性矢量x和谓词矢量v的情况下,如式109那样定义内积谓词。
【式109】
如果是 x &RightArrow; &CenterDot; v &RightArrow; = &Sigma; i = 1 n x i v i = 0 , f v &RightArrow; ( x &RightArrow; ) = 1 ,
如果是 x &RightArrow; &CenterDot; v &RightArrow; = &Sigma; i = 1 n x i v i &NotEqual; 0 , f v &RightArrow; ( x &RightArrow; ) = 0
此处,
x &RightArrow; = ( x 1 , . . . , x n ) ,
v &RightArrow; = ( v 1 , . . . , v n )
即,在属性矢量x与谓词矢量v的内积、即每个要素的内积之和是0的情况下,在谓词信息fv中输入了属性信息x的结果成为1(True)。另外,是在属性矢量x与谓词矢量v的内积并非0的情况下,在谓词信息fv中输入了属性信息x的结果成为0(False)的谓词密码。
<第2-3.矢量空间中的层次构造的实现方法>
接下来,说明矢量空间中的层次构造的实现方法。
图6是用于说明矢量空间中的层次构造的实现方法的一个例子的图。
设此处处理的矢量空间是高维(N维)矢量空间。即,在矢量空间中的规定的基底C中,存在基底矢量ci(i=1,...,N)的N个基底矢量。
将N个基底矢量中的n个基底矢量(基底矢量ci(i=1,...,n))用于表示层次构造。另外,将基底矢量ci(i=1,...,n)分割为基底矢量ci(i=1,...,μ1)、基底矢量ci(i=μ1+1,...,μ2)、...、以及基底矢量ci(i=μd-1+1,...,n)这d个。此处,d成为表示层次的深度的数量。
另外,分配μ1个基底矢量ci(i=1,...,μ1)用于表示第1层的属性信息、谓词信息。另外,分配μ21个基底矢量ci(i=μ1+1,...,μ2)用于表示第2层的属性信息、谓词信息。以下同样地,分配μdd-1个基底矢量ci(i=μd-1+1,...,μd(=n))用于表示第d层的属性信息、谓词信息。
另外,在通过第L层的属性信息生成密文的情况下,不仅是第L层的属性信息,而且还使用第1层至第L层的属性信息来生成密文。同样地,在通过第L层的谓词信息生成秘密密钥的情况下,不仅是第L层的谓词信息,而且还使用第1层至第L层的谓词信息来生成秘密密钥。即,在通过第L层的属性信息生成密文的情况、通过第L层的谓词信息生成秘密密钥的情况下,使用对从第1层至第L层分配的μL个基底矢量ci(i=1,...,μL)。例如,在通过第3层的属性信息生成密文的情况下,使用对从第1层至第3层分配的μ3个基底矢量ci(i=1,...,μ3),使用第1层至第3层的属性信息来生成密文。同样地,在通过第3层的谓词信息生成秘密密钥的情况下,使用对从第1层至第3层分配的μ3个基底矢量ci(i=1,...,μ3),表示第1层至第3层的谓词信息而生成秘密密钥。即,在下位的层中使用的属性信息、谓词信息中,包括在上位的层中使用的属性信息、谓词信息。由此,使属性信息和谓词信息具有层次构造。然后,在该属性信息和谓词信息中利用层次构造,使内积谓词密码具有权限转让系统。
另外,在以下的说明中,为了表示矢量空间中的层次性的构造,使用层次信息μ。式110示出层次信息μ
【式110】
&mu; &RightArrow; : ( n , d ; &mu; 1 , . . . , &mu; d )
此处,
μ0=0<μ12<…<μd=n
即,层次信息μ具有表示为了表示层次构造而分配的基底矢量数(维数)的n、表示层次的深度的d、以及用于表示对各层次分配的基底矢量的μ1,...,μd的信息。
接下来,说明矢量空间中的层次性的内积谓词密码。
将属性空间ΣL(L=1,...,d)设为为了表示第L层的属性信息而分配的空间。此处,各ΣL是式111。
【式111】
&Sigma; L : = F q &mu; L - &mu; L - 1 \ { 0 &RightArrow; }
将层次性的属性设为式112所示的Σ。此处,并集是互质(disjoint)的并集。
【式112】
&Sigma; : = &cup; L = 1 d ( &Sigma; 1 &times; . . . &times; &Sigma; L )
于是,如式115那样定义式113所示的层次性的属性中的式114所示的层次性的谓词。
【式113】
( x &RightArrow; 1 , . . . , x &RightArrow; h ) &Element; &Sigma;
【式114】
f ( v &RightArrow; 1 , . . . , v &RightArrow; L )
此处,
v &RightArrow; i &Element; F q &mu; i - &mu; i - 1 \ { 0 &RightArrow; }
【式115】
在L≤h,
针对所有1≤i≤L,是
Figure BDA00001857211000176
时,
并且仅限于此时,
f ( v &RightArrow; 1 , . . . , v &RightArrow; L ) ( x &RightArrow; 1 , . . . , x &RightArrow; h ) = 1
将层次性的谓词空间设为式116所示的F。
【式116】
Figure BDA00001857211000178
另外,将式117的h和式118的L称为层次。
【式117】
( x &RightArrow; 1 , . . . , x &RightArrow; h )
【式118】
( v &RightArrow; 1 , . . . , v &RightArrow; L )
<第2-4.层次构造的实现例>
此处,使用简单的例子来说明层次构造。此处,使用具备3个层次,各层次由二维构成的六维空间来说明。即,μ:=(n,d;μ1,...,μd)=(6,3;2,4,6)。
具有根据第1层的谓词矢量v 1:=(v1,v2)生成的第1层的秘密密钥sk1的利用者能够根据第1层的秘密密钥sk1和第2层的谓词矢量v 2:=(v3,v4)生成第2层的秘密密钥sk2。即,根据谓词矢量(v 1,v 2)而生成第2层的秘密密钥sk2。同样地,具有第2层的秘密密钥sk2的利用者能够根据第2层的秘密密钥sk2和第3层的谓词矢量v 3:=(v5,v6)生成第3层的秘密密钥sk3。即,根据谓词矢量(v 1,v 2,v 3)生成第3层的秘密密钥sk3
根据第1层的谓词矢量v 1生成的第1层的秘密密钥sk1是通过(v 1,(0,0),(0,0))生成的秘密密钥。因此,第1层的秘密密钥sk1能够在v 1·x 1=0的情况下对通过属性矢量(x 1,(*,*),(*,*)):=((x1,x2),(*,*),(*,*))加密了的密文进行解密。其原因为,(*,*)·(0,0)=0。此处,“*”表示任意的值。
同样地,根据第2层的谓词矢量(v 1,v 2)生成的第2层的秘密密钥sk2是通过(v 1,v 2,(0,0))生成的秘密密钥。因此,第2层的秘密密钥sk2在v 1·x 1=0并且v 2·x 2=0的情况下能够对通过属性矢量(x 1,x 2,(*,*)):=((x1,x2),(x3,x4),(*,*))加密了的密文进行解密。
但是,第2层的秘密密钥sk2无法对通过第1层的属性矢量x 1:=(x1,x2)(即,(x 1,(*,*),(*,*))加密了的密文进行解密。其原因为,如果并非v 2=(0,0),则(*,*)·v 2≠0,且v 2·x 2≠0。因此,第2层的秘密密钥sk2仅具有相比于作为父的秘密密钥密钥sk2更限定的能力。
<第3.层次性的谓词密码和层次性的谓词密钥隐匿方式的结构>
<第3-1.层次性的谓词密码>
简单说明层次性的谓词密码的结构。
层次性的谓词密码具备Setup、GenKey、Enc、Dec、DelegateL(L=1,...,d-1)这5个概率多项式时间算法(probabilisticpolynomial-time algorithm)。
(Setup)
在Setup算法中,输入保密参数1λ和层次信息μ,输出主公开密钥pk和主秘密密钥sk。主秘密密钥sk是最上位的密钥。
(GenKey)
在GenKey算法中,输入主公开密钥pk、主秘密密钥sk、以及式119所示的谓词矢量,输出式120所示的第L层的秘密密钥。
【式119】
( v &RightArrow; 1 , . . . , v &RightArrow; L )
【式120】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
(Enc)
在Enc算法中,输入主公开密钥pk、式121所示的属性矢量、以及明文信息m,输出密文c。即,在Enc算法中,埋入明文信息m,输出通过式121所示的属性矢量加密了的密文c。
【式121】
( x &RightArrow; 1 , . . . , x &RightArrow; h )
此处,
1≤h≤d
(Dec)
在Dec算法中,输入主公开密钥pk、式122所示的第L层的秘密密钥、以及密文c,输出明文信息m或者识别信息⊥。识别信息⊥是指,表示解密失败的信息。即,在Dec算法中,用第L层的秘密密钥对密文c进行解密,而抽出明文信息m。另外,在解密失败了的情况下输出识别信息⊥。
【式122】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
此处,
1≤L≤d
(DelegateL
在DelegateL中,输入主公开密钥pk、式123所示的第L层的秘密密钥、以及式124所示的第L+1层的谓词矢量,输出式125所示的第L+1层的秘密密钥。即,在DelegateL算法中,输出下位的秘密密钥。
【式123】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
【式124】
v &RightArrow; L + 1
【式125】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L + 1 )
<第3-2.层次性的谓词密码>
简单说明层次性的谓词密钥隐匿方式的结构。
层次性的谓词密钥隐匿方式与层次性的谓词密码同样地,具备Setup、GenKey、Enc、Dec、DelegateL(L=1,...,d-1)这5个概率多项式时间算法。
(Setup)
在Setup算法中,输入保密参数1λ和层次信息μ,输出主公开密钥pk和主秘密密钥sk。主秘密密钥sk是最上位的密钥。
(GenKey)
在GenKey算法中,输入主公开密钥pk、主秘密密钥sk、以及式126所示的谓词矢量,输出式127所示的第L层的秘密密钥。
【式126】
( v &RightArrow; 1 , . . . , v &RightArrow; L )
【式127】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
(Enc)
在Enc算法中,输入主公开密钥pk和式128所示的属性矢量,输出密文c和会话密钥K。即,在Enc算法中,埋入规定的信息(ρ),输出通过式128所示的属性矢量加密了的密文c、和根据规定的信息(ρ)生成的会话密钥K。
【式128】
( x &RightArrow; 1 , . . . , x &RightArrow; h )
此处,
1≤h≤d
(Dec)
在Dec算法中,输入主公开密钥pk、式129所示的第L层的秘密密钥、以及密文c,输出会话密钥K或者识别信息⊥。识别信息⊥是表示解密失败了的信息。即,在Dec算法中,用第L层的秘密密钥对密文c进行解密,而抽出与规定的信息(ρ)相关的信息,生成会话密钥K。另外,在解密失败了的情况下输出识别信息⊥。
【式129】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
(DelegateL
在DelegateL算法中,输入主公开密钥pk、式130所示的第L层的秘密密钥、以及式131所示的第L+1层的谓词矢量,输出式132所示的第L+1层的秘密密钥。即,在DelegateL算法中,输出下位的秘密密钥。
【式130】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
【式131】
v &RightArrow; L + 1
【式132】
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L + 1 )
<第3-3.密码处理系统10>
说明密码处理系统10。密码处理系统10执行上述层次性的谓词密码和层次性的谓词密钥隐匿方式的算法。
图7是密码处理系统10的结构图。
密码处理系统10具备密钥生成装置100、加密装置200、解密装置300、密钥转让装置400。另外,此处,设解密装置300具备密钥转让装置400。另外,如上所述,密码处理系统10执行层次性的密码处理,所以设密码处理系统10具备多个加密装置200、多个解密装置300、多个密钥转让装置400。
密钥生成装置100执行层次性的谓词密钥隐匿方式和层次性的谓词密码的Setup、GenKey算法。
加密装置200执行层次性的谓词密钥隐匿方式和层次性的谓词密码的Enc算法。
解密装置300执行层次性的谓词密钥隐匿方式和层次性的谓词密码的Dec算法。
密钥转让装置400执行层次性的谓词密钥隐匿方式和层次性的谓词密码的DelegateL算法。
图8是示出密码处理系统10的密钥生成装置100、第L层的加密装置200和解密装置300的动作的流程图。即,图8是示出主密钥(主公开密钥和主秘密密钥)的生成、第L层的秘密密钥的生成至第L层中的加密和解密的动作的流程图。
(S101:密钥生成步骤)
密钥生成装置100执行Setup算法而生成主公开密钥pk和主秘密密钥sk。另外,密钥生成装置100根据所生成的主公开密钥pk和主秘密密钥sk、以及与规定的解密装置300(第L层的解密装置300)对应的谓词矢量v L(v L=(v1,...,vi)(i=μL)),执行GenKey算法而生成第L层的秘密密钥。然后,密钥生成装置100公开(分发)所生成的主公开密钥pk,并且将第L层的秘密密钥秘密地分发到上述规定的解密装置300。另外,密钥生成装置100秘密地保持主秘密密钥。
(S102:加密步骤)
加密装置200根据在(S101)中密钥生成装置100分发的主公开密钥pk、和上述解密装置300的属性矢量x L(x L=(x1,...,xi)(i=μL)),执行Enc算法而生成密文c。另外,如果是层次性的谓词密钥隐匿方式,则加密装置200还一并生成会话密钥K。然后,加密装置200将所生成的密文c经由网络等发送到上述解密装置300。另外,属性矢量x L既可以公开,也可以是加密装置200从密钥生成装置100、解密装置300取得。
(S103:解密步骤)
解密装置300根据在(S101)中密钥生成装置100分发了的主公开密钥pk和第L层的秘密密钥,执行算法Dec,对从加密装置200接收的密文c进行解密。解密装置300在对密文c进行了解密的结果,如果是层次性的谓词密钥隐匿方式则取得会话密钥K,如果是层次性的谓词密码则取得明文信息m。解密装置300在解密失败了的情况下输出识别信息⊥。
图9是示出密码处理系统10的第L层的密钥转让装置400、第L+1层的加密装置200和解密装置300的动作的流程图。即,图9是示出第L+1层的秘密密钥的生成至第L+1层中的加密和解密的动作的流程图。
(S201:密钥转让步骤)
第L层的密钥转让装置400(第L层的解密装置300具备的密钥转让装置400)根据在(S101)中密钥生成装置100分发了的主公开密钥pk、密钥生成装置100或者第L-1层的密钥转让装置400分发了的第L层的秘密密钥、以及与第L+1层的解密装置300对应的谓词矢量v L+1(v L+1=(vi,...,vj)(i=μL+1,j=μL+1)),执行算法DelegateL而生成第L+1层的秘密密钥。然后,第L层的密钥转让装置400将所生成的秘密密钥秘密地分发到第L+1层的解密装置300。
(S202:加密步骤)
加密装置200根据在(S101)中密钥生成装置100分发了的主公开密钥pk、和直至第L+1层的解密装置300的属性矢量x 1至属性矢量x L+1(x i(i=1,...,L+1)(=(x1,...,xi)(i=μL+1))),执行Enc算法来生成密文c。另外,如果是层次性的谓词密钥隐匿方式,则加密装置200还一并生成会话密钥K。然后,加密装置200将所生成的密文c经由网络等发送到上述解密装置300。另外,属性矢量x 1至属性矢量x L+1(x i(i=1,...,L+1))既可以公开,也可以是加密装置200从密钥生成装置100、解密装置300取得。
(S203:解密步骤)
解密装置300根据在(S101)中密钥生成装置100分发了的主公开密钥pk、和在(S201)中第L层的密钥转让装置400分发了的秘密密钥,执行算法Dec,对从加密装置200接收到的密文c进行解密。解密装置300在对密文c进行了解密的结果,如果是层次性的谓词密钥隐匿方式,则取得会话密钥K,如果是层次性的谓词密码,则取得明文信息m。
<第4.用于实现层次性的谓词密钥隐匿方式和层次性的谓词密码的概念>
接下来,说明为了实现上述层次性的谓词密码和层次性的谓词密钥隐匿方式的各算法而所需的概念。
此处,使用通过非对称配对组的直积构成后述对偶配对矢量空间的例子,来说明实现密码处理的方法。但是,对偶配对矢量空间不限于通过非对称配对组的直积实现。即,即使在通过其他方法构成的对偶配对矢量空间中,也能够实现以下说明的密码处理。另外,对偶配对矢量空间的典型的3个例子记载于非专利文献17。
<第4-1.双线性配对组>
说明双线性配对组(q,G1,G2,GT,g1,g2,gT)。
双线性配对组(q,G1,G2,GT,g1,g2,gT)是阶数q的3个循环群G1,G2,GT的元组。g1是G1的生成源,g2是G2的生成源。另外,双线性配对组(q,G1,G2,GT,g1,g2,gT)满足以下的非退化双线性配对的条件。
(条件:非退化双线性配对)
存在能够通过多项式时间计算的式133所示的非退化双线性配对。
【式133】
e:G1×G2→GT
即,不论针对什么样的ξ∈G1,η∈G2,都是
e(sξ,tη)=e(ξ,η)st
gT=e(g1,g2)≠1
此处,在G1=G2(=:G)的情况下,称为对称双线性配对。另一方面,在G1≠G2的情况下,称为非对称双线性配对。对称双线性配对能够使用超奇异(超)椭圆曲线来构筑。另一方面,能够使用任意的(超)椭圆曲线来构筑非对称双线性配对。例如,能够使用通常的椭圆曲线来构筑非对称双线性配对。
<第4-2.矢量空间V和矢量空间V*>
将一维空间的循环群扩展到高维空间(高维矢量空间)。即,如式134所示,通过G1与G2的直积来构筑N维矢量空间V和N维矢量空间V*
【式134】
Figure BDA00001857211000261
Figure BDA00001857211000262
此处,通过N维矢量如以下那样表示空间V的要素x。
x:=(x1g1,...,xNg1),
同样地,通过N维矢量如以下那样表示空间V*的要素y。
y:=(y1g2,...,yNg2),
另外,针对i=1,...,N,xi,yi∈Fq
<第4-3.标准的对偶基底A,A*>
说明N维矢量空间V的标准基底A、和N维矢量空间V*的标准基底A*
式135表示标准基底A和标准基底A*
【式135】
A:=(a1,...,aN),
A * : = ( a 1 * , . . . , a N * )
此处,
a1:=(g1,0,...,0),a2:=(0,g1,0,...,0),...,aN:=(0,...,0,g1)
a 1 * : = ( g 2 , 0 , . . . , 0 ) , a 2 * : = ( 0 , g 2 , 0 , . . . , 0 ) , . . . , a N * : = ( 0 , . . . , 0 , g 2 )
标准基底A和标准基底A*满足式136所示的条件。
【式136】
e ( a i , a j * ) = g T &delta; i , j i,j∈{1,...,N}
此处,
δ:Kronecker δ(即,δi,j=1 if i=j and δi,j=0 if i≠j),
gT:=e(g1,g2)≠1
即,标准基底A和标准基底A*是对偶标准正交基底,空间V和空间V*是通过配对运算e关联起来的对偶矢量空间。
对标准基底A和标准基底A*满足式136所示的条件这一点进行补充。
首先,说明e(ai,a* i)=gT。作为一个例子,计算e(a1,a* 1)。如上所述,a1=(g1,0,...,0),且a* 1=(g2,0,...,0)。因此,e(a1,a* 1)=e(g1,g2)×e(0,0)×,...,×e(0,0)。此处,如上所述,e(g1,g2)=gT。另外,e(0,0)=e(0·g1,0·g2)=e(g1,g20,所以e(0,0)=1。因此,成为e(a1,a* 1)=gT。对于其他e(ai,a* i),也成立同样的计算,成为e(ai,a* i)=gT
接下来,说明e(ai,a* j)=1(i≠j)。作为一个例子,计算e(a1,a* 2)。如上所述,a1=(g1,0,...,0),且a* 2=(0,g2,0,...,0)。因此,e(a1,a* 2)=e(g1,0)×e(0,g2)×e(0,0)×,...,×e(0,0)。由于e(g1,0)=e(g1,0·g2)=e(g1,g20,所以e(g1,0)=1。同样地,e(0,g2)=1。另外,如上所述,e(0,0)=1。因此,成为e(ai,a* j)=1。对于其他e(ai,a* j),也成立同样的计算,成为e(ai,a* j)=1。
因此,在标准基底A和标准基底A*中,e(ai,a* i)=gT,且e(ai,a* j)=1(i≠j)。
<第4-4.配对运算>
如式137所示定义N维矢量空间V,V*中的配对运算e。
【式137】
e ( x , y ) : = &Pi; i = 1 N e ( x i g 1 , y i g 2 )
即,N维矢量空间V的矢量x:=(x1g1,x2g1,...,xNg1)与N维矢量空间V*的矢量y:=(y1g2,y2g2,...,yNg2)的配对运算e(x,y)被定义为矢量x与矢量y的每个要素的配对运算之积。于是,根据上述非退化双线性配对的条件,能够如式138所示表示配对运算e(x,y)。
【式138】
e ( x , y ) : = &Pi; i = 1 N e ( x i g 1 , y i g 2 ) = e ( g 1 , g 2 ) &Sigma; i = 1 N x i y i = g T x &RightArrow; &CenterDot; y &RightArrow; &Element; G T
<第4-5.基底变换>
说明从标准基底A和标准基底A*向其他基底B和基底B*变换的基底变换方法。图10是用于说明基底变换方法的图。
从空间V中的标准基底A向空间V中的其他基底B:=(b1,...,bN)变换。此处,使用式139所示的均匀地选择出的线性变换X,如式140所示从空间V中的标准基底A向空间V中的其他基底B变换。
【式139】
X : = ( x i , j ) &LeftArrow; U GL ( N , F q )
【式140】
b i = &Sigma; j = 1 N x i , j a j i=1,...,N
此处,
B:=(b1,...,bN)
此处,GL是General Linear的简称。即,GL是一般线性群,是行列式并非0的方阵的集合,关于乘法是群。
通过使用X,能够根据空间V*中的标准基底A*高效地计算空间V*中的基底B*:=(b* 1,...,b* N)。此处,如式141所示,使用X,计算空间V*中的基底B*
【式141】
b i * = &Sigma; j = 1 N v i , j a j * i=1,...,N
此处,
(vi,j):=(XT)-1
B * : = ( b 1 * , . . . , b N * )
此处,式142成立。
【式142】
e ( b i , b j * ) = g T &delta; i , j i,j∈{1,...,N}
此处,
δ:Kroneckerδ(即,δi,j=1 if i=j and δi,j=0 if i≠j),
gT:=e(g1,g2)≠1
即,基底B和基底B*是对偶空间V和V*中的对偶标准正交基底。即,即使在使用X使标准基底A和A*变形了的情况下,也保存对偶标准正交基底。
<第4-6.畸变映射>
说明针对标准基底A中的空间V的生成源x的畸变映射这样的线性变换。
空间V的标准基底A中的畸变映射φi,j是式143所示的映射。
【式143】
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0
式144成立,所以畸变映射φi,j能够进行式145的变换。
【式144】
φi,j(x)=φi,j(x1a1+x2a2+…+xNaN)=φi,j(xjaj)
=xjφi,j(aj)=xjai
【式145】
相对x:=(x1g1,...,xjg1,...,xNg1),
Figure BDA00001857211000301
即,能够将标准基底A的矢量x的基底矢量j的要素变换为基底矢量i的要素。此时,除了变换了的基底矢量j的要素以外的其他要素全部成为0。即,矢量x的基底矢量j的要素成为基底矢量i的要素,其他要素成为0。
空间V*的标准基底A*中的畸变映射φ* i,j也能够与空间V的标准基底A中的畸变映射φi,j同样地表示。
通过使用畸变映射φi,j(φ* i,j),还能够通过式147高效地计算作为表示为式146所示的N×N矩阵的线性变换W的、针对x∈V的任何线性变换W。
【式146】
i,j)∈Fq N×N
【式147】
W ( x ) : = &Sigma; i = 1 , j = 1 N , N &gamma; i , j &phi; i , j ( x )
<第5.对偶配对矢量空间>
按照在第4中说明的概念,说明对偶配对矢量空间。在对偶配对矢量空间中实现后述层次性的谓词密码和层次性的谓词密钥隐匿方式。
对偶配对矢量空间(q,V,V*,GT,A,A*)是具有素数阶数q、Fq上的2个N维矢量空间V,V*、阶数q的循环群GT、空间V的标准基底A:=(a1,...,aN-1)、以及空间V*的标准基底A*:=(a* 1,...,a* N-1)的空间。另外,对偶配对矢量空间(q,V,V*,GT,A,A*)是满足以下的(1)存在非退化双线性配对、(2)标准基底A,A*是对偶标准正交基底、(3)存在畸变映射这样的3个条件的空间。
(1)非退化双线性配对(参照上述第4-1)
存在能够通过多项式时间计算的非退化双线性配对e。
即,存在式148所示的非退化双线性配对e是第1个条件。
【式148】
e:V×V*→GT
即,e(sx,ty)=e(x,y)st
针对所有y∈V,如果e(x,y)=1,则x=0。
(2)对偶标准正交基底(参照上述第4-2)
空间V的标准基底A和空间V*的标准基底A*是对偶标准正交基底。
即,空间V的标准基底A和空间V*的标准基底A*满足式149所示的条件是第2个条件。
【式149】
针对所有i,j,
e ( a i , a j * ) = g T &delta; i , j
此处,
δ:Kroneckerδ(即,δi,j=1 if i=j and δi,j=0 if i≠j),
gT≠1∈GT
(3)畸变映射(参照上述第4-6)
存在能够通过多项式时间计算的畸变映射φi,j和φ* i,j
即,式150所示的空间V的自同态φi,j和空间V*的自同态φ* i,j能够通过多项式时间计算是第3个条件。
【式150】
如果φi,j(aj)=ai,且
k≠j,则φi,j(ak)=0。
如果 &phi; i , j * ( a j * ) = a i * ,
k≠j,则 &phi; i , j * ( a k * ) = 0 .
通过满足第3个条件,还可以说空间V和空间V*是通过配对运算e(参照上述第4-2)关联起来的对偶空间。
<第6.层次性的谓词密码和层次性的谓词密钥隐匿方式的实现方法的概要>
简单说明按照上述概念(参照上述第4)、和对偶配对矢量空间(参照上述第5),上述密码处理系统10(参照上述第3)实现层次性的谓词密码和层次性的谓词密钥隐匿方式的方法。
首先,说明通过密码处理系统10实现的内积谓词密码的概要。另外,为简化说明,此处,省略层次性这样的概念,而说明仅由1个层次构成的内积谓词密码的概要。
密码处理系统10在对偶配对矢量空间(q,V,V*,GT,A,A*)中实现内积谓词密码。另外,此处,空间V,V*都是n+4维空间。
密钥生成装置100通过在第4-5中说明的基底变换,根据标准基底A,A*,生成标准正交基底B:=(b1,...,bn+4)、和B*:=(b* 1,...,b* n+4)。密钥生成装置100生成由基底B:=(b1,...,bn+4)中的基底矢量基底矢量bi(i=1,...,n+2)构成的基底B^:=(b1,...,bn+2)。然后,将基底B^作为主公开密钥pk、将基底B*作为主秘密密钥sk。进而,密钥生成装置100根据谓词矢量v(v=(v1,...,vn)∈Fn q,如式151那样生成秘密密钥k*,秘密地发送到解密装置300。
【式151】
k * : = &sigma; ( v 1 b 1 * + &CenterDot; &CenterDot; &CenterDot; + v n b n * ) + b n + 1 * + &eta;b n + 3 *
此处,
&sigma; , &eta; &LeftArrow; U F q
加密装置200根据属性矢量x(x=(x1,...,xn)∈Fn q和明文信息m,生成2个密文c1和c2。如式152那样生成密文c1和c2
【式152】
c1:=δ1(x1b1+…+xnbn)+ζbn+12bn+2,
c 2 : = g T &zeta; m
此处,
&delta; 1 , &delta; 2 , &zeta; &LeftArrow; U F q
解密装置300根据密文c1,c2和秘密密钥k*,计算式153,抽出明文信息m。
【式153】
m:=c2/e(c1,k*)
此处,如果v·x=0,则如式154所示,计算式153,从而解密装置300能够得到明文信息m。
【式154】
e ( c 1 , k * )
= ( &Pi; i = 1 n e ( &delta; 1 x i b i , &sigma;v i b i * ) &CenterDot; e ( &zeta;b n + 1 , b n + 1 * ) &CenterDot; e ( &delta; 2 b n + 2 , 0 ) &CenterDot; e ( 0 , &eta;b n + 3 * ) )
= g T &delta; 1 &sigma; ( &Sigma; i = 1 n x i v i ) + &zeta; + 0 + 0
= g T &zeta;
接下来,使用简单的例子,说明能够实现层次性的权限转让的内积谓词密码、即层次性的内积谓词密码的概要。此处,使用如下十维空间来进行说明:在谓词矢量和属性矢量中使用具备3个层次且各层次由二维构成的六维,另外具有四维。即,空间V,V*是十维空间。因此,主公开密钥中包含的基底是B^:=(b1,...,b6,b7,b8)。另外,主秘密密钥中包含的基底是B*:=(b* 1,...,b* 10)。
另外,在以下的说明中,下标“dec”是“decryption”的简称,在下标中有“dec”的是密文的解密中使用的密钥矢量。另外,下标“ran”是“randomization”的简称,在下标中有“ran”的是用于对针对下位的密钥矢量的规定的基底矢量的系数进行随机化的随机化矢量。另外,下标“del”是“delegation”的简称,在下标中有“del”的是用于生成下位的密钥矢量的密钥生成用矢量。
此处,通过属性矢量(x 1,x 2,x 3):=((x1,x2),(x3,x4),(x5,x6))和明文信息m,如式155那样生成密文c1,c2
【式155】
c1:=δ1(x1b1+x2b2)+…+δ3(x5b5+x6b6)+ζb74b8,
c 2 : = g T &zeta; m
此处,
&delta; 1 , . . . , &delta; 4 , &zeta; &LeftArrow; U F q
如果属性矢量如x 1:=(x1,x2)那样是高的层次,则如式156那样修正属性矢量。
【式156】
x &RightArrow; + : = ( ( x 1 , x 2 ) , ( x 3 + , x 4 + ) , ( x 5 + , x 6 + ) )
此处,
( x 3 + , x 4 + , x 5 + , x 6 + ) &LeftArrow; U F q 4
即,将通过属性矢量x 1生成的密文c1生成为通过式156所示的属性矢量x→+生成的密文c1
根据第1层的谓词矢量v 1:=(v1,v2)∈F2 q生成的第1层的秘密密钥k→* 1:=(k* 1,dec,k* 1,ran,1,k* 1,ran,2,k* 1,del,3,...,k* 1,del, 6)由k* 1,dec、(k* 1,ran,1,k* 1,ran,2)、以及(k* 1,del,3,...,k* 1,del,6)这3个要素构成。此处,k* 1,dec是密文的解密中使用的密钥矢量。(k* 1, ran,1,k* 1,ran,2)是用于对针对下位的密钥矢量的规定的基底矢量的系数进行随机化的随机化矢量。(k* 1,del,3,...,k* 1,del,6)是用于生成下位的密钥矢量的密钥生成用矢量。如式157那样生成k* 1,dec、(k* 1,ran, 1,k* 1,ran,2)、以及(k* 1,del,3,...,k* 1,del,6)。
【式157】
k 1 , dec * : = &sigma; 1,0 ( v 1 b 1 * + v 2 b 2 * ) + b 7 * + &eta; 0 b 9 * ,
k 1 , ran , j * : = &sigma; 1 , j ( v 1 b 1 * + v 2 b 2 * ) + &eta; j b 9 * (j=1,2),
k 1 , del , j * : = &sigma; 1 , j ( v 1 b 1 * + v 2 b 2 * ) + &psi;b j * + &eta; j b 9 * (j=3,...,6)
此处,
&sigma; 1 , j , &eta; j , &psi; &LeftArrow; U F q (j=0,...,6)
如果在生成密文c1时使用的属性矢量是成为(x1,x2)·(v1,v2)=0的((x1,x2),(*,*),(*,*)),则成为式158,所以k* 1,0能够通过计算式159,对密文c1,c2进行解密。
【式158】
e ( c 1 , k 1 , dec * ) = g T &zeta;
【式159】
c 2 / e ( c 1 , k 1 , 0 * )
通过第2层的谓词矢量v 2:=(v3,v4),生成第2层的秘密密钥k→* 2:=(k* 2,dec,k* 2,ran,1,k* 2,ran,2,k* 2,ran,3,k* 2,del,5,k* 2,del, 6)。
首先,在生成k* 2,dec的情况下,将σ2,0(v3k* 1,del,3+v4k* 1,del,4)加到k* 1,dec。在生成k* 2,ran,j的情况下,将σ2,j(v3k* 1,del,3+v4k* 1,del,4)加到0(j=1,2,3)。在生成k* 2,del,j的情况下,将σ2,j(v3k* 1,del, 3+v4k* 1,del,4)加到ψ+k* 1,del,j(j=5,6)。此处,σ2,j(j=0,1,2,3,5,6)、和ψ+是均匀地选择的值。
另外,对第2层的秘密密钥的(v1b* 1+v2b* 2)、b* 7、以及b* 8的系数的值进行随机化(均匀地分布)。因此,在生成k* 2,dec的情况下,还加上(α0,1k* 1,ran,10,2k* 1,ran,2)。在生成k* 2,ran,j的情况下,加上(αj,1k* 1,ran,1j,2k* 1,ran,2)(j=1,2,3)。在生成k* 2,del,j的情况下,加上(αj,1k* 1,ran,1j,2k* 1,ran,2)(j=5,6)。此处,αj,1和αj,2(j=0,1,2,3,5,6)是均匀地选择的值。
即,如式160那样生成第2层的秘密密钥密钥k→* 2:=(k* 2,dec,k* 2,ran,1,k* 2,ran,2,k* 2,ran,3,k* 2,del,5,k* 2,del,6)。
【式160】
k 2 , dec * : = k 1 , dec * + ( &alpha; 0,1 k 1 , ran , 1 * + &alpha; 0,2 k 1 , ran , 2 * )
+ &sigma; 2,0 ( v 3 k 1 , del , 3 * + v 4 k 1 , del , 4 * ) ,
k 2 , ran , j * : = ( &alpha; j , 1 k 1 , ran , 1 * + &alpha; j , 2 k 1 , ran , 2 * )
+ &sigma; 2 , j ( v 3 k 1 , del , 3 * + v 4 k 1 , del , 4 * ) (j=1,2,3),
k 2 , del , j * : = &psi; + k 1 , del , j * + ( &alpha; j , 1 k 1 , ran , 1 * + &alpha; j , 2 k 1 , ran , 2 * )
+ &sigma; 2 , j ( v 3 k 1 , del , 3 * + v 4 k 1 , del , 4 * ) (j=5,6)
此处,
&alpha; j , 1 , &alpha; j , 2 , &sigma; 2 , j , &psi; + &LeftArrow; U F q (j=0,1,2,3,5,6)
另外,k* 2,dec是密文的解密中使用的密钥矢量。(k* 2,ran,1,k* 2, ran,2,k* 2,ran,3)是用于对针对下位的密钥矢量的规定的基底矢量的系数进行随机化的随机化矢量。将(k* 2,del,5,k* 2,del,6)用于生成下位的密钥。
一般,在第L层的秘密密钥k→* L:=(k* L,dec,k* L,ran,j,k* L,del, j)中,k* L,dec是密文的解密中使用的密钥矢量。k* L,ran,j是用于对针对下位的密钥矢量的规定的基底矢量的系数进行随机化的随机化矢量。k* L,del,j是用于生成下位的密钥矢量的密钥生成用矢量。
实施方式2.
在该实施方式中,说明根据实施方式1中说明的概念,实现层次性的谓词密码的密码处理系统10。
根据图11至图16,说明实施方式2的密码处理系统10的功能和动作。
图11是示出实现层次性的谓词密码的密码处理系统10的功能的功能框图。密码处理系统10如上所述,具备密钥生成装置100、加密装置200、解密装置300、密钥转让装置400。另外,此处也是设解密装置300具备密钥转让装置400。
图12是示出密钥生成装置100的动作的流程图。图13是示出加密装置200的动作的流程图。图14是示出解密装置300的动作的流程图。图15是示出密钥转让装置400的动作的流程图。
图16是示出对偶配对矢量空间的基底的构造的概念图。
说明密钥生成装置100的功能和动作。密钥生成装置100具备主密钥生成部110、主密钥存储部120、密钥矢量生成部130、随机化矢量生成部140、密钥生成用矢量生成部150、密钥分发部160。
(S301:主密钥生成步骤)
主密钥生成部110计算式161,通过处理装置生成主公开密钥pk和主秘密密钥sk而存储到主密钥存储部120。
【式161】
(1)
N:=n+2+r+s,
( q , V , V * , G T , A , A * ) &LeftArrow; R G dpvs ( 1 &lambda; , N )
(2)
X : = ( &chi; i , j ) &LeftArrow; U GL ( N , F q )
(3)
b i = &Sigma; j = 1 N &chi; i , j a j ,
B:=(b1,...,bN)
(4)
Figure BDA00001857211000374
(5)
 (υi,j):=(XT)-1
(6)
b i * = &Sigma; j = 1 N &upsi; i , j a j * ,
B * : = ( b 1 * , . . . , b N * )
(7)
Figure BDA00001857211000383
return sk,pk
即,(1)主密钥生成部110通过处理装置,根据保密参数1λ,生成N(=n+2+s+r)维的对偶配对矢量空间(q,V,V*,GT,A,A*)。此处,Gdpvs是以1λ和N为输入,并输出关于保密参数1λ和N维空间的对偶配对矢量空间(q,V,V*,GT,A,A*)的对偶配对矢量空间生成算法。另外,n是1以上的整数、s是1以上的整数、r是0以上的整数。另外,n+2=R,且n+2+r=S。特别,(s,r)=(1,0),(1,1),(n,1),(1,n),(n,n)的情况是重要的。此处,n是2以上的任意的值。如果s、r是小的值,则效率变好,如果s、r是大的值,则安全性变高。
(2)主密钥生成部110通过处理装置随机地选择用于根据标准基底A生成基底B的线性变换X。
(3)主密钥生成部110通过处理装置,依据所选择出的线性变换X,根据基底A:=(a1,...,aN),生成基底B:=(b1,...,bN)。
(4)主密钥生成部110通过处理装置,生成具有基底B中的基底矢量bi(i=1,...,n+2)的基底矢量B^:=(b1,...,bn,bn+1,bn+2)。
(5)主密钥生成部110通过处理装置,依据线性变换X,生成用于根据基底A*:=(a* 1,...,a* N)生成基底B*:=(b* 1,...,b* N)的线性变换(XT-1
(6)主密钥生成部110通过处理装置,依据所生成的线性变换(XT-1,根据基底A*生成基底B*:=(b* 1,...,b* N)。
(7)主密钥生成部110将所生成的线性变换X和基底B*作为主秘密密钥sk,将包括所生成的基底B^的(1λ,q,V,V*,GT,A,A*,B^)作为主公开密钥pk。然后,主密钥存储部120将主密钥生成部110生成的主公开密钥pk和主秘密密钥sk存储到存储装置。
另外,设为对偶配对矢量空间的维数是N(=n+2+r+s)。此处,n是表示为了表现层次信息μ具有的层次构造而分配的基底数的n。即,此处,除了为了表现层次构造而分配的基底数n以外,还设置了2+r+s个基底矢量。
如图16所示,为了谓词矢量、属性矢量而分配了N(=n+2+r+s)个基底矢量中的n个基底矢量。为了谓词矢量、属性矢量而分配的基底矢量的构造与图6所示的构造相同。剩余2+r+s个基底矢量中的第n+1个基底矢量是用于生成会话密钥的信息的基底矢量。第n+2个基底矢量是用于对密文c1进行随机化的基底矢量。第n+3个至第n+2+r个基底矢量是用于对密钥k* L进行随机化的基底矢量。第n+2+r+1个至第n+2+r+s个基底矢量不使用。
即,在(S301)中,主密钥生成部110执行式162所示的Setup算法,生成主公开密钥pk和主秘密密钥sk。
【式162】
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ) ; &mu; 1 , . . . , &mu; d ) :
( param , B , B * ) &LeftArrow; R G ob ( 1 &lambda; , n + 2 + r + s ) ,
B ^ : = ( b 1 , . . . , b n , b n + 1 , b n + 2 ) ,
return sk:=(X,B*), pk : = ( 1 &lambda; , param , B ^ ) .
此处,
G ob ( 1 &lambda; , N ) : param : = ( q , V , V * , G T , A , A * ) &LeftArrow; R G dpvs ( 1 &lambda; , N ) ,
X : = ( &chi; i , j ) &LeftArrow; U GL ( N , F q ) , i,j):=(XT)-1,
b i = &Sigma; j = 1 N &chi; i , j a j , B:=(b1,...,bN),
b i * = &Sigma; j = 1 N &upsi; i , j a j * , B * : = ( b 1 * , . . . , b N * ) ,
return(param,B,B*)
(S302:密钥矢量k* L,dec生成步骤)
密钥矢量生成部130根据主公开密钥pk和主秘密密钥sk、以及式163所示的谓词矢量(v 1,...,v L),计算式164,通过处理装置,生成作为第L层(等级L)的秘密密钥的开头要素的密钥矢量k* L,dec
【式163】
( v &RightArrow; 1 , . . . , v &RightArrow; L ) : = ( ( v 1 , . . . , v &mu; 1 ) , . . . , ( v &mu; L - 1 + 1 , . . . , v &mu; L ) )
【式164】
(1)
&sigma; 0 , i , &eta; 0 , h &LeftArrow; U F q (i=1,...,L;h=1,...,r)
(2)
vv : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * )
(3)
rv : &Sigma; h = 1 r &eta; 0 , h b n + 2 + h *
(4)
k L , dec * : = vv + b n + 1 * + rv
: = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h *
即,(1)密钥矢量生成部130通过处理装置,生成随机数σ0,i(i=1,...,L)和随机数η0,h(h=1,...,r)。
(2)密钥矢量生成部130将用所生成的随机数σ0,t随机化了的谓词矢量的各要素设定为针对基底矢量b* i(i=1,...,μL)的系数,通过处理装置,生成矢量vv。即,在针对基底矢量b* i(i=1,...,μL)的系数中,埋入谓词矢量的各要素。
(3)密钥矢量生成部130将所生成的随机数η0,h设定为针对基底矢量b* i(i=n+2+1,...,n+2+r)的系数,通过处理装置,生成矢量rv。
(4)密钥矢量生成部130将所生成的矢量vv和矢量rv加到作为针对基底矢量b* n+1的系数设定了1的矢量,而生成密钥矢量k* L,dec
(S303:随机化矢量k* L,ran,j生成步骤)
随机化矢量生成部140根据主公开密钥pk和主秘密密钥sk、以及式163所示的谓词矢量(v 1,...,v L),计算式165,生成随机化矢量k* L,ran,j(j=1,...,L+1)。随机化矢量k* L,ran,j(j=1,...,L+1)是下位的密钥中的、用于使针对埋入谓词矢量的各要素的基底矢量的系数均匀地分布的矢量。另外,随机化矢量k* L,ran,j是第L层的秘密密钥的第j个要素。
【式165】
(1)
&sigma; j , i , &eta; j , h &LeftArrow; U F q (j=1,...,L+1;i=1,...,L;h=1,...,r)
(2)
vv j : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) (j=1,...,L+1)
(3)
rv j : = &Sigma; h = 1 r &eta; j , h b n + 2 + h * (j=1,...,L+1)
(4)
k L , ran , j * : = vv j + rv j
: = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=1,...,L+1)
即,(1)随机化矢量生成部140通过处理装置,生成随机数σj,i(j=1,...,L+1;i=1,...,L)和随机数ηj,h(j=1,...,L+1;h=1,...,r)。
(2)随机化矢量生成部140通过处理装置,针对j=1,...,L+1的各j,作为针对基底矢量b* i(i=1,...,μL)的系数,设定用随机数σj,t随机化了的谓词矢量的各要素,而生成矢量vvj。即,在针对基底矢量b* i(i=1,...,μL)的系数中,埋入谓词矢量的各要素。
(3)随机化矢量生成部140通过处理装置,针对j=1,...,L+1的各j,作为针对基底矢量b* i(i=n+2+1,...,n+2+r)的系数,设定随机数ηj,h,而生成矢量rvj
(4)随机化矢量生成部140针对j=1,...,L+1的各j,将所生成的矢量vvj和矢量rvj相加,而生成随机化矢量k* L,ran,j(j=1,...,L+1)。
(S304:密钥生成用矢量k* L,del,j生成步骤)
密钥生成用矢量生成部150根据主公开密钥pk和主秘密密钥sk、以及式163所示的谓词矢量(v 1,...,v L),计算式166,通过处理装置,生成密钥生成用矢量k* L,del,j(j=μL+1,...,n)。密钥生成用矢量k* L,del,j(j=μL+1,...,n)是用于生成下位的秘密密钥(下位的密钥矢量)的矢量。另外,密钥生成用矢量k* L,del,j是第L层的秘密密钥的第j个要素。
【式166】
(1)
&sigma; j , i , &psi; , &eta; j , h &LeftArrow; U F q (j=μL+1,...,n;i=1,...,L;h=1,...r)
(2)
vv j : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) (j=μL+1,...,n)
(3)
&psi; v j : = &psi; b j * (j=μL+1,...,n)
(4)
rv i : = &Sigma; h = 1 r &eta; j , h b n + 2 + h * (j=μL+1,...,n)
(5)
k L , del , j * : = vv j + &psi; v j + dv j
: = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=μL+1,...,n)
即,(1)密钥生成用矢量生成部150通过处理装置,生成随机数σj,i(j=μL+1,...,n;i=1,...,L)、随机数ψ、以及随机数ηj,h(j=μL+1,...,n;h=1,...,r)。
(2)密钥生成用矢量生成部150通过处理装置,针对j=μL+1,...,n的各j,作为针对基底矢量b* i(i=1,...,μL)的系数,设定用随机数σj,t随机化了的谓词矢量的各要素,而生成矢量vvj。即,在针对基底矢量b* i(i=1,...,μL)的系数中,埋入谓词矢量的各要素。
(3)密钥生成用矢量生成部150通过处理装置,针对j=μL+1,...,n的各j,作为针对基底矢量b* j的系数,设定随机数ψ,而生成矢量ψvj
(4)密钥生成用矢量生成部150通过处理装置,针对j=μL+1,...,n的各j,作为针对基底矢量b* i(i=n+2+1,...,n+2+r)的系数,设定随机数ηj,h,而生成矢量rvj
(5)密钥生成用矢量生成部150针对j=μL+1,...,n的各j,将矢量vvj、矢量ψvj、以及矢量dvj相加,而生成密钥生成用矢量k* L, del,j(j=μL+1,...,n)。
即,在(S302)至(S304)中,密钥矢量生成部130、随机化矢量生成部140、以及密钥生成用矢量生成部150通过处理装置,执行式167所示的GenKey算法。由此,生成包括密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=μL+1,...,n)的第L层的秘密密钥(密钥信息k→* L)。
【式167】
GenKey ( pk , sk , ( v &RightArrow; 1 , . . . , v &RightArrow; L ) ) : = ( ( v 1 , . . . , v &mu; 1 ) , . . . , ( v &mu; L - 1 + 1 , . . . , v &mu; L ) ) :
&sigma; j , i , &psi; , &eta; j , h &LeftArrow; U F q
for j=0,...,L+1,μL+1,...,n;i=1,...,L;h=1,...,r
k L , dec * : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h * ,
k L , ran , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
for j=1,...,L+1,
k L , del , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
for j=μL+1,...,n,
return k &RightArrow; L * : = ( k L , dec * , k L , ran , 1 * , . . . , k L , ran , L + 1 * , k L , del , &mu; L + 1 * , . . . , k L , del , n * ) .
(S305:密钥分发步骤)
密钥分发部160将主密钥生成部110生成的主公开密钥、和密钥矢量生成部130、随机化矢量生成部140、以及密钥生成用矢量生成部150生成的密钥信息k→* L经由通信装置发送到解密装置300。另外,密钥分发部160将主公开密钥经由通信装置发送到加密装置200。此处,将密钥信息k→* L秘密地发送到解密装置300,但关于将密钥信息k→* L秘密地发送到解密装置300的方法,可以是任意的方法。例如,也可以使用以往的密码处理来发送。
说明加密装置200的功能和动作。加密装置200具备发送信息设定部210、密码矢量生成部220、密码信息生成部230、数据发送部240、公开密钥取得部250。
另外,设为在以下的处理之前,公开密钥取得部250取得了主公开密钥pk、和与解密装置300的谓词信息矢量对应的属性信息矢量。
(S401:发送信息设定步骤)
发送信息设定部210根据主公开密钥pk,通过处理装置,计算式168,生成发送信息矢量ζv。
【式168】
(1)
&zeta; &LeftArrow; U F q
(2)
ζv:=ζbn+1
即,(1)发送信息设定部210通过处理装置生成随机数ζ。
(2)发送信息设定部210通过处理装置,作为针对主公开密钥pk中包含的基底B^的基底矢量bn+1的系数,设定随机数ζ,而生成发送信息矢量ζv。
(S402:密码矢量c1生成步骤)
密码矢量生成部220根据主公开密钥pk、和式169所示的属性矢量(x 1,...,x L),通过处理装置,计算式170,生成密码矢量c1
【式169】
( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; L ) )
【式170】
(1)
( x &RightArrow; L + 1 , . . . , x &RightArrow; d ) : = ( ( x &mu; L + 1 , . . . , x &mu; L + 1 ) , . . . , ( x &mu; d - 1 + 1 , . . . , x &mu; d ) )
&LeftArrow; U F q &mu; L + 1 - &mu; L &times; &CenterDot; &CenterDot; &CenterDot; &times; F q n - &mu; d - 1 ,
&delta; 1 , . . . , &delta; d , &delta; n + 2 , &zeta; &LeftArrow; U F q
(2)
xv : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i )
(3)
rv:=δn+2bn+2
(4)
c 1 : = xv + &zeta;v + rv
: = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta;b n + 1 + &delta; n + 2 b n + 2
即,(1)密码矢量生成部220通过处理装置,生成随机数(x L+1,...,x d)、和随机数δi(i=1,...,d,n+2)。
(2)密码矢量生成部220通过处理装置,作为针对主公开密钥pk中包含的基底B的基底矢量bi(i=1,...,μL)的系数,设定属性矢量的各要素。即,在针对基底矢量bi(i=1,...,μL)的系数中,埋入属性矢量的各要素。另外,密码矢量生成部220通过处理装置,作为针对基底矢量bi(i=μL+1,...,n)的系数,而设定随机数。由此,密码矢量生成部220生成矢量xv。
(3)密码矢量生成部220通过处理装置,作为针对主公开密钥pk中包含的基底B的基底矢量bn+2的系数,设定随机数δn+2,而生成矢量rv。
(4)密码矢量生成部220通过处理装置,将所生成的矢量xv和矢量rv加到发送信息设定部210生成的发送信息矢量ζv,而生成密码矢量c1
另外,为了提高安全性而添加了矢量rv,并非必须的要素。
(S403:密码信息c2生成步骤)
密码信息生成部230根据明文信息m,通过处理装置,计算式171,生成密码信息c2
【式171】
c 2 : = g T &zeta; m
此处,
g T = e ( a i , a i * ) &NotEqual; 1
(S404:数据发送步骤)
数据发送部240将密码矢量生成部220生成的密码矢量c1、和密码信息生成部230生成的密码信息c2,经由通信装置发送到解密装置300。
即,加密装置200执行式172所示的Enc算法,生成密码矢量c1和密码信息c2
【式172】
Enc ( pk , m &Element; G T , ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; L ) ) ) :
( x &RightArrow; L + 1 , . . . , x &RightArrow; d ) &LeftArrow; U F q &mu; L + 1 - &mu; L &times; &CenterDot; &CenterDot; &CenterDot; &times; F q n - &mu; d - 1 ,
&delta; 1 , . . . , &delta; d , &delta; n + 2 , &zeta; &LeftArrow; U F q ,
c 1 : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta;b n + 1 + &delta; n + 2 b n + 2 , c 2 : = g T &zeta; m ,
return(c1,c2).
说明解密装置300的功能和动作。解密装置300具备矢量输入部310、密钥矢量存储部320、配对运算部330。
(S501:矢量输入步骤)
矢量输入部310经由通信装置而接收并输入加密装置200的数据发送部240发送的密码矢量c1和密码信息c2
(S502:解密步骤)
配对运算部330根据主公开密钥pk和作为第L层的秘密密钥的开头要素的密钥矢量k* L,dec,通过处理装置,计算式173,生成明文信息m’。
【式173】
m &prime; : = c 2 / e ( c 1 , k L , dec * )
即,配对运算部330通过处理装置,针对矢量输入部310输入的密码矢量c1、和密钥矢量存储部320存储到存储装置的密钥矢量k* L, dec,进行配对运算e。由此,配对运算部330计算gζ T。然后,通过将密码信息c2(=gζ Tm)除以所计算出的gζ T,计算明文信息m’(=m)。另外,密钥矢量存储部320在从密钥生成装置100或者上位的密钥转让装置400分发了密钥矢量k* L,dec时,将密钥矢量k* L,dec存储到存储装置。
此处,如果关于加密装置200用于加密的属性矢量x i(i=1,...,h)、和解密装置300用于解密的密钥矢量的谓词矢量v i(i=1,...,L),L≦h,且针对所有i(i=1,...,L),x i·v i=0,则能够如式174所示,通过针对密码矢量c1和密钥矢量k* L,dec进行配对运算e,而得到gζ T
【式174】
e ( c 1 , k L , dec * ) = g T &Sigma; 1 &le; i &le; L &sigma; i &delta; i x i &RightArrow; &CenterDot; v i &RightArrow; + &zeta; = g T &zeta;
即,解密装置300执行式175所示的Dec算法,生成明文信息m’。
【式175】
Dec ( pk , k L , dec , * c 1 , c 2 ) : m &prime; : = c 2 / e ( c 1 , k L , dec * ) ,
return m'.
说明密钥转让装置400的功能和动作。密钥转让装置400具备密钥矢量取得部410(密钥生成用矢量取得部)、密钥矢量生成部420、随机化矢量生成部430、密钥生成用矢量生成部440、密钥分发部450。
(S601:密钥信息k L取得步骤)
密钥矢量取得部410经由通信装置,取得包括作为第L层的秘密密钥的开头要素的密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=μL+1,...,n)的第L层的秘密密钥(密钥信息k→* L)。
(S602:密钥矢量k* L+1,dec生成步骤)
密钥矢量生成部420通过处理装置,根据主公开密钥pk、密钥信息k→* L、以及式176所示的谓词矢量v L+1,计算式177,生成作为第L+1层的秘密密钥的开头要素的密钥矢量k* L+1,dec
【式176】
v &RightArrow; L + 1 : = ( v &mu; L + 1 , . . . , v &mu; L + 1 )
【式177】
(1)
&alpha; 0 , i , &sigma; 0 &LeftArrow; U F q (i=1,...,L+1)
(2)
rv : = &Sigma; i = 1 L + 1 &alpha; 0 , i k L , ran , i *
(3)
vv : = &sigma; 0 ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
(4)
k L + , dec * : = k L , dec * + rv + vv
: = k L , dec * + &Sigma; i = 1 L + 1 &alpha; 0 , i k L , ran , i * + &sigma; 0 ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
即,(1)密钥矢量生成部420通过处理装置,生成随机数α0,i(i=1,...,L+1)和随机数σ0
(2)密钥矢量生成部420通过处理装置,针对i=1,...,L+1的各i,将使随机化矢量k* L,ran,i的系数成为随机数α0,i倍的矢量相加,生成矢量rv。另外,在针对随机化矢量k* L,ran,i(i=1,...,L+1)中的基底矢量b* i(i=1,...,μL)的系数中,埋入谓词矢量的各要素。因此,在针对矢量rv中的基底矢量b* i(i=1,...,μL)的系数中,埋入随机数倍了的谓词矢量的各要素。
(3)密钥矢量生成部420通过处理装置,将在密钥生成用矢量k* L,del,i(i=μL+1,...,μL+1)的系数中设定了谓词矢量v L+1的各要素的矢量相加,进行随机数σ0倍,生成矢量vv。即,在针对基底矢量b* i(i=μL+1,...,μL+1)的系数中,埋入谓词矢量的各要素。
(4)密钥矢量生成部420通过处理装置,将密钥矢量k* L,dec、矢量rv以及矢量vv相加,生成密钥矢量k* L+1,dec
(S603:随机化矢量k* L+1,ran,j生成步骤)
随机化矢量生成部430根据主公开密钥pk、密钥信息k→* L、以及式176所示的谓词矢量v L+1,计算式178,生成随机化矢量k* L,ran, j(j=1,...,L+2)。随机化矢量k* L,ran,j(j=1,...,L+2)是下位的密钥中的、用于使针对埋入谓词矢量的各要素的基底矢量的系数均匀地分布的矢量。另外,随机化矢量k* L,ran,j是第L+1层的秘密密钥的第j个要素。
【式178】
(1)
&alpha; j , i , &sigma; j &LeftArrow; U F q (j=1,...,L+2;i=1,...,L+1)
(2)
rv j : = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * (j=1,...,L+2)
(3)
vv j : = &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) (j=1,...,L+2)
(4)
k L + 1 , ran , j * : = rv j + vv j
: = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
(j=1,...,L+2)
即,(1)随机化矢量生成部430通过处理装置,生成随机数αj,i(j=1,...,L+2;i=1,...,L)和随机数σj(j=1,...,L+2)。
(2)随机化矢量生成部430通过处理装置,针对j=1,...,L+2的各j,使随机化矢量k* L,ran,i(i=1,...,L+1)的系数成为随机数αj, i(i=1,...,L+1)倍而生成矢量rvj。如上所述,在针对随机化矢量k* L,ran,i(i=1,...,L+1)中的基底矢量b* i(i=1,...,μL)的系数中,埋入了谓词矢量的各要素。因此,在针对矢量rvj中的基底矢量b* i(i=1,...,μL)的系数中,埋入随机数倍了的谓词矢量的各要素。
(3)随机化矢量生成部430通过处理装置,针对j=1,...,L+2的各j,将在密钥生成用矢量k* L,del,i(i=μL+1,...,μL+1)的系数中设定了谓词矢量的各要素的矢量相加,进行随机数σj倍,生成矢量vvj。即,在针对基底矢量b* i(i=μL+1,...,μL+1)的系数中,埋入谓词矢量的各要素。
(4)随机化矢量生成部430通过处理装置,针对j=1,...,L+2的各j,将所生成的矢量rvj和矢量vvj相加,生成随机化矢量k* L+1,ran, j
(S604:密钥生成用矢量k* L+1,del,j生成步骤)
密钥生成用矢量生成部440通过处理装置,根据主公开密钥pk、密钥信息k→* L、以及式176所示的谓词矢量v L+1,计算式179,生成密钥生成用矢量k* L+1,del,j(j=μL+1+1,...,n)。密钥生成用矢量k* L+1, del,j(j=μL+1+1,...,n)是用于生成下位的秘密密钥(下位的密钥矢量)的矢量。另外,密钥生成用矢量k* L+1,del,j是第L+1层的秘密密钥的第j个要素。
【式179】
(1)
&alpha; j , i , &sigma; j , &psi; &prime; &LeftArrow; U F q (j=μL+1+1,...,n;i=1,...,L+1)
(2)
rv j : = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * (j=μL+1+1,...,n)
(3)
vv j : = &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) (j=μL+1+1,...,n)
(4)
&psi;v j : = &psi; &prime; k L , del , j * (j=μL+1+1,...,n)
5)
k L + 1 , del , j * : = rv j + vv j + &psi;v j
: = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) + &psi; &prime; k L , del , j *
(j=μL+1+1,...,n)
即,(1)密钥生成用矢量生成部440通过处理装置,生成随机数αj,i(j=μL+1+1,...,n;i=1,...,L+1)、随机数σj(j=μL+1+1,...,n)、以及随机数ψ’。
(2)密钥生成用矢量生成部440通过处理装置,针对j=μL+1+1,...,n的各j,生成对随机化矢量k* L,ran,i(i=1,...,L+1)的系数进行了随机数αj,i倍的矢量rvj。如上所述,在针对随机化矢量k* L,ran,i(i=1,...,L+1)中的基底矢量b* i(i=1,...,μL)的系数中,埋入了谓词矢量的各要素。因此,在针对矢量rvj中的基底矢量b* i(i=1,...,μL)的系数中,埋入随机数倍了的谓词矢量的各要素。
(3)密钥生成用矢量生成部440通过处理装置,针对j=μL+1+1,...,n的各j,将在密钥生成用矢量k* L,del,i(i=μL+1,...,μL+1)的系数中设定了谓词矢量的各要素的矢量相加,进行随机数σj倍,而生成矢量vvj。即,在针对基底矢量b* i(i=μL+1,...,μL+1)的系数中,埋入谓词矢量的各要素。
(4)密钥生成用矢量生成部440通过处理装置,针对j=μL+1+1,...,n的各j,对密钥生成用矢量k* L,del,j的系数进行随机数ψ’倍,而生成矢量ψvj。另外,在针对密钥生成用矢量k* L,del,j中的基底矢量b* j(j=μL+1+1,...,n)的系数中,埋入了谓词矢量的要素。因此,在针对矢量ψvj(j=μL+1+1,...,n)中的基底矢量b* j的系数中,埋入随机数倍了的谓词矢量的要素。
(5)密钥生成用矢量生成部440通过处理装置,针对j=μL+1+1,...,n的各j,将所生成的矢量rvj、矢量vvj、以及矢量ψvj相加,而生成密钥生成用矢量k* L+1,del,j(j=μL+1+1,...,n)。
即,在(S602)至(S604)中,密钥矢量生成部420、随机化矢量生成部430、以及密钥生成用矢量生成部440通过处理装置,执行式180所示的DelegateL算法,生成包括密钥矢量k* L+1,dec、随机化矢量k* L+1,ran,j(j=1,...,L+2)、以及密钥生成用矢量k* L+1,del,j(j=μL+1+1,...,n)的第L+1层的秘密密钥(密钥信息k→* L+1)。
【式180】
Delegate L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v &mu; L + 1 , . . . , v &mu; L + 1 ) ) :
&alpha; j , i , &sigma; j , &psi; &prime; &LeftArrow; U F q for j=0,...,L+2,μL+1+1,...,n;i=1,...,L+1,
k L + 1 , dec * : = k L , dec * + &Sigma; i = 1 L + 1 &alpha; 0 , i k L , ran , i * + &sigma; 0 ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) ,
k L + 1 , ran , j * : = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
for j=0,...,L+2,
k L + 1 , del , j * : = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) + &psi; &prime; k L , del , j *
for j=μL+1+1,...,n,
return k &RightArrow; L + 1 * : = k L + 1 , dec * , k L + 1 , ran , 1 * , . . . , k L + 1 , ran , L + 2 * , k L + 1 , del , &mu; L + 1 + 1 * , . . . k L + 1 , del , n * .
(S605:密钥分发步骤)
密钥分发部440将密钥矢量生成部420、随机化矢量生成部430、以及密钥生成用矢量生成部440生成的密钥信息k→* L+1经由通信装置发送到下位的解密装置300。此处,将密钥信息k→* L+1秘密地发送到解密装置300,但关于将密钥信息k→* L+1秘密地发送到解密装置300的方法,可以是任意的方法。例如,也可以使用以往的密码处理来发送。
如上所述,密码处理系统10实现的密码处理相比于非专利文献18中提出的密码处理是安全性更高,能够证明标准的模型(StandardModel)中的安全性。
其理由主要有以下的(1)至(3)这3点。
(1)相对于密码处理中利用的空间V和V*是N(=n+2+r+s)维,加密装置200为了生成密码矢量c1而利用的基底矢量仅为基底矢量bi(i=1,...,n+2)的n+2维。另外,解密装置300在解密中利用的基底矢量仅为基底矢量基底矢量b* i(i=1,...,n+2+r)的n+2+r维。即,在密码处理中,不使用空间V和V*中的s维(基底矢量bn+2+r+1,...,bn+2+r+s)。换言之,在与密码处理中使用的n+2+r维的空间相比维数多s维的空间中,生成主秘密密钥、主公开密钥。因此,相比于在密码处理中使用的n+2+r维的空间中生成主秘密密钥、主公开密钥的情况,为了生成主秘密密钥、主公开密钥而使用的线性变换X等的随机要素增加s维的量。通过随机要素增加,安全性变高。
(2)对密钥生成装置100生成的密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=μL+1,...,n)附加随机要素。即,在密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=μL+1,...,n)的各个中,对基底矢量b* n+3设定了随机数。通过对密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=μL+1,...,n)附加随机要素,安全性变高。
(3)在密钥转让装置400生成下位的密钥的情况下,使用随机化矢量来生成。由此,能够对针对下位的密钥的规定的基底矢量的系数进行随机化,不会由于生成下位的密钥而使密钥的安全性劣化。
此处,在不使用随机化矢量的情况下,根据密钥信息k* L生成的2个下位的密钥矢量k* L+1,dec(A)和密钥矢量k* L+1,dec(B)如式181所示。
【式181】
k L + 1 , dec * ( A ) : = k L , dec * + &sigma; A ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
: = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &sigma; A ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
+ &eta; 0 b n + 1 * + ( 1 - &eta; 0 ) b n + 2 *
k L + 1 , dec * ( B ) : = k L , dec * + &sigma; B ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
: = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &sigma; B ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
+ &eta; 0 b n + 1 * + ( 1 - &eta; 0 ) b n + 2 *
即,在不使用随机化矢量的情况下,设定了密钥矢量k* L,dec中包含的谓词信息的基底矢量b* i(i=1,...,μL)的系数在密钥矢量k* L+1, dec(A)与密钥矢量k* L+1,dec(B)之间成为共同。
但是,在使用随机化矢量的情况下,根据密钥信息k→* L生成的2个下位的密钥矢量k* L+1,dec(A)和密钥矢量k* L+1,dec(B)成为式182。
【式182】
k L + 1 , dec * ( A ) : = k L , dec * + &Sigma; i = 1 L + 1 &alpha; A , i k L , ran , i * + &sigma; A ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
: = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; i = 1 L + 1 &alpha; A , i k L , ran , i *
+ &sigma; A ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) + &eta; 0 b n + 1 * + ( 1 - &eta; 0 ) b n + 2 *
k L + 1 , dec * ( B ) : = k L , dec * + &Sigma; i = 1 L + 1 &alpha; B , i k L , ran , i * + &sigma; B ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
: = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; i = 1 L + 1 &alpha; A , i k L , ran , i *
+ &sigma; B ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) + &eta; 0 b n + 1 * + ( 1 - &eta; 0 ) b n + 2 *
即,在使用随机化矢量的情况下,在密钥矢量k* L+1,dec(A)中,加上通过随机数αA,i使系数的值均匀地分布的随机化矢量k* L,ran,i,在密钥矢量k* L+1,dec(B)中,加上通过随机数αB,i使系数的值均匀地分布的随机化矢量k* L,ran,i。此处,在随机化矢量k* L,ran,i中,包括基底矢量b* i(i=1,...,μL)。因此,密钥矢量k* L+1,dec(A)和密钥矢量k* L+1,dec(B)中的基底矢量b* i(i=1,...,μL)的系数的值均匀地分布。即,在密钥矢量k* L+1,dec(A)和密钥矢量k* L+1,dec(B)中,设定了谓词信息的基底矢量b* i(i=1,...,μL)的系数成为不同。
另外,在上述说明中,在N(=n+2+r+s)维矢量空间中实现了密码处理,但如果是没有权限转让的密码处理,则n是1以上的整数。另外,如果是具有权限转让的密码处理,则n是2以上的整数。另外,r是0以上的整数。另外,s是1以上的整数。
在r是0的情况下,不对密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=μL+1,...,n)附加随机要素。
另外,如上所述,在(S402)中,加密装置200使用基底矢量bn+2来生成矢量rv并不是必须的。如果不生成矢量rv,则能够在N(=n+1+r+s)维矢量空间中实现密码处理。
因此,如果是没有权限转让的密码处理,则N是2以上的整数,如果是具有权限转让的密码处理,则N是3以上的整数。
另外,在上述密码处理中,没有利用是对偶配对矢量空间这样的条件中包含的畸变映射。对于畸变映射,在实现密码处理的算法中不使用,而用于证明密码处理的安全性。因此,上述密码处理即使是没有畸变映射的空间也能够成立。即,并非必须在实现上述密码处理的空间中有畸变映射。对于以下说明的密码处理,也是同样的。
另外,在上述说明中,说明了层次性的谓词密码。接下来,说明层次性的谓词密钥隐匿方式。对于层次性的谓词密钥隐匿方式,仅说明与上述层次性的谓词密码不同的部分。
图17是示出实现层次性的谓词密钥隐匿方式的密码处理系统10的功能的功能框图。
此处,密钥生成装置100的处理和密钥转让装置400的处理与上述层次性的谓词密码的情况相同。因此,此处,仅说明加密装置200的处理和解密装置300的处理。
图18是示出加密装置200的动作的流程图。图19是示出解密装置300的动作的流程图。
说明加密装置200的功能和动作。
图17所示的加密装置200除了图11所示的加密装置200具备的功能以外,还具备会话密钥生成部260。另外,图17所示的加密装置200不具备图11所示的加密装置200具备的密码信息生成部230。
(S701)和(S702)与(S401)和(S402)相同。
在(S703:数据发送步骤)中,将在(S702)中密码矢量生成部220生成的密码矢量c1经由通信装置发送到解密装置300。即,在层次性的谓词密钥隐匿方式中,不生成埋入了明文信息m的密码信息c2,不发送到解密装置300。
在(S704:会话密钥生成步骤)中,会话密钥生成部260通过处理装置,计算式183,而生成会话密钥K。
【式183】
K : = g T &zeta;
此处,
g T = e ( a i , a i * ) &NotEqual; 1
即,加密装置200执行式184所示的Enc算法,生成密码矢量c1和会话密钥K。
【式184】
Enc ( pk , ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; L ) ) ) :
( x &RightArrow; L + 1 , . . . , x &RightArrow; d ) &LeftArrow; U F q &mu; L + 1 - &mu; L &times; &CenterDot; &CenterDot; &CenterDot; &times; F q n - &mu; d - 1 ,
&delta; 1 , . . . , &delta; d , &delta; n + 3 , &zeta; &LeftArrow; U F q ,
c 1 : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta;d n + 1 + &delta; n + 3 b n + 3 , K : = g T &zeta; ,
return(c1,K).
说明解密装置300的功能和动作。
图17所示的解密装置300是与图11所示的解密装置300同样的功能结构。
(S801:矢量输入步骤)
矢量输入部310经由通信装置接收并输入加密装置200的数据发送部240发送的密码矢量c1
(S802:解密步骤)
配对运算部330通过处理装置,根据主公开密钥pk和作为第L层的秘密密钥的开头要素的密钥矢量k* L,dec,计算式185而生成会话密钥K。
【式185】
K &prime; : = e ( c 1 , k L , dec * )
即,配对运算部330通过处理装置,针对矢量输入部310输入的密码矢量c1、和密钥矢量存储部320存储到存储装置的密钥矢量k* L, dec,进行配对运算e。由此,配对运算部330计算作为与加密装置200埋入的ζ相关的值的gζ T(=K)。
即,解密装置300执行式186所示的Dec算法,生成会话密钥K’(=K)。
【式186】
Dec ( pk , k L , dec * , c 1 ) : K &prime; : = e ( c 1 , k L , dec * ) ,
return K'.
如上所述,根据层次性的谓词密钥隐匿方式,能够从加密装置200向解密装置300,秘密地发送会话密钥K。即,能够在加密装置200与解密装置300之间共享会话密钥。
实施方式3.
在实施方式3中,说明具有比实施方式2中说明的层次性的谓词密码和层次性的谓词密钥隐匿方式一般化了的权限转让的谓词密码。
如上所述,在实施方式2中说明的层次性的谓词密码和层次性的谓词密钥隐匿方式中,如图16所示,使用了基底矢量。即,将n+2+r+s个基底矢量中的、n个基底矢量作为用于属性矢量、谓词矢量的基底矢量,而用于表示层次构造。特别,将最初的μ1个基底矢量作为用于第1层的属性矢量、谓词矢量的基底矢量,将μ21个基底矢量作为用于第2层的属性矢量、谓词矢量的基底矢量,以下同样地,将μLL-1个基底矢量作为用于第L层的属性矢量、谓词矢量的基底矢量。
然后,如式164所示计算出第L层的密钥矢量k* L,dec。即,对于第L层的密钥矢量k* L,dec,作为针对基底矢量b* i(i=1,...,L)的系数,分配了谓词矢量的各要素,作为针对基底矢量b* i(i=L+1,...,n)的系数,分配了0。
另外,如式170所示计算出第L层的密码矢量c1。即,对于第L层的密码矢量c1,作为针对基底矢量bi(i=1,...,L)的系数,分配了属性矢量的各要素,作为针对基底矢量bi(i=L+1,...,n)的系数,分配了随机数。
由此,实现了层次性的权限转让。
在实施方式3中说明的谓词密码(谓词密钥隐匿方式)中,与实施方式2的情况同样地,将n+2+r+s个基底矢量中的n个基底矢量用作用于属性矢量、谓词矢量的基底矢量。但是,不论是哪个密钥(无论是上位的密钥、还是下位的密钥),都将n个基底矢量的全部作为用于谓词矢量的基底矢量。即,始终将n个基底矢量的全部作为用于属性矢量、谓词矢量的基底矢量。
然后,对于密钥矢量k* L,dec,作为针对基底矢量b* i(i=1,...,n)的系数,分配谓词矢量的各要素。另外,对于第L层的密码矢量c1,作为针对基底矢量bi(i=1,...,n)的系数,分配属性矢量的各要素。
即,对于n个基底矢量,没有层次构造这样的概念。另外,没有对秘密密钥层次性地进行权限转让的概念。因此,能够实现相比于在实施方式2中说明的密码方式,自由度更高的权限转让。
首先,说明实现具有权限转让的谓词密码的情况。
图20是示出实现具有权限转让的谓词密码的密码处理系统10的功能的功能框图。另外,图20所示的密码处理系统10具备的功能与图11所示的密码处理系统10具备的功能相同。
实现具有权限转让的谓词密码的情况下的实施方式3的密码处理系统10的动作的流程与实施方式2的密码处理系统10的动作的流程相同。因此,根据图20、和图12至图16,说明实施方式3的密码处理系统10的功能和动作。
说明密钥生成装置100的功能和动作。
(S301:主密钥生成步骤)
与实施方式2中的(S301)同样地,主密钥生成部110通过处理装置,计算式187,生成主公开密钥pk和主秘密密钥sk,存储到主密钥存储部120。
【式187】
Setup ( 1 &lambda; , &mu; &RightArrow; : = n ) : ( param , B , B * ) &LeftArrow; R G ob ( 1 &lambda; , n + 2 + r + s ) ,
B ^ : ( b 1 , . . . , b n , b n + 1 , b n + 2 ) ,
return sk:=(X,B*), pk : = ( 1 &lambda; , param , B ^ ) .
此处,
G ob ( 1 &lambda; , N ) : param : = ( q , V , V * , G T , A , A * ) &LeftArrow; R G dpvs ( 1 &lambda; , N ) ,
X : = ( &chi; i , j ) &LeftArrow; U GL ( N , F q ) , i,j):=(XT)-1,
b i = &Sigma; j = 1 N &chi; i , j a j , B:=(b1,...,bN),
b i * = &Sigma; j = 1 N &upsi; i , j a j * , B * : = ( b 1 * , . . . , b N * ) ,
return(param,B,B*)
(S302:密钥矢量k* L,dec生成步骤)
密钥矢量生成部130通过处理装置,根据主公开密钥pk和主秘密密钥sk、以及式188所示的谓词矢量(v 1,...,v L),计算式189,生成作为第L层(等级L)的秘密密钥的开头要素的密钥矢量k* L,dec
【式188】
( v &RightArrow; 1 , . . . , v &RightArrow; L ) : = ( ( v 1,1 , . . . , v 1 , n ) , . . . , ( v L , 1 , . . . , v L , n ) )
【式189】
(1)
&sigma; dec , t , &eta; dec , h &LeftArrow; U F q (t=1,.,L;h=1,...,r)
(2)
vv : = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * )
(3)
rv : = &Sigma; h = 1 r &eta; dec , h b n + 2 + h *
(4)
k L , dec * : = vv + b n + 1 * + rv
: = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; dec , h b n + 2 + h *
(S303:随机化矢量k* L,ran,j生成步骤)
随机化矢量生成部140根据主公开密钥pk和主秘密密钥sk、以及式188所示的谓词矢量(v 1,...,v L),计算式190,生成随机化矢量k* L,ran,j(j=1,...,L+1)。
【式190】
(1)
&sigma; ran , j , t , &eta; ran , j , h &LeftArrow; U F q (j=1,...,L+1;t=1,...,L;h=1,...,r)
(2)
vv j : = &Sigma; t = 1 L &sigma; ran , j , t ( &Sigma; i = 1 n v t , i b i * ) (j=1,.,L+1)
(3)
rv j : = &Sigma; h = 1 r &eta; ran , j , h b n + 2 + h * (j=1,...,L+1)
(4)
k L , ran , j * : = vv j + rv j
: = &Sigma; t = 1 L &sigma; ran , j , t ( &Sigma; i = 1 n v t , i b i * ) + &Sigma; h = 1 r &eta; ran , j , h b n + 2 + h *
(j=1,...,L+1)
(S304:密钥生成用矢量k* L,del,j生成步骤)
密钥生成用矢量生成部150通过处理装置,根据主公开密钥pk和主秘密密钥sk、以及式188所示的谓词矢量(v 1,...,v L),计算式191,生成密钥生成用矢量k* L,del,j(j=1,...,n)。
【式191】
(1)
&sigma; del , j , t , &eta; del , j , h &psi; &LeftArrow; U F q (j=1,...,n;t=1,...,L;h=1,...,r)
(2)
vv j : = &Sigma; t = 1 L &sigma; del , j , t ( &Sigma; i = 1 n v t , i b i * ) (j=1,...,n)
(3)
&psi;v j : = &psi;b j * (j=1,...,n)
(4)
rv j : = &Sigma; h = 1 r &eta; del , j , h b n + 2 + h * (j=1,...,n)
(5)
k L , del , j * : = vv j + &psi;v j + rv j
: = &Sigma; t = 1 L &sigma; del , j , t ( &Sigma; i = 1 n v t , i b i * ) + &psi;b j * + &Sigma; h = 1 r &eta; del , j , h b n + 2 + h *
(j=1,...,n)
即,在(S302)至(S304)中,密钥矢量生成部130、随机化矢量生成部140、以及密钥生成用矢量生成部150通过处理装置,执行式192所示的GenKey算法。由此,生成包括密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=1,...,n)的第L层的秘密密钥(密钥信息k→* L)。
【式192】
GenKey ( pk , sk , ( v &RightArrow; 1 , . . . , v &RightArrow; L ) ) : = ( ( v 1,1 , . . . , v 1 , n ) , . . . , ( v L , 1 , . . . , v L , n ) ) :
σdec,t,ηdec,hran,j,t,ηran,j,h(j=1,...,L+1),
&sigma; del , j , t , &eta; del , j , h ( j = 1 , . . . , n ) , &psi; &LeftArrow; U F q
for t=1,...,L;h=1,...,r,
k L , dec * : = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; dec , h b n + 2 + h * ,
k L , ran , j * : = &Sigma; t = 1 L &sigma; ran , j , t ( &Sigma; i = 1 n v t , i b i * ) + &Sigma; h = 1 r &eta; ran , j , h b n + 2 + h *
for j=1,...,L+1,
k L , del , j * : = &Sigma; t = 1 L &sigma; del , j , t ( &Sigma; i = 1 n v t , i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; del , j , h b n + 2 + h *
for j=1,...,n,
return k &RightArrow; L * : = ( k L , dec * , k L , ran , 1 * , . . . , k L , ran , L + 1 * , k L , del , 1 * , . . . , k L , del , n * ) .
(S305:密钥分发步骤)
与实施方式2中的(S305)同样地,密钥分发部160将主密钥生成部110生成的主公开密钥、和密钥矢量生成部130、随机化矢量生成部140、以及密钥生成用矢量生成部150生成的密钥信息k→* L,经由通信装置发送到解密装置300。另外,密钥分发部160将主公开密钥经由通信装置发送到加密装置200。
说明加密装置200的功能和动作。
(S401:发送信息设定步骤)
与实施方式2中的(S401)同样地,发送信息设定部210通过处理装置,根据主公开密钥pk,计算式193,生成发送信息矢量ζv。
【式193】
(1)
&zeta; &LeftArrow; U F q
(2)
ζv:=ζbn+1
(S402:密码矢量c1生成步骤)
密码矢量生成部220通过处理装置,根据主公开密钥pk、和式194所示的属性矢量(x 1,...,x L),计算式195,生成密码矢量c1
【式194】
( v &RightArrow; 1 , . . . , v &RightArrow; L ) : = ( ( v 1,1 , . . . , v 1 , n ) , . . . , ( v L , 1 , . . . , v L , n ) )
【式195】
(1)
&delta; 1 , . . . , &delta; L , &delta; n + 2 , &zeta; &LeftArrow; U F q
(2)
xv : = &Sigma; t = 1 L &delta; t ( &Sigma; i = 1 n x t , i b i )
(3)
rv:=δn+2bn+2
(4)
c 1 : = xv + &zeta;v + rv
: = &Sigma; t = 1 L &delta; t ( &Sigma; i = 1 n x t , i b i ) + &zeta;b n + 1 + &delta; n + 2 b n + 2
(S403:密码信息c2生成步骤)
与实施方式2中的(S403)同样地,密码信息生成部230通过处理装置,根据明文信息m,计算式196,生成密码信息c2
【式196】
c 2 : = g T &zeta; m
(S404:数据发送步骤)
与实施方式2中的(S404)同样地,数据发送部240将密码矢量生成部220生成的密码矢量c1、和密码信息生成部230生成的密码信息c2,经由通信装置发送到解密装置300。
即,加密装置200执行式197所示的Enc算法,生成密码矢量c1和密码信息c2
【式197】
Enc ( pk , m &Element; G T , ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1,1 , . . . , x 1 , n ) , . . . , ( x L , 1 , . . . , x L , n ) ) ) :
&delta; 1 , . . . , &delta; L , &delta; n + 2 , &zeta; &LeftArrow; U F q ,
c 1 : = &Sigma; t = 1 L &delta; t ( &Sigma; i = 1 n x t , i b i ) + &zeta;b n + 1 + &delta; n + 2 b n + 2 , c 2 : = g T &zeta; m ,
return(c1,c2).
说明解密装置300的功能和动作。
(S501:矢量输入步骤)
与实施方式2中的(S501)同样地,矢量输入部310经由通信装置接收并输入加密装置200的数据发送部240发送的密码矢量c1和密码信息c2
(S502:解密步骤)
与实施方式2中的(S502)同样地,配对运算部330通过处理装置,根据主公开密钥pk和作为第L层的秘密密钥的开头要素的密钥矢量k* L,dec,计算式198,生成明文信息m’。
【式198】
m &prime; : = c 2 / e ( c 1 , k L , dec * )
此处,对于加密装置200用于加密的属性矢量x i(i=1,...,h)、和解密装置300用于解密的密钥矢量的谓词矢量v j(j=1,...,L),如果针对所有i(i=1,...,h)、j(j=1,...,L)是x i·v j=0,则配对运算部330能够生成明文信息m。另外,设为明文信息m∈GT
即,解密装置300执行式199所示的Dec算法,生成明文信息m’。
【式199】
Dec ( pk , k L , dec * , c 1 , c 2 ) : m &prime; : = c 2 / e ( c 1 , k L , dec * ) ,
return m'.
说明密钥转让装置400的功能和动作。
(S601:密钥信息k→* L取得步骤)
与实施方式2中的(S601)同样地,密钥矢量取得部410经由通信装置取得包括作为第L层的秘密密钥的开头要素的密钥矢量k* L,dec、随机化矢量k* L,ran,j(j=1,...,L+1)、以及密钥生成用矢量k* L,del,j(j=1,...,n)的第L层的秘密密钥(密钥信息k→* L)。
(S602:密钥矢量k* L+1,dec生成步骤)
密钥矢量生成部420通过处理装置,根据主公开密钥pk、密钥信息k→* L、以及式200所示的谓词矢量v L+1,计算式201,生成作为第L+1层的秘密密钥的开头要素的密钥矢量k* L+1,dec
【式200】
v &RightArrow; L + 1 : = ( v L + 1,1 , . . . , v L + 1 , n )
【式201】
(1)
&alpha; dec , t &sigma; dec &LeftArrow; U F q (t=1,...,L+1)
(2)
rv : = &Sigma; t = 1 L + 1 &alpha; dec , t k L , ran , t *
(3)
vv : = &sigma; dec ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
(4)
k L + 1 , dec * : = k L , dec * + rv + vv
: = k L , dec * + &Sigma; t = 1 L + 1 &alpha; dec , t k L , ran , t * + &sigma; dec ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
(S603:随机化矢量k* L+1,ran,j生成步骤)
随机化矢量生成部430根据主公开密钥pk、密钥信息k→* L、以及式200所示的谓词矢量v L+1,计算式202,生成随机化矢量k* L+1, ran,j(j=1,...,L+2)。
【式202】
(1)
&alpha; ran , j , t , &sigma; ran , j &LeftArrow; U F q (j=1,...,L+2;t=1,...,L+1)
(2)
rv j : = &Sigma; t = 1 L + 1 &alpha; ran , j , t k L , ran , t * (j=1,...,L+2)
(3)
vv j : = &sigma; ran , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * ) (j=1,...,L+2)
(4)
k L + 1 , ran , j * : = rv j + vv j
: = &Sigma; t = 1 L + 1 &alpha; ran , j , t k L , ran , t * + &sigma; ran , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
(j=1,...,L+2)
(S604:密钥生成用矢量k* L+1,del,j生成步骤)
密钥生成用矢量生成部440通过处理装置,根据主公开密钥pk、密钥信息k→* L、以及式200所示的谓词矢量v L+1,计算式203,生成密钥生成用矢量k* L+1,del,j(j=1,...,n)。
【式203】
(1)
&alpha; del , j , t , &sigma; del , j , &psi; &prime; &LeftArrow; U F q (j=1,...,n;i=1,...,L+1)
(2)
rv j : = &Sigma; t = 1 L + 1 &alpha; del , j , t k L , del , t * (j=1,...,n)
(3)
vv j : = &sigma; del , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * ) (j=1,...,n)
(4)
&psi;v j : = &psi; &prime; k L , del , j * (j=1,...,n)
(5)
k L + 1 , del , j * : = rv j + vv j + &psi;v j
: = &Sigma; t = 1 L + 1 &alpha; del , j , t k L , del , t * + &sigma; del , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
+ &psi; &prime; k L , del , j *
(j=1,...,n)
即,在(S602)至(S604)中,密钥矢量生成部420、随机化矢量生成部430、以及密钥生成用矢量生成部440通过处理装置,执行式204所示的DelegateL算法,生成包括密钥矢量k* L+1,dec、随机化矢量k* L+1,ran,j(j=1,...,L+2)、以及密钥生成用矢量k* L+1,del,j(j=1,...,n)的第L+1层的秘密密钥(密钥信息k→* L+1)。
【式204】
Delegate L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v L + 1,1 , . . . , v L + 1 , n ) ) :
αdec,tdecran,j,tran,j(j=1,...,L+2),
&alpha; del , j , t , &sigma; del , j ( j = 1 , . . . , n ) , &psi; &prime; &LeftArrow; U F q
for t=1,...,L+1,
k L + 1 , dec * : = k L , dec * + &Sigma; t = 1 L + 1 &alpha; dec , t k L , ran , t * + &sigma; dec ( &Sigma; i = 1 n v L + 1 , i k L , del , i * ) ,
k L + 1 , ran , j * : = &Sigma; t = 1 L + 1 &alpha; ran , j , t k L , ran , t * + &sigma; ran , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
for j=1,...,L+2,
k L + 1 , del , j * : = &Sigma; t = 1 L + 1 &alpha; del , j , t k L , del , t * + &sigma; del , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * ) + &psi; &prime; k L , del , j *
for j=1,...,n,
return k &RightArrow; L + 1 * : = ( k L + 1 , dec * , k L + 1 , ran , 1 * , . . . , k L + 1 , ran , L + 2 * , k L + 1 , del , 1 * , . . . k L + 1 , del , n * ) .
(S605:密钥分发步骤)
与实施方式2中的(S605)同样地,密钥分发部450将密钥矢量生成部420、随机化矢量生成部430、以及密钥生成用矢量生成部440生成的密钥信息k→* L+1,经由通信装置发送到下位的解密装置300。
如上所述,对于加密装置200用于加密的属性矢量x j(i=1,...,h)、和解密装置300用于解密的密钥矢量k* L,dec的谓词矢量v i(j=1,...,L),如果针对所有i(i=1,...,h)、j(j=1,...,L)是x i·v j=0,则解密装置300能够进行解密。即,在用根据谓词矢量(v 1)生成的密钥矢量k* 1,dec来解密的情况下,如果x·v 1=0,则解密装置300能够进行解密。另外,在用根据谓词矢量(v 1,v 2)生成的密钥矢量k* 2,dec来解密的情况下,如果x·v 1=0并且x·v 2=0,则解密装置300能够进行解密。即,与实施方式2中说明的算法同样地,下位的密钥矢量k* 2,dec相比于上位的密钥矢量k* 1,dec其功能被限制。
另外,通过与实施方式2同样地,分别如式205和式206那样变更加密装置200执行的Enc算法、和解密装置300执行的Dec算法,还能够实现层次性的谓词密钥隐匿方式。
【式205】
Enc ( pk , ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1,1 , . . . , x 1 , n ) , . . . , ( x L , 1 , . . . , x L , n ) ) ) :
&delta; 1 , . . . , &delta; L , &delta; n + 2 , &zeta; &LeftArrow; U F q ,
c 1 : = &Sigma; t = 1 L &delta; t ( &Sigma; i = 1 n x t , i b i ) + &zeta; b n + 1 + &delta; n + 2 b n + 2 , K : = g T &zeta; ,
return(c1,K).
【式206】
Dec ( pk , k L , dec * , c 1 ) : K &prime; : = e ( c 1 , k L , dec * ) ,
return K'.
实施方式4.
在以上的实施方式中,说明了在对偶矢量空间中实现密码处理的方法。在该实施方式中,说明在对偶模(dual module)中实现密码处理的方法。
即,在以上的实施方式中,在素数阶数q的循环群中实现了密码处理。但是,在使用合成数M如式207那样表示了环(ring)R的情况下,即使在将环R作为系数的模中,也能够应用上述实施方式中说明的密码处理。
【式207】
R:=Z/MZ
此处,
Z:整数
M:合成数
例如,如果在将环R作为系数的模中实现实施方式2中说明的层次性的谓词密码,则如式208至式212所示。
【式208】
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
( param , B , B * ) &LeftArrow; R G ob ( 1 &lambda; , n + 2 + r + s ) ,
B ^ : = ( b 1 , . . . , b n , b n + 1 , b n + 2 ) ,
return sk:=(X,B*),
pk : = ( 1 &lambda; , param , B ^ ) .
此处,
G ob ( 1 &lambda; , N ) : param : = ( M , V , V * , G T , A , A * ) &LeftArrow; R G dpvs ( 1 &lambda; , N ) ,
X : ( &chi; i , j ) &LeftArrow; U GL ( N , R ) , i,j):=(XT)-1,
b i = &Sigma; j = 1 N &chi; i , j a j , B:=(b1,...,bN),
b i * = &Sigma; j = 1 N &upsi; i , j a j * , B * : = ( b 1 * , . . . , b N * ) ,
return(param,B,B*)
【式209】
GenKey ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L ) ) : = ( ( v 1 , . . . , v &mu; 1 ) , . . . , ( v &mu; L - 1 + 1 , . . . , v &mu; L ) ) :
&sigma; j , i , &psi; , &eta; j , h &LeftArrow; U R
for j=0,...,L+1,μL+1,...,n;i=1,...,L;h=1,...,r
k L , dec * : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h * ,
k L , ran , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
for j=1,...,L+1,
k L , del , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
for j=μL+1,...,n,
return k &RightArrow; L * : = ( k L , 0 * , . . . , k L , L + 1 * , k L , &mu; L + 1 * , . . . , k L , n * ) .
【式210】
Enc ( pk , m &Element; G T , ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; L ) ) ) :
( x &RightArrow; L + 1 , . . . , x &RightArrow; d ) &LeftArrow; U R &mu; L + 1 - &mu; L &times; &CenterDot; &CenterDot; &CenterDot; &times; R n - &mu; d - 1 ,
&delta; 1 , . . . , &delta; d , &delta; n + 2 , &zeta; &LeftArrow; U R ,
c 1 : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta; b n + 1 + &delta; n + 2 b n + 2 , c 2 : g T &zeta; m ,
return(c1,c2).
【式211】
Dec ( pk , k L , dec * , c 1 , c 2 ) : m &prime; : c 2 / e ( c 1 , k L , dec * ) ,
return m'.
【式212】
Deldgate L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v &mu; L + 1 , . . . , v &mu; L + 1 ) ) :
&alpha; j , i , &sigma; j , &psi; &prime; &LeftArrow; U R for j = 0 , . . . , L + 2 , &mu; L + 1 + 1 , . . . , n ; i = 1 , . . . , L + 1 ,
k L + 1 , dec * : = k L , dec * + &Sigma; i = 1 L + 1 &alpha; 0 , i k L , ran , i * + &sigma; 0 ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) ,
k L + 1 , ran , j * : = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) for j=0,...,L+2,
k L + 1 , del , j * : = &Sigma; i = 1 L + 1 &alpha; j , i k L , ran , i * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) + &psi; &prime; k L , del , j *
for j=μL+1+1,...,n,
return k &RightArrow; L + 1 * : = ( k L + 1,0 * , . . . , k L + 1 . , L + 2 * , k L + 1 , &mu; L + 1 + 1 * , . . . k L + 1 , n * ) .
此处,示出了在将环R作为系数的模中仅实现在实施方式2中说明的层次性的谓词密码的方法。但是,原则上,通过将在以上的实施方式中作为域(field)Fq说明的处理置换为环R,在将环R作为系数的模中也能够实现在以上的实施方式中说明的其他密码处理。
接下来,说明实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300、密钥转让装置400)的硬件结构。
图21是示出密钥生成装置100、加密装置200、解密装置300、密钥转让装置400的硬件结构的一个例子的图。
如图21所示,密钥生成装置100、加密装置200、解密装置300、密钥转让装置400具备执行程序的CPU911(Central·Processing·Unit、还称为中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。CPU911经由总线912而与ROM913、RAM914、LCD901(Liquid Crystal Display,液晶显示器)、键盘902(K/B)、通信板(communication board)915、磁盘装置920连接,控制这些硬件设备。也可以代替磁盘装置920(固定盘装置),而使用光盘装置、存储卡读写装置等存储装置。磁盘装置920经由规定的固定盘接口连接。
ROM913、磁盘装置920是非易失性存储器的一个例子。RAM914是易失性存储器的一个例子。ROM913、RAM914、以及磁盘装置920是存储装置(存储器)的一个例子。另外,键盘902、通信板915是输入装置的一个例子。另外,通信板915是通信装置(网络接口)的一个例子。进而,LCD901是显示装置的一个例子。
在磁盘装置920或者ROM913等中,存储了操作系统921(OS)、视窗系统922、程序群923、文件群924。由CPU911、操作系统921、视窗系统922执行程序群923的程序。
在程序群923中,存储了执行在上述说明中说明为“主密钥生成部110”、“主密钥存储部120”、“密钥矢量生成部130”、“随机化矢量生成部140”、“密钥生成用矢量生成部150”、“密钥分发部160”、“发送信息设定部210”、“密码矢量生成部220”、“密码信息生成部230”、“数据发送部240”、“公开密钥取得部250”、“会话密钥生成部260”、“矢量输入部310”、“密钥矢量存储部320”、“配对运算部330”、“密钥矢量取得部410”、“密钥矢量生成部420”、“随机化矢量生成部430”、“密钥生成用矢量生成部440”、“密钥分发部450”等的功能的软件、程序、其他程序。程序由CPU911读出并执行。
在文件群924中,作为“文件”、“数据库”的各项目,存储在上述中说明的“主公开密钥pk”、“主秘密密钥sk”、“密码矢量c”、“密钥矢量”等信息、数据、信号值、变量值、参数。将“文件”、“数据库”存储到盘、存储器等记录介质。由CPU911,经由读写电路,将盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数读出到主存储器、高速缓存存储器,用于抽出·检索·参照·比较·运算·计算·处理·输出·印刷·显示等CPU911的动作。在抽出·检索·参照·比较·运算·计算·处理·输出·印刷·显示的CPU911的动作的期间,将信息、数据、信号值、变量值、参数暂时存储到主存储器、高速缓存存储器、缓冲存储器。
另外,上述说明中的流程图的箭头的部分主要表示数据、信号的输入输出,将数据、信号值记录到RAM914的存储器、其他光盘等记录介质、IC芯片。另外,通过总线912、信号线、电缆、其他传送介质、电波,在线传送数据、信号。
另外,在上述说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~仪器”、“~单元”、“~功能”,并且,也可以是“~步骤”、“~阶段”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~仪器”、“~单元”、“~功能”,并且,也可以是“~步骤”、“~阶段”、“~处理”。进而,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过ROM913中存储的固件实现。或者,也可以仅通过软件、或者仅通过元件·器件·基板·布线等硬件、或者通过软件和硬件的组合、进而通过与固件的组合来实施。将固件和软件作为程序存储到ROM913等记录介质。程序由CPU911读出并由CPU911执行。即,程序用于使计算机等作为在上述中叙述的“~部”发挥功能。或者,使计算机等执行在上述中叙述的“~部”的步骤、方法。

Claims (35)

1.一种密码处理系统,其特征在于,使用作为通过式1所示的配对运算关联起来的对偶矢量空间的空间V和空间V*来进行谓词密码处理,该密码处理系统具备:
加密装置,该加密装置被提供有基底B^和规定的属性信息来作为公开密钥,其中,所述基底B^具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1);该加密装置通过处理装置生成如下矢量作为密码矢量c1:作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;以及
解密装置,关于所述加密装置生成的密码矢量c1和密钥矢量k* L, dec,通过处理装置,进行式1所示的配对运算e(c1,k* L,dec),对所述密码矢量c1进行解密,而抽出与所述规定的信息相关的值,其中,将如下矢量作为所述密钥矢量k* L,dec:是所述空间V*的基底B*中的矢量,且作为针对构成基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)的基底矢量b* i(i=1,...,n)中的至少一部分的基底矢量的系数设定了谓词信息、并且作为针对所述基底B*的基底矢量b* n+1的系数设定了规定的值的矢量,
【式1】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
2.一种密码处理系统,其特征在于,
所述解密装置对所述密码矢量c1和密钥矢量k* L,dec进行所述配对运算e(c1,k* L,dec),其中,将如下矢量作为所述密钥矢量k* L,dec:对构成所述基底B*的基底矢量b* i(i=1,...,n,...,R,...,S,...,N)(N是4以上的整数,S是n+2以上N-1以下的整数,R是n+1以上S-1以下的整数,n是1以上N-3以下的整数)的基底矢量b* i(i=1,...,n)中的至少一部分的基底矢量设定了谓词信息、作为针对所述基底B*的基底矢量b* n+1的系数设定了规定的值、作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的矢量。
3.根据权利要求2所述的密码处理系统,其特征在于,
所述密码处理系统还具备:
密钥生成装置,通过处理装置生成如下矢量作为密钥矢量k* L,dec:作为针对构成所述基底B*的基底矢量b* i(i=1,...,n,...,R,...,S,...,N)中的基底矢量b* i(i=0,...,n)的至少一部分的基底矢量的系数设定了谓词信息、作为针对基底矢量b* n+1的系数设定了规定的值、作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的矢量,
所述解密装置取得所述密钥生成装置生成的密钥矢量k* L,dec,对所取得的密钥矢量k* L,dec和密码矢量c1进行所述配对运算。
4.根据权利要求3所述的密码处理系统,其特征在于,
所述密码处理系统还具备:
密钥转让装置,生成如下矢量作为密钥矢量k* L+1,dec:是能够对用所述密钥生成装置生成的密钥矢量k* L,dec能够解密的密码矢量中的一部分的密码矢量进行解密的矢量、且作为针对设定了谓词信息的基底矢量的系数设定了具有均匀地分布的值的随机数值的矢量。
5.一种密钥生成装置,其特征在于,生成作为谓词密码中的秘密密钥的密钥矢量k* L,dec,该密钥生成装置生成在作为公开密钥提供了基底B^的情况下的秘密密钥即密钥矢量k* L,dec,其中,该基底B^具有构成作为通过式2所示的配对运算关联起来的对偶矢量空间的空间V和空间V*中的所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1),
该密钥生成装置具备:
主密钥存储部,将所述空间V*中的规定的基底B*存储到存储装置;以及
密钥矢量生成部,通过处理装置,作为密钥矢量k* L,dec生成如下矢量:作为针对构成所述主密钥存储部存储的所述基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)中的基底矢量b* i(i=1,...,n)的至少一部分的基底矢量b* i(i=1,...,μL)的系数设定了谓词信息、并且作为针对基底矢量b* n+1的系数设定了规定的值的矢量,
【式2】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
6.根据权利要求5所述的密钥生成装置,其特征在于,
所述密钥矢量生成部通过处理装置生成如下矢量作为密钥矢量k* L,dec:作为针对构成所述基底B*的基底矢量b* i(i=1,...,n,...,R,...,S,...,N)(N是4以上的整数,S是n+2以上N-1以下的整数、R是n+1以上S-1以下的整数,n是1以上N-3以下的整数)中的基底矢量b* i(i=1,...,n)的至少一部分的基底矢量b* i(i=1,...,μL)的系数设定了谓词信息、并且作为针对基底矢量b* n+1的系数设定了规定的值、且作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的矢量。
7.根据权利要求6所述的密钥生成装置,其特征在于,
所述密钥矢量生成部生成式3所示的密钥矢量k* L,dec
【式3】
k L , dec * : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h *
此处,
σ0,i,η0,h    (i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S。
8.根据权利要求6所述的密钥生成装置,其特征在于,
所述密钥矢量生成部生成式4所示的密钥矢量k* L,dec
【式4】
k L , dec * : = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; dec , h b n + 2 + h *
此处,
σdec,t,ηdec,h  (t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S。
9.根据权利要求6所述的密钥生成装置,其特征在于,
所述密钥生成装置还具备:
密钥生成用矢量生成部,通过处理装置,生成如下矢量作为密钥生成用矢量k* L,del,j:是用于生成能够对能够用所述密钥矢量生成部生成的密钥矢量k* L,dec来解密的密码矢量中的一部分的密码矢量进行解密的密钥矢量k* L+1,dec的矢量,且对至少j=μL+1,...,n的各j作为针对基底矢量b* j的系数设定了随机数值、并且作为针对基底矢量b* i(i=R+1,...,S)的一部分的基底矢量的系数设定了随机数值的至少n-μL个矢量;以及
随机化矢量生成部,通过处理装置,生成如下矢量作为随机化矢量k* L,ran,j:是用于对用所述密钥生成用矢量生成部生成的密钥生成用矢量k* L,del,j生成的密钥矢量k* L+1,dec中的设定了谓词信息的基底矢量的系数设定均匀地分布的值的矢量,且作为针对基底矢量b* i(i=1,...,μL)的系数设定了随机数值倍后的谓词信息、并且作为针对基底矢量b* i(i=R+1,...,S)的一部分的基底矢量的系数设定了随机数值的至少L+1个矢量。
10.根据权利要求9所述的密钥生成装置,其特征在于,
所述密钥矢量生成部生成式5所示的密钥生成用矢量k* L,del,j
所述随机化矢量生成部生成式6所示的随机化矢量k* L,ran,j
【式5】
k L , del , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=μL+1,...,n)
此处,
σj,i,Ψ,ηj,h(j=μL+1,...,n;i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式6】
k L , ran , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=1,...,L+1)
此处,
σj,i,ηj,h(j=1,...,L+1;i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S。
11.根据权利要求9所述的密钥生成装置,其特征在于,
所述密钥矢量生成部生成式7所示的密钥生成用矢量k* L,del,j
所述随机化矢量生成部生成式8所示的随机化矢量k* L,ran,j
【式7】
k L , del , j * : = &Sigma; t = 1 L &sigma; del , j , t ( &Sigma; i = 1 n v t , i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; del , j , h b n + 2 + h *
(j=1,...,n)
此处,
σdel,j,t,ηdel,j,h,Ψ(j=1,...,n;t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式8】
k L , ran , j * : = &Sigma; t = 1 L &sigma; ran , j , t ( &Sigma; i = 1 n v t , i b i * ) + &Sigma; h = 1 r &eta; ran , j , h b n + 2 + h *
(j=1,...,L+1)
此处,
σran,j,t,ηran,j,h(j=1,...,L+1;t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S。
12.一种密钥转让装置,其特征在于,生成能够对如下密码矢量进行解密的密钥矢量k* L+1,dec:能够用作为谓词密码中的秘密密钥的密钥矢量k* L,dec来解密的密码矢量中的一部分的密码矢量,该密钥转让装置生成在作为公开密钥提供了基底B^的情况下的秘密密钥即密钥矢量k* L+1,dec,其中,该基底B^具有构成作为通过式9所示的配对运算关联起来的对偶矢量空间的空间V和空间V*中的所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,R,...,S,...,N)(N是4以上的整数,S是n+2以上N-1以下的整数,R是n+1以上S-1以下的整数,n是1以上N-3以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1),
该密钥转让装置具备:
密钥矢量取得部,取得作为针对构成所述基底B*的基底矢量b* i(i=1,...,n,...,R,...,S,...,N)中的基底矢量b* i(i=1,...,n)的至少一部分的基底矢量b* i(i=1,...,μL)的系数设定了谓词信息、作为针对基底矢量b* n+1的系数设定了规定的值、作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的密钥矢量k* L,dec
密钥生成用矢量取得部,取得针对至少j=μL+1,...,n的各j作为针对基底矢量b* j的系数设定了随机数值、并且作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的至少n-μL个密钥生成用矢量k* L,del,j;以及
密钥矢量生成部,将所述密钥生成用矢量取得部取得的所述密钥生成用矢量k* L,del,j的至少一部分的所述密钥生成用矢量k* L,del,j的各基底矢量的系数的谓词信息倍,加到所述密钥矢量取得部取得的所述密钥矢量k* L,dec,而生成密钥矢量k* L+1,dec
【式9】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
13.根据权利要求12所述的密钥转让装置,其特征在于,
所述密钥转让装置还具备:
随机化矢量取得部,取得作为针对基底矢量b* i(i=1,...,μL)的系数设定了随机数值倍后的谓词信息、并且作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的至少L+1个随机化矢量k* L, ran,j
所述密钥矢量生成部将所述随机化矢量取得部取得的所述随机化矢量k* L,ran,j的至少一部分的所述随机化矢量k* L,ran,j的各基底矢量的系数的随机数值倍,进而加到所述密钥矢量k* L+1,dec,而生成密钥矢量k* L+1,dec
14.根据权利要求13所述的密钥转让装置,其特征在于,
所述密钥矢量取得部取得式10所示的密钥矢量k* L,dec
所述密钥生成用矢量取得部取得式11所示的密钥生成用矢量k* L,del,j
所述随机化矢量取得部取得式12所示的随机化矢量k* L,ran,j
所述密钥矢量生成部生成式13所示的密钥矢量k* L+1,dec
【式10】
k L , dec * : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h *
此处,
σ0,i,η0,h(i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式11】
k L , del , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=μL+1,...,n)
此处,
σj,i,Ψ,ηj,h(j=μL+1,...,n;i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式12】
k L , ran , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=1,...,L+1)
此处,
σj,i,ηj,h(j=1,...,L+1;i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式13】
k L + 1 , dec * : = k L , dec * + &Sigma; t = 1 L + 1 &alpha; 0 , t k L , ran , t * + &sigma; 0 ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
此处,
α0,t0(t=1,.,L+1):随机数值,
vi  (i=μL+1,...,μL+1):谓词信息。
15.根据权利要求13所述的密钥转让装置,其特征在于,
所述密钥矢量取得部取得式14所示的密钥矢量k* L,dec
所述密钥生成用矢量取得部取得式15所示的密钥生成用矢量k* L,del,j
所述随机化矢量取得部取得式16所示的随机化矢量k* L,ran,j
所述密钥矢量生成部生成式17所示的密钥矢量k* L+1,dec
【式14】
k L , dec * : = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; dec , h b n + 2 + h *
此处,
σdec,t,ηdec,h(t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式15】
k L , del , j * : = &Sigma; t = 1 L &sigma; del , j , t ( &Sigma; i = 1 n v t , i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; del , j , h b n + 2 + h *
(j=1,...,n)
此处,
σdel,j,t,ηdel,j,h,Ψ(j=1,...,n;t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式16】
k L , ran , j * : = &Sigma; t = 1 L &sigma; ran , j , t ( &Sigma; i = 1 n v t , i b i * ) + &Sigma; h = 1 r &eta; ran , j , h b n + 2 + h *
(j=1,...,L+1)
此处,
σran,j,t,ηran,j,h(j=1,...,L+1;t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式17】
k L + 1 , dec * : = k L , dec * + &Sigma; t = 1 L + 1 &alpha; dec , t k L , ran , t * + &sigma; dec ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
此处,
σdec,tdec(t=1,...,L+1):随机数值,
vL+1,i  (i=1,...,n):谓词信息。
16.根据权利要求13所述的密钥转让装置,其特征在于,
所述密钥转让装置还具备:
密钥生成用矢量生成部,通过处理装置,生成如下矢量作为密钥生成用矢量k* L+1,del,j:是用于生成能够对能够用所述密钥矢量生成部生成的密钥矢量k* L+1,dec来解密的密码矢量中的一部分的密码矢量进行解密的密钥矢量k* L+2,dec的矢量,且对至少j=μL+1+1,...,n的各j作为针对基底矢量b* j的系数设定了随机数值的至少n-μL+1个矢量;以及
随机化矢量生成部,通过处理装置,生成如下矢量作为随机化矢量k* L+1,ran,j:是用于对用所述密钥生成用矢量生成部生成的密钥生成用矢量k* L+1,del,j生成的密钥矢量k* L+2,dec中的设定了谓词信息的基底矢量的系数设定均匀地分布的值的矢量,且作为针对基底矢量b* i(i=1,...,μL)的系数设定了随机数值倍后的谓词信息的至少L+2个矢量。
17.根据权利要求16所述的密钥转让装置,其特征在于,
所述密钥生成用矢量取得部取得式18所示的密钥生成用矢量k* L,del,j
所述随机化矢量取得部取得式19所示的随机化矢量k* L,ran,j
所述密钥矢量生成部生成式20所示的密钥生成用矢量k* L+1,del,j
所述随机化矢量生成部生成式21所示的随机化矢量k* L+1,ran,j
【式18】
k L , del , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=μL+1,...,n)
此处,
σj,tΨ,ηj,h(j=μL+1,...,n;t=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式19】
k L , ran , j * : = &Sigma; t = 1 L &sigma; j , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + &Sigma; h = 1 r &eta; j , h b n + 2 + h *
(j=1,...,L+1)
此处,
σj,t,ηj,h(j=1,...,L+1;t=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式20】
k L + 1 , del , j * : = &Sigma; t = 1 L + 1 &alpha; j , t k L , ran , t * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * ) + &psi; &prime; k L , del , j *
(j=μL+1+1,.,n)
此处,
αj,t,σj,Ψ′(j=μL+1+1,...,n;t=1,...,L+1):随机数值,
vi  (i=μL+1,...,μL+1):谓词信息,
【式21】
k L + 1 , ran , j * : = &Sigma; t = 1 L + 1 &alpha; j , t k L , ran , t * + &sigma; j ( &Sigma; i = &mu; L + 1 &mu; L + 1 v i k L , del , i * )
(j=1,...,L+2)
此处,
αj,t,σj(j=1,...,L+2;t=1,...,L+1):随机数值,
vi  (i=μL+1,...,μL+1):谓词信息。
18.根据权利要求16所述的密钥转让装置,其特征在于,
所述密钥生成用矢量取得部取得式22所示的密钥生成用矢量k* L,del,j
所述随机化矢量取得部取得式23所示的随机化矢量k* L,ran,j
所述密钥矢量生成部生成式24所示的密钥生成用矢量k* L+1,del,j
所述随机化矢量生成部生成式25所示的随机化矢量k* L+1,ran,j
【式22】
k L , del , j * : = &Sigma; t = 1 L &sigma; del , j , t ( &Sigma; i = 1 n v t , i b i * ) + &psi; b j * + &Sigma; h = 1 r &eta; del , j , h b n + 2 + h *
(j=1,...,n)
此处,
σdel,j,t,ηdel,j,h,Ψ(j=1,...,n;t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式23】
k L , ran , j * : = &Sigma; t = 1 L &sigma; ran , j , t ( &Sigma; i = 1 n v t , i b i * ) + &Sigma; h = 1 r &eta; ran , j , h b n + 2 + h *
(j=1,...,L+1)
此处,
σran,j,t,ηran,j,h(j=1,...,L+1;t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式24】
k L + 1 , del , j * : = &Sigma; t = 1 L + 1 &alpha; del , j , t k L , del , t * + &sigma; del , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
+ &psi; &prime; k L , del , j *
(j=1,...,n)
此处,
αdel,j,tdel,j,Ψ′(j=1,...,n;i=1,...,L+1):随机数值,
vL+1,i  (i=1,...,n):谓词信息,
【式25】
k L + 1 , ran , j * : = &Sigma; t = 1 L + 1 &alpha; ran , j , t k L , ran , t * + &sigma; ran , j ( &Sigma; i = 1 n v L + 1 , i k L , del , i * )
(j=1,...,L+2)
此处,
αran,j,t,σran,j(j=1,...,L+2;t=1,...,L+1):随机数值,
vL+1,i  (i=1,...,n):谓词信息。
19.一种加密装置,其特征在于,生成在作为通过配对运算关联起来的对偶矢量空间的空间V和空间V*中实现的谓词密码处理中的密文即密码矢量c1,具备:
公开密钥取得部,取得具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1)的基底B^,并且取得规定的属性信息;
发送信息设定部,通过处理装置,生成如下矢量作为发送信息矢量ζv:是所述公开密钥取得部取得的基底B^中的矢量,且作为针对基底矢量bn+1的系数设定了规定的信息的矢量;以及
密码矢量生成部,通过处理装置,将作为针对所述基底B^的所述基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了所述属性信息的属性信息矢量,加到所述发送信息设定部生成的发送信息矢量ζv,而生成密码矢量c1
20.根据权利要求19所述的加密装置,其特征在于,
所述发送信息设定部生成式26所示的发送信息矢量ζv,
所述密码矢量生成部生成式27所示的密码矢量c1
【式26】
ζv:=ζbn+1
此处,
ζ:随机数值,
【式27】
c 1 : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta;b n + 1
此处,
( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; L ) ) : 属性信息,
( x &RightArrow; L + 1 , . . . , x &RightArrow; d ) : = ( ( x &mu; L + 1 , . . . , x &mu; L + 1 ) , . . . , ( x &mu; d - 1 + 1 , . . . , x &mu; d ) ) : 随机数值,
δ1,...,δd:随机数值。
21.根据权利要求19所述的加密装置,其特征在于,
所述发送信息设定部生成式28所示的发送信息矢量ζv,
所述密码矢量生成部生成式29所示的密码矢量c1
【式28】
ζv:=ζbn+1
此处,
ζ:随机数值,
【式29】
c 1 : = &Sigma; t = 1 L &delta; t ( &Sigma; i = 1 n x t , i b i ) + &zeta;b n + 1
此处,
( v &RightArrow; 1 , . . . , v &RightArrow; L ) : = ( ( v 1,1 , . . . , v 1 , n ) , . . . , ( v L , 1 , . . . , v L , n ) ) : 属性信息,
δ1,...,δd:随机数值。
22.根据权利要求19所述的加密装置,其特征在于,
所述加密装置还具备:
密码信息生成部,生成式30所示的密码信息c2,
【式30】
c 2 : = g T &zeta; m
此处,
g T = e ( a i , a i * ) &NotEqual; 1 ,
A是空间V的基底,A:=(a1,...,aN),
A*是空间V*的基底, A * : = ( a 1 * , . . . , a N * ) .
23.一种解密装置,其特征在于,对在作为通过式31所示的配对运算关联起来的对偶矢量空间的空间V和空间V*中实现的谓词密码处理中的密文进行解密,具备:
矢量输入部,输入密码矢量c1,该密码矢量c1是在作为公开密钥提供了具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1)的基底B^的情况下生成的密文,而且该密码矢量c1是作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少基底矢量bi(i=1,...,μh)的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;
密钥矢量存储部,在存储装置中存储:作为针对所述空间V*中的规定的基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)中的基底矢量b* i(i=1,...,n)的至少基底矢量b* i(i=1,...,μL)(μL≦μh)的系数设定了谓词信息vi(i=1,...,μL)、作为针对基底矢量b* n+1的系数设定了规定的值的密钥矢量k* L,dec;以及
配对运算部,通过处理装置,对所述矢量输入部输入的密码矢量c1和所述密钥矢量存储部存储的密钥矢量k* L,dec进行式31所示的配对运算,从所述密码矢量c1抽出与所述规定的信息相关的值,
【式31】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
24.根据权利要求23所述的解密装置,其特征在于,
所述密钥矢量存储部存储:作为针对构成所述基底B*的基底矢量b* i(i=1,...,n,...,R,...,S,...,N)(N是4以上的整数,S是n+2以上N-1以下的整数,R是n+1以上S-1以下的整数,n是1以上N-3以下的整数)的至少基底矢量b* i(i=1,...,μL)(μL≦μh)的系数设定了谓词信息vi(i=1,...,μL)、作为针对基底矢量b* n+1的系数设定了规定的值、作为针对基底矢量b* i(i=R+1,...,S)的一部分的基底矢量的系数设定了规定的值的密钥矢量k* L,dec
25.根据权利要求24所述的解密装置,其特征在于,
所述矢量输入部输入式32所示的密码矢量c1
所述密钥矢量存储部存储式33所示的密钥矢量k* L,dec
所述配对运算部进行式34所示的配对运算,从所述密码矢量抽出与所述规定的信息相关的值,
【式32】
c 1 : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta;b n + 1
此处,
( x &RightArrow; 1 , . . . , x &RightArrow; h ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; h ) ) : 属性信息,
( x &RightArrow; h + 1 , . . . , x &RightArrow; d ) : = ( ( x &mu; h + 1 + 1 , . . . , x &mu; h + 2 ) , . . . , ( x &mu; d - 1 + 1 , . . . , x &mu; d ) ) : 随机数值,
δ1,...,δd,ζ:随机数值,
【式33】
k L , dec * : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h *
此处,
σ0,i,η0,h(i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式34】
e ( c 1 , k L , dec * )
此处,
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * ) ,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
26.根据权利要求24所述的解密装置,其特征在于,
所述矢量输入部输入式35所示的密码矢量c1
所述密钥矢量存储部存储式36所示的密钥矢量k* L,dec
所述配对运算部进行式37所示的配对运算,从所述密码矢量抽出与所述规定的信息相关的值,
【式35】
c 1 : = &Sigma; t = 1 h &delta; t ( &Sigma; i = 1 n x t , i b i ) + &zeta;b n + 1
此处,
( v &RightArrow; 1 , . . . , v &RightArrow; h ) : = ( ( v 1,1 , . . . , v 1 , n ) , . . . , ( v h , 1 , . . . , v h , n ) ) : 属性信息,
δ1,...,δd,ζ:随机数值,
【式36】
k L , dec * : = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; dec , h b n + 2 + h *
此处,
σdec,t,ηdec,h(t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式37】
e ( c 1 , k L , dec * )
此处,
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * ) ,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
27.根据权利要求24所述的解密装置,其特征在于,
所述矢量输入部输入式38所示的密码矢量c1和对明文信息m进行了加密的式39所示的密码信息c2
所述密钥矢量存储部存储式40所示的密钥矢量k* L,dec
所述配对运算部进行式41所示的运算,从所述密码矢量c1抽出所述明文信息m,
【式38】
c 1 : = &Sigma; t = 1 d &delta; t ( &Sigma; i = &mu; t - 1 + 1 &mu; t x i b i ) + &zeta;b n + 1
此处,
( x &RightArrow; 1 , . . . , x &RightArrow; h ) : = ( ( x 1 , . . . , x &mu; 1 ) , . . . , ( x &mu; L - 1 + 1 , . . . , x &mu; h ) ) : 属性信息,
( x &RightArrow; h + 1 , . . . , x &RightArrow; d ) : = ( ( x &mu; h + 1 + 1 , . . . , x &mu; h + 2 ) , . . . , ( x &mu; d - 1 + 1 , . . . , x &mu; d ) ) : 随机数值,
δ1,...,δd,ζ:随机数值,
【式39】
c 2 : = g T &zeta; m
此处,
g T = e ( a i , a i * ) &NotEqual; 1 ,
A是空间V的基底,A:=(a1,...,aN),
A*是空间V*的基底, A * : = ( a 1 * , . . . , a N * ) ,
【式40】
k L , dec * : = &Sigma; t = 1 L &sigma; 0 , t ( &Sigma; i = &mu; t - 1 + 1 &mu; t v i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; 0 , h b n + 2 + h *
此处,
σ0,i,η0,h(i=1,...,L;h=1,...,r):随机数值,
vi  (i=1,...,μL):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式41】
m : = c 2 / e ( c 1 , k L , dec * )
此处,
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * ) ,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
28.根据权利要求24所述的解密装置,其特征在于,
所述矢量输入部输入式42所示的密码矢量c1和对明文信息m进行了加密的式43所示的密码信息c2
所述密钥矢量存储部存储式44所示的密钥矢量k* L,dec
所述配对运算部进行式45所示的运算,从所述密码矢量c1抽出所述明文信息m,
【式42】
c 1 : = &Sigma; t = 1 h &delta; t ( &Sigma; i = 1 n x t , i b i ) + &zeta;b n + 1
此处,
( v &RightArrow; 1 , . . . , v &RightArrow; h ) : = ( ( v 1,1 , . . . , v 1 , n ) , . . . , ( v h , 1 , . . . , v h , n ) ) : 属性信息,
δ1,...,δd,ζ:随机数值,
【式43】
c 2 : = g T &zeta; m
此处,
g T = e ( a i , a i * ) &NotEqual; 1 ,
A是空间V的基底,A:=(a1,...,aN),
A*是空间V*的基底, A * : = ( a 1 * , . . . , a N * ) ,
【式44】
k L , dec * : = &Sigma; t = 1 L &sigma; dec , t ( &Sigma; i = 1 n v t , i b i * ) + b n + 1 * + &Sigma; h = 1 r &eta; dec , h b n + 2 + h *
此处,
σdec,t,ηdec,h(t=1,...,L;h=1,...,r):随机数值,
vt,i  (t=1,...,L;i=1,...,n):谓词信息,
r:1以上的整数,且n+2=R,n+2+r=S,
【式45】
m : = c 2 / e ( c 1 , k L , dec * )
此处,
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * ) ,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
29.一种密码处理系统,其特征在于,使用作为通过式46所示的配对运算关联起来的对偶模的空间V和空间V*进行谓词密码处理,具备:
加密装置,该加密装置被提供有基底B^和规定的属性信息而作为公开密钥,其中,所述基底B^具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1);该加密装置通过处理装置生成如下矢量作为密码矢量c1:作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;以及
解密装置,关于所述加密装置生成的密码矢量c1和密钥矢量k* L, dec,通过处理装置,进行式46所示的配对运算e(c1,k* L,dec),对所述密码矢量c1进行解密,而抽出与所述规定的信息相关的值,其中,将如下矢量作为所述密钥矢量k* L,dec:是所述空间V*的基底B*中的矢量,且作为针对构成基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)的基底矢量b* i(i=1,...,n)中的至少一部分的基底矢量的系数设定了谓词信息、并且作为针对所述基底B*的基底矢量b* n+1的系数设定了规定的值的矢量,
【式46】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
30.一种密钥生成装置,其特征在于,生成作为谓词密码中的秘密密钥的密钥矢量k* L,dec,该密钥生成装置生成在作为公开密钥提供了基底B^的情况下的秘密密钥即密钥矢量k* L,dec,其中,该基底B^具有构成作为通过式47所示的配对运算关联起来的对偶模的空间V和空间V*中的所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1),
该密钥生成装置具备:
主密钥存储部,将所述空间V*中的规定的基底B*存储到存储装置;以及
密钥矢量生成部,通过处理装置,作为密钥矢量k* L,dec生成如下矢量:作为针对构成所述主密钥存储部存储的所述基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)中的基底矢量b* i(i=1,...,n)的至少一部分的基底矢量b* i(i=1,...,μL)的系数设定了谓词信息、并且作为针对基底矢量b* n+1的系数设定了规定的值的矢量,
【式47】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
31.一种密钥转让装置,其特征在于,生成能够对如下密码矢量进行解密的密钥矢量k* L+1,dec:能够用作为谓词密码中的秘密密钥的密钥矢量k* L,dec来解密的密码矢量中的一部分的密码矢量,该密钥转让装置生成在作为公开密钥提供了基底B^的情况下的秘密密钥即密钥矢量k* L+1,dec,其中,该基底B^具有构成作为通过式48所示的配对运算关联起来的对偶模的空间V和空间V*中的所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,R,...,S,...,N)(N是4以上的整数,S是n+2以上N-1以下的整数,R是n+1以上S-1以下的整数,n是1以上N-3以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1),
该密钥转让装置具备:
密钥矢量取得部,取得作为针对构成所述基底B*的基底矢量b* i(i=1,...,n,...,R,...,S,...,N)中的基底矢量b* i(i=1,...,n)的至少一部分的基底矢量b* i(i=1,...,μL)的系数设定了谓词信息、作为针对基底矢量b* n+1的系数设定了规定的值、作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的密钥矢量k* L,dec
密钥生成用矢量取得部,取得针对至少j=μL+1,...,n的各j作为针对基底矢量b* j的系数设定了随机数值、并且作为针对基底矢量b* i(i=R+1,...,S)的系数设定了随机数值的至少n-μL个密钥生成用矢量k* L,del,j;以及
密钥矢量生成部,将所述密钥生成用矢量取得部取得的所述密钥生成用矢量k* L,del,j的至少一部分的所述密钥生成用矢量k* L,del,j的各基底矢量的系数的谓词信息倍,加到所述密钥矢量取得部取得的所述密钥矢量k* L,dec,而生成密钥矢量k* L+1,dec
【式48】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
32.一种加密装置,其特征在于,生成在作为通过配对运算关联起来的对偶模的空间V和空间V*中实现的谓词密码处理中的密文即密码矢量c1,具备:
公开密钥取得部,取得具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1)的基底B^,并且取得规定的属性信息;
发送信息设定部,通过处理装置,生成如下矢量作为发送信息矢量ζv:是所述公开密钥取得部取得的基底B^中的矢量,且作为针对基底矢量bn+1的系数设定了规定的信息的矢量;以及
密码矢量生成部,通过处理装置,将作为针对所述基底B^的所述基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了所述属性信息的属性信息矢量,加到所述发送信息设定部生成的发送信息矢量ζv,而生成密码矢量c1
33.一种解密装置,其特征在于,对在作为通过式49所示的配对运算关联起来的对偶模的空间V和空间V*中实现的谓词密码处理中的密文进行解密,具备:
矢量输入部,输入密码矢量c1,该密码矢量c1是在作为公开密钥提供具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1)的基底B^的情况下生成的密文,而且该密码矢量c1是作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少基底矢量bi(i=1,...,μh)的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;
密钥矢量存储部,在存储装置中存储:作为针对所述空间V*中的规定的基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)中的基底矢量b* i(i=1,...,n)的至少基底矢量b* i(i=1,...,μL)(μL≦μh)的系数设定了谓词信息vi(i=1,...,μL)、作为针对基底矢量b* n+1的系数设定了规定的值的密钥矢量k* L,dec;以及
配对运算部,通过处理装置,对所述矢量输入部输入的密码矢量c1和所述密钥矢量存储部存储的密钥矢量k* L,dec进行式49所示的配对运算,从所述密码矢量c1抽出与所述规定的信息相关的值,
【式49】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
34.一种密码处理方法,其特征在于,使用作为通过式50所示的配对运算关联起来的对偶矢量空间的空间V和空间V*进行谓词密码处理,该密码处理方法具备:
加密步骤,处理装置被提供有基底B^和规定的属性信息来作为公开密钥,其中,所述基底B^具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1);处理装置生成如下矢量作为密码矢量c1:作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;以及
解密步骤,关于所述加密装置生成的密码矢量c1和密钥矢量k* L, dec,处理装置进行式50所示的配对运算e(c1,k* L,dec),对所述密码矢量c1进行解密,而抽出与所述规定的信息相关的值,其中,将如下矢量作为所述密钥矢量k* L,dec:是所述空间V*的基底B*中的矢量,且作为针对构成基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)的基底矢量b* i(i=1,...,n)中的至少一部分的基底矢量的系数设定了谓词信息、并且作为针对所述基底B*的基底矢量b* n+1的系数设定了规定的值的矢量,
【式50】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
35.一种密码处理程序,其特征在于,使用作为通过式51所示的配对运算关联起来的对偶矢量空间的空间V和空间V*进行谓词密码处理,该密码处理程序具备:
加密处理,处理装置被提供有基底B^和规定的属性信息来作为公开密钥,其中,所述基底B^具有构成所述空间V中的规定的基底B的基底矢量bi(i=1,...,n,...,S,...,N)(N是3以上的整数,S是n+1以上N-1以下的整数,n是1以上N-2以下的整数)中的除了基底矢量bi(i=S+1,...,N)以外的至少基底矢量bi(i=1,...,n+1);处理装置生成如下矢量作为密码矢量c1:作为针对所述基底B^的基底矢量bi(i=1,...,n)中的至少一部分的基底矢量的系数设定了属性信息、并且作为针对所述基底矢量bn+1的系数设定了规定的信息的矢量;以及
解密处理,关于所述加密装置生成的密码矢量c1和密钥矢量k* L, dec,处理装置进行式51所示的配对运算e(c1,k* L,dec),对所述密码矢量c1进行解密,而抽出与所述规定的信息相关的值,其中,将如下矢量作为所述密钥矢量k* L,dec:是所述空间V*的基底B*中的矢量,且作为针对构成基底B*的基底矢量b* i(i=1,...,n,...,S,...,N)的基底矢量b* i(i=1,...,n)中的至少一部分的基底矢量的系数设定了谓词信息、并且作为针对所述基底B*的基底矢量b* n+1的系数设定了规定的值的矢量,
【式51】
e ( p , q ) : = &Pi; i = 1 N e ( &chi; i b i , &eta; i b i * )
此处,
p : = &Sigma; i = 1 N &chi; i b i ,
q : = &Sigma; i = 1 N &eta; i b i * ,
χi,ηi:系数。
CN201080065341.7A 2010-01-08 2010-12-20 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序 Active CN102822883B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010002709A JP5334873B2 (ja) 2010-01-08 2010-01-08 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP2010-002709 2010-01-08
PCT/JP2010/072912 WO2011083678A1 (ja) 2010-01-08 2010-12-20 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Publications (2)

Publication Number Publication Date
CN102822883A true CN102822883A (zh) 2012-12-12
CN102822883B CN102822883B (zh) 2015-05-13

Family

ID=44305415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080065341.7A Active CN102822883B (zh) 2010-01-08 2010-12-20 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序

Country Status (7)

Country Link
US (1) US8929542B2 (zh)
EP (1) EP2523178B1 (zh)
JP (1) JP5334873B2 (zh)
KR (1) KR101310439B1 (zh)
CN (1) CN102822883B (zh)
ES (1) ES2955589T3 (zh)
WO (1) WO2011083678A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
JP5680007B2 (ja) * 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP5730805B2 (ja) * 2012-04-04 2015-06-10 日本電信電話株式会社 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
EP2945313B1 (en) 2013-01-12 2017-09-06 Mitsubishi Electric Corporation Key generation device, key generation program, concealed data search system, and key distribution method
WO2014112170A1 (ja) * 2013-01-16 2014-07-24 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP5841955B2 (ja) * 2013-01-21 2016-01-13 日本電信電話株式会社 関数型暗号システム及び方法
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
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10931653B2 (en) * 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
JP6456451B1 (ja) 2017-09-25 2019-01-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101335615A (zh) * 2008-05-30 2008-12-31 北京飞天诚信科技有限公司 用于usb key音频加解密装置密钥协商的方法
CN101404577A (zh) * 2008-10-30 2009-04-08 南京大学 一种融合多种保密技术的保密通信方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070223686A1 (en) * 2004-09-16 2007-09-27 Shidong Li Methods and apparatus for data and signal encryption and decryption by irregular subspace leaping
JP5349261B2 (ja) * 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
US8515060B2 (en) * 2009-04-24 2013-08-20 Nippon Telegraph And Telephone Corporation Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101335615A (zh) * 2008-05-30 2008-12-31 北京飞天诚信科技有限公司 用于usb key音频加解密装置密钥协商的方法
CN101404577A (zh) * 2008-10-30 2009-04-08 南京大学 一种融合多种保密技术的保密通信方法

Also Published As

Publication number Publication date
WO2011083678A1 (ja) 2011-07-14
EP2523178A1 (en) 2012-11-14
CN102822883B (zh) 2015-05-13
KR20120112654A (ko) 2012-10-11
KR101310439B1 (ko) 2013-09-24
US8929542B2 (en) 2015-01-06
JP2011141472A (ja) 2011-07-21
EP2523178B1 (en) 2023-08-16
US20130039489A1 (en) 2013-02-14
EP2523178A4 (en) 2017-07-26
ES2955589T3 (es) 2023-12-04
JP5334873B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN102822883B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN103270719B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密码处理方法
JP5424974B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
ES2627124T3 (es) Sistema de procesamiento de código, dispositivo de generación de claves, dispositivo codificador, dispositivo descodificador, procedimiento de procesamiento de código y programa de procesamiento de código
CN104160437A (zh) 密码系统、密码方法以及密码程序
CN102415047A (zh) 密码处理系统
JP5921410B2 (ja) 暗号システム
CN103354984A (zh) 密码处理系统、密钥生成装置、加密装置、解密装置、密钥移交装置、密码处理方法以及密码处理程序
Mittal et al. A quantum secure ID-based cryptographic encryption based on group rings

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