CN102415047A - 密码处理系统 - Google Patents

密码处理系统 Download PDF

Info

Publication number
CN102415047A
CN102415047A CN2010800179948A CN201080017994A CN102415047A CN 102415047 A CN102415047 A CN 102415047A CN 2010800179948 A CN2010800179948 A CN 2010800179948A CN 201080017994 A CN201080017994 A CN 201080017994A CN 102415047 A CN102415047 A CN 102415047A
Authority
CN
China
Prior art keywords
vector
key
keys
information
formula
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
CN2010800179948A
Other languages
English (en)
Other versions
CN102415047B (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 CN102415047A publication Critical patent/CN102415047A/zh
Application granted granted Critical
Publication of CN102415047B publication Critical patent/CN102415047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

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

Abstract

本发明的目的在于实现分层式谓词密码。使用通过配对运算关联起来的双对矢量空间(双对失真矢量空间)即空间V和空间V*来进行密码处理。加密装置生成空间V中的嵌入了发送信息的矢量而作为密码矢量。解密装置将空间V*中的规定的矢量作为密钥矢量,针对加密装置所生成的密码矢量和密钥矢量进行配对运算,对所述密码矢量进行解密而抽出与发送信息相关的信息。

Description

密码处理系统
技术领域
本发明涉及分层式(hierarchical)谓词密钥隐匿方式以及分层式谓词密码。
背景技术
已有与谓词密码(Predicate Encryption,PE)相关的提案(非专利文献19)。另外,已有与谓词密码中的权限移交相关的提案(非专利文献26)。而且,已有与失真固有矢量空间相关的提案(非专利文献21)。
现有技术文献
非专利文献1:M.Abe,R.Gennaro,K.Kurosawa,and V.Shoup,“Tag-KEM/DEM:A New Framework for Hybrid Encryption andNew Analysis of Kurosawa-Desmedt KEM,”Eurocrypt 2005,LNCS3494,pp.128-146,2005.
非专利文献2:D.Boneh and X.Boyen,“Efficient selective-IDsecure identity based encryption without random oracles,”EUROCRYPT 2004,LNCS,Springer-Verlag,2004.
非专利文献3:D.Boneh and X.Boyen,“Secure identity basedencryption without random oracles,”CRYPTO 2004,LNCS,Springer-Verlag,2004.
非专利文献4:D.Boneh,X.Boyen and E.Goh,“Hierarchicalidentity based encryption with constant size ciphertext,”EUROCRYPT 2005,LNCS,Springer-Verlag,pp.440-456,2005.
非专利文献5:D.Boneh,X.Boyen and H.Shacham,“Short groupsignatures,”CRYPTO 2004,LNCS 3152,Springer Verlag,pp.41-55,2004.
非专利文献6:D.Boneh and M.Franklin,“Identity-basedencryption from the Weil pairing,”CRYPTO 2001,LNCS 2139,Springer Verlag,pp.213-229,2001.
非专利文献7:D.Boneh and J.Katz,“Improved efficiency forcca-secure cryptosystems built using identity based encryption,”RSA-CT 2005,LNCS,Springer Verlag,2005.
非专利文献8:J.Bethencourt,A.Sahai and B.Waters,“Ciphertext-policy attribute-based encryption,”Proceedings of the2007 IEEE Symposium on Security and Privacy,2007.
非专利文献9:D.Boneh and B.Waters,“Conjunctive,subset,andrange queries on encrypted data,”TCC 2007,LNCS 4392,SpringerVerlag,pp.535-554,2007.
非专利文献10:X.Boyen and B.Waters,“Anonymoushierarchical identity-based encryption(without random oracles),”CRYPTO 2006,pp.290-307,2006.
非专利文献11:R.Canetti,S.Halevi and J.Katz,“Chosen-ciphertext security from identity-based encryption,”EUROCRYPT2004,LNCS,Springer-Verlag,2004.
非专利文献12:C.Cocks,“An identity based encryption schemebased on quadratic residues,”Proceedings of the 8th IMAInternational Conference on Cryptography and Coding,pp.360-363,London,UK,2001.Springer-Verlag,2001.
非专利文献13:C.Gentry,“Practical identity-based encryptionwithout random oracles,”EUROCRYPT 2006,LNCS,Springer-Verlag,2006.
非专利文献14:C.Gentry and A.Silverberg,“Hierarchical ID-based cryptography,”ASIACRYPT 2002,LNCS,Springer-Verlag,2002.
非专利文献15:V.Goyal,O.Pandey,A.Sahai and B.Waters,“Attribute-based encryption for fine-grained access control ofencrypted data,”ACM-CCCS 2006,LNCS,Springer Verlag,2006.
非专利文献16:J.Groth and A.Sahai,“Efficient non-interactive proof syatems for bilinear groups,”EUROCRYPT 2008,LNCS 4965,Springer Verlag,pp.415-432,2008.
非专利文献17:J.Horwitz and B.Lynn,“Towards hierarchicalidentity-based encryption,”EUROCRYPT 2002,LNCS,SpringerVerlag,2002.
非专利文献18:J.Katz and B.Waters“Compact signatues fornetwork coding,”available at IACR ePrint 2008/316.
非专利文献19:J.Katz,A.Sahai and B.Waters“Predicateencryption supporting disjunctions,polynomial equations,and innerproducts,”EUROCRYPT 2008,LNCS 4965,Springer Verlag,pp.146-162,2008.
非专利文献20:D.Hofheinz and E.Kiltz,“Secure hybridencryption from weakened key encapsulation,”CRYPTO 2007,LNCS4622,Springer Verlag,pp.553-571,2007.
非专利文献21:T.Okamoto and K.Takashima,“Homomorphicencryption and signatures from vector decomposition,”Pairing 2008.LNCS 5209,pp.57-74.Springer Verlag,2008.
非专利文献22:R.Ostrovsky,A.Sahai and B.Waters,“Attribute-based encryption with non-monotonic accessstructures,”ACMCCS 2007,2007.
非专利文献23:M.Pirretti,P.Traynor,P.McDaniel and B.Waters,“Secure attribute-based systems,”ACM CCS 2006,2006.
非专利文献24:H.Shacham,“A Cramer-Shoup encryptionscheme from the linear assumption and from progressively weakerlinear variants,”available at IACR ePrint Archive,2007/074,2007.
非专利文献25:A.Sahai and B.Waters,“Fuzzy identity-basedencryption,”EUROCRYPT 2005,LNCS,Springer Verlag,2005.
非专利文献26:E.Shi and B.Waters,“Delegating capability inpredicate encryption systems,”ICALP 2008,LNCS,Springer Verlag,2008.
非专利文献27:K.Takashima,“Efficiently computable distortionmaps for supersingular curves,”ANTS,LNCS 5011,Springer Verlag,pp.88-101,2008.
发明内容
在非专利文献19中,没有关于谓词密码中的权限移交的记载。另外,在非专利文献26中,虽然具有关于谓词密码中的权限移交的记载,但仅限于关于等号关系测试的级别(class)的谓词密码。
本发明的目的在于提供一种例如可以实现应用范围广的权限移交的谓词密码处理。
本发明所涉及的密码处理系统,例如使用通过配对运算关联起来的双对矢量空间即空间V和空间V*来进行密码处理,该密码处理系统的特征在于,具备:
加密装置,通过处理装置,生成所述空间V中的嵌入了规定的信息的矢量来作为密码矢量;以及
解密装置,将所述空间V*中的规定的矢量作为密钥矢量,对于所述加密装置所生成的密码矢量和所述密钥矢量,通过处理装置进行所述配对运算,对所述密码矢量进行解密而抽出与所述规定的信息相关的信息。
根据本发明的密码系统,可以实现可进行应用范围广的权限移交的谓词密码处理。
附图说明
图1是用于说明所谓“分层式”的概念的图。
图2是示出属性信息和谓词信息的分层构造的图。
图3是示出分层式ID基础密码的例子的图。
图4是用于说明基底(basis)和基底矢量的图。
图5是用于说明矢量空间中的分层构造的实现方法的图。
图6是密码处理系统10的结构图。
图7是示出密码处理系统10的密钥生成装置100以及第1层的加密装置200和解密装置300的动作的流程图。
图8是示出密码处理系统10的第L层的密钥移交装置400、以及第L+1层的加密装置200和解密装置300的动作的流程图。
图9是用于说明基底变换方法的图。
图10是示出实施方式2的密码处理系统10的功能的功能框图。
图11是示出密钥生成装置100的动作的流程图。
图12是示出加密装置200的动作的流程图。
图13是示出解密装置300的动作的流程图。
图14是示出密钥移交装置400的动作的流程图。
图15是示出实施方式2的双对失真矢量空间的基底的构造的概念图。
图16是用于说明(S502)中的配对(pairing)运算的图。
图17是用于说明利用下位的密钥无法计算会话密钥K的图。
图18是用于说明利用上位的密钥可以计算会话密钥K的图。
图19是示出实现分层式谓词密码的密码处理系统10的功能的功能框图。
图20是示出图19所示的加密装置200的动作的流程图。
图21是示出图19所示的解密装置300的动作的流程图。
图22是示出实施方式4的密码处理系统10的功能的功能框图。
图23是示出加密装置200的动作的流程图。
图24是示出解密装置300的动作的流程图。
图25是示出实施方式4的双对失真矢量空间的基底的构造的概念图。
图26是用于说明n拷贝矢量空间的图(1)。
图27是用于说明n拷贝矢量空间的图(2)。
图28是示出实施方式6的密码处理系统10的功能的功能框图。
图29是示出密钥生成装置100的动作的流程图。
图30是示出加密装置200的动作的流程图。
图31是示出解密装置300的动作的流程图。
图32是示出密钥移交装置400的动作的流程图。
图33是示出实施方式7的密码处理系统10的功能的功能框图。
图34是示出加密装置200的动作的流程图。
图35是示出解密装置300的动作的流程图。
图36是示出密钥生成装置100、加密装置200、解密装置300、密钥移交装置400的硬件结构的一个例子的图。
附图标记说明
10:密码处理系统;100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:密钥矢量生成部;140:密钥生成用矢量生成部;150:密钥分发部;200:加密装置;210:发送信息设定部;220:密码矢量生成部;230:数据发送部;240:会话密钥生成部;250:验证信息生成部;260:验证信息设定部;270:签名信息生成部;300:解密装置;310:矢量输入部;320:密钥矢量存储部;330:配对运算部;340:离散对数计算部;350:矢量变形部;360:解密部;370:窜改验证部;400:密钥移交装置;410:密钥矢量取得部;420:密钥矢量生成部;430:密钥生成用矢量生成部;440:密钥分发部。
具体实施方式
以下,根据附图,说明发明的实施方式。
在以下的说明中,处理装置是后述的CPU 911等。存储装置是后述的ROM 913、RAM 914、磁盘920等。通信装置是后述的通信板915等。输入装置是后述的键盘902、通信板(communication board)915等。输出装置是后述的RAM 914、磁盘920、通信板915、LCD901等。即,处理装置、存储装置、通信装置、输入装置、输出装置是硬件。
说明以下的说明中的记法。
在A是随机的变量或者分布时,式43表示按照A的分布从A随机地选择y。
[式43]
y ← R A
在A是集合时,式44表示从A同样地选择y。
[式44]
y ← U A
式45表示y是由z定义的集合、或者y是代入了z的集合。
[式45]
y:=z
在a是常数时,式46表示机械(算法)A针对输入x输出a。
[式46]
A(x)→a
例如,
A(x)→1
矢量标记表示有限域Fq中的矢量显示。即,是式47。
[式47]
x表示
( x 0 , . . . , x n - 1 ) ∈ F q n
式48表示式49所示的2个矢量x和v的式50所示的内积。
[式48]
x → · v →
[式49]
x → = ( x 0 , . . . , x n - 1 ) ,
v → = ( v 0 , . . . , v n - 1 )
[式50]
Σ i = 0 n - 1 x i v i
0表示不论对于什么样的n,在有限域(finite field)Fq n中都是0矢量。
XT表示矩阵X的转置矩阵。
式51表示对xi,j设定矩阵X的第(i,j)个值。
[式51]
(xi,j):=X
另外,在以下的说明中,密码处理是包括加密处理、解密处理、密钥生成处理的处理,是还包括密钥隐匿处理的处理。
实施方式1.
在本实施方式中,说明成为实现在后面的实施方式中说明的“分层式谓词密钥隐匿方式(Hierarchial Predicate Key EncapsulationMechanism,HPKEM)”、“分层式谓词密码(Hierarchial PredicateEncryption,HPE)”的基础的概念、以及分层式谓词密钥隐匿方式和分层式谓词密码的基本结构。
第1,说明分层式谓词密钥隐匿方式以及分层式谓词密码的一种即“分层式内积谓词密码(分层式内积谓词密钥隐匿方式)”这样的概念。后面的实施方式中说明的分层式谓词密钥隐匿方式以及分层式谓词密码是分层式内积谓词密码以及分层式内积谓词密钥隐匿方式。在说明所谓分层式内积谓词密码的概念时,首先说明所谓“分层式”的概念。接下来,说明“内积谓词密码”。然后,说明对内积谓词密码加上分层式这样的概念的“分层式内积谓词密码(分层式内积谓词密钥隐匿方式)”。而且,为了加深理解分层式内积谓词密码,说明分层式内积谓词密码的应用例。
第2,说明矢量空间中的分层式内积谓词密码。在本实施方式以及以下的实施方式中,在矢量空间中实现分层式谓词密钥隐匿方式和分层式谓词密码。
第3,说明本实施方式以及后面的实施方式的“分层式谓词密钥隐匿方式”和“分层式谓词密码”的基本结构。一并说明执行分层式谓词密钥隐匿方式和分层式谓词密码的“密码处理系统10”的概要。
第4,说明用于实现分层式谓词密钥隐匿方式、分层式谓词密码的概念。首先,说明双线性配对组。接下来,使用双线性配对组,将其他概念分成以下的(1)至(6)这6个来进行说明。
(1)针对一维配对“G1×G2→GT”的空间V、空间V*的高维化。
(2)标准的双对基底A、A*
(3)使用了失真映射的高效的线性映射。
(4)利用基底变换的密钥对(B,B*)的生成方法。
(5)用于向密码处理应用的(V,B)、(V,B*)中的计算困难问题。
(6)使用了密钥对(B,B*)的内积谓词密码。
第5,说明用于实现分层式谓词密钥隐匿方式和分层式谓词密码的空间即“双对失真矢量空间(Dual Distortion Vector Spaces,DDVS)”这样的具有丰富的数学构造的空间。
然后,第6,根据以上的说明,简单地说明在后面的实施方式中详细说明的分层式谓词密钥隐匿方式和分层式谓词密码的实现方法。
<第1.分层式内积谓词密码>
<第1-1.所谓分层式的概念>
说明本实施方式以及以下的实施方式中说明的分层式谓词密钥隐匿方式和分层式谓词密码中的所谓“分层式”的概念。
图1是用于说明所谓“分层式”的概念的图。
分层式谓词密钥隐匿方式和分层式谓词密码中的“分层式”是指,具有可进行权限移交的结构(权限移交系统(Delegation System))。权限移交是指,具有上位的密钥的利用者生成与该密钥(上位的密钥)相比功能被限制了的下位的密钥。
在图1中,Root(密钥生成装置)使用主秘密密钥,向第1层(Level-1)的利用者生成秘密密钥(secret key)。即,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能够解密的密文不同。另一方面,密钥11、密钥12、以及密钥13能够解密的密文可以通过密钥1进行解密。
<第1-2.内积谓词密码>
接下来,说明“内积谓词密码”。
首先,谓词密码是指,在对谓词信息fv输入了属性信息x时成为1(True(真))的情况(成为fv(x)=1的情况)下可以对密文进行解密的密码方式。通常,在密文中嵌入属性信息x,在秘密密钥中嵌入谓词信息fv。即,在谓词密码中,通过根据谓词信息fv生成的秘密密钥SKf对根据属性信息x加密了的密文c进行解密。谓词密码也可以说是如下密码方式:例如如果谓词信息fv是条件式、属性信息x是向该条件式的输入信息、输入信息(属性信息x)满足条件式(谓词信息fv)(fv(x)=1),则可以对密文进行解密。
另外,关于谓词密码,在非专利文献19中有详细记载。
内积谓词密码是指,在属性信息x与谓词信息fv的内积是规定的值的情况下成为fv(x)=1的谓词密码。即,仅在属性信息x与谓词信息fv的内积是规定的值的情况下,可以通过根据谓词信息fv生成的秘密密钥SKf对根据属性信息x加密了的密文c进行解密。在以下的说明中,在属性信息x与谓词信息fv的内积是0的情况下,成为fv(x)=1。
<第1-3.分层式内积谓词密码>
分层式内积谓词密码(分层式内积谓词密钥隐匿方式)是指,具有上述所谓“分层式”的概念的“内积谓词密码”。即,分层式内积谓词密码(分层式内积谓词密钥隐匿方式)是指,具有权限移交系统的内积谓词密码。
分层式内积谓词密码使内积谓词密码具有权限移交系统,因此在属性信息和谓词信息中具有分层构造。
图2是示出属性信息和谓词信息的分层构造的图。
在图2中,符号对应的属性信息和谓词信息是对应的(即,内积成为0)。即,属性1与谓词1的内积成为0,属性11与谓词11的内积成为0,属性12与谓词12的内积成为0,属性13与谓词13的内积成为0。即,通过属性1加密了的密文c1如果是基于谓词1生成的秘密密钥k1,则可以解密。另外,通过属性11加密了的密文c11如果是基于谓词11生成的秘密密钥k11,则可以解密。可以说对于属性12和谓词12、属性13和谓词13,也是同样的。
如上所述,分层式内积谓词密码具有权限移交系统。因此,可以根据基于谓词1生成的秘密密钥k1、和谓词11,生成秘密密钥k11。即,具有上位的秘密密钥k1的利用者可以根据该秘密密钥k1和下位的谓词11,生成秘密密钥k1的下位的秘密密钥k11。同样地,可以根据秘密密钥k1和谓词12生成秘密密钥k12,可以根据秘密密钥k1和谓词13生成秘密密钥k13。
另外,可以通过上位的秘密密钥对用与下位的秘密密钥对应的密钥(公开密钥)加密了的密文进行解密。另一方面,无法利用下位的秘密密钥对用与上位的秘密密钥对应的密钥(公开密钥)加密了的密文进行解密。即,通过属性11、属性12、属性13加密了的密文c11、c12、c13如果是基于谓词1生成的秘密密钥k1,则可以进行解密。另一方面,利用基于谓词11、谓词12、谓词13生成的秘密密钥k11、k12、k13,无法解密通过属性1加密了的密文c1。即,属性11、属性12、属性13与谓词1的内积成为0。另一方面,属性1与谓词11、谓词12、谓词13的内积不会成为0。
<第1-4.分层式内积谓词密码的应用例>
图3是示出后述的分层式内积谓词密码的应用例即分层式ID基础密码(Hierarchial Identifier Based Encryption,HIBE)的例子的图。另外,分层式ID基础密码是指,ID基础密码成为分层式的密码处理。ID基础密码是谓词密码的一种,是在密文中包含的ID与秘密密钥中包含的ID一致的情况下可以对密文进行解密的匹配谓词密码。
在图3所示的例子中,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基础密码以外的各种应用。特别是,以下说明的密码处理不限于等号关系测试的级别,所以可以实现非常多的应用。例如,对于内积谓词密码的一种即可检索的密码等,也可以实现通过如下谓词密码无法实现的应用,其中,该谓词密码是针对每个分层使用AND条件、OR条件等条件式来限定可检索的范围等具有以往的权限移交系统的谓词密码。
即,后面的实施方式中说明的分层式谓词密钥隐匿方式和分层式谓词密码可以广泛地应用于ID基础密码、可检索密码等。
<第2.矢量空间中的分层式内积谓词密码>
在后述的双对失真矢量空间这样的高维矢量空间中实现分层式谓词密钥隐匿方式和分层式谓词密码。因此,说明矢量空间中的分层式内积谓词密码。
首先,简单说明在矢量空间的说明中使用的“基底”和“基底矢量”。
图4是用于说明基底和基底矢量的图。
图4示出二维矢量空间中的矢量v。矢量v是c0a0+c1a1。另外,矢量v是y0b0+y1b1。此处,将a0、a1称为基底A中的基底矢量,表示为基底A:=(a0,a1)。另外,将b0、b1称为基底B中的基底矢量,表示为基底B:=(b0,b1)。另外,c0、c1、y0、y1是针对各基底矢量的系数。在图1中,由于是二维矢量空间,所以各基底中的基底矢量是2个。但是,如果是N维矢量空间,则各基底中的基底矢量是N个。
接下来,说明矢量空间中的内积谓词密码。
如上所述,内积谓词密码是指,在属性信息x与谓词信息fv的内积是规定的值(此处是0)的情况下,是成为fv(x)=1的谓词密码。在属性信息x与谓词信息fv是矢量的情况、即是属性矢量x与谓词矢量v的情况下,内积谓词如式52那样被定义。
[式52]
如果 x &RightArrow; &CenterDot; v &RightArrow; = &Sigma; i = 0 n - 1 x i v i = 0 , f v &RightArrow; ( x &RightArrow; ) = 1 ,
如果 x &RightArrow; &CenterDot; v &RightArrow; = &Sigma; i = 0 n - 1 x i v i &NotEqual; 0 , f v &RightArrow; ( x &RightArrow; ) = 0
此处,
x &RightArrow; = ( x 0 , . . . , x n - 1 ) ,
v &RightArrow; = ( v 0 , . . . , v n - 1 ) .
即,在属性矢量x与谓词矢量v的内积、即每个要素的内积之和是0的情况下,对谓词信息fv输入了属性信息x的结果成为1(True(真)),在属性矢量x与谓词矢量v的内积并非0的情况下,对谓词信息fv输入了属性信息x的结果成为0(False(假))的谓词密码。
接下来,说明矢量空间中的分层构造的实现方法。
图5是用于说明矢量空间中的分层构造的实现方法的图。
此处处理的矢量空间是高维(N维)矢量空间。即,在矢量空间中的规定的基底C中,存在基底矢量ci(i=0,…,N-1)这N个基底矢量。
N个基底矢量中的n个基底矢量(基底矢量ci(i=0,…,n-1))用于表示分层构造。另外,将基底矢量ci(i=0,…,n-1)分割为基底矢量ci(i=0,…,μ1-1)、基底矢量ci(i=μ1,…,μ2-1)、…、以及基底矢量ci(i=μd-1,…,n-1)这d个。此处,d是表示分层的深度的数。
另外,分配μ1个基底矢量ci(i=0,…,μ1-1)以表示第1层的属性信息、谓词信息。另外,分配μ21个基底矢量ci(i=μ1,…,μ2-1)以表示第2层的属性信息、谓词信息。以下同样地,分配μdd-1个基底矢量ci(i=μd-1,…,μd-1(=n-1))以表示第d层的属性信息、谓词信息。
另外,在利用第L层的属性信息生成密文的情况下,不只是第L层的属性信息,而是使用第1层至第L层的属性信息来生成密文。同样地,在利用第L层的谓词信息生成秘密密钥的情况下,不只是第L层的谓词信息,而是使用第1层至第L层的谓词信息来生成秘密密钥。即,在利用第L层的属性信息生成密文的情况、利用第L层的谓词信息生成秘密密钥的情况下,使用分配给第1层至第L层的μL个基底矢量ci(i=0,…,μL-1)。例如,在利用第3层的属性信息生成密文的情况下,使用分配给第1层至第3层的μ3个基底矢量ci(i=0,…,μ3-1),表示第1层至第3层的属性信息来生成密文。同样地,在利用第3层的谓词信息生成秘密密钥的情况下,使用分配给第1层至第3层的μ3个基底矢量ci(i=0,…,μ3-1),表示第1层至第3层的谓词信息来生成秘密密钥。即,在下位的层中使用的属性信息、谓词信息中,包括在上位的层中使用的属性信息、谓词信息。由此,使属性信息和谓词信息具有分层构造。然后,在该属性信息和谓词信息中利用分层构造,使内积谓词密码具有权限移交系统。
另外,在以下的说明中,为了表示矢量空间中的分层式构造,使用分层信息μ。式53示出分层信息μ
[式53]
&mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d )
此处,
μ0=0<μ1<μ2<…<μd=n
即,分层信息μ具有表示为了示出分层构造而分配的基底矢量数(维数)的n、表示分层的深度的d、以及用于表示分配给各分层的基底矢量的μ1、…、μd的信息。
接下来,说明矢量空间中的分层式内积谓词密码。
首先,说明各分层的空间中的内积谓词。各分层的空间是指,为了表示各分层的属性信息、谓词信息而分配的空间。即,如果是第j层的分层的空间,则是用基底矢量ci(i=μj-1,…,μj)表示的空间。
设属性空间∑i(i=1,…,d)是为了表示第i层的属性信息而分配的空间。同样地,设谓词空间Fi(i=1,…,d)是为了表示第i层的谓词信息而分配的空间。即,属性空间∑i是用规定的基底∑的基底矢量σj(j=μi-1,…,μi)表示的属性信息的空间。同样地,谓词空间Fi是用规定的基底F的基底矢量fj(j=μi-1,…,μi)表示的谓词信息的空间。即,如果是属性空间∑1,则是用基底矢量σj(j=0,…,μ1-1)表示的属性信息的空间。另外,如果是属性空间∑2,则是用基底矢量σj(j=μ1,…,μ2-1)表示的属性信息的空间。对于谓词空间Fi也是同样的。
即,属性空间∑i(i=1,…,d)和谓词空间Fi(i=1,…,d)分别是式54所示的属性信息和谓词信息的集合。
[式54]
Figure BPA00001447882500162
于是,对于各属性空间∑i(i=1,…,d),内积谓词如式55那样被定义。
[式55]
如果 v &RightArrow; i &CenterDot; x &RightArrow; i = &Sigma; i = &mu; i - 1 &mu; i x i v i = 0 , f v &RightArrow; i ( x &RightArrow; i ) = 1
如果并非 v &RightArrow; i &CenterDot; x &RightArrow; i = &Sigma; i = &mu; i &mu; i - 1 x i v i = 0 , f v &RightArrow; i ( x &RightArrow; i ) = 0
此处
即,在各分层的空间中,在属性矢量x与谓词矢量v的内积是0的情况下,对谓词信息fv输入了属性信息x的结果成为1(True)。即,在某个分层的属性矢量x与相同的分层的谓词矢量v的内积是0的情况下,对谓词信息fv输入了属性信息x的结果成为1(True)。
接下来,说明分层式的空间中的内积谓词。分层式的空间是还包括为了表示上位的属性信息、谓词信息而分配的空间的空间。即,如果是第j层的分层式的空间,则是用基底矢量ci(i=0,…,μj)表示的空间。
即,分层式的属性空间∑和分层式的谓词空间F分别是式56所示的空间。
[式56]
&Sigma; : = U L = 1 d ( &Sigma; 1 &times; . . . &times; &Sigma; L ) .
F : = &cup; L = 1 d ( F 1 &times; . . . &times; F L )
此处,式56所示的分层式的属性空间∑与分层式的谓词空间F中的和集合是相互不相交(disjoint)的和集合。关于式57所示的分层式的属性信息的式58所示的分层式的谓词信息如式59那样被定义。
[式57]
( x &RightArrow; 1 , . . . , x &RightArrow; L x )
[式58]
f ( v &RightArrow; 1 , . . . , v &RightArrow; L v )
[式59]
是Lv≤Lx
针对所有的i(i=1,…,Lv),在
Figure BPA00001447882500175
时,
(即,针对所有的i(i=1,…,Lv),在
Figure BPA00001447882500176
时)
并且仅限于此时
f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) = 1
即,矢量空间中的分层式内积谓词密码是如下的谓词密码:在(1)分层式的谓词矢量v的分层Lv与分层式的属性矢量x的分层Lx相同或是该分层Lx的上位,且(2)属性空间∑i(i=1,…,Lv)中的属性矢量x、与各谓词空间Fi(i=1,…,Lv)中的谓词矢量v的内积是0的情况下,向式58所示的分层式的谓词信息输入了式57所示的分层式的属性信息的结果成为1(True)。
<第3.分层式谓词密钥隐匿方式和分层式谓词密码的结构>
<第3-1.分层式谓词密钥隐匿方式>
简单说明分层式谓词密钥隐匿方式的结构。
分层式谓词密钥隐匿方式具备Setup、GenKey、Enc、Dec、DelegateL(L=1,…,d-1)这5个概率性多项式时间算法。
(Setup)
在Setup算法中,输入保密参数1λ和分层信息μ,输出主公开密钥pk和主秘密密钥sk。主秘密密钥sk是最上位的密钥。
(GenKey)
在GenKey算法中,输入主公开密钥pk、主秘密密钥sk、以及式60所示的谓词矢量v 1(另外,有时也将谓词矢量v 1简称为v 1),输出式61所示的第1层的秘密密钥。
[式60]
f v &RightArrow; 1 &Element; F 1
[式61]
sk v &RightArrow; 1
(Enc)
在Enc算法中,输入主公开密钥pk和属性矢量x i(i=1,…,Lx)(1≤Lx≤d),输出密文c和会话密钥K。即,在Enc算法中,输出嵌入规定的信息(ρ)并通过属性矢量x i(i=1,…,Lx)(1≤Lx≤d)加密了的密文c、和根据规定的信息(ρ)生成的会话密钥K。
(Dec)
在Dec算法中,输入主公开密钥pk、式62所示的第Lv层的秘密密钥(1≤Lv≤d)、以及密文c,输出会话密钥K或者识别信息⊥。识别信息⊥是表示解密失败了的信息。即,在Dec算法中,用第Lv层的秘密密钥对密文c进行解密,抽出与规定的信息(ρ)相关的信息,生成会话密钥K。另外,在解密失败了的情况下输出识别信息⊥。
[式62]
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L v )
(DelegateL)
在DelegateL算法中,输入主公开密钥pk、式63所示的第L层的秘密密钥、以及式64所示的第L+1层的谓词矢量v L+1(另外,有时也将谓词矢量v L+1简称为v L+1),输出式65所示的第L+1层的秘密密钥。即,在DelegateL算法中,输出下位的秘密密钥。
[式63]
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
[式64]
f v &RightArrow; L + 1 &Element; F L
[式65]
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L + 1 )
即,通过使用了式66所示的GenKey和Delegatei的算法的DeriveLv算法来计算第Lv层的秘密密钥。
[式66]
Derive L v ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ) :
sk v &RightArrow; 1 &LeftArrow; R GenKey ( pk , sk , v &RightArrow; 1 )
For i=1,…,Lv-1,
sk ( v &RightArrow; 1 , . . . , v &RightArrow; i + 1 ) &LeftArrow; R Delegate i ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; i ) , v &RightArrow; i + 1 ) ,
return(返回)
Figure BPA00001447882500204
<第3-2.分层式谓词密码>
说明分层式谓词密码的概要。
分层式谓词密码与分层式谓词密钥隐匿方式同样地,具备Setup、GenKey、Enc、Dec、DelegateL(L=1,…,d-1)这5个概率性多项式时间算法。
(Setup)
与分层式谓词密钥隐匿方式同样地,在Setup算法中,输入保密参数1λ和分层信息μ,输出主公开密钥pk和主秘密密钥sk。
(GenKey)
与分层式谓词密钥隐匿方式同样地,在GenKey算法中,输入主公开密钥pk、主秘密密钥sk、以及式67所示的谓词矢量v 1,输出式68所示的第1层的秘密密钥。
[式67]
f v &RightArrow; 1 &Element; F 1
[式68]
sk v &RightArrow; 1
(Enc)
在Enc算法中,输入主公开密钥pk、属性矢量x i(i=1,…,Lx)(1≤Lx≤d)、以及明文信息m,输出密文c。即,在Enc算法中,输出嵌入明文信息m并通过属性矢量x i(i=1,…,Lx)(1≤Lx≤d)加密了的密文c。
(Dec)
在Dec算法中,输入主公开密钥pk、式69所示的第Lv层的秘密密钥(1≤Lv≤d)、以及密文c,输出明文信息m或者识别信息⊥。识别信息⊥是指,表示解密失败了的信息。即,在Dec算法中,用第Lv层的秘密密钥对密文c进行解密,抽出明文信息m。另外,在解密失败了的情况下输出识别信息⊥。
[式69]
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L v )
(DelegateL)
与分层式谓词密钥隐匿方式同样地,在DelegateL中,输入主公开密钥pk、式70所示的第L层的秘密密钥、以及式71所示的第L+1层的谓词矢量v L+1,输出式72所示的第L+1层的秘密密钥。即,在DelegateL算法中,输出下位的秘密密钥。
[式70]
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L )
[式71]
f v &RightArrow; L + 1 &Element; F L
[式72]
sk ( v &RightArrow; 1 , . . . , v &RightArrow; L + 1 )
另外,第Lv层的秘密密钥与分层式谓词密钥隐匿方式同样地,通过上述式66所示的DeriveLv算法来计算。
<第3-3.密码处理系统10>
说明密码处理系统10。密码处理系统10执行上述分层式谓词密钥隐匿方式和分层式谓词密码的算法。
图6是密码处理系统10的结构图。
密码处理系统10具备密钥生成装置100、加密装置200、解密装置300、密钥移交装置400。另外,此处解密装置300具备密钥移交装置400。另外,如上所述,密码处理系统10执行分层式的密码处理,所以密码处理系统10具备多个加密装置200、多个解密装置300、多个密钥移交装置400。
密钥生成装置100执行分层式谓词密钥隐匿方式和分层式谓词密码的Setup、GenKey算法。
加密装置200执行分层式谓词密钥隐匿方式和分层式谓词密码的Enc算法。
解密装置300执行分层式谓词密钥隐匿方式和分层式谓词密码的Dec算法。
密钥移交装置400执行分层式谓词密钥隐匿方式和分层式谓词密码的DelegateL算法。
图7是示出密码处理系统10的密钥生成装置100、第1层的加密装置200、以及解密装置300的动作的流程图。即,图7是示出主密钥(主公开密钥和主秘密密钥)的生成、第1层的秘密密钥的生成至第1层中的加密和解密的动作的流程图。
(S101:密钥生成步骤)
密钥生成装置100执行Setup算法而生成主公开密钥pk和主秘密密钥sk。另外,密钥生成装置100根据所生成的主公开密钥pk和主秘密密钥sk、以及与规定的解密装置300(第1层的解密装置300)对应的谓词矢量v 1(v 1=(v0,…,vi)(i=μL-1)),执行GenKey算法而生成第1层的秘密密钥。然后,密钥生成装置100公开(分发)所生成的主公开密钥pk,并且将第1层的秘密密钥秘密地分发给上述规定的解密装置300。另外,密钥生成装置100秘密地保持主秘密密钥。
(S102:加密步骤)
加密装置200根据在(S101)中密钥生成装置100所分发的主公开密钥pk、和上述解密装置300的属性矢量x 1(x 1=(x0,…,xi)(i=μL-1)),执行Enc算法而生成密文c。另外,如果是分层式谓词密钥隐匿方式,则加密装置200还一并生成会话密钥K。然后,加密装置200将所生成的密文c经由网络等而发送到上述解密装置300。另外,属性矢量x 1既可以是公开的矢量,也可以是加密装置200从密钥生成装置100、解密装置300取得的矢量。
(S103:解密步骤)
解密装置300根据在(S101)中密钥生成装置100所分发的主公开密钥pk和第1层的秘密密钥,执行算法Dec,对从加密装置200接收到的密文c进行解密。解密装置300在对密文c进行了解密的结果,如果是分层式谓词密钥隐匿方式则取得会话密钥K,如果是分层式谓词密码则取得明文信息m。解密装置300在解密失败了的情况下输出识别信息⊥。
图8是示出密码处理系统10的第L层的密钥移交装置400、以及第L+1层的加密装置200和解密装置300的动作的流程图。即,图8是示出第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,j=μL+1-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)(=(x0,…,xi)(i=μL+1-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.用于实现分层式谓词密钥隐匿方式和分层式谓词密码的概念>
接下来,说明用于实现上述分层式谓词密钥隐匿方式和分层式谓词密码的各算法所需的概念。
<第4-1.双线性配对组>
说明双线性配对组(G1,G2,GT,g1,g2,q)。
双线性配对组(G1,G2,GT,g1,g2,q)是位数q的3个循环群G1、G2、GT的组。g1是G1的生成源,g2是G2的生成源。并且,双线性配对组(G1,G2,GT,g1,g2,q)满足以下的非退化双线性配对的条件。
(条件:非退化双线性配对)
存在可通过多项式时间来计算的式73所示的非退化双线性配对。
[式73]
Figure BPA00001447882500251
即,不论针对哪个
Figure BPA00001447882500253
e(sξ,tη)=e(ξ,η)st
e(g1,g2)≠1
此处,在是G1=G2(=:G)的情况下,称为对象双线性配对。另一方面,在是G1≠G2的情况下,称为非对称双线性配对。对象双线性配对可以使用超特异(超)椭圆曲线来构筑。另一方面,非对称双线性配对可以使用任意(超)椭圆曲线来构筑。非对称双线性配对例如可以使用通常的椭圆曲线来构筑。
此处,使用非对称双线性配对来进行说明。即,双线性配对组(G1,G2,GT,g1,g2,q)是非对称双线性配对组。然后,说明在使用非对称双线性配对组的直积来构筑了后述的双对失真矢量空间的情况。另外,如后面的实施方式中所说明那样,双对失真矢量空间不限于非对称双线性配对组的直积,还可以通过其它方法来构筑。
<第4-2.(1)针对一维配对“G1×G2→GT”的空间V、空间V*的高维化>
将一维空间的循环群扩展到高维空间(高维矢量空间)。即,如式74所示,通过G1和G2的直积来构筑N维矢量空间V和N维矢量空间V*
[式74]
Figure BPA00001447882500261
Figure BPA00001447882500262
此外,空间V的要素x通过N维矢量如下那样表示。
x:=(x0g1,…,xN-1g1),
同样地,空间V*的要素y通过N维矢量如下那样表示。
y:=(y0g2,…,yN-1g2),
另外,针对i=0,…,N-1、
Figure BPA00001447882500263
如式75所示那样定义N维矢量空间V、V*中的配对运算e。
[式75]
e ( x , y ) : = &Pi; i = 0 N - 1 e ( x i g 1 , y i g 2 )
即,N维矢量空间V的矢量x:=(x0g1,x1g1,…,xN-1g1)和N维矢量空间V*的矢量y:=(y0g2,y1g2,…,yN-1g2)的配对运算e(x,y)定义为矢量x和矢量y的每个要素的配对运算之积。于是,可以根据上述非退化双线性配对的条件,如式76所示那样表示配对运算e(x,y)。
[式76]
e ( x , y ) : = &Pi; i = 0 N - 1 e ( x i g 1 , y i g 2 ) = e ( g 1 , g 2 ) &Sigma; i = 0 N - 1 x i y i
另外,配对运算e的e这样的标记在(G1,G2)和(V,V*)这两方中使用。
<第4-3.(2)标准的双对基底A、A*>
说明N维矢量空间V的标准基底A、和N维矢量空间V*的标准基底A*
式77示出标准基底A。
[式77]
Figure BPA00001447882500271
此处
a0:=(g1,0,…,0),a1:=(0,g1,0,…,0),…,aN-1:=(0,…,0,g1)
此处,N维矢量空间V的所有要素x:=(x0g1,…,xN-1,g1)可以通过标准基底A的线性和来表示。即,N维矢量空间V的所有要素x:=(x0g1,…,xN-1,g1)可以如式78那样表示。
[式78]
x=x0a0+x1a1+…+xN-1aN-1
式79示出标准基底A*。与标准基底A同样地,N维矢量空间V*的所有要素y:=(y0g2,…,yN-1,g2)可以通过标准基底A*的线性和来表示。
[式79]
Figure BPA00001447882500272
此处
a 0 * : = ( g 2 , 0 , . . . , 0 ) , a 1 * : = ( 0 , g 2 , 0 , . . . , 0 ) , . . . , a N - 1 * : = ( 0 , . . . , 0 , g 2 )
标准基底A和标准基底A*满足式80所示的条件。
[式80]
e ( a i , a j * ) = u &delta; i , j , i , j &Element; { 0 , . . . , N - 1 }
此处
δ:Kroneckerδ(即,如果i=j则δi,j=1;如果i≠j则δi,j=0),
u:=e(g1,g2)≠1
即,标准基底A和标准基底A*是指双对标准正交基底,空间V和空间V*是通过配对运算e而关联起来的双对矢量空间。
对于标准基底A和标准基底A*满足式80所示的条件的情况进行补充。
首先,说明e(ai,a* i)=u。作为一个例子,计算e(a0,a* 0)。如上所述,a0=(g1,0,…,0),a* 0=(g2,0,…,0)。因此,e(a0,a* 0)=e(g1,g2)×e(0,0)×、…、×e(0,0)。此处,如上所述,e(g1,g2)=u。另外,由于e(0,0)=e(0·g1,0·g2)=e(g1,g2)0,所以e(0,0)=1。因此,e(a0,a* 0)=u。对于其他e(ai,a* i),同样的计算也成立,成为e(ai,a* i)=u。
接下来,说明e(ai,a* j)=1(i≠j)的情形。作为一个例子,对于e(a0,a* 1)进行计算。如上所述,a0=(g1,0,…,0),a* 1=(0,g2,0,…,0)。因此,e(a0,a* 1)=e(g1,0)×e(0,g2)×e(0,0)×、…、×e(0,0)。由于e(g1,0)=e(g1,0·g2)=e(g1,g2)0,所以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)=u,是e(ai,a* j)=1(i≠j)。
<第4-4.(3)使用了失真映射的高效的线性映射>
说明针对标准基底A中的空间V的生成源x的失真映射这样的线性变换。
空间V的标准基底A中的失真映射φi,j是式81所示的映射。
[式81]
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0
由于式82成立,所以失真映射φi,j可以进行式83的变换。
[式82]
φi,j(x)=φi,j(x0a0+x1a1+…+xN-1aN-1)=φi,j(xjaj)
=xjφi,j(aj)=xjai
[式83]
针对x:=(x0g1,…,xjg1,…,xN-1g1),
即,可以将标准基底A的矢量x的基底矢量j的要素变换为基底矢量i的要素。此时,除了变换了的基底矢量j的要素以外的其他要素全部成为0。即,矢量x的基底矢量j的要素成为基底矢量i的要素,其他要素成为0。
空间V*的标准基底A*中的失真映射φ* i,j也可以与空间V的标准基底A中的失真映射φi,j同样地表示。
通过使用失真映射φi,j* i,j),作为式84所示的N×N矩阵而示出的针对x∈V的任意的线性变换W都可以通过式85高效地计算。
[式84]
Figure BPA00001447882500292
[式85]
W ( x ) : = &Sigma; i = 0 , j = 0 N - 1 , N - 1 &gamma; i , j &phi; i , j ( x )
<第4-5.(4)利用基底变换的密钥对(B,B*)的生成方法>
说明从标准基底A和标准基底A*向其他基底B和基底B*变换的基底变换方法。图9是用于说明基底变换方法的图。
从空间V中的标准基底A向空间V中的其他基底B:=(b0,…,bN-1)变换。此处,使用式86所示的同样地选择出的线性变换X,如式87所示那样从空间V中的标准基底A变换为空间V中的其他基底B。
[式86]
[式87]
b i = &Sigma; j = 0 N - 1 x i , j a j , i = 0 , . . . , N - 1
此处
Figure BPA00001447882500303
此处,GL是General Linear(一般线性)的简称。即,GL是一般线性群,是矩阵式并非为0的方阵的集合,且关于乘法是群。
在以下说明的密码处理中,基底B被用作公开参数(公开密钥)。另外,X被用作陷门(trapdoor)信息(秘密密钥)。
通过使用X,可以根据空间V*中的标准基底A*高效地计算空间V*中的基底B*:=(b* 0,…,b* N-1)。此处,如式88所示那样使用X,计算空间V*中的基底B*
[式88]
b i * = &Sigma; j = 0 N - 1 v i , j a j * , i = 0 , . . . , N - 1
此处
(vi,j):=(XT)-1
此处,式89成立。
[式89]
e ( b i , b j * ) = u &delta; i , j , i , j &Element; { 0 , . . . , N - 1 }
此处
δ:Kroneckerδ(即,如果i=j则δi,j=1;如果i≠j则δi,j=0),
u:=e(g1,g2)≠1
即,基底B和基底B*是双对空间V和V*中的双对标准正交基底。即,即使在使用X而对标准基底A和A*进行了变形的情况下,双对标准正交基底也被保存。
在以下说明的密码处理中,基底B*可以用作(代替X)秘密密钥。详细内容在后面叙述,由此,在后述的密码处理中,可以根据所要求的秘密密钥的必要条件来制作各种等级或者类型的秘密密钥。即,通过将最上位分层的秘密密钥作为X,并将下位的等级的秘密密钥作为基底B*的部分信息,可以制作从上位分层的秘密密钥到下位分层的秘密密钥为止被分层化了的秘密密钥。
<第4-6.(5)用于向密码处理应用的(V,B)、(V,B*)中的计算困难问题>
进行适合于密码处理的(V,B)和(V*,B*)中的计算困难问题的定义以及确立。即,说明成为后述密码处理的安全性的依据的计算困难问题。此处,如上所述,基底B:=(b0,…,bN-1)是空间V的基底,基底B*:=(b* 0,…,b* N-1)是空间V*的基底。
另外,在非专利文献21中,存在关于(V,B)中的计算问题和决定问题的记载、以及关于这些问题的关联的调查结果的记载。
此处,简单说明非专利文献21记载的计算矢量分解问题(Computational Vector Decomposition Problem,CVDP)、和决定部分空间问题(Decisional Subspace Problem,DSP)。
最自然的(计算)问题之一是CVDP。CVDP是部分群分解问题(Subgroup Decomposition Problem)的高维空间类似体。
(N1,N2)CVDP的假设是“在提供了式90所示的v的情况下,难以计算式91所示的u”。
[式90]
v : = ( v 0 b 0 + &CenterDot; &CenterDot; &CenterDot; + v N 2 - 1 b N 2 - 1 ) + ( v N 2 b N 2 + &CenterDot; &CenterDot; &CenterDot; + v N 1 - 1 b N 1 - 1 )
此处
Figure BPA00001447882500322
[式91]
u : = v 0 b 0 + &CenterDot; &CenterDot; &CenterDot; + v N 2 - 1 b N 2 - 1
如果简化说明上述问题,则是在图4中提供了矢量v的情况下,难以(无法)针对矢量v抽出基底B中的矢量V的分量y0b0(或者y1b1)。即,难以(无法)将矢量v分解为基底B中的矢量V的分量y0b0和y1b1
另外,即使CVDP假设正确,通过使用上述失真映射φi,j、和陷门X(上述基底变换方法中的线性变换X)以及非专利文献21记载的算法Deco,也可以高效地计算CVDP。另一方面,在CVDP假设正确的情况下,如果不提供陷门X,则无法高效地求解CVDP。即,通过将上述基底变换方法中的线性变换X设为最上位分层的秘密密钥,在不知道线性变换X的下位分层中无法高效地求解CVDP。
最自然的决定问题之一是DSP。(N1,N2)DSP的假设是“难以根据式92所示的u来决定式93所示的v”。
[式92]
u : = v 0 b 0 + &CenterDot; &CenterDot; &CenterDot; + v N 1 - 1 b N 1 - 1
此处
Figure BPA00001447882500325
[式93]
v : = v N 2 b N 2 + &CenterDot; &CenterDot; &CenterDot; + v N 1 - 1 b N 1 - 1
如果简化说明上述问题,则在图4中提供了矢量v的情况下,难以确定y0b0(或者y1b1)是矢量V的分量。
即,根据以上的2个问题,在提供了N维空间中的矢量v(=c0b0+…+cN-1bN-1)的情况下,无法抽出关于矢量v的基底矢量bn的分量cnbn,无法确定cnbn是矢量v的分量。
<第4-7.(6)使用了密钥对(B,B*)的内积谓词密码>
在2个矢量的内积的计算中应用双对标准正交基底(B,B*),实现内积谓词密码。
在2个矢量的内积的计算中应用双对标准正交基底(B,B*)是指对式94进行计算。
[式94]
e ( x , v * ) = u x &RightArrow; &CenterDot; v &RightArrow;
此处
x:=x0b0+…+xn-1bn-1.
v * : = v 0 b 0 * + &CenterDot; &CenterDot; &CenterDot; + v n - 1 b n - 1 * ,
Figure BPA00001447882500334
Figure BPA00001447882500335
的内积,
Figure BPA00001447882500336
Figure BPA00001447882500337
如下所述实现内积谓词密码。另外,此处说明密钥隐匿方式,但当然对于密码方式也可以同样地实现。
密文c如式95所示那样生成。
[式95]
c:=δ(x0b0+…+xn-1bn-1)+ρbn
此处
xi:属性矢量(i=0,…,n-1)
秘密密钥k*如式96所示那样生成。
[式96]
k * : = &sigma; ( v 0 b 0 * + &CenterDot; &CenterDot; &CenterDot; + v n - 1 b n - 1 * ) + b n *
此处
vi:谓词矢量(i=0,…,n-1)
此处,是式97。
[式97]
e ( c , k * ) = u &sigma;&delta; ( x &RightArrow; &CenterDot; v &RightArrow; ) + &rho;
即,如果属性矢量x与谓词矢量v的内积是0,则是式98。
[式98]
K:=uρ
其原因为,如上所述是式99。
[式99]
e ( x , v * )
= e ( x 0 b 0 , v 0 b 0 * ) &CenterDot; &CenterDot; &CenterDot; &times; e ( x N - 1 b N - 1 , v N - 1 b N - 1 * )
= u x 0 v 0 + &CenterDot; &CenterDot; &CenterDot; + x N - 1 v N - 1
= u x &RightArrow; &CenterDot; v &RightArrow;
即,此处,通过以使属性矢量x与谓词矢量v的内积成为0的方式来设定属性矢量x和谓词矢量v,可以在接收侧从密文c取得共有信息K(会话密钥)。
此处,会话密钥K被隐蔽。即,不具有秘密密钥k*的攻击者无法从密文c得到关于会话密钥K的信息。其原因为,根据上述CVDP假设,无法抽出密文c的分量即ρbn
另外,不仅是会话密钥K,而且关于属性矢量x也被隐蔽。即,不具有秘密密钥k*的攻击者从密文c不仅无法得到会话密钥K而且也无法得到关于属性矢量x的信息。此处,上述DSP假设起到对隐蔽属性信息x的情形进行说明的中心作用。其原因为,根据DSP假设,无法从式101区分式100。
[式100]
c : = &delta; ( x 0 b 0 + &CenterDot; &CenterDot; &CenterDot; + x n - 1 b n - 1 ) + &rho; b n
= &delta; b ~ 0 + &rho; b n &LeftArrow; U &lang; b ~ 0 , b n &rang; &Subset; &lang; b 0 , b 1 , . . . , b n &rang;
此处
b ~ 0 : = x 0 b 0 + &CenterDot; &CenterDot; &CenterDot; + x n - 1 b n - 1 .
Figure BPA00001447882500358
[式100]
( &xi; 0 b 0 + &CenterDot; &CenterDot; &CenterDot; &xi; n - 1 b n - 1 ) + &rho; b n &LeftArrow; U &lang; b 0 , b 1 , . . . , b n &rang;
此处
Figure BPA000014478825003510
<第5.双对失真矢量空间>
根据在第4中说明的概念,说明双对失真矢量空间。如上所述,在双对失真矢量空间中实现后述的分层式谓词密钥隐匿方式和分层式谓词密码。
双对失真矢量空间(V,V*,GT,A,A*,q)是具有Fq上的2个N维矢量空间V、V*的组、位数q的循环群GT、空间V的标准基底A:=(a0,…,aN-1)、以及空间V*的标准基底A*:=(a* 0,…,a* N-1)的空间、且是满足以下的(1)存在失真映射、(2)存在非退化双线性配对、(3)2个空间的标准基底是双对标准正交基底这样的3个条件的空间。
(1)失真映射(参照上述第4-4)
存在可根据多项式时间来计算的失真映射φi,j和φ* i,j
即,第1个条件是式102所示的空间V的自同态(endomorphism)φi,j和空间V*的自同态φ* i,j可根据多项式时间来计算。
[式102]
φ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
(2)非退化双线性配对(参照上述第4-1)
存在可根据多项式时间来计算的非退化双线性配对e。
即,第2个条件是存在式103所示的非退化双线性配对e。
[式103]
Figure BPA00001447882500371
此处
Figure BPA00001447882500372
位数q的循环群
即,e(sx,ty)=e(x,y)st
针对所有的
Figure BPA00001447882500373
如果e(x,y)=1,则x=0
(3)双对标准正交基底(参照上述第4-2)
空间V的标准基底A和空间V*的标准基底A*是双对标准正交基底。
即,第3个条件是空间V的标准基底A和空间V*的标准基底A*满足式104所示的条件。
[式104]
针对所有的i,j
e ( a i , a j * ) = u &delta; i , j
此处
δ:Kroneckerδ(即,如果i=j则δi,j=1;如果i≠j则δi,j=0),
Figure BPA00001447882500375
另外,通过满足第3个条件,可以说空间V和空间V*是通过配对运算e(参照上述第4-2)关联起来的双对空间。
此处,设EndFq(V)是Fq上的空间V的自同态的Fq矢量空间。同样地,设EndFq(V*)是Fq上的空间V*的自同态的Fq矢量空间。于是,失真映射φi,j(resp.φ* i,j)形成N2维Fq矢量空间EndFq(V)(resp.EndFq(V*))的基底。
可以使用式105所示的随机的系数,对式106所示的V/Fq(resp.V*/Fq)的随机的可根据多项式时间来计算的自同态高效地进行采样。
[式105]
Figure BPA00001447882500381
[式106]
W : = &Sigma; i = 0 , j = 0 N - 1 , N - 1 &gamma; i , j &phi; i , j
( resp . W * : = &Sigma; i = 0 , j = 0 N - 1 , N - 1 &gamma; i , j &phi; i , j * )
另外,在后面的实施方式中,说明双对失真矢量空间的例子。
<第6.分层式谓词密钥隐匿方式和分层式谓词密码的实现方法的概要>
根据上述概念(参照上述第4)、和双对失真矢量空间(参照上述第5),简单说明上述密码处理系统10(参照上述第3)实现分层式谓词密钥隐匿方式和分层式谓词密码的方法。
首先,密码处理系统10在双对失真矢量空间中,实现分层式谓词密钥隐匿方式和分层式谓词密码。即,密码处理系统10在具有失真映射、非退化双线性配对以及双对标准正交基底的高维矢量空间中,实现分层式谓词密钥隐匿方式和分层式谓词密码,其中,该高维矢量空间是通过配对运算e关联起来的高维双对矢量空间。另外,将2个空间关联起来的配对运算e(高维矢量空间中的配对运算)是在上述第4-2中定义的配对运算。
另外,根据上述第4-5,密码处理系统10将根据各空间V和V*的标准基底A和A*通过规定的变换而生成的双对标准正交基底B和B*用作密钥对(公开密钥和秘密密钥的对),实现分层式谓词密钥隐匿方式和分层式谓词密码。根据上述第4-7,密码处理系统10的密钥生成装置100将双对标准正交基底B和B*的一方(以下为基底B)作为主公开密钥,将另一方(以下为基底B*)作为主秘密密钥。
即,在图7的(S101)中密钥生成装置100生成包含有作为高维矢量空间的双对失真矢量空间的基底B的信息作为主公开密钥,生成包含有基底B*的信息作为主秘密密钥。另外,密钥生成装置100根据谓词矢量v 1(v 1=(v0,…,vi)(i=μ1-1))生成基底B*中的矢量作为第1层的秘密密钥。在图7的(S102)中加密装置200根据x 1(x 1=(x0,…,xi)(i=μ1-1)),在作为主公开密钥的基底B中的矢量中嵌入用于生成会话密钥K的信息ρ或者明文信息m而生成为密文c。在图7的(S103)中解密装置300针对作为基底B中的矢量的密文c、和作为基底B*中的矢量的第1层的秘密密钥进行配对运算e,抽出密文c中嵌入的会话密钥K或者明文信息m。另外,关于解密装置300所执行的高维矢量的配对运算e是在上述第4-2中定义的配对运算。
另外,在图8的(S201)中密钥移交装置400根据谓词矢量v L+1(v L+1=(vi,…,vj)(i=μ1,j=μL+1-1))生成基底B*中的矢量作为第L+1层的秘密密钥。在图8的(S202)中加密装置200根据属性矢量x 1至x L+1的属性矢量(x i(i=1,…,L+1)(=(x0,…,xi)(i=μL+1-1))),在作为主公开密钥的基底B中的矢量中嵌入用于生成会话密钥K的信息ρ或者明文信息m而生成为密文c。在图8的(S203)中解密装置300针对作为基底B中的矢量的密文c、和作为基底B*中的矢量的第L+1层的秘密密钥进行配对运算e,抽出密文c中嵌入的会话密钥K或者明文信息m。
另外,根据上述第4-6中叙述的计算困难问题,该密码处理的安全性(会话密钥K或者明文信息m以及属性矢量的隐匿性)被保障。
实施方式2.
在本实施方式中,根据实施方式1中说明的概念,说明实现分层式谓词密钥隐匿方式的密码处理系统10。
根据图10至图15,说明密码处理系统10的功能和动作。
图10是示出本实施方式的密码处理系统10的功能的功能框图。密码处理系统10如上所述,具备密钥生成装置100、加密装置200、解密装置300、密钥移交装置400。另外,在此解密装置300也具备密钥移交装置400。
图11是示出密钥生成装置100的动作的流程图。图12是示出加密装置200的动作的流程图。图13是示出解密装置300的动作的流程图。图14是示出密钥移交装置400的动作的流程图。
图15是示出双对失真矢量空间的基底的构造的概念图。
说明密钥生成装置100的功能和动作。密钥生成装置100具备主密钥生成部110、主密钥存储部120、密钥矢量生成部130、密钥生成用矢量生成部140、密钥分发部150。
(S301:主密钥生成步骤)
主密钥生成部110计算式107,通过处理装置生成主公开密钥pk和主秘密密钥sk并存储到主密钥存储部120中。
[式107]
(1)
N:=n+2,
Figure BPA00001447882500401
(2)
Figure BPA00001447882500402
(3)
b i = &Sigma; j = 0 N - 1 x i , j a j ,
Figure BPA00001447882500404
(4)
(vi,j):=(XT)-1
(5)
b i * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA00001447882500406
(6)
Figure BPA00001447882500407
return sk,pk
即,(1)主密钥生成部110利用保密参数1λ,通过处理装置生成N(=n+2)维的双对失真矢量空间(V,V*,GT,A,A*,q)。此处,Gddvs是以1λ和N为输入,并输出关于保密参数1λ和N维空间V的(V,V*,GT,A,A*,q)的双对失真矢量空间生成算法。
(2)主密钥生成部110通过处理装置随机地选择用于根据标准基底A生成基底B的线性变换X。
(3)主密钥生成部110根据所选择的线性变换X,通过处理装置根据基底A:=(a0,…,an-1)生成基底B:=(b0,…,bn-1)。
(4)主密钥生成部110根据线性变换X,通过处理装置生成用于根据基底A*:=(a* 0,…,a* n-1)生成基底B*:=(b* 0,…,b* n-1)的线性变换(XT)-1
(5)主密钥生成部110根据所生成的线性变换(XT)-1,通过处理装置根据基底A*生成基底B*
(6)主密钥生成部110将所生成的基底B*作为主秘密密钥sk,将包括所生成的基底B的(1λ,μ,V,V*,GT,A,A*,q,B)作为主公开密钥pk。然后,主密钥存储部120将主密钥生成部110所生成的主公开密钥pk和主秘密密钥sk存储在存储装置中。
另外,设双对失真矢量空间的维数是N(=n+2)。此处,n是表示为了表示分层信息μ具有的分层构造而分配的基底数的n。即,此处,除了为了表示分层构造而分配的基底数n以外,还设置了2个基底矢量。当然,也可以设置比这还多的基底矢量。
如图15所示,N(=n+2)个基底矢量中的n个基底矢量是为了表示分层构造而分配的。为了表示分层构造而分配的基底矢量的构造与图5所示的构造相同。剩余2个基底矢量中的1个基底矢量(第n个基底矢量)是用于生成会话密钥的信息(发送信息ρ)的基底矢量。剩余2个基底矢量中的另一个基底矢量(第n+1个基底矢量)是用于将密文c进行随机化的基底矢量。
即,在(S301)中,主密钥生成部110执行式108所示的Setup算法,生成主公开密钥pk和主秘密密钥sk。
[式108]
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
Figure BPA00001447882500423
b i = &Sigma; j = 0 N - 1 x i , j a j ,
( v i , j ) : = ( X T ) - 1 , b i * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA00001447882500428
Figure BPA00001447882500429
Figure BPA000014478825004210
return sk,pk.
(S302:密钥矢量k* 1,0生成步骤)
密钥矢量生成部130根据主公开密钥pk和主秘密密钥sk、以及谓词矢量v 1(v 1=(v0,…,vi)(i=μL-1))对式109进行计算,通过处理装置生成第1层(等级1)的秘密密钥的开头要素即密钥矢量k* 1,0
[式109]
(1)
Figure BPA000014478825004211
(2)
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b n *
此处
Figure BPA000014478825004213
笫1层的秘密密钥的开头要素
vi(i=0,…,μ1-1):谓词矢量
即,(1)密钥矢量生成部130通过处理装置生成随机数σ1,0
(2)密钥矢量生成部130通过处理装置,设定规定的值(此处是1)作为针对空间V*的基底B*中的基底矢量b* n的系数,并且通过处理装置,设定以作为针对基底矢量b* i(i=0,…,μ1-1)的系数而生成的随机数σ1,0进行了随机化的谓词矢量v 1的各要素,生成密钥矢量k* 1,0
(S303:密钥生成用矢量k* 1,j生成步骤)
密钥生成用矢量生成部140根据主公开密钥pk和主秘密密钥sk、以及谓词矢量v 1,对式110进行计算,通过处理装置,生成用于生成下位的秘密密钥(下位的密钥矢量)的密钥生成用矢量k* 1,j。密钥生成用矢量k* 1,j是第1层的秘密密钥的第j个要素。
[式110]
(1)
Figure BPA00001447882500431
(2)
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . . , n - 1
此处
Figure BPA00001447882500433
第1层的秘密密钥的第j个要素
即,(1)密钥生成用矢量生成部140通过处理装置生成随机数σ1, j(j=μ1,…,n-1)。
(2)密钥生成用矢量生成部140针对j=μ1、…、n-1的各j,通过处理装置来设定规定的值(此处是1)作为针对空间V*的基底B*中的基底矢量b* j的系数,并且通过处理装置,设定以作为针对基底矢量b* i(i=0,…,μ1-1)的系数而生成的随机数σ1,j进行了随机化的谓词矢量v 1的各要素,生成密钥生成用矢量k* 1,j
即,在(S302)和(S303)中,密钥矢量生成部130和密钥生成用矢量生成部140执行式111所示的GenKey算法,通过处理装置生成第1层的秘密密钥(密钥信息k→* 1),该第1层的秘密密钥(密钥信息k→* 1)包括密钥矢量k* 1,0和密钥生成用矢量k* 1,j
[式111]
GenKey ( pk , sk , v &RightArrow; 1 : = ( v 0 , . . . , v &mu; 1 - 1 ) ) :
Figure BPA00001447882500442
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b n * ,
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . . , n - 1
k &RightArrow; 1 * : = ( k 1,0 * , k 1 , &mu; 1 * , . . . , k 1 , n - 1 * ) .
return k &RightArrow; 1 * .
此处,
k→* 1:第一层的秘密密钥
(S304:密钥分发步骤)
密钥分发部150将主密钥生成部110所生成的主公开密钥、以及密钥矢量生成部130和密钥生成用矢量生成部140所生成的密钥信息k→* 1经由通信装置发送到解密装置300。另外,密钥分发部150将主公开密钥经由通信装置发送到加密装置200。此处,密钥信息k→* 1被秘密地发送到解密装置300,但关于将密钥信息k→* 1秘密地发送到解密装置300的方法,可以是任意的方法。例如,也可以使用以往的密码处理来进行发送。
说明加密装置200的功能和动作。加密装置200具备发送信息设定部210、密码矢量生成部220、数据发送部230、会话密钥生成部240。
(S401:发送信息设定步骤)
发送信息设定部210根据主公开密钥pk,通过处理装置对式112进行计算而生成发送信息矢量ρv。
[式112]
Figure BPA00001447882500447
ρv:=ρbn
即,发送信息设定部210通过处理装置,设定发送信息ρ(此处是随机数)作为针对主公开密钥pk中包含的基底B的基底矢量bn的系数,生成发送信息矢量ρv。
(S402:密码矢量生成步骤)
密码矢量生成部220根据主公开密钥pk和x 1至属性矢量x L(x i(i=1,…,L)(=(x0,…,xi)(i=μL-1))),通过处理装置对式113进行计算,生成密码矢量c。此处,L是分层的深度。
[式113]
(1)
Figure BPA00001447882500451
Figure BPA00001447882500452
(2)
xv : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i )
此处
( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) : 属性矢量
(3)
rv:=δn+1bn+1
(4)
x : = xv + &rho;v + rv
: = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n + &delta; n + 1 b n + 1
即,(1)密码矢量生成部220通过处理装置生成随机数x i(i=L+1,…,d)、和随机数δi(i=1,…,d,n+1)。
(2)密码矢量生成部220如下所述,通过处理装置设定属性矢量的各要素作为针对主公开密钥pk中包含的基底B的基底矢量bi(i=0,…,μL-1)的系数,并且通过处理装置设定随机数作为针对基底矢量bi(i=μL,…,n-1)的系数,生成属性信息矢量xv。
首先,密码矢量生成部220设定作为针对基底矢量bi(i=0,…,μ1-1)的系数而以随机数δ1进行了随机化的属性矢量x 1。另外,密码矢量生成部220设定作为针对基底矢量bi(i=μ1,…,μ2-1)的系数而以随机数δ2进行了随机化的属性矢量x 2(x 2=(xi,…,xj)(i=μ1,j=μ2-1))。以下同样地,密码矢量生成部220设定作为针对基底矢量bi(i=μk-1、…、μk-1)(k=3、…、L)的系数而以随机数δk进行了随机化的属性矢量x k(x k=(xi,…,xj)(i=μj-1,j=μj-1))。
另外,密码矢量生成部220设定根据随机数x i(i=L+1,…,d)和随机数δi(i=L+1,…,d)计算的随机数值,作为针对基底矢量bi(i=μL,…,n-1)的系数。
(3)密码矢量生成部220通过处理装置,设定随机数δn+1作为针对主公开密钥pk中包含的基底B的基底矢量bn+1的系数,生成随机数矢量rv。
(4)密码矢量生成部220将所生成的属性信息矢量xv和随机数矢量rv相加到发送信息设定部210所生成的发送信息矢量ρv,通过处理装置生成密码矢量c。
(S403:数据发送步骤)
数据发送部230将密码矢量生成部220所生成的密码矢量c经由通信装置发送到解密装置300。
(S404:会话密钥生成步骤)
会话密钥生成部240通过处理装置对式114进行计算而生成会话密钥K。
[式114]
K:=uρ
此处
u:=e(g1,g2)≠1
即,加密装置200执行式115所示的Enc算法,生成密码矢量c和会话密钥K。
[式115]
Enc ( pk , x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) )
Figure BPA00001447882500473
c : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n + &delta; n + 1 b n + 1 ,
K:=uρ.
return(c,K).
说明解密装置300的功能和动作。解密装置300具备矢量输入部310、密钥矢量存储部320、配对运算部330。
(S501:矢量输入步骤)
矢量输入部310经由通信装置接收并输入加密装置200的数据发送部230发送了的密码矢量c。
(S502:配对运算步骤)
配对运算部330根据主公开密钥pk和第L层的秘密密钥的开头要素即密钥矢量k* L,0,通过处理装置对式116进行计算,生成会话密钥K’(=K)。
[式116]
K &prime; : = e ( c , k L , 0 * )
此处
c:密码矢量
Figure BPA00001447882500476
第L层的秘密密钥的开头要素
即,配对运算部330针对矢量输入部310所输入的密码矢量c、和密钥矢量存储部320存储到存储装置中的密钥矢量k* L,0,通过处理装置进行将主公开密钥pk中包含的空间V和空间V*关联起来的配对运算e,从而计算会话密钥K’。另外,密钥矢量存储部320在从密钥生成装置100或者上位的密钥移交装置400分发了密钥矢量k* L,0时,将密钥矢量k* L,0存储到存储装置中。
对于通过该配对运算可以计算会话密钥K的内容在后面详细叙述。
即,解密装置300执行式117所示的Dec算法,生成会话密钥K’。
[式117]
Dec ( pk , k L , 0 * , c ) :
K &prime; : = e ( c , k L , 0 * ) ,
return K′.
说明密钥移交装置400的功能和动作。密钥移交装置400具备密钥矢量取得部410、密钥矢量生成部420、密钥生成用矢量生成部430、密钥分发部440。
(S601:密钥矢量k* L,0取得步骤)
密钥矢量取得部410经由通信装置取得第L层的秘密密钥(密钥信息k→* L),该第L层的秘密密钥(密钥信息k→* L)包括第L层的秘密密钥的开头要素即密钥矢量k* L,0、和第L层的秘密密钥的第j个(j=μ1,…,n-1)要素即密钥生成用矢量k* L,j。即,经由通信装置取得密钥信息k→* 1或者密钥信息k→* L,其中,该密钥信息k→* 1包括密钥生成装置100所分发的密钥矢量k* 1,0和密钥生成用矢量k* 1,j,该密钥信息k→* L包括上位的密钥移交装置400所分发的密钥矢量k* L,0和密钥生成用矢量k* L,j
(S602:密钥矢量k* L+1,0生成步骤)
密钥矢量生成部420根据主公开密钥pk、密钥信息k→* L、以及谓词矢量v L+1(v L+1=(vi,…,vj)(i=μL、j=μL+1-1)),对式118进行计算,通过处理装置生成第L+1层的秘密密钥的开头要素即密钥矢量k* L+1,0
[式118]
(1)
Figure BPA00001447882500491
(2)
k L + 1,0 * : = k L , 0 * + &sigma; L + 1,0 ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * )
此处
第L+1层的秘密密钥的开头要素
Figure BPA00001447882500494
第L层的秘密密钥的开头要素
Figure BPA00001447882500495
第L层的秘密密钥的第i个要素
vi(i=μL,…,μL+1-1):谓词矢量L+1
即,(1)密钥矢量生成部420通过处理装置生成随机数σL+1,0
(2)密钥矢量生成部420将对针对密钥生成用矢量k* L,i(i=μL,…,μL+1-1)的系数设定了以随机数σL+1,0进行了随机化的谓词矢量v L+1的各要素而得到的矢量vi(i=μL,…,μL+1-1),与密钥矢量k* L,0相加,通过处理装置生成密钥矢量k* L+1,0
(S603:密钥生成用矢量k* L+1,j生成步骤)
密钥生成用矢量生成部430根据主公开密钥pk、密钥信息k→* L、以及谓词矢量v L+1,对式119进行计算,通过处理装置,生成用于生成下位的秘密密钥(下位的密钥矢量)的密钥生成用矢量k* L+1,j(j=μ1+1,…,n-1)。密钥生成用矢量k* L+1,j是第L+1层的秘密密钥的第j个要素。
[式119]
(1)
Figure BPA00001447882500501
(2)
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * )
j=μL+1,μL+1+1,…,n-1
此处
第L+1层的秘密密钥的第j个要素
Figure BPA00001447882500504
第L层的秘密密钥的第j个要素
vi(i=μL,…,μL+1-1):谓词信息
即,(1)密钥生成用矢量生成部430通过处理装置生成随机数σL+1,j(j=μL+1,…,n-1)。
(2)密钥生成用矢量生成部140针对j=μL+1、…、n-1的各j,对密钥生成用矢量k* L,j,相加作为针对密钥生成用矢量k* L,i(i=μL,…,μL+1-1)的系数而设定了以随机数σL+1,j进行了随机化的谓词矢量v L+1的各要素得到的矢量,通过处理装置,生成用于生成密钥矢量k* L+1,0的下位的密钥矢量的密钥生成用矢量k* L+1,j
即,在(S602)和(S603)中,密钥矢量生成部420和密钥生成用矢量生成部430执行式120所示的DelegateL算法,通过处理装置生成包括密钥矢量k* L+1,0和密钥生成用矢量k* L+1,j的第L+1层的秘密密钥(密钥信息k→* L+1)。
[式120]
Delegat e L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v &mu; L , . . . , v &mu; L + 1 - 1 ) ) :
Figure BPA00001447882500512
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * ) , j = 0 , &mu; L + 1 , &mu; L + 1 + 1 , . . . , n - 1 ,
k &RightArrow; L + 1 * : = ( k L + 1,0 * , k L + 1 , &mu; L + 1 * , . . . , k L + 1 , n - 1 * ) .
return k L + 1 * .
此处
Figure BPA00001447882500516
第L+1层的秘密密钥
即,式120所示的密钥信息k→* L+1中的开头(第1个)的要素k* L,0是成为解密密钥L+1的密钥矢量k* L+1,0。另外,式120所示的密钥信息k→* L+1中的第2个以后的要素是用于密钥移交的标签。
(S604:密钥分发步骤)
密钥分发部440将密钥矢量生成部420和密钥生成用矢量生成部430所生成的密钥信息k→* L+1经由通信装置发送到下位的解密装置300。此处,密钥信息k→* L+1被秘密地发送到解密装置300,但关于将密钥信息k→* L+1秘密地发送到解密装置300的方法,也可以是任意的方法。例如,也可以使用以往的密码处理来发送。
图16是用于说明(S502)中的配对运算的图。
根据图16,说明在(S502)中配对运算部330可通过上述式116所示的配对运算抽出会话密钥K(=K’)的情形。另外,在图16中,为简化说明,省略随机数σ和随机数δ的下标来表示。
如上所述,对于第L分层中的密文c,作为针对基底矢量bi(i=0,…,μL-1)的系数,设定了随机化了的属性矢量。另外,对于密文c,作为针对基底矢量bi(i=μL,…,n-1)的系数,设定了随机数x。另外,对于密文c,作为针对基底矢量bn的系数,设定了ρ。而且,对于密文c,作为针对基底矢量bn+1的系数,设定了随机数δ。
另一方面,对于第L分层中的密钥矢量k* L,0,作为针对基底矢量b* i(i=0,…,μL-1)的系数,设定了随机化了的谓词矢量。另外,对于密钥矢量k* L,0,没有设定针对基底矢量b* i(i=μL,…,n-1)的系数,即,作为系数设定了0。另外,对于密钥矢量k* L,0,作为针对基底矢量b* n的系数,设定了1。而且,对于密钥矢量k* L,0,作为针对基底矢量bn+1的系数,设定了0。
此处,如果进行式116所示的配对运算,则在密钥矢量k* L,0中,作为系数设定了0的基底矢量b* i(i=μL,…,n-1,n+1)、与所对应的密文c的基底矢量bi(i=μL,…,n-1,n+1)的内积成为0。
另外,在密文c中作为系数设定了属性矢量的基底矢量bi(i=0,…,μL-1)、与在密钥矢量k* L,0中作为系数设定了谓词矢量的基底矢量b* i(i=0,…,μL-1)的内积成为0。其原因为,属性矢量和谓词矢量被设定成内积成为0。
因此,仅有式116所示的配对运算的结果e(ρbn,b* n)的内积不会成为0而残留。因此,e(ρbn,b* n)=uρ=K,通过对式116所示的配对运算进行计算,可以计算会话密钥K。
图17是用于说明无法利用下位的密钥计算会话密钥K的图。
根据图17,说明如下的情形:在(S502)中针对根据上位分层的属性矢量进行了加密的密文c、和下位分层的密钥矢量k* Lv,0,配对运算部330通过上述式116所示的配对运算无法抽出会话密钥K。另外,在图17中,为简化说明,省略随机数σ和随机数δ的下标来表示。另外,在关于图17的说明中,Lx(=Lx)<Lv(=Lv)。
对于第Lx分层中的密文c,作为针对基底矢量bi(i=0,…,μLx-1)的系数,设定了随机化了的属性矢量。另外,对于密文c,作为针对基底矢量bi(i=μLx,…,n-1)的系数,设定了随机数x。另外,对于密文c,作为针对基底矢量bn的系数,设定了ρ。而且,对于密文c,作为针对基底矢量bn+1的系数,设定了随机数δ。
另一方面,对于第Lv分层中的密钥矢量k* Lv,0,作为针对基底矢量b* i(i=0,…,μLv-1)的系数,设定了随机化了的谓词矢量。另外,对于密钥矢量k* Lv,0,没有设定针对基底矢量b* i(i=μLv,…,n-1)的系数、即,作为系数设定了0。另外,对于密钥矢量k* Lv,0,作为针对基底矢量b* n的系数,设定了1。而且,对于密钥矢量k* Lv,0,作为针对基底矢量bn+1的系数,设定了0。
此处,如果进行式116所示的配对运算,则在密钥矢量k* L,0中,作为系数设定了0的基底矢量b* i(i=μLv,…,n-1,n+1)、与所对应的密文c的基底矢量bi(i=μLv,…,n-1,n+1)的内积成为0。
另外,在密文c中作为系数设定了属性矢量的基底矢量bi(i=0,…,μLx-1)、与在密钥矢量k* L,0中作为系数设定了谓词矢量的基底矢量b* i(i=0,…,μLx-1)的内积成为0。
但是,在密文c中作为系数设定了随机数的基底矢量bi(i=μLx,…,μLv-1)、与在密钥矢量k* L,0中作为系数设定了谓词矢量的基底矢量b* i(i=μLx,…,μLv-1)的内积不会成为0。
因此,除了e(ρbn,b* n)以外还残留有值而无法计算会话密钥K。
图18是用于说明可利用上位的密钥来计算会话密钥K的图。
根据图18,说明如下情形:在(S502)中,针对根据下位分层的属性矢量加密了的密文c、和上位分层的密钥矢量k* Lv,0,配对运算部330通过上述式116所示的配对运算可以抽出会话密钥K。另外,在图18中,为简化说明,省略随机数σ和随机数δ的下标来表示。另外,在关于图20的说明中,Lx(=Lx)>Lv(=Lv)。
作为密文c和密钥矢量k* Lv,0的针对各基底矢量的系数,与图17的情况同样地设定。但是,如上所述,Lx(=Lx)>Lv(=Lv)。
此处,如果进行式116所示的配对运算,则在密钥矢量k* L,0中,作为系数而设定了0的基底矢量b* i(i=μLv,…,n-1,n+1)、与所对应的密文c的基底矢量bi(i=μLv,…,n-1,n+1)的内积成为0。
另外,在密文c中作为系数设定了属性矢量的基底矢量bi(i=0,…,μLv-1)、与在密钥矢量k* L,0中作为系数设定了谓词矢量的基底矢量b* i(i=0,…,μLv-1)的内积成为0。
因此,仅有式116所示的配对运算的结果e(ρbn,b* n)的内积不会成为0而残留。因此,e(ρbn,b* n)=uρ=K,通过对式116所示的配对运算进行计算,可以计算会话密钥K。
另外,根据以上的说明可知,在上述(S402)的(2)中,作为针对基底矢量bi(i=μj,…,μj+1-1)(j=L+1,…,d)的系数而设定了随机化了的随机数值,这是为了确保针对下位的密钥矢量的优势性。即,其原因为,如果是密钥矢量k* L,0,则可以对密码矢量c进行解密,但利用比密钥矢量k* L,0更下位的密钥矢量无法对密码矢量c进行解密。
如上所述,本实施方式的密码处理系统10可以根据实施方式1中说明的概念,实现分层式谓词密钥隐匿方式。
另外,在上述说明中,密钥生成装置100生成了第1层的秘密密钥。即,密钥生成装置100在(S302)中生成了k* 1,0,在(S303)中生成了k* 1,j(j=μ1,…,n-1)。
但是,密钥生成装置100也可以生成第L层(L≥2)的密钥而并非第1层的密钥。即,密钥生成装置100也可以在(S302)中生成k* L,0,在(S303)中生成k* L,j(j=μL,…,n-1)。
即,在(S302)中,密钥矢量生成部130根据主公开密钥pk和主秘密密钥sk、以及式121所示的谓词矢量(v 1,…,v L),对式122进行计算,通过处理装置,生成第L层(等级L)的秘密密钥的开头要素即密钥矢量k* L,0
[式121]
( v &RightArrow; 1 , . . . , v &RightArrow; L ) : = ( ( v 0 , . . . , v &mu; 1 - 1 ) , . . . , ( v &mu; L - 1 , . . . , v &mu; L - 1 ) )
[式122]
(1)
Figure BPA00001447882500551
(2)
k L , 0 * : = &sigma; L , 0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b n *
另外,密钥生成用矢量生成部140根据主公开密钥pk和主秘密密钥sk、以及式121所示的谓词矢量(v 1,…,v L),对式123进行计算,通过处理装置,生成用于生成下位的秘密密钥的密钥生成用矢量k* 1,j
[式123]
(1)
Figure BPA00001447882500553
(2)
k L , j * : = &sigma; L , j , 1 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , j , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b j *
j=μL,…,n-1
即,也可以是在(S302)和(S303)中,密钥矢量生成部130和密钥生成用矢量生成部140执行式124所示的GenKey算法,通过处理装置生成第L层的秘密密钥(密钥信息k→* 1),该第L层的秘密密钥(密钥信息k→* 1)包括密钥矢量k* L,0和密钥生成用矢量k* L,j
[式124]
GenKey ( pk , sk , ( v &RightArrow; 1 , . . . , v &RightArrow; L ) : = ( ( v 0 , . . . , v &mu; 1 - 1 ) , . . . , ( v &mu; L - 1 , . . . , v &mu; L - 1 ) ) ) :
( &sigma; L , 0 , . . . , &sigma; L , L - 1 , &sigma; L , &mu; L , 0 , . . . , &sigma; L , &mu; L , L - 1 , . . . , &sigma; L , n - 1,0 , . . . , &sigma; L , n - 1 , L - 1 )
Figure BPA00001447882500563
k L , 0 * : = &sigma; L , 0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b n * ,
k L , j * : = &sigma; L , j , 1 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , j , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b j * ,
for j=μL,…,n-1,
k &RightArrow; L * : = ( k L , 0 * , k L , &mu; L * , . . . , k L , n - 1 * ) .
return k &RightArrow; L * .
另外,在以下的说明中,也说明密钥生成装置100通过GenKey算法来生成第1层的秘密密钥。但是,在以下的说明中,也可以设为密钥生成装置100生成第L层的秘密密钥。
另外,通过如下那样变更本实施方式的密码处理系统10,密码处理系统10可以实现分层式谓词密码。
图19是示出实现分层式谓词密码的密码处理系统10的功能的功能框图。图19所示的密码处理系统10的密钥生成装置100和密钥移交装置400、与图10所示的密码处理系统10的密钥生成装置100和密钥移交装置400相同。图19所示的密码处理系统10的加密装置200不具备图10所示的密码处理系统10的加密装置200所具备的会话密钥生成部240。图19所示的密码处理系统10的解密装置300除了图10所示的密码处理系统10的解密装置300所具备的功能以外,还具备离散对数计算部340。
图20是示出图19所示的加密装置200的动作的流程图。图21是示出图19所示的解密装置300的动作的流程图。另外,密钥生成装置100和密钥移交装置400的动作、与图10所示的密码处理系统10的密钥生成装置100和密钥移交装置400的动作相同,所以省略说明。
在(S701)中,加密装置200的发送信息设定部210代替(S401)中的发送信息ρ,通过处理装置,将明文信息m设定为针对基底矢量bn的系数,生成明文矢量mv。接下来,在(S702)中,密码矢量生成部220与(S402)同样地生成属性信息矢量xv和随机数矢量rv。然后,密码矢量生成部220将所生成的属性信息矢量xv和随机数矢量rv相加到明文矢量mv,通过处理装置生成密码矢量c。然后,在(S703)中,数据发送部230与(S402)同样地将所生成的密码矢量c经由通信装置发送到解密装置300。
在(S801)中,解密装置300的矢量输入部310与(S501)同样地经由通信装置接收并输入密码矢量c。在(S802)中,配对运算部330与(S502)同样地针对密码矢量c和密钥矢量k* L,0,通过处理装置进行将主公开密钥pk中包含的空间V和空间V*关联起来的配对运算e。然后,密钥矢量存储部320取得与明文信息m相关的信息f(=um)。在(S803)中,离散对数计算部340针对f,求解以u为底的离散对数问题,计算明文信息m。即,离散对数计算部340对式125进行计算。
[式125]
m′=Dlogg(f)
此处
f : = e ( c , k L , 0 * ) ,
g : = e ( b n , k L , 0 * ) ,
Dlogx(y):针对y以x为底求解离散对数问题
设此处输入的明文信息m是比规定的小整数τ还小的数。即,0≤m<τ。这是因为,如上所述在解密装置300计算明文信息m时,需要求解离散对数问题。即,因为如果可以自由地设定明文信息m,则解密装置300为了计算明文信息m而需要大量的时间。因此,通过将明文信息m限制为比规定的小整数τ还小的数,从而例如即使搜索明文信息m可取的所有的值并进行调查,也可以在短时间内计算明文信息m。
这样,通常可知在将明文信息m限制为小的值的情况下也可以实现大量的应用。
另外,在上述说明中,说明了仅对1个基底矢量bn设定明文信息m的例子。但是,根据以上的说明,还可以容易地对多个基底矢量设定明文信息m。
另外,在上述分层式谓词密钥隐匿方式以及分层式谓词密码中,没有利用是双对失真矢量空间的条件中包含的失真映射。在实现密码处理的算法中不使用失真映射,为了证明密码处理的安全性而使用失真映射。因此,上述分层式谓词密钥隐匿方式以及分层式谓词密码即使在没有失真映射的空间中也可以成立。即,在实现上述分层式谓词密钥隐匿方式以及分层式谓词密码的空间中并非必须存在失真映射。
实施方式3.
在本实施方式中,说明实施方式2中说明的分层式谓词密钥隐匿方式的安全性。
首先,在本实施方式中,说明分层式谓词密钥隐匿方式的合法性。然后,说明实施方式2中说明的分层式谓词密钥隐匿方式满足该合法性的必要条件的情形。接下来,说明关于分层式谓词密钥隐匿方式的“属性隐匿安全”。接下来,作为安全性的基准,定义针对CPA(ChosenPlaintext Attacks,选择明文攻击)的适应性属性隐匿。另外,实施方式2中说明的分层式谓词密钥隐匿方式满足针对CPA的适应性属性隐匿的必要条件。
<分层式谓词密钥隐匿方式的合法性>
分层式谓词密钥隐匿方式需要满足式126所示的必要条件。
[式126]
( sk , pk ) &LeftArrow; R Setup ( 1 &lambda; ) , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L V ) &LeftArrow; R Derive L V ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L V ) )
( c , K ) &LeftArrow; R Enc ( pk , ( x &RightArrow; 1 , . . . , x &RightArrow; L X ) ) , K &prime; : = Dec ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L V ) , c )
在该情况下,
如果 f ( v &RightArrow; 1 , . . . , v &RightArrow; L V ) ( x &RightArrow; 1 , . . . , x &RightArrow; L X ) = 1 ,
则K′=K,
如果 f ( v &RightArrow; 1 , . . . , v &RightArrow; L V ) ( x &RightArrow; 1 , . . . , x &RightArrow; L X ) &NotEqual; 1 ,
则除了可忽略的概率,K′≠K。
<实施方式2中说明的分层式谓词密钥隐匿方式的合法性>
说明实施方式2中说明的分层式谓词密钥隐匿方式满足上述合法性的必要条件的情形。
在以下的说明中,使用式127所示的标记。
[式127]
v j * : = &Sigma; i = &mu; j - 1 &mu; j - 1 v i b i * forj &GreaterEqual; 1
首先,说明以下的引理(lemma)1成立。
(引理1)
将L设为1≤L≤d。通过式129所示的式的系数φL,i,j∈Fq的线性耦合来提供式128所示的第L层的秘密密钥。
[式128]
( k L , 0 * , k L , &mu; L * , . . . , k L , n - 1 * )
[式129]
Figure BPA00001447882500601
Figure BPA00001447882500602
i=μL,…,n-1
(引理1成立的说明)
使用L中的归纳法来说明。
针对L=1,是式130,所以引理1成立。
[式130]
k 1,0 * = &sigma; 1,0 v 1 * + b n * ,
k 1 , i * = &sigma; i , &mu; 1 v 1 * + b i *
i=μ1,…,n-1
假设在L-1的情况下引理1成立。即,是式131。
[式131]
Figure BPA00001447882500606
i=μL-1,…,n-1
此处,是式132。
[式132]
k L , 0 * = k L - 1,0 * + &sigma; L , 0 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i k L - 1 , i * )
Figure BPA00001447882500612
此处
Figure BPA00001447882500615
这表示式129针对k* L,0成立。同样地,也可以说是式129针对k* L,i(i=μL,…,n-1)成立。
(引理2)
实施方式2中说明的分层式谓词密钥隐匿方式满足上述合法性的必要条件。
(引理2成立的说明)
设c是与式133所示的属性矢量x Lx对应的被隐匿的会话密钥。根据基底B和B*的标准正交性、即式134和引理1,复原的会话密钥K’成为式135。
[式133]
( x &RightArrow; 1 , . . . , x &RightArrow; L X )
[式134]
e ( b i , b j * ) = u &delta; i , j
[式135]
针对第Lv层的密钥
Figure BPA00001447882500621
K &prime;
= e ( c , k L v , 0 * )
Figure BPA00001447882500625
因此,成为式136。
[式136]
如果 f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) = 1 ,
则K′=K。
此处,在是式137的情况下,是式138。
[式137]
f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) = 0
[式138]
针对1≤j≤Lv那样的几个j;
除了可忽略的可能性,
x &RightArrow; j &CenterDot; v &RightArrow; j &NotEqual; 0
其原因为,在式135中,式139在Fq中同样是随机的,K’在GT中同样是随机的。
[式139]
Figure BPA00001447882500629
在是式140的情况下,根据定义存在是式141的j。
[式140]
f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) = 0
此处
Lv≤Lx
[式141]
x &RightArrow; j &CenterDot; v &RightArrow; j &NotEqual; 0
此处
1≤j≤Lv
因此,仅考虑Lv>Lx的情况。如果是Lv>Lx,则在c中使用的式142所示的矢量(并非属性)同样是随机的。
[式142]
x &RightArrow; L v
而且,式143所示的谓词是非零。
[式143]
v &RightArrow; L v
因此,除了可忽略的概率,是式144。
[式144]
x &RightArrow; L v &CenterDot; v &RightArrow; L v &NotEqual; 0
<属性隐匿安全>
关于分层式谓词密钥隐匿方式的属性隐匿安全是指,关于为了生成密文(密码矢量)而使用的属性矢量的隐匿性被保持。即,在作为属性隐匿安全的分层式谓词密钥隐匿方式中,攻击者A在取得了密文的情况下,无法与发送信息ρ相关的信息(会话密钥K)同样地得知为了生成密文而使用的属性矢量。
针对关于谓词密钥隐匿方式的属性隐匿安全的正确的定义记载于非专利文献19中。另外,在非专利文献19中,未考虑“分层式”这样的概念。因此,由于考虑“分层式”这样的概念、即密钥移交这样的处理,所以在式145所示的(1)(2)这2个情况下也进行处理,将非专利文献19记载的针对关于谓词密钥隐匿方式的属性隐匿安全的定义一般化为包括分层式谓词密钥隐匿方式。在以下的说明中,比特τ是为了切换上述2个情况而被使用的。
[式145]
(1)
针对所有k
f v &RightArrow; ( k ) ( x &RightArrow; ( 0 ) ) = f v &RightArrow; ( k ) ( x &RightArrow; ( 1 ) ) = 0 .
(2)针对某非空集合的集合T中的k
f v &RightArrow; ( k ) ( x &RightArrow; ( 0 ) ) = f v &RightArrow; ( k ) ( x &RightArrow; ( 1 ) ) = 1
针对 k &NotElement; T
f v &RightArrow; ( k ) ( x &RightArrow; ( 0 ) ) = f v &RightArrow; ( k ) ( x &RightArrow; ( 1 ) ) = 0 , and m ( 0 ) = m ( 1 )
<针对CPA的适应性属性隐匿的定义>
关于分层式属性∑中的分层式谓词F的分层式谓词密钥隐匿方式针对CPA是适应性属性隐匿的必要条件是指,针对所有概率性多项式时间的攻击者A,在保密参数中可忽略以下所示的实验(CPA适应性属性隐匿游戏)中的攻击者A的优势。
(实验:CPA适应性属性隐匿游戏)
1.执行Setup算法,生成主公开密钥pk和主秘密密钥sk。然后,对攻击者A提供主公开密钥pk。
2.攻击者A可以适应性地要求与式146所示的矢量对应的密钥。
[式146]
( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) , k = 1 , . . . , v 1 , 1 &le; L v ( k ) &le; d
作为针对该要求的应答,攻击者A被提供与式147所示的要求对应的密钥。
[式147]
sk ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) &LeftArrow; R Derive L v ( k ) ( pk , sk ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) ) .
3.攻击者A在式148的限制下输出式149。
[式148]
如果针对所有k是τ=0,则
f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) ) = f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ) = 0
如果τ=1且存在非空的集合
Figure BPA00001447882500654
●不论针对哪个k∈T
f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) )
= f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ) = 1
并且针对 L v ( k ) < i < L x ( 0 ) = L x ( 1 ) 这样的所有i
x &RightArrow; i ( 0 ) = x &RightArrow; i ( 1 )
●不论针对哪个
Figure BPA00001447882500659
f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) )
= f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ) = 0 .
[式149]
( x &RightArrow; 0 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) ( 0 ) ) , ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ( 1 ) ) , &tau;
4.选择随机的比特θ。另外,对式150进行计算。
[式150]
( c &theta; , K &theta; ) &LeftArrow; R Enc ( pk , ( x &RightArrow; 1 ( &theta; ) , . . . , x &RightArrow; L x ( &theta; ) ( &theta; ) ) )
并且,如式151所示,从关联起来的会话密钥的空间随机地选择密钥K’。
[式151]
如果T=0,则如下那样提供A。
如果θ=0则是(c0,K0)
如果θ=1则是(c1,K′)
如果T=1,则如下那样提供A。
如果θ=0则是(c0,K0)
如果θ=1则是(c1,K1)
5.攻击者A可以在上述限制下,进一步继续要求关于式152所示的矢量的密钥。
[式152]
( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) , k = v 1 + 1 , . . . , v , 1 &le; L v ( k ) &le; d
6.攻击者A输出比特θ’。如果是θ’=θ,则成功。
此处,将攻击者A的优势定义为式153。
[式153]
Adv A HPKEM , CPA ( &lambda; ) : = | Pr [ &theta; &prime; = &theta; ] - 1 / 2 |
实施方式2中说明的分层式谓词密钥隐匿方式满足针对CPA的适应性属性隐匿的必要条件。
实施方式4.
在本实施方式中,说明应用了实施方式2中说明的分层式谓词密钥隐匿方式的安全性高的分层式谓词密码。此处安全性高是指,满足针对在后面的实施方式中说明的CCA(Chosen Ciphertext Attacks,选择明文攻击)的适应性属性隐匿的安全性。
首先,作为用于实现满足针对CCA的适应性属性隐匿的安全性的分层式谓词密码的概念,说明(1)安全的消息认证、(2)安全的隐匿方式、(3)安全的共用密钥密码、(4)安全的密钥生成函数这4个概念。另外,(1)至(4)这4个概念如以下说明那样是现有技术文献中记载的概念,所以此处简单说明。
接下来,使用上述4个概念,说明实现满足针对CCA的适应性属性隐匿的安全性的分层式谓词密码的密码处理系统10。
<(1)安全的消息认证>
设(Mac,Vrfy)针对一次选择消息攻击(one-time chosen-message atacks)是安全的消息认证代码。另外,关于针对一次选择消息攻击是安全的消息认证代码的定义记载于非专利文献7中。
(Mac,Vrfy)是形成对的处理,分别如下那样动作。
Mac是对数据进行加密而生成认证信息的处理。Mackey(x)针对数据x利用密钥key进行加密。即,如果是y=Mackey(x),则数据y是利用密钥key对数据x进行加密得到的数据(认证信息)。
Vrfy是对通过Mac而生成的认证信息进行验证的处理。Vrfykey’(x’,y’)是如下处理:当是y=Mackey(x)时,在是x=x’、y=y’、key=key’的情况下返回(return)1,在x=x’、y=y’、key=key’之中即使有一个不成立的情况下也会返回0。
<(2)安全的隐匿方式>
设(Setupenc,Senc,Renc)是安全的隐匿方式。另外,与(Setupenc,Senc,Renc)一起使用后述的第1验证信息com、第2验证信息dec、第3验证信息r。另外,关于安全的隐匿方式的定义记载于非专利文献7。
(Setupenc,Senc,Renc)是形成一体的处理,分别如下那样动作。
Setupenc以保密参数1k为输入,随机地选择并输出字符串pub。
Senc以1k和字符串pub为输入,随机地选择并输出第1验证信息com、第2验证信息dec、以及r∈{0,1}k这样的第3验证信息r。
Renc以字符串pub、第1验证信息com、以及第2验证信息dec为输入,输出r∈{0,1}k∪{⊥}这样的第3验证信息r。此处,Renc在被输入了Setupenc输出的字符串pub、和根据该pub而由Senc输出的第1验证信息com以及第2验证信息dec的情况下,输出r∈{0,1}k这样的第3验证信息r,在输入了其他信息的情况下,输出r∈{⊥}这样的第3验证信息r。
<(3)安全的共用密钥密码>
设(SE,SD)是安全的共用密钥密码方式。另外,关于安全的共用密钥密码方式的定义记载于非专利文献1中。
(SE,SD)是形成对的处理,分别如下那样动作。
SE是使用共用密钥进行加密的处理。SEkey(x)是利用共用密钥key对数据x进行加密的处理。如果是y=SEkey(x),则数据y是利用共用密钥key对数据x进行加密得到的数据。
SD是使用共用密钥进行解密的处理。SDkey(y)是利用共用密钥key对数据y进行解密的处理。即,在是y=SEkey(x)的情况下,是x=SDkey(y)。
<(4)安全的密钥生成函数>
设KDF是安全的密钥生成函数。另外,关于安全的密钥生成函数的定义记载于非专利文献1中。
KDF(x)是根据数据x而生成密钥的处理。如果是key=KDF(x),则密钥key是根据数据x而生成的密钥。
<满足针对CCA的适应性属性隐匿的安全性的分层式谓词密码>
根据图22至图25、和图11以及图14,说明密码处理系统10的功能和动作。
图22是示出本实施方式的密码处理系统10的功能的功能框图。密码处理系统10与实施方式2的密码处理系统10同样地,具备密钥生成装置100、加密装置200、解密装置300、密钥移交装置400。另外,此处解密装置300也具备密钥移交装置400。
图23是示出加密装置200的动作的流程图。图24是示出解密装置300的动作的流程图。另外,密钥生成装置100和密钥移交装置400的动作的流程、与实施方式2的密钥生成装置100和密钥移交装置400的动作的流程相同。因此,根据图11说明密钥生成装置100的动作。另外,根据图14说明密钥移交装置400的动作。
图25是示出双对失真矢量空间的基底的构造的概念图。
说明密钥生成装置100的功能和动作。密钥生成装置100的功能结构与图10所示的实施方式2的密钥生成装置100的功能结构相同。另外,密钥生成装置100的动作的流程也与图11所示的实施方式2的密钥生成装置100的动作的流程相同。因此,根据图11说明密钥生成装置100的功能和动作。
(S301:主密钥生成步骤)
主密钥生成部110对式154进行计算,通过处理装置生成主公开密钥pk和主秘密密钥sk,并存储到主密钥存储部120中。
[式154]
(1)
N:=n+4
Figure BPA00001447882500701
(2)
Figure BPA00001447882500702
(3)
b i = &Sigma; j = 0 N - 1 x i , j a j ,
Figure BPA00001447882500704
(4)
(vi,j):=(xT)-1
(5)
b i * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA00001447882500706
(6)
pub &LeftArrow; R Setup enc ( 1 &lambda; )
(7)
return sk,pk
另外,式154所示的(1)至(5)与式107所示的(1)至(5)相同。但是,在N=n+4的这一点上不同。关于N=n+4,在后面叙述。(6)主密钥生成部110通过处理装置执行Setupenc而生成字符串pub。(7)主密钥生成部110将所生成的基底B*设为主秘密密钥sk,将包括所生成的基底B的(1λ,μ,V,V*,GT,A,A*,q,B,pub)设为主公开密钥pk。即,在主公开密钥pk中包括字符串pub的这一点上,与实施方式2的主密钥生成部110所生成的主密钥不同。然后,主密钥存储部120将主密钥生成部110所生成的主公开密钥pk和主秘密密钥sk存储到存储装置中。
另外,双对失真矢量空间的维数是N(=n+4)。此处,n是表示为了表示分层信息μ所具有的分层构造而分配的基底数的n。即,此处,除了为了表示分层构造而分配的基底数n以外,还设置了4个基底矢量。当然,也可以设置比它更多的基底矢量。
如图25所示,N(=n+4)个基底矢量中的n个基底矢量是为了表示分层构造而被分配的。为了表示分层构造而分配的基底矢量的构造与图5所示的构造相同。并且,剩余4个基底矢量中的1个基底矢量(第n个基底矢量)是用于明文信息m的基底矢量。剩余4个基底矢量中的其他1个基底矢量(第n+1个基底矢量)是用于对密文c进行随机化的基底矢量。剩余4个基底矢量中的其他2个基底矢量(第n+2、n+3个基底矢量)是用于验证信息(第1验证信息com)的基底矢量。
即,在(S301)中,主密钥生成部110执行式155所示的Setup算法,生成主公开密钥pk和主秘密密钥sk。
[式155]
Setuup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
Figure BPA00001447882500712
Figure BPA00001447882500713
b i = &Sigma; j = 0 N - 1 x i , j a j ,
Figure BPA00001447882500715
( v i , j ) : = ( x T ) - 1 , b i * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA00001447882500718
pub &LeftArrow; R Setup enc ( 1 &lambda; )
Figure BPA000014478825007110
Figure BPA000014478825007111
return sk,pk.
(S302:密钥矢量k* 1,0生成步骤)
与实施方式2同样地,密钥矢量生成部130对式156进行计算,通过处理装置生成密钥矢量k* 1,0
[式156]
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b n *
(S303:密钥生成用矢量k* 1,j生成步骤)
与实施方式2同样地,密钥生成用矢量生成部140对式157进行计算,通过处理装置来生成密钥生成用矢量k* 1,j
[式156]
Figure BPA00001447882500723
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . . , n - 1 , n + 2 , n + 3
此处
Figure BPA00001447882500725
第1层的秘密密钥的第j个要素
但是,密钥生成用矢量生成部140生成密钥生成用矢量k* 1,j(j=μ1,…,n-1,n+2,n+3)。即,密钥生成用矢量生成部140在生成密钥生成用矢量k* 1,n+2和密钥生成用矢量k* 1,n+3的这一点上,与图10所示的密钥生成用矢量生成部140不同。
即,在(S302)和(S303)中,密钥矢量生成部130和密钥生成用矢量生成部140执行式158所示的GenKey算法,通过处理装置,生成包括密钥矢量k* 1,0和密钥生成用矢量k* 1,j的第1层的秘密密钥(密钥信息k→* 1)。
[式158]
GenKey ( pk , sk , v &RightArrow; 1 : = ( v 0 , . . . , v &mu; 1 - 1 ) ) :
Figure BPA00001447882500732
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; i - 1 v i b i * ) + b n * ,
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; i - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . . , n - 1 , n + 2 , n + 3 ,
k &RightArrow; 1 * : = ( k 1,0 * , k 1 , &mu; 1 * , . . . , k 1 , n - 1 * , k 1 , n + 2 * , k 1 , n + 3 * ) .
return k &RightArrow; 1 * .
(S304:密钥分发步骤)
与实施方式2的密钥分发部150同样地,密钥分发部150将主密钥生成部110所生成的主公开密钥、以及密钥矢量生成部130和密钥生成用矢量生成部140所生成的密钥信息k→* 1经由通信装置发送到解密装置300。另外,密钥分发部150将主公开密钥经由通信装置发送到加密装置200。
说明加密装置200的功能和动作。加密装置200除了图10所示的实施方式2的加密装置200所具备的功能以外,还具备验证信息生成部250、验证信息设定部260、签名信息生成部270(c2生成部、c3生成部、c4生成部)。
(S901:验证信息生成步骤)
验证信息生成部250通过处理装置对式159进行计算,生成第1验证信息com、第2验证信息dec、第3验证信息r。
[式159]
( r , com , dec ) &LeftArrow; R S enc ( 1 &lambda; , pub )
即,验证信息生成部250以主公开密钥中包含的字符串pub为输入,通过处理装置执行Senc(1λ,pub),生成第1验证信息com、第2验证信息dec、第3验证信息r。
(S902:发送信息设定步骤)
与实施方式2同样地,发送信息设定部210通过处理装置对式160进行计算,生成发送信息矢量ρv。
[式160]
Figure BPA00001447882500741
ρv:=ρbn
(S903:验证信息设定步骤)
验证信息设定部260根据主公开密钥pk,通过处理装置对式161进行计算,生成验证信息矢量cv。
[式161]
(1)
(2)
cv:=δn+2(bn+2+combn+3)
即,(1)验证信息设定部260通过处理装置生成随机数δn+2
(2)验证信息设定部260通过处理装置,设定作为针对主公开密钥pk中包含的基底B的基底矢量bn+2的系数而以随机数δn+2进行了随机化的规定的值(此处是1),并且通过处理装置,设定作为针对基底矢量bn+3的系数而以随机数δn+2进行了随机化的第1验证信息com,生成验证信息矢量cv。
(S904:密码矢量(数据c1)生成步骤)
密码矢量生成部220根据主公开密钥pk和属性矢量x 1至属性矢量x L(x i(i=1,…,L)(=(x0, …,xi)(i=μL-1)))(L是分层的深度),通过处理装置对式162进行计算,生成密码矢量c。
[式162]
(1)
Figure BPA00001447882500751
Figure BPA00001447882500752
(2)
xv : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i )
此处
x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) : 属性矢量
(3)
rv:=δn+1bn+1
(4)
c 1 : = xv + &rho;v + rv + cv
: = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n + &delta; n + 1 b n + 1
+ &delta; n + 2 ( b n + 2 + comb n + 3 )
此处
c1:数据c1(密码矢量C)
即,(1)与实施方式2同样地,密码矢量生成部220通过处理装置,生成随机数x i(i=L+1,…,d)、和随机数δi(i=1,…,d,n+1)。
(2)与实施方式2同样地,密码矢量生成部220通过处理装置,设定属性矢量的各要素作为针对主公开密钥pk中包含的基底B的基底矢量bi(i=0,…,μL-1)的系数,并且通过处理装置,设定随机数作为针对基底矢量bi(i=μL,…,n-1)的系数,生成属性信息矢量xv。
(3)与实施方式2同样地,密码矢量生成部220通过处理装置,设定随机数作为针对主公开密钥pk中包含的基底B的基底矢量bn+1的系数,生成随机数矢量rv。
(4)密码矢量生成部220将所生成的属性信息矢量xv和随机数矢量rv、发送信息设定部210所生成的发送信息矢量ρv、以及验证信息设定部260所生成的验证信息矢量cv进行相加,通过处理装置生成密码矢量c(数据c1)。
(S905:会话密钥生成步骤)
会话密钥生成部240通过处理装置对式163进行计算,生成会话密钥K。
[式163]
K:=uρ
此处
u:=e(g1,g2)≠1
(S906:数据c2生成步骤)
签名信息生成部270通过处理装置对式164进行计算,生成数据c2。
[式164]
c2:=SEKDF(K)(m,dec)
此处
m:明文信息
即,签名信息生成部270根据会话密钥K通过处理装置执行KDF,生成共用密钥。签名信息生成部270利用所生成的共用密钥,通过处理装置执行SE,对明文信息m和第2验证信息dec进行加密而生成数据c2。
(S907:数据c3生成步骤)
签名信息生成部270将第1验证信息com设为数据c3。
(S908:数据c4生成步骤)
签名信息生成部270通过处理装置计算以下的式165,生成数据c4。
[式165]
c4:=Macr(c1,c2)
即,签名信息生成部270根据第3验证信息r,通过处理装置对密码矢量生成部220所生成的数据c1和签名信息生成部270所生成的数据c2进行加密。
(S909:数据发送步骤)
数据发送部230将密码矢量生成部220所生成的数据c1、和签名信息生成部270所生成的数据c2、c3、c4经由通信装置发送到解密装置300。
即,加密装置200执行式166所示的Enc算法,生成数据c1、c2、c3、c4
[式166]
Enc ( pk , m , x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x u L - 1 , . . . , x &mu; L - 1 ) ) :
Figure BPA00001447882500772
Figure BPA00001447882500773
( r , com , dec ) &LeftArrow; R S enc ( 1 &lambda; , pub )
c 1 : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n + &delta; n + 1 b n + 1
+ &delta; n + 2 ( b n + 2 + comb n + 3 ) ,
K:=uρ.
c2:=SEKDF(K)(m,dec),c3:=com,c4:=Macr(c1,c2),
return(c1,c2,c3,c4).
说明解密装置300的功能和动作。解密装置300除了图10所示的实施方式2的解密装置300所具备的功能以外,还具备矢量变形部350、解密部360(c2解密部)、窜改验证部370。
(S1001:矢量输入步骤)
与实施方式2同样地,矢量输入部310经由通信装置接收并输入加密装置200的数据发送部230发送了的数据c1、c2、c3、c4
(S1002:密钥矢量变形步骤)
矢量变形部350通过处理装置对式167进行计算,使密钥矢量k* L,0变形。
[式167]
Figure BPA00001447882500781
k ~ L , 0 * : = k L , 0 * + &sigma; ~ ( c 3 k L , n + 2 * - k L , n + 3 * )
此处
Figure BPA00001447882500783
变形后的第L层的秘密密钥的开头要素
Figure BPA00001447882500784
变形前的第L层的秘密密钥的开头要素
Figure BPA00001447882500785
第L层的秘密密钥的第n+2个要素
Figure BPA00001447882500786
第L层的秘密密钥的第n+3个要素
即,矢量变形部350通过在后面的步骤中执行的配对运算,根据数据c3(验证信息com)使第L层的秘密密钥的开头要素即密钥矢量k* L,0变形,以删除加密装置200的验证信息生成部250所设定的验证信息com(关于对包括验证信息com的信息进行了设定的基底矢量(基底矢量bn+2、bn+3和基底矢量b* n+2、b* n+3)的内积成为0)。
(S1003:配对运算步骤)
配对运算部330根据主公开密钥pk和变形后的密钥矢量k* L,0,通过处理装置对式168进行计算,生成会话密钥K’(=K)。
[式168]
K &prime; : = e ( c 1 , k ~ L , 0 * )
即,配对运算部330针对由矢量输入部310所输入的数据c1(密码矢量c)、和在(S1002)中变形了的密钥矢量k* L,0,通过处理装置进行将主公开密钥pk中包含的空间V与空间V*关联起来的配对运算e,从而计算会话密钥K’。
另外,如果数据c1没有被窜改,则矢量变形部350对密钥矢量进行变形,由此,配对运算的结果,删除包括对数据c1设定的验证信息com的信息(对基底矢量bn+2,bn+3设定的信息)。因此,如果数据c1没有被窜改,则配对运算部330可以生成与加密装置200所生成的会话密钥K相同的会话密钥K。
(S1004:c2解密步骤)
解密部360通过处理装置对式169进行计算,对数据c2进行解密。
[式169]
(m′,dec′):=SDKDF(K′)(c2)
即,解密部360根据会话密钥K,通过处理装置执行KDF,生成共用密钥。解密部360利用所生成的共用密钥,通过处理装置执行SD,生成明文信息m’(=m)和第2验证信息dec’(=dec)。即,如果数据c1没有被窜改而正确地生成会话密钥K,并且数据c2没有被窜改,则生成加密装置200嵌入到数据c2中的明文m和第2验证信息dec。
(S1005:窜改验证步骤)
窜改验证部370通过处理装置来判定式170和式171是否成立,来验证数据c1、c2、c3、c4没有被窜改。即,窜改验证部370验证明文信息m没有被窜改。
[式170]
r′:=Renc(pub,c3,dec′)
r′≠⊥
[式171]
Vrfyr′((c1,c2),c4)=1
即,(1)窜改验证部370如式170所示,根据主公开密钥pk中包含的字符串pub、从加密装置200接收到的数据c3(第1验证信息com)、以及所生成的第2验证信息dec’,通过处理装置来执行Renc,生成第3验证信息r’(=r)。如果数据c3没有被窜改,而第2验证信息dec’正确,则生成加密装置200执行Senc而生成的第3验证信息r。另一方面,如果数据c3被窜改、或者第2验证信息dec’不正确,则生成识别信息⊥而并非第3验证信息r。即,窜改验证部370在生成了并非识别信息⊥的数据的情况下,可以判定为该数据是加密装置200执行Senc而生成的正确的第3验证信息r。
(2)窜改验证部370如式171所示,根据所生成的第3验证信息r’、和从加密装置200接收到的数据c1、c2、c4,通过处理装置执行Vrfy。如果第3验证信息r’正确、且数据c1、c2、c4没有被窜改,则Vrfy的执行结果成为1。另一方面,如果第3验证信息r’不正确、或者数据c1、c2、c4中的某一个被窜改,则Vrfy的执行结果成为0。
如果正确地生成第3验证信息r,并且Vrfy的执行结果是1,则窜改验证部370判定为所生成的明文信息m’是加密装置200所发送的明文信息m。在判定为明文信息m’是明文信息m的情况下,窜改验证部370输出明文信息m’。另一方面,在判定为明文信息m’不是明文信息m的情况下,窜改验证部370输出识别信息⊥。
即,解密装置300执行式172所示的Dec算法,生成明文信息m’或者识别信息⊥。
[式172]
Dec ( pk , k L , 0 * , k L , n + 2 * , k L , n + 3 * , ( c 1 , c 2 , c 3 , c 4 ) ) :
k ~ L , 0 * : = k L , 0 * + &sigma; ~ ( c 3 k L , n + 2 * - k L , n + 3 * ) , K &prime; : = e ( c 1 , k ~ L , 0 * ) ,
(m′,dec′):=SDKDF(K′)(c2),rr:=Renc(pub,c3,dec′)
Check r′≠⊥?∧Vrfyr′((c1,c2),c4)=1?
如果双方检查都通过,则返回m′;否则返回⊥。
说明密钥移交装置400的功能和动作。密钥移交装置400的功能结构与图10所示的实施方式2的密钥移交装置400的功能结构相同。另外,密钥移交装置400的动作的流程也与图14所示的实施方式2的密钥移交装置400的动作的流程相同。因此,根据图14说明密钥移交装置400的功能和动作。
(S601:密钥矢量k* L,0取得步骤)
与实施方式2同样地,密钥矢量取得部410经由通信装置取得第L层的秘密密钥(密钥信息k→* L),该第L层的秘密密钥(密钥信息k→* L)包括第L层的秘密密钥的开头要素即密钥矢量k* L,0、和第L层的秘密密钥的第j个(j=μ1,…,n-1)要素即密钥生成用矢量k* L,j
(S602:密钥矢量k* L,0生成步骤)
与实施方式2同样地,密钥矢量生成部420对式173进行计算,通过处理装置,生成第L+1层的秘密密钥的开头要素即密钥矢量k* L+1,0
[式173]
(1)
(2)
k L + 1,0 * : = k L , 0 * + &sigma; L + 1,0 ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * )
此处
Figure BPA00001447882500823
第L+1层的秘密密钥的开头要素
Figure BPA00001447882500824
第L层的秘密密钥的开头要素
第L层的秘密密钥的第j个要素
vi(i=μL,…,μL+1-1):谓词矢量
(S603:密钥生成用矢量k* L,j生成步骤)
与实施方式2同样地,密钥生成用矢量生成部430对式174进行计算,通过处理装置生成密钥生成用矢量k* L+1,j。密钥生成用矢量k* L+1,j是第L+1层的秘密密钥的第j个要素。
[式174]
(1)
Figure BPA00001447882500826
(2)
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * )
j=μL+1,μL+1+1,…,n-1,n+2,n+3
此处
Figure BPA00001447882500828
第L+1层的秘密密钥的第j个要素
Figure BPA00001447882500829
第L层的秘密密钥的第j个要素
vi(i=μL,…,μL+1-1):谓词矢量L+1
但是,密钥生成用矢量生成部430生成密钥生成用矢量k* L+1,j(j=μ1,…,n-1,n+2,n+3)。即,密钥生成用矢量生成部140在生成密钥生成用矢量k* L+1,n+2和密钥生成用矢量k* L+1,n+3的这一点上,与图10所示的密钥生成用矢量生成部140不同。
即,在(S602)和(S603)中,密钥矢量生成部420和密钥生成用矢量生成部430执行式175所示的DelegateL算法,通过处理装置生成包括密钥矢量k* L+1,0和密钥生成用矢量k* L+1,j的第L+1层的秘密密钥(密钥信息k→* L+1)。
[式175]
Delegate L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v &mu; L , &CenterDot; &CenterDot; &CenterDot; , v &mu; L + 1 - 1 ) ) :
Figure BPA00001447882500832
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * ) ,
j=0,μL+1,μL+1+1,…,n-1,n+2,n+3
k &RightArrow; L + 1 * : = ( k L + 1,0 * , k L + 1 , &mu; L + 1 * , &CenterDot; &CenterDot; &CenterDot; , k L + 1 , n - 1 * , k L + 1 , n + 2 * , k L + 1 , n + 3 * ) .
return k &RightArrow; L + 1 * .
(S604:密钥分发步骤)
与实施方式2同样地,密钥分发部440将密钥矢量生成部420和密钥生成用矢量生成部430所生成的密钥信息k→* L+1经由通信装置发送到下位的解密装置300。
如上所述,本实施方式的密码处理系统10应用实施方式2中说明的分层式谓词密钥隐匿方式,实现分层式谓词密码。另外,本实施方式中说明的分层式谓词密码是满足针对CCA的适应性属性隐匿的安全性的安全性高的密码方式。
在实施方式2中说明的分层式谓词密钥隐匿方式中应用非专利文献7记载的方式而构筑了上述分层式谓词密码。但是,还可以如下那样,在实施方式2中说明的分层式谓词密钥隐匿方式中应用非专利文献11记载的方式来构筑安全性高(满足针对CCA的适应性属性隐匿的安全性)的分层式谓词密码。此处,简单说明Setup、Genkey、Enc、Dec、DelegateL的各算法。
在实施方式2中说明的分层式谓词密钥隐匿方式中应用了非专利文献11记载的方式的密码处理系统10中,使用安全的一次签名方式来实现分层式谓词密码。此处,“安全的”是指无法伪造。安全的一次签名方式的定义记载于非专利文献11中。因此,此处简单说明。
设Sig:=(Gsig,Sign,Vrfy)是安全的一次签名方式。(Gsig,Sign,Vrfy)分别如下那样动作。
Gsig(1λ)是输出Fq的认证用的密钥(验证密钥vk、签名密钥sk)的处理。
∑=Signsk(x)是针对数据x利用签名密钥sk生成签名信息∑的处理。
Vrfyvk(x,∑)是如下处理:在签名信息∑是针对数据x利用签名密钥sk生成了的正确的签名信息的情况下返回1,在并非正确的签名信息的情况下返回0。
式176示出Setup算法。
[式176]
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
Figure BPA00001447882500842
Figure BPA00001447882500843
b i = &Sigma; j = 0 N - 1 x i , j a j ,
Figure BPA00001447882500845
( v i , j ) : = ( x T ) - 1 . b i * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA00001447882500848
Figure BPA00001447882500849
Figure BPA000014478825008410
return sk,pk.
式177示出Genkey算法。
[式177]
GenKey ( pk , sk , v &RightArrow; 1 : = ( v 0 , . . . , v &mu; 1 - 1 ) ) :
Figure BPA00001447882500852
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b n * ,
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . . , n - 1 , n + 2 , n + 3 ,
k &RightArrow; 1 * : = ( k 1,0 * , k 1 , &mu; 1 * , . . . , k 1 , n - 1 * , k 1 , n + 2 * , k 1 , n + 3 * ) .
return k &RightArrow; 1 * .
式178示出Enc算法。
[式178]
Enc ( pk , m , x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) :
Figure BPA00001447882500858
Figure BPA00001447882500859
Figure BPA000014478825008510
c : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + mb n + &delta; n + 1 b n + 1
+ &delta; n + 2 ( b n + 2 + vk &CenterDot; b n + 3 ) .
∑:=Signsk(c)
return(c,vk,∑).
式179示出Dec算法。
[式179]
Dec ( pk , k L , 0 * , k L , n + 2 * , k L , n + 3 * , ( c , vk , &Sigma; ) ) :
Vrfyvk(c,∑)=1?
Figure BPA00001447882500862
k ~ L , 0 * : = k L , 0 * + &sigma; ~ ( vk &CenterDot; k L , n + 2 * - k L , n + 3 * ) ,
g : = e ( b n , k ~ L , 0 * ) , f : = e ( c , k ~ L , 0 * ) ,
Dlogg(f)∈msg?
如果双方检查都通过则m′:=Dlogg(f);否则m′:=⊥,
return m′
式180示出DelegateL算法。
[式180]
Delegate L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v &mu; L , &CenterDot; &CenterDot; &CenterDot; , v &mu; L + 1 - 1 ) ) :
Figure BPA00001447882500867
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * ) ,
j=0,μL+1,μL+1+1,…,n-1,n+2,n+3
k &RightArrow; L + 1 * : = ( k L + 1,0 * , k L + 1 , &mu; L + 1 * , . . . , k L + 1 , n - 1 * , k L + 1 , n + 2 * , k L + 1 , n + 3 * ) .
return k &RightArrow; L + 1 * .
另外,通过将满足上述针对CCA的适应性属性隐匿的安全性的分层式谓词密码的Enc算法中的明文信息m变更为随机数rn,并且将Dec算法的输出变更为K’,由此可以将分层式谓词密码变形为分层式谓词密钥隐匿方式。
例如,通过将将Enc算法和Dec算法设为如式181、式182所示那样,从而可以将在实施方式2中说明的分层式谓词密钥隐匿方式中应用非专利文献7记载的方式而构筑了的分层式谓词密码变更为分层式谓词密钥隐匿方式。
[式181]
Enc ( pk , x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) :
Figure BPA00001447882500872
Figure BPA00001447882500873
( r , com , dec ) &LeftArrow; R S enc ( 1 &lambda; , pub )
c 1 : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho;b n + &delta; n + 1 b n + 1
+ &delta; n + 2 ( b n + 2 + com b n + 3 ) ,
K:=uρ.
c2:=SEKDF(K)(rn,dec),c3:=com,c4:=Macr(c1,c2),
return(c1,c2,c3,c4).
[式182]
Dec ( pk , k L , 0 * , k L , n + 2 * , k L , n + 3 * , ( c 1 , c 2 , c 3 , c 4 ) ) :
Figure BPA00001447882500878
k ~ L , 0 * : = k L , 0 * + &sigma; ~ ( c 3 k L , n + 2 * - k L , n + 3 * ) , K &prime; : = e ( c 1 , k ~ L , 0 * ) ,
(rn,dec′):=SDKDF(K′)(c2),r′:=Renc(pub,c3,dec′)
Check r′≠⊥?∧Vrfyr′((c1,c2),c4)=1?
如果双方检查都通过,则返回K′;否则返回⊥。
另外,Setup算法、GenKey算法、DelegateL算法无需变更。另外,在上述说明中,代替明文信息m而使用了随机数rn,但即使只是去除Enc算法中的明文信息m、即在数据c2的计算中不使用m,也可以将分层式谓词密码变形为分层式谓词密钥隐匿方式。
针对在实施方式2中说明的分层式谓词密钥隐匿方式中应用了非专利文献11记载的方式而得到的分层式谓词密码,单纯地利用Enc算法生成代替明文信息m而嵌入发送信息ρ得到的密码矢量c,并利用Dec算法抽出与发送信息ρ相关的信息uρ,从而可以容易地变换为分层式谓词密钥隐匿方式。
实施方式5.
在本实施方式中,说明实施方式4中说明的分层式谓词密码的安全性。
首先,在本实施方式中,说明分层式谓词密码的合法性。接下来,作为安全性的基准,定义针对CCA(Chosen Ciphertext Attacks)的适应性属性隐匿。然后,说明实施方式4中说明的分层式谓词密码满足针对CCA的适应性属性隐匿的必要条件的情形。
<分层式谓词密码的合法性>
分层式谓词密码需要满足式183所示的必要条件。
[式183]
( sk , pk ) &LeftArrow; R Setup ( 1 &lambda; ) , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) &LeftArrow; R Derive L v ( pk , sk , ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ) ,
c &LeftArrow; R Enc ( pk , m , ( x &RightArrow; 1 , . . . , x &RightArrow; L v ) ) , m &prime; : = Dec ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) , c )
在该情况下
如果 f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) = 1
则m′=m
如果 f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) &NotEqual; 1
则除了可忽略的概率,m′≠m
另外,DeriveLv(此处,Lv是Lv)如上所述使用GenKey和Delegatei来定义。
<针对CCA的适应性属性隐匿的定义>
关于分层式属性∑中的分层式谓词F的分层式谓词密码针对CCA是适应性属性隐匿的必要条件是指,对于所有概率性多项式时间的攻击者A,在保密参数中可忽略以下所示的实验(CCA适应性属性隐匿游戏)中的攻击者A的优势。
(实验:CCA适应性属性隐匿游戏)
1.执行Setup算法,生成主公开密钥pk和主秘密密钥sk。然后,对攻击者A提供主公开密钥pk。
2.攻击者A可以适应性地要求与式184所示的矢量对应的密钥。
[式184]
( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) , k = 1 , . . . , v 1 , 1 &le; L v ( k ) &le; d
作为针对该要求的应答,攻击者A被提供与式185所示的要求对应的密钥。
[式185]
sk ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) &LeftArrow; R Derive L v ( k ) ( k ) ( pk , sk , ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) )
3.攻击者可以根据密文c和式186所示的属性矢量进行查询,关于该属性矢量,适应性地要求密文c的解密。
[式186]
( x &RightArrow; 1 , . . . , x &RightArrow; L x )
作为针对该要求的应答,攻击者A被提供式187所示的明文信息m’。
[式187]
m &prime; &LeftArrow; R Dec ( pk , sk ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) , c )
此处
Figure BPA00001447882500895
是成为 f ( v &RightArrow; 1 , . . . , v &RightArrow; L v ) ( x &RightArrow; 1 , . . . , x &RightArrow; L x ) = 1 的谓词
4.攻击者A在式188的限制下输出式189。
[式188]
如果针对所有的k是τ=0,则
f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) ) = f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ) = 0
如果τ=1且存在非空的集合
Figure BPA00001447882500902
●不论针对什么样的k∈T
f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) )
= f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ) = 1
●不论针对什么样的
Figure BPA00001447882500905
f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) )
= f ( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ) ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ) = 0
●m(0)=m(1)
[式189]
m ( 0 ) , m ( 1 ) , ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) ( 0 ) ) , ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ( 1 ) ) , &tau;
5.选择随机的比特θ。然后,攻击者A被提供式190所示的cθ
[式190]
c &theta; &LeftArrow; R Enc ( pk , m ( &theta; ) , ( x &RightArrow; 1 ( &theta; ) , . . . , x &RightArrow; L x ( &theta; ) ( &theta; ) ) )
6.攻击者A进而可以在上述限制下,继续要求关于式191所示的矢量的密钥。
[式191]
( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) ) , k = v 1 + 1 , . . . , v , 1 &le; L v ( k ) &le; d
7.攻击者A可以根据密文c和式192所示的属性矢量进行查询,适应性地要求与该属性矢量关联的密文c的解密。
[式192]
( x &RightArrow; 1 , . . . , x &RightArrow; L x )
此处
( c , x &RightArrow; 1 , . . . , x &RightArrow; L x ) &NotEqual; ( c , x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) ( 0 ) )
( c , x &RightArrow; 1 , . . . , x &RightArrow; L x ) &NotEqual; ( c , x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ( 1 ) )
8.攻击者A输出比特θ’。如果是θ’=θ,则成功。
此处,将攻击者A的优势定义为式193。
[式193]
Adv A HPE , CCA ( &lambda; ) : = | Pr [ &theta; &prime; = &theta; ] - 1 / 2 |
<实施方式4中说明的分层式谓词密码的安全性>
说明应用了实施方式4中说明的非专利文献7记载的方式的分层式谓词密码满足针对CCA的适应性属性隐匿的必要条件的情形。
另外,此处的说明是基于非专利文献7记载的证明而进行的。因此,此处说明满足针对CCA的适应性属性隐匿的必要条件这样的概要。
在上述CCA适应性属性隐匿游戏中,会分配对分层式谓词密码进行攻击的攻击者A。在上述CPA适应性属性隐匿游戏中,构筑对(n+2)维的内积谓词的分层式谓词密码进行攻击的攻击者A’。此处,Setup、GenKey、DelegateL算法与上述分层式谓词密码(即,针对内积谓词的(n+2)维的部分空间除去关于分层式谓词密钥隐匿方式的分层信息μ HPKEM,是<b0,…,bn-1,bn+2,bn+3>)相同。关于分层式谓词密钥隐匿方式的分层信息μ HPKEM是μ HPKEM:=(n,d;μ1,…,μd,μd+2)且是d+1等级。另一方面,关于分层式谓词密码的分层信息μ HPE是μ HPE:=(n,d;μ1,…,μd)且是d等级。
攻击者A’如下那样定义。
1.分层式谓词密钥隐匿方式的公开密钥pkHPKEM:=(μ HPKEM,V,V*,GT,A,A*,q,B)被提供给攻击者A’。攻击者A’(1λ)执行Setupenc(1λ)而生成pub。另外,设定分层式谓词密码的公开密钥pk:=(pkHPKEM,pub),提供给攻击者A。
2.如果攻击者A将式194所示的矢量发送到密钥查询oracle(参照针对CCA的适应性属性隐匿的定义),则攻击者A’将式194所示的矢量发送到密钥查询oracle(参照针对CPA的适应性属性隐匿的定义)。然后,向攻击者A返回应答。
[式194]
( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) )
3.如果攻击者A将属性矢量(x 1,…,x L)与密文(c1,c2,c3,c4)一起发送到解密oracle,则攻击者A’进行以下的(1)至(3)的处理。
(1)攻击者A’计算式195所示的谓词矢量。
[式195]
针对j=1,…,L, v &RightArrow; j &CenterDot; x &RightArrow; j = 0
谓词矢量
Figure BPA00001447882500923
(2)攻击者A’将式196所示的矢量(d+1等级)发送到密钥查询oracle(参照针对CPA的适应性属性隐匿的定义),返回k* d+1,0而作为应答。
[式196]
( v &RightArrow; 1 , . . . , v L , 0 &RightArrow; , . . . , 0 &RightArrow; , ( c 3 , - 1 ) )
(3)攻击者A’设定式197。
[式197]
k ~ L , 0 * : = k d + 1,0 *
另外,攻击者A’计算Dec(k* L,0,k* L,n+2,k* L,n+3,(c1,c2,c3,c4))。此处,Dec(k* L,0,k* L,n+2,k* L,n+3,(c1,c2,c3,c4))是分层式谓词密码中的Dec算法。另外,在Dec(k* L,0,k* L,n+2,k* L,n+3,(c1,c2,c3,c4))的计算中,代替根据k* L,0、k* L,n+2、k* L,n+3计算的值而直接使用式198的值。然后,将结果返回给攻击者A。
[式198]
k ~ L , 0 *
4.如果攻击者A输出了式199,则攻击者A’如式200所示那样选择θ。
[式199]
m ( 0 ) , m ( 1 ) , ( x &RightArrow; 1 ( 0 ) , . . . , x &RightArrow; L x ( 0 ) ( 0 ) ) , ( x &RightArrow; 1 ( 1 ) , . . . , x &RightArrow; L x ( 1 ) ( 1 ) ) , &tau;
[式200]
&theta; &LeftArrow; U { 0,1 }
另外,攻击者A’对式201进行计算。此处,式201所示的Enc算法是分层式谓词密码中的Enc算法。然后,攻击者A’将(c(θ) 1,c(θ) 2,c(θ) 3,c(θ) 4)返回给攻击者A。
[式201]
( c 1 ( &theta; ) , c 2 ( &theta; ) , c 3 ( &theta; ) , c 4 ( &theta; ) ) : Enc ( pk , m ( &theta; ) , ( x &RightArrow; 1 ( &theta; ) , . . . , x &RightArrow; L x ( &theta; ) ( &theta; ) ) )
5.在攻击者A将式202所示的矢量发送到了密钥查询oracle(参照针对CCA的适应性属性隐匿的定义)的情况下,攻击者A’执行与步骤2相同的处理。
[式202]
( v &RightArrow; 1 ( k ) , . . . , v &RightArrow; L v ( k ) ( k ) )
6.如果攻击者A将属性矢量(x 1,…,x L)与密文(c1,c2,c3,c4)一起发送到解密oracle,则攻击者A’进行以下的(1)(2)的处理。
(1)在c3=c(θ) 3的情况下,攻击者A’返回识别信息⊥。
(2)在c3≠c(θ) 3的情况下,攻击者A’执行与步骤3相同的处理。
7.最后,攻击者A输出预想的θ’。攻击者A’输出相同的预想。
然后,与非专利文献7记载的方法同样地,可以示出式203。
[式203]
| Adv A HPKEM , CPA ( &lambda; ) - Adv A HPE , CCA ( &lambda; ) | < &epsiv; ( &lambda; )
实施方式6.
在本实施方式中,说明以使安全性比以上的实施方式中说明的密码处理变得更高的方式进行了变更的密码处理。另外,在本实施方式中,与实施方式2中说明的密码处理同样地,说明满足针对CPA的适应性属性隐匿的安全性、且以使安全性变高的方式进行了变更的密码处理。然后,在后面的实施方式中,与实施方式4同样地,说明满足针对CCA的适应性属性隐匿的安全性、且以使安全性变高的方式进行了变更的密码处理。
首先,说明为了使安全性变高而使用的“n拷贝矢量空间”这样的概念。然后,说明根据n拷贝矢量空间进行变更以使安全性变高的密码处理。此处,说明分层式谓词密码,但也可以实现分层式谓词密钥隐匿方式。
另外,在本实施方式的分层式谓词密码中,使用n拷贝矢量空间、上述实施方式的分层式谓词密码中未使用的多个随机数。
<n拷贝矢量空间>
在上述实施方式中,在根据空间V中的标准基底A生成的基底B、与根据空间V*中的标准基底A*生成的基底B*的1个双对标准正交规定中实现了密码处理。此处,在基底(B[0],…,B[n-1])和基底(B[0]*,…,B[n-1]*)的n个双对标准正交规定中实现密码处理。
图26和图27是用于说明n拷贝矢量空间的图。
如图26所示,存在n个双对矢量空间(V[0],…,V[n-1])和(V[0]*,…,V[n-1]*)。并且,存在各空间(V[0],…,V[n-1])和(V[0]*,…,V[n- 1]*)的标准基底(A[0],…,A[n-1])和(A[0]*,…,A[n-1]*)。此处,各基底A[t](t=0,…,n-1)和A[t]*(t=0,…,n-1)是双对标准正交基底。即,基底A[0]和A[0]*是双对标准正交基底,基底A[1]和A[1]*是双对标准正交基底,…,基底A[n-1]和A[n-1]*是双对标准正交基底。另外,根据标准基底(A[0],…,A[n-1])和(A[0]*,…,A[n-1]*)生成基底(B[0],…,B[n-1])和基底(B[0]*,…,B[n-1]*)。此处,为了根据标准基底(A[0],…,A[n-1])生成基底(B[0],…,B[n-1]),使用线性变换X[t](t=0,…,n-1)。另一方面,为了根据标准基底(A[0]*,…,A[n-1]*)生成基底(B[0]*,…,B[n-1]*),使用根据线性变换X[t](t=0,…,n-1)生成的((X[t])T)-1(t=0,…,n-1)。其结果,各基底B[t](t=0,…,n-1)和B[t]*(t=0,…,n-1)是双对标准正交基底。即,基底B[0]和B[0]*是双对标准正交基底,基底B[1]和B[1]*是双对标准正交基底,…,基底B[n-1]和B[n-1]*是双对标准正交基底。
另外,此处如图27所示,根据1个双对空间V和V*的标准基底A和A*,分别生成n个基底(B[0],…,B[n-1])和基底(B[0]*,…,B[n-1]*),实现密码处理。这样,即使分别生成了n个基底(B[0],…,B[n-1])和基底(B[0]*,…,B[n-1]*),各基底B[t](t=0,…,n-1)和B[t]*(t=0,…,n-1)也是双对标准正交基底。
<密码处理>
说明实现使用了上述n拷贝矢量空间的安全性高的分层式谓词密码的密码处理系统10。
根据图28至图32,说明密码处理系统10的功能和动作。
图28是示出实现使用了n拷贝矢量空间的安全性高的分层式谓词密码的密码处理系统10的功能的功能框图。密码处理系统10与实施方式2的密码处理系统10同样地,具备密钥生成装置100、加密装置200、解密装置300、密钥移交装置400。另外,此处,解密装置300也具备密钥移交装置400。
图29是示出密钥生成装置100的动作的流程图。图30是示出加密装置200的动作的流程图。图31是示出解密装置300的动作的流程图。图32是示出密钥移交装置400的动作的流程图。
说明密钥生成装置100的功能和动作。密钥生成装置100的功能结构与图19所示的实施方式2的密钥生成装置100的功能结构相同。
(S1301:主密钥生成步骤)
主密钥生成部110计算式204,通过处理装置生成主公开密钥pk和主秘密密钥sk并存储到主密钥存储部120中。
[式204]
(1)
N:=n+2,
Figure BPA00001447882500971
(针对t=0,…,n-1,执行(2)-(5))
(2)
Figure BPA00001447882500972
(3)
b i [ t ] = &Sigma; j = 0 N - 1 x i , j [ t ] a j ,
Figure BPA00001447882500974
(4)
( v i , j [ t ] ) : = ( x [ t ] T ) - 1
(5)
b i [ t ] * = &Sigma; j = 0 N - 1 v i , j [ t ] a j * ,
Figure BPA00001447882500977
(6)
Figure BPA00001447882500978
Figure BPA00001447882500979
return sk,pk
即,首先,(1)主密钥生成部110利用保密参数1λ,通过处理装置生成N(=n+2)维的双对失真矢量空间(V,V*,GT,A,A*,q)。
接下来,主密钥生成部110针对各t(t=0,…,n-1),执行以下的(2)至(5)。
(2)主密钥生成部110通过处理装置,随机地选择用于根据标准基底A:=(a0,…,an-1)生成基底B[t]:=(b[t] 0,…,b[t] n-1)的线性变换X[t]
(3)主密钥生成部110基于所选择的线性变换X[t],通过处理装置根据基底A而生成基底B[t]
(4)主密钥生成部110根据线性变换X[t],通过处理装置生成用于根据基底A*:=(a* 0,…,a* n-1)生成基底B[t]*:=(b[t]* 0,…,b[t]* n-1)的线性变换((X[t])T)-1
(5)主密钥生成部110基于所生成的线性变换((X[t])T)-1,通过处理装置根据基底A*而生成基底B[t]*
然后,(6)主密钥生成部110将所生成的线性变换X[t](t=0,…,n-1)和基底B[t]*(t=0,…,n-1)设为主秘密密钥sk,将包括所生成的基底B[t](t=0,…,n-1)的(1λ,μ,V,V*,GT,A,A*,q,B[0],…,B[n-1])设为主公开密钥pk。然后,主密钥存储部120将主密钥生成部110所生成的主公开密钥pk和主秘密密钥sk存储到存储装置中。
另外,与实施方式2的密码处理系统10同样地,设双对失真矢量空间的维数是N(=n+2)。即,双对失真矢量空间的基底矢量的构造是图15所示的构造。
即,在(S1301)中,主密钥生成部110执行式205所示的Setup算法,生成主公开密钥pk和主秘密密钥sk。
[式205]
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
Figure BPA00001447882500982
For t=0,…,n-1,
Figure BPA00001447882500983
b i [ t ] = &Sigma; j = 0 N - 1 x i , j [ t ] a j ,
( v i , j [ t ] ) : = ( x [ t ] T ) - 1 , b i [ t ] * = &Sigma; j = 0 N - 1 v i , j [ t ] a j * ,
Figure BPA00001447882500989
Figure BPA000014478825009810
return sk,pk.
接下来,密钥矢量生成部130和密钥生成用矢量生成部140针对各t(t=0,…,n-1),执行(S1302)和(S1303)。
(S1302:密钥矢量k[t]* 1,0生成步骤)
密钥矢量生成部130根据主公开密钥pk和主秘密密钥sk、以及谓词矢量v 1,计算式206,通过处理装置生成第1层(等级1)的秘密密钥的开头要素即密钥矢量k[t]* 1,0
[式206]
(1)
Figure BPA00001447882500991
(2)
k 1,0 [ t ] * : = &tau; 1 ( &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &zeta; 1,0 [ t ] b n [ t ] * )
此处,
Figure BPA00001447882500993
第1层的秘密密钥的开头要素
vi(i=0,…,μ1-1):谓词矢量
即,(1)密钥矢量生成部130通过处理装置,生成随机数τ1、随机数σ1,0、以及随机数ζ[t] 1,0
(2)密钥矢量生成部130通过处理装置,设定以随机数ζ[t] 1,0随机化了的规定的值(此处是1)作为针对基底B[t]*中的基底矢量b[t]* n的系数,并且通过处理装置,设定以随机数σ1,0随机化了的谓词矢量v 1的各要素作为针对基底矢量b[t]* i(i=0,…,μ1-1)的系数,生成以随机数τ1对全体进行了随机化的密钥矢量k[t]* 1,0
(S1303:密钥生成用矢量k[t]* 1,j生成步骤)
密钥生成用矢量生成部140根据主公开密钥pk和主秘密密钥sk、以及谓词矢量v 1(v 1=(v0,…,vi)(i=μL-1)),计算式207,通过处理装置生成用于生成下位的秘密密钥(下位的密钥矢量)的密钥生成用矢量k[t]* 1,j。密钥生成用矢量k[t]* 1,j是第1层的秘密密钥的第j个要素。
[式207]
(1)
(2)
k 1,1 [ t ] * : = &tau; 1 ( &sigma; 1,1 ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &zeta; 1,1 [ t ] b n [ t ] * )
(3)
k 1 , j [ t ] * : = &tau; 1 ( &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + b j [ t ] * + &zeta; 1 , j [ t ] b n [ t ] * )
j=μ1,…,n-1
此处,
Figure BPA00001447882501004
第1层的秘密密钥的第1个要素
第1层的秘密密钥的第j个要素
即,(1)密钥生成用矢量生成部140通过处理装置,生成随机数τ1、随机数σ1,j(j=1,μ1,…,n-1)、以及随机数ζ[t] 1,j(j=1,μ1,…,n-1)。
(2)密钥生成用矢量生成部140通过处理装置,设定以随机数ζ[t] 1,1随机化了的规定的值(此处是1)作为针对基底B[t]*中的基底矢量b[t]* n的系数,并且通过处理装置,设定以随机数σ1,1随机化了的谓词矢量v 1的各要素作为针对基底矢量b[t]* i(i=0,…,μ1-1)的系数,生成以随机数τ1对全体进行了随机化的密钥生成用矢量k[t]* 1,1
(3)密钥生成用矢量生成部140针对j=μ1、…、n-1的各j,通过处理装置设定规定的值(此处是1)作为针对基底B[t]*中的基底矢量b[t]* j的系数,通过处理装置设定以随机数σ1,i随机化了的谓词矢量v 1的各要素作为针对基底矢量b[t]* i(i=0,…,μ1-1)的系数,设定以随机数ζ[t] 1,j随机化了的规定的值(此处是1)作为针对基底矢量b[t]* n的系数,生成以随机数τ1对全体进行了随机化的密钥生成用矢量k[t]* 1,j
即,在(S1302)和(S1303)中,密钥矢量生成部130和密钥生成用矢量生成部140执行式208所示的GenKey算法,通过处理装置生成包括密钥矢量k[t]* 1,0和密钥生成用矢量k[t]* 1,j的第1层的秘密密钥(密钥信息k→[t]* 1)。
[式208]
GenKey ( sk , v &RightArrow; 1 : = ( v 0 , . . . , v &mu; 1 - 1 ) ) :
Figure BPA00001447882501012
For t=0,…,n-1
k 1 , j [ t ] * : = &tau; 1 ( &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &xi; 1 , j [ t ] b n [ t ] * ) , for j = 0,1 ,
k 1 , j [ t ] * : = &tau; 1 ( &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + b j [ t ] * + &xi; 1 , j [ t ] b n [ t ] * ) , for j = &mu; 1 , . . . n - 1 ,
k &RightArrow; 1 [ t ] * : = ( k 1,0 [ t ] * , k 1,1 [ t ] * , k 1 , &mu; 1 [ t ] * , . . . , k 1 , n - 1 [ t ] * )
retrn s k v &RightArrow; 1 : = ( k &RightArrow; 1 [ 0 ] * , . . . , k &RightArrow; 1 [ n - 1 ] * ) .
(S1304:密钥分发步骤)
密钥分发部150将主密钥生成部110所生成的主公开密钥、以及密钥矢量生成部130和密钥生成用矢量生成部140所生成的密钥信息k→[t]* 1(t=0,…,n-1)经由通信装置发送到解密装置300。另外,密钥分发部150将主公开密钥经由通信装置发送到加密装置200。
说明加密装置200的功能和动作。加密装置200的功能结构与图19所示的实施方式2的加密装置200的功能结构相同。
(S1401:明文信息设定步骤)
发送信息设定部210根据主公开密钥pk,通过处理装置来计算式209,生成明文信息矢量mv[t](t=0,…,n-1)。
[式209]
mv [ t ] : = mb n [ t ]
即,发送信息设定部210针对各t(t=0,…,n-1),通过处理装置设定明文信息m作为与主公开密钥pk中包含的基底B[t]的基底矢量b[t] n对应的系数,生成明文信息矢量mv[t]
(S1402:密码矢量生成步骤)
密码矢量生成部220根据主公开密钥pk和属性矢量x 1至属性矢量xL(x i(i=1,…,L)(=(x0,…,xi)(i=μL-1)))(L是分层的深度),通过处理装置来计算式210,生成密码矢量c[t](t=0,…,n-1)。
[式210]
(1)
Figure BPA00001447882501022
(2)
Figure BPA00001447882501023
s &RightArrow; [ n - 1 ] : = ( &delta; 1 x &RightArrow; 1 , . . . , &delta; d x &RightArrow; d ) - ( &Sigma; t = 0 n - 2 s &RightArrow; [ t ] ) ,
xv [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] , t = 0 , . . . , n - 1
(3)
rv [ t ] : = &delta; n + 1 [ t ] b n + 1 [ t ] , t = 0 , . . . , n - 1
(4)
c [ t ] : = xv [ t ] + mv [ t ] + rv [ t ] = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] + mb n [ t ] + &delta; n + 1 [ t ] b n + 1 [ t ]
t=0,…,n-1
即,(1)密码矢量生成部220通过处理装置,生成随机数x i(i=L+1,…,d)、随机数δi(i=1,…,d)、以及随机数δ[t] n+1(t=0,…,n-1)。
(2)密码矢量生成部220针对主公开密钥pk中包含的基底B[t](t=0,…,n-1)的各基底B[t],通过处理装置设定属性矢量的各要素等,从而生成属性信息矢量xv[t]
针对i=0、…、μ1-1的各i,设定针对基底矢量b[t] i(t=0,…,n-1)的系数,以使针对t=0、…、n-1的基底矢量b[t] i的系数的合计成为随机化了的属性矢量x i。此处,设定随机数s[t] i作为与t=0、…、n-2的基底矢量b[t] i对应的系数,利用与t=n-1的基底矢量b[t] i对应的系数进行调整,以使合计值成为随机化了的属性矢量x i
另外,针对i=μL、…、n-1,设定随机数作为针对基底矢量b[t] i(t=0,…,n-1)的系数。
(3)密码矢量生成部220对于基底B[t](t=0,…,n-1)的各基底B[t],通过处理装置设定随机数δ[t] n+1作为与主公开密钥pk中包含的基底B的基底矢量b[t] n+1对应的系数,生成随机数矢量rv[t]
(4)密码矢量生成部220对于基底B[t](t=0,…,n-1)的各基底B[t],将所生成的属性信息矢量xv[t]和随机数矢量rv[t]加到发送信息设定部210所生成的明文信息矢量mv[t],通过处理装置而生成密码矢量c[t]
(S1403:数据发送步骤)
数据发送部230将密码矢量生成部220所生成的密码矢量c[t]经由通信装置发送到解密装置300。
即,加密装置200执行式211所示的Enc算法,生成密码矢量c[t]
[式211]
Enc ( pk , m &Element; msg , x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) :
Figure BPA00001447882501032
Figure BPA00001447882501033
Figure BPA00001447882501034
s &RightArrow; [ n - 1 ] : = ( &delta; 1 x &RightArrow; 1 , . . . , &delta; d x &RightArrow; d ) - ( &Sigma; t = 0 n - 2 s &RightArrow; [ t ] ) ,
c [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] + mb n [ t ] + &delta; n + 1 [ t ] b n + 1 [ t ] , for t = 0 , . . . , n - 1 ,
return ( c [ 0 ] , . . . , c [ n - 1 ] ) .
说明解密装置300的功能和动作。解密装置300的功能结构与图19所示的实施方式2的解密装置300的功能结构相同。
(S1501:矢量输入步骤)
矢量输入部310经由通信装置接收并输入加密装置200的数据发送部230发送了的密码矢量c[t](t=0,…,n-1)。
(S1502:配对运算步骤)
配对运算部330根据主公开密钥pk和第L层的秘密密钥的开头要素即密钥矢量k[t]* L,0(t=0,…,n-1),通过处理装置来计算式212,生成与明文信息m相关的信息f。
[式212]
f : = &Pi; t = 0 n - 1 e ( c [ t ] , k L , 0 [ t ] * )
即,配对运算部330针对矢量输入部310所输入的密码矢量c、和密钥矢量存储部320存储到存储装置中的密钥矢量k[t]* L,0,通过处理装置进行将主公开密钥pk中包含的空间V和空间V*关联起来的配对运算e,生成信息f。
另外,配对运算部330基于主公开密钥pk和密钥矢量k*[t] L,0(t=0,…,n-1),通过处理装置来计算式213,生成为了从信息f抽出明文信息m而使用的信息g。
[式213]
g : = &Pi; t = 0 n - 1 e ( b n [ t ] , k L , 0 [ t ] * )
即,配对运算部330针对主公开密钥pk中包含的基底B[t]的基底b[t] n、和密钥矢量存储部320存储到存储装置中的密钥矢量k[t]* L,0,通过处理装置进行将主公开密钥pk中包含的空间V和空间V*关联起来的配对运算e,生成信息g。
(S1503:离散对数计算步骤)
离散对数计算部340针对信息f,求解以信息g为底的离散对数问题,计算明文信息m。即,离散对数计算部340计算式214。
[式214]
m′:=Dlogg(f)
此处
Dlogx(y):表示针对y以x为底求解离散对数问题
另外,与实现实施方式2中说明的分层式谓词密码的密码处理系统10同样地,此处输入的明文信息m是比规定的小整数τ还小的数。其原因为,如上所述在解密装置300计算明文信息m时,需要求解离散对数问题。另外,与实现实施方式2中说明的分层式谓词密码的密码处理系统10同样地,还可以对多个基底矢量设定明文信息m。
即,解密装置300执行式215所示的Dec算法,生成明文信息m’或者识别信息⊥。
[式215]
Dec ( ( k L , 0 [ 0 ] * , . . . , k L , 0 [ n - 1 ] * ) , ( c [ 0 ] , . . . , c [ n - 1 ) ) :
g : = &Pi; t = 0 n - 1 e ( b n [ t ] , k L , 0 [ t ] * ) , f : = &Pi; t = 0 n - 1 e ( c [ t ] , k L , 0 [ t ] * ) ,
如果Dlogg(f)∈msg则m′:=Dlogg(f);否则m′:=⊥
return m′
说明密钥移交装置400的功能和动作。密钥移交装置400的功能结构与图19所示的实施方式2的密钥移交装置400的功能结构相同。
(S1601:密钥矢量k[t]* L,0取得步骤)
密钥矢量取得部410针对各t(t=0,…,n-1),经由通信装置取得第L层的秘密密钥(密钥信息k→[t]* L),该第L层的秘密密钥(密钥信息k→[t]* L)包括第L层的秘密密钥的开头要素即密钥矢量k[t]* L,0、和第L层的秘密密钥的第j个(j=μ1,…,n-1)要素即密钥生成用矢量k[t]* L,j
密钥矢量生成部420和密钥生成用矢量生成部430针对各t(t=0,…,n-1)执行(S1602)和(S1603)。
(S1602:密钥矢量k[t]* L,0生成步骤)
密钥矢量生成部420基于主公开密钥pk、密钥信息k→[t]* L、以及谓词矢量v L+1(v L+1=(vi,…,vj)(i=μL,j=μL+1-1)),对式216进行计算,通过处理装置生成第L+1层的秘密密钥的开头要素即密钥矢量k[t]* L+1,0
[式216]
(1)
Figure BPA00001447882501061
(2)
k L + 1,0 [ t ] * = &tau; L + 1 ( &Sigma; i = 0 L &psi; L + 1,0 , i k L , i [ t ] * + k L , 0 [ t ] * + &sigma; L + 1,0 ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i [ t ] * ) )
t=0,…,n-1
即,(1)密钥矢量生成部420通过处理装置,生成随机数τL+1, 0、随机数ψL+1,0,i(i=0,…,L)、以及随机数σL+1,0
(2)密钥矢量生成部420将设定以随机数σL+1,0随机化了的谓词矢量v L+1的各要素作为针对密钥生成用矢量k[t]* L,i(i=μL,…,μL+1-1)的系数的矢量vi(i=μL,…,μL+1-1)、以随机数ψL+1,0,0随机化了的密钥矢量k[t]* L,0、以及以随机数ψL+1,0,i(i=1,…,L)随机化了的密钥生成用矢量k[t]* L,i(i=1,…,L),与密钥矢量k[t]* L,0相加,通过处理装置生成密钥矢量k[t]* L+1,0
(S1603:密钥生成用矢量k[t]* L,j生成步骤)
密钥生成用矢量生成部430根据主公开密钥pk、密钥信息k→[t]* L、以及谓词矢量v L+1,计算式217,通过处理装置生成用于生成下位的秘密密钥(下位的密钥矢量)的密钥生成用矢量k[t]* L+1,j。密钥生成用矢量k[t]* L+1,j是第L+1层的秘密密钥的第j个要素。
[式217]
(1)
Figure BPA00001447882501071
(2)
Figure BPA00001447882501072
t=0,…,n-1,j=0,…,L+1,μL+1,…,n-1
即,(1)密钥生成用矢量生成部430通过处理装置,生成随机数τL+1、随机数ψL+1,j,i(i=0,…,L)(j=1,…,L+1,μL+1,…,n-1)、以及随机数σL+1,j(j=μL+1,…,n-1)。
(2)密钥生成用矢量生成部140针对j=1、…、L+1、μL+1、…、n-1的各j,对密钥生成用矢量k[t]* L,j相加通过处理装置设定以随机数σL+1,j随机化了的谓词矢量v L+1的各要素作为针对密钥生成用矢量k[t]* L,i(i=μL,…,μL+1-1)的系数的矢量、以随机数ψL+1,j,0随机化了的密钥矢量k[t]* L,0、以及以随机数ψL+1,j,i(i=1,…,L)随机化了的密钥生成用矢量k[t]* L,i,生成用于生成密钥矢量k[t]* L+1,0的下位的密钥矢量的密钥生成用矢量k[t]* L+1,j
即,在(S1601)和(S1602)中,密钥矢量生成部420和密钥生成用矢量生成部430执行式218所示的DelegateL算法,通过处理装置生成包括密钥矢量k[t]* L+1,0和密钥生成用矢量k[t]* L+1,j的第L+1层的秘密密钥(密钥信息k→[t]* L+1)。
[式218]
Delegat e L ( ( k &RightArrow; L [ 0 ] * , . . . , k &RightArrow; L [ n - 1 ] * ) , v &RightArrow; L + 1 : = ( v &mu; L , . . . , v &mu; L + 1 - 1 ) ) :
Figure BPA00001447882501074
For t=0,…,n-1,j=0,…,L+1,μL+1,…,n-1,
k L + 1 , j * : = &tau; L + 1 ( &Sigma; i = 0 L &psi; L + 1 , j , i k L , i [ t ] * + k L , j [ t ] * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i [ t ] * ) ) ,
k &RightArrow; L + 1 [ t ] * : = ( k &RightArrow; L + 1,0 [ t ] * , . . . , k L + 1 , L + 1 [ t ] * , k L + 1 , &mu; L + 1 [ t ] * , . . . , k L + 1 , n - 1 [ t ] * ) ,
return sk ( v &RightArrow; 1 , . . . , v &RightArrow; L + 1 ) : = ( k &RightArrow; L + 1 [ 0 ] * , . . . , k &RightArrow; L + 1 [ n - 1 ] * ) .
(S1604:密钥分发步骤)
密钥分发部440将密钥矢量生成部420和密钥生成用矢量生成部430所生成的密钥信息k→[t]* L+1经由通信装置发送到下位的解密装置300。
补充说明在(S1502)中计算的配对运算。
如在实施方式2中根据图16所说明那样,利用属性矢量与谓词矢量的内积成为0的情形,通过配对运算使密文c中的与基底矢量bn相关的分量以外成为0,从而抽出与基底矢量bn相关的分量。同样地,在本实施方式中也通过在(S1502)中进行配对运算,如式219所示那样抽出密文c中的与基底矢量bn相关的分量。式219是用于配对运算的说明的式。在式219中,为简化说明,简化了随机数的下标。
[式219]
f : = &Pi; t = 0 n - 1 e ( c ^ [ t ] , k ^ L , 0 [ t ] * )
= &Pi; t = 0 n - 1 u s &RightArrow; [ t ] &CenterDot; ( n &tau; 1 v &RightArrow; 1 , . . . , n &tau; d v &RightArrow; d )
= u &Sigma; i = 0 n - 1 s &RightArrow; [ t ] &CenterDot; ( n &tau; 1 v &RightArrow; 1 , . . . , n &tau; d v &RightArrow; d )
= u ( &delta; 1 x &RightArrow; 1 , . . . , &delta; d x &RightArrow; d ) &CenterDot; ( n &tau; 1 v &RightArrow; 1 , . . . , n &tau; d v &RightArrow; d )
= u &Sigma; i = 1 d n &delta; i &tau; i ( x &RightArrow; i &CenterDot; v &RightArrow; i )
= 0
此处
Figure BPA00001447882501087
c[t]的属性矢量部分
Figure BPA00001447882501088
的谓词矢量部分
δ1,…,δd,τ1,…,τd:随机数
Figure BPA00001447882501089
谓词矢量(i=1,…Lv)
Figure BPA000014478825010810
0(i=Lv+1,…d)
x &RightArrow; i &CenterDot; v &RightArrow; i = 0 i=1,…,d
如上所述,本实施方式的密码处理系统10实现满足针对CPA的适应性属性隐匿的安全性、且以使安全性变高的方式进行了变更的分层式谓词密码。
另外,本实施方式的密码处理系统10也可以与上述实施方式的密码处理系统10同样地,容易实现分层式谓词密钥隐匿方式。
实施方式7.
在本实施方式中,说明基于实施方式6中说明的满足针对CPA的适应性属性隐匿的必要条件的密码处理而构筑的满足针对CCA的适应性属性隐匿的必要条件的密码处理。
在利用了实施方式6中说明的n拷贝空间的分层式谓词密码中,应用非专利文献11记载的方式,构筑满足针对CCA的适应性属性隐匿的必要条件的分层式谓词密码。
另外,在实施方式4中,主要说明了应用非专利文献7记载的方式的分层式谓词密码,并简单说明了应用非专利文献11记载的方式的分层式谓词密码。此处,说明应用了非专利文献11记载的方式的分层式谓词密码。
根据图33至图35、以及图29和图32,说明密码处理系统10的功能和动作。
图33是示出本实施方式的密码处理系统10的功能的功能框图。密码处理系统10与实施方式2的密码处理系统10同样地,具备密钥生成装置100、加密装置200、解密装置300、密钥移交装置400。另外,此处解密装置300也具备密钥移交装置400。
图34是示出加密装置200的动作的流程图。图35是示出解密装置300的动作的流程图。另外,密钥生成装置100和密钥移交装置400的动作的流程与实施方式6的密钥生成装置100和密钥移交装置400的动作的流程相同。因此,根据图29说明密钥生成装置100的动作。另外,根据图32说明密钥移交装置400的动作。
另外,在以下的说明中,Sig:=(Gsig,Sign,Vrfy)是实施方式4中说明的安全的一次签名方式。
说明密钥生成装置100的功能和动作。密钥生成装置100的功能结构与图28所示的实施方式6的密钥生成装置100的功能结构相同。另外,密钥生成装置100的动作的流程与图29所示的实施方式6的密钥生成装置100的动作的流程相同,所以根据图29说明密钥生成装置100的功能和动作。
(S1301:主密钥生成步骤)
与实施方式6同样地,主密钥生成部110通过处理装置生成主公开密钥pk和主秘密密钥sk,并存储到主密钥存储部120中。
另外,与实施方式4同样地,双对失真矢量空间的维数是N(=n+4)。即,双对失真矢量空间的基底矢量的构造是图25所示的构造。
即,在(S1301)中,主密钥生成部110执行式220所示的Setup算法,生成主公开密钥pk和主秘密密钥sk。
[式220]
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
For t=0,…,n-1,
Figure BPA00001447882501103
b i [ t ] = &Sigma; j = 0 N - 1 x i , j [ t ] a j ,
Figure BPA00001447882501105
( v i , j [ t ] ) : = ( X [ t ] T ) - 1 , b i [ t ] * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA00001447882501108
Figure BPA00001447882501109
return sk,pk.
接下来,与实施方式6同样地,密钥矢量生成部130和密钥生成用矢量生成部140针对各t(t=0,…,n-1)执行(S1302)和(S1303)。
(S1302:密钥矢量k[t]* 1,0生成步骤)
与实施方式6同样地,密钥矢量生成部130计算式221,通过处理装置生成第1层(等级1)的秘密密钥的开头要素即密钥矢量k[t]* 1,0
[式221]
(1)
(2)
k 1,0 [ t ] * : = &tau; 1 ( &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &xi; 1,0 [ t ] b n [ t ] * )
此处,
Figure BPA00001447882501113
第1层的秘密密钥的开关要素
v i ( i = 0 , . . . , &mu; 1 - 1 ) : 谓词矢量
(S1303:密钥生成用矢量k[t]* 1,j生成步骤)
与实施方式6同样地,密钥生成用矢量生成部140计算式222,通过处理装置生成密钥生成用矢量k[t]* 1,j。密钥生成用矢量k[t]* 1,j是第1层的秘密密钥的第j个要素。
[式222]
(1)
(2)
k 1,1 [ t ] * : = &tau; 1 ( &sigma; 1,1 ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &xi; 1,1 [ t ] b n [ t ] * )
(3)
k 1 , j [ t ] * : = &tau; 1 ( &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + b j [ t ] * + &xi; 1 , j [ t ] b n [ t ] * )
j=μ1,…,n-1,n+2,n+3
此处
Figure BPA00001447882501118
第1层的秘密密钥的第1个要素
Figure BPA00001447882501119
第1层的秘密密钥的第j个要素
但是,密钥生成用矢量生成部140生成密钥生成用矢量k[t]* 1,j(j=1,μ1,…,n-1,n+2,n+3)。即,密钥生成用矢量生成部140在生成密钥生成用矢量k[t]* 1,n+2、和密钥生成用矢量k[t]* 1,n+3的这点上,与图28所示的密钥生成用矢量生成部140不同。
即,在(S1302)和(S1303)中,密钥矢量生成部130和密钥生成用矢量生成部140执行式223所示的GenKey算法,通过处理装置生成包括密钥矢量k[t]* 1,0和密钥生成用矢量k[t]* 1,j的第1层的秘密密钥(密钥信息k→[t]* 1)。
[式223]
GenKey ( sk , v &RightArrow; 1 : = ( v 0 , . . . , v &mu; - 1 ) ) :
&tau; 1 , &sigma; 1,0 , &sigma; 1,1 , &sigma; 1 , &mu; 1 , . . . , &sigma; 1 , n - 1 , &sigma; 1 , n + 2 , &sigma; 1 , n + 3 , &zeta; 1,0 [ t ] , &zeta; 1,1 [ t ] , &zeta; 1 , &mu; 1 [ t ] , . . . , &zeta; 1 , n - 1 [ t ]
For t=0,…,n-1
k 1 , j [ t ] * : = &tau; 1 ( &sigma; 1 , j ( &Sigma; i = 0 &mu; i - 1 v i b i [ t ] * ) + &zeta; 1 , j [ t ] b n [ t ] * ) , for j = 0,1 ,
k 1 , j [ t ] * : = &tau; 1 ( &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + b j [ t ] * + &zeta; 1 , j [ t ] b n [ t ] * ) ,
for j=μ1,…,n-1,n+2,n+3,
k &RightArrow; 1 [ t ] * : = ( k 1,0 [ t ] * , k 1,1 [ t ] * , k 1 , &mu; 1 [ t ] * , . . . , k 1 , n - 1 [ t ] * , k 1 , n + 2 [ t ] * , k 1 , n + 3 [ t ] * )
return sk v &RightArrow; 1 : = ( k &RightArrow; 1 [ 0 ] * , . . . , k &RightArrow; 1 [ n - 1 ] * ) .
(S1304:密钥分发步骤)
与实施方式6同样地,密钥分发部150将主密钥生成部110所生成的主公开密钥、以及密钥矢量生成部130和密钥生成用矢量生成部140所生成的密钥信息k→[t]* 1(t=0,…,n-1)经由通信装置发送到解密装置300。另外,密钥分发部150将主公开密钥经由通信装置发送到加密装置200。
说明加密装置200的功能和动作。加密装置200除了图28所示的实施方式6的加密装置200的功能以外,还具备验证信息生成部250、验证信息设定部260、签名信息生成部270。
(S1701:验证信息生成步骤)
验证信息生成部250通过处理装置来计算式224,生成验证密钥vk、签名密钥sk。
[式224]
Figure BPA00001447882501131
(S1702:明文信息设定步骤)
与实施方式6同样地,发送信息设定部210通过处理装置来计算式225,基于主公开密钥pk,通过处理装置生成明文信息矢量mv[t](t=0,…,n-1)。
[式225]
mv [ t ] : = m b n [ t ]
(S1703:验证信息设定步骤)
验证信息设定部260基于主公开密钥pk,通过处理装置来计算式226,生成验证信息矢量cv[t](t=0,…,n-1)。
[式226]
(1)
Figure BPA00001447882501133
(2)
cv [ t ] : = &delta; n + 2 [ t ] ( b n + 2 [ t ] + vk &CenterDot; b n + 3 [ t ] ) , t = 0 , . . . , n - 1
即,(1)验证信息设定部260通过处理装置,生成随机数δ[t]n+2(t=0,…,n-1)。
(2)验证信息设定部260针对各t(t=0,…,n-1),通过处理装置,设定以随机数δ[t] n+2随机化了的规定的值(此处是1)作为与主公开密钥pk中包含的基底B的基底矢量b[t] n+2对应的系数,并且通过处理装置,设定以随机数δ[t] n+2随机化了的验证密钥vk作为针对基底矢量b[t] n+3的系数,生成验证信息矢量cv[t](t=0,…,n-1)。
(S1704:密码矢量生成步骤)
密码矢量生成部220根据主公开密钥pk和属性矢量x 1至属性矢量x L(x i(i=1,…,L)(=(x0,…,xi)(i=μL-1)))(L是分层的深度),通过处理装置来计算式227,生成密码矢量c[t](t=0,…,n-1)。
[式227]
(1)
Figure BPA00001447882501142
(2)
Figure BPA00001447882501143
s &RightArrow; [ n - 1 ] : = ( &delta; 1 x &RightArrow; 1 , . . . , &delta; d x &RightArrow; d ) - ( &Sigma; t = 0 n - 2 s &RightArrow; [ t ] ) ,
xv [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] , t = 0 , . . . , n - 1
(3)
rv [ t ] : = &delta; n + 1 [ t ] b n + 1 [ t ] , t = 0 , . . . , n - 1
(4)
c [ t ] : = xv [ t ] + mv [ t ] + rv [ t ] + cv [ t ]
= &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] + mb n [ t ] + &delta; n + 1 [ t ] b n + 1 [ t ] + &delta; n + 2 [ t ] ( b n + 2 [ t ] + vk &CenterDot; b n + 3 [ t ] )
t=0,…,n-1
另外,式227所示的(1)至(3)与式238所示的(1)至(3)相同。(4)密码矢量生成部220针对基底B[t](t=0,…,n-1)的各基底B[t],将所生成的属性信息矢量xv[t]和随机数矢量rv[t]、发送信息设定部210所生成的明文信息矢量mv[t]、以及验证信息设定部260所生成的验证信息矢量cv[t]进行相加,通过处理装置生成密码矢量c[t]
(S1705:签名信息生成步骤)
签名信息生成部270通过处理装置来计算式228,生成签名信息∑。
[式228]
∑:=Signsk(c[0],…,c[n-1])
即,签名信息生成部270基于签名密钥sk,通过处理装置来执行Sign,生成签名信息∑。
(S1706:数据发送步骤)
数据发送部230将密码矢量生成部220所生成的密码矢量c[t]、验证信息生成部250所生成的验证密钥vk、以及签名信息生成部270所生成的签名信息∑经由通信装置发送到解密装置300。
即,加密装置200执行式229所示的Enc算法,生成密码矢量c[t](t=0,…,n-1)、验证密钥vk、以及签名信息∑。
[式229]
Enc ( pk , m &Element; msg , x &RightArrow; : ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) :
Figure BPA00001447882501152
Figure BPA00001447882501153
Figure BPA00001447882501154
Figure BPA00001447882501155
s &RightArrow; [ n - 1 ] : = ( &delta; 1 x &RightArrow; 1 , . . . , &delta; d x &RightArrow; d ) - ( &Sigma; t = 0 n - 2 s &RightArrow; [ t ] ) ,
c [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] + mb n [ t ] + &delta; n + 1 [ t ] b n + 1 [ t ] + &delta; n + 2 [ t ] ( b n + 2 [ t ] + vk &CenterDot; b n + 3 [ t ] ) ,
for t=0,…,n-1,
∑:=Signsk(c[0],…,c[n-1])
return(c[0],…,c[n-1],vk,∑).
说明解密装置300的功能和动作。解密装置300除了图28所示的实施方式6的解密装置300具备的功能以外,还具备窜改验证部370。
(S1801:矢量输入步骤)
矢量输入部310经由通信装置接收并输入加密装置200的数据发送部230所发送的密码矢量c[t](t=0,…,n-1)、验证密钥vk、以及签名信息∑。
(S1802:签名验证步骤)
窜改验证部370通过处理装置来判定式230是否成立。
[式230]
Vrtyvk(c[0],…,c[n-1],∑)=1
即,窜改验证部370针对签名信息∑,利用验证密钥vk来执行Vrfy,从而进行验证。
(S1803:密钥矢量变形步骤)
矢量变形部350通过处理装置来计算式231,使密钥矢量k[t]* L,0变形。
[式231]
k ~ L , 0 [ t ] * : = k L , 0 [ t ] * + &sigma; ~ ( vk &CenterDot; k L , n + 2 [ t ] * - k L , n + 3 [ t ] * )
此处
Figure BPA00001447882501162
变换后的第L层的秘密密钥的开头要素
Figure BPA00001447882501163
变换前的第L层的秘密密钥的开头要素
第L层的秘密密钥的第n+2个要素
Figure BPA00001447882501165
第L层的秘密密钥的第n+3个要素
即,矢量变形部350通过在后面的步骤中执行的配对运算,以删除加密装置200的验证信息生成部250所设定的验证密钥vk(设定了包括验证密钥vk的信息的基底矢量的系数成为0)的方式,利用验证密钥vk使密钥矢量变形。
(S1804:配对运算步骤)
配对运算部330计算式232,基于主公开密钥pk和变形后的密钥矢量k[t]* L,0(t=0,…,n-1),生成与明文信息m相关的信息f。
[式232]
f : = &Pi; t = 0 n - 1 e ( c [ t ] , k ~ L , 0 [ t ] * )
另外,配对运算部330计算式233,基于主公开密钥pk和变形后的密钥矢量k[t]* L,0(t=0,…,n-1),生成为了从信息f抽出明文信息m而使用的信息g。
[式233]
g : = &Pi; t = 0 n - 1 e ( b n [ t ] , k ~ L , 0 [ t ] * )
(S1805:离散对数计算步骤)
与实施方式6同样地,离散对数计算部340针对信息f,求解以信息g为底的离散对数问题,计算明文信息m。即,离散对数计算部340计算式234。
[式234]
m′:=Dlogg(f)
此处
Dlogx(y):表示针对y以x为底求解离散对数问题
另外,与实现实施方式2中说明的分层式谓词密码的密码处理系统10同样地,设此处输入的明文信息m是比规定的小整数τ还小的数。其原因为,如上所述在解密装置300计算明文信息m时,需要求解离散对数问题。另外,也可以与实现实施方式2中说明的分层式谓词密码的密码处理系统10同样地,对多个基底矢量设定明文信息m。
即,解密装置300执行式235所示的Dec算法,生成明文信息m’或者识别信息⊥。
[式235]
Dec
( ( k L , 0 [ 0 ] * , . . . , k L , 0 [ n - 1 ] * , k L , n + 2 [ 0 ] * , . . . , k L , n + 2 [ n - 1 ] * , k L , n + 3 [ 0 ] * , . . . , k L , n + 3 [ n - 1 ] * ) , ( c [ 0 ] , . . . , c [ n - 1 ] , vk , &Sigma; ) ) :
Vrfyvk(c[0],…,c[n-1],∑)=1?
Figure BPA00001447882501182
g : = &Pi; t = 0 n - 1 e ( b n [ t ] , k ~ L , 0 [ t ] * ) , f : = &Pi; t = 0 n - 1 e ( c [ t ] , k ~ L , 0 [ t ] * ) ,
Dlogg(f)∈msg?
如果双方检查都通过则m′:=Dlogg(f);否则m′:=⊥,
return m′
说明密钥移交装置400的功能和动作。密钥移交装置400的功能结构与图28所示的实施方式6的密钥移交装置400的功能结构相同。另外,密钥移交装置400的动作的流程也与图32所示的实施方式2的密钥移交装置400的动作的流程相同,所以根据图32来说明密钥移交装置400的功能和动作。
(S1601:密钥矢量k[t]* L,0取得步骤)
与实施方式6同样地,密钥矢量取得部410经由通信装置取得第L层的秘密密钥(密钥信息k→[t]* L),该第L层的秘密密钥(密钥信息k→[t]* L)包括第L层的秘密密钥的开头要素即密钥矢量k[t]* L,0、和第L层的秘密密钥的第j个(j=μ1,…,n-1)要素即密钥生成用矢量k[t]* L,j
与实施方式6同样地,密钥矢量生成部420和密钥生成用矢量生成部430针对各t(t=0,…,n-1)执行(S1602)和(S1603)。
(S1602:密钥矢量k[t]* L,0生成步骤)
与实施方式6同样地,密钥矢量生成部420计算式236,通过处理装置生成第L+1层的秘密密钥的开头要素即密钥矢量k[t]* L+1,0
[式236]
(1)
(2)
k L + 1,0 [ t ] * : = &tau; L + 1 ( &Sigma; i = 0 L &psi; L + 1,0 , i k L , i [ t ] * + k L , 0 [ t ] * + &sigma; L + 1,0 ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i [ t ] * ) )
t=0,…,n-1
(S1603:密钥生成用矢量k[t]* L,j生成步骤)
与实施方式6同样地,密钥生成用矢量生成部430计算式237,通过处理装置生成密钥生成用矢量k[t]* L+1,j。密钥生成用矢量k[t]* L+1,j是第L+1层的秘密密钥的第j个要素。
[式237]
(1)
Figure BPA00001447882501193
(2)
k L + 1 , j [ t ] * : = &tau; L + 1 ( &Sigma; i = 0 L &psi; L + 1 , j , i k L , i [ t ] * + k L , j [ t ] * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i [ t ] * ) )
t=0,…,n-1,j=0,…,L+1,μL+1,…,n-1,n+2,n+3
但是,密钥生成用矢量生成部430生成密钥生成用矢量k[t]* L+1,j(j=μ1,…,n-1,n+2,n+3)。即,密钥生成用矢量生成部430在生成密钥生成用矢量k[t]* L+1,n+2和密钥生成用矢量k[t]* L+1,n+3的这点上,与图10所示的密钥生成用矢量生成部140不同。
即,在(S1602)和(S1603)中,密钥矢量生成部420和密钥生成用矢量生成部430执行式238所示的DelegateL算法,通过处理装置生成包括密钥矢量k[t]* L+1,0和密钥生成用矢量k[t]* L+1,j的密钥信息k→[t]* L+1
[式238]
Delegate L ( ( k &RightArrow; L [ 0 ] * , . . . , k &RightArrow; L [ n - 1 ] * ) , v &RightArrow; L + 1 : = ( v &mu; L , . . . , v &mu; L + 1 - 1 ) ) :
&tau; L + 1 , &psi; L + 1,0,0 , . . . , &psi; L + 1 , L + 1 , L , &sigma; L + 1,0 , &sigma; L + 1 , &mu; L + 1 , . . . , &sigma; L + 1 , n - 1 ,
Figure BPA00001447882501203
For t=0,…,n-1,j=0,…,L+1,μL+1,…,n-1,n+2,n+3
k L + 1 , j [ t ] * : = &tau; L + 1 ( &Sigma; i = 0 L &psi; L + 1 , j , i k L , i [ t ] * + k L , j [ t ] * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i [ t ] * ) ) ,
k &RightArrow; L + 1 [ t ] * : = ( k L + 1,0 [ t ] * , . . . , k L + 1 , L + 1 [ t ] * , k L + 1 , &mu; L + 1 [ t ] * , . . . , k L + 1 , n - 1 [ t ] * , k L + 1 , n + 2 [ t ] * , k L + 1 , n + 3 [ t ] * ) ,
return sk ( v &RightArrow; 1 , . . , v &RightArrow; L + 1 ) : = ( k &RightArrow; L + 1 [ 0 ] * , . . . , k &RightArrow; L + 1 [ n - 1 ] * ) .
(S1604:密钥分发步骤)
与实施方式6同样地,密钥分发部440将密钥矢量生成部420和密钥生成用矢量生成部430所生成的密钥信息k→[t]* L+1经由通信装置发送到下位的解密装置300。
如上所述,本实施方式的密码处理系统10应用实施方式6中说明的满足针对CPA的适应性属性隐匿的安全性的分层式谓词密码,实现满足针对CCA的适应性属性隐匿的安全性的分层式谓词密码。
实施方式8.
在本实施方式中,说明双对失真矢量空间的实现方法。首先,说明在上述实施方式中作为双对失真矢量空间的例子而使用的利用非对称双线性配对组的直积的实现方法。接着,说明利用对称双线性配对组的直积的实现方法。然后,说明利用种类数量为1以上的超特异曲线的雅可比簇(jacobian variety)的实现方法。
<利用非对称双线性配对组的直积的实现方法>
提供非对称双线性配对组(G1,G2,GT,g1,g2,q)、和非对称双线性配对组(G1,G2,GT,g1,g2,q)中的配对运算e。另外,关于非对称双线性配对组(G1,G2,GT,g1,g2,q)和配对运算,如实施方式1中所说明那样。
如下那样实现双对失真矢量空间。
V、V*、a0、…、aN-1、a* 0、…、a* N-1如式239所示。
[式239]
Figure BPA00001447882501211
Figure BPA00001447882501212
a0:=(g1,1,…,1),…,aN-1:=(1,…,1,g1),
a 0 * : = ( g 2 , 1 , . . . , 1 ) , . . . , a N - 1 * : = ( 1 , . . . , 1 , g 2 )
矢量x、y如式240所示。
[式240]
x : = &Sigma; i = 0 N - 1 x i a i ( resp . y : = &Sigma; i = 0 N - 1 y i a i * ) 成为
(x0g1,…,xN-1g1)(resp.(y0g2,…,yN-1g2))
如式241那样定义(V,V*)中的配对运算e。
[式241]
e ( x , y ) : = &Pi; i = 0 N - 1 e ( g 1 x i , g 2 y i ) = e ( g 1 , g 2 ) &Sigma; i = 0 N - 1 x i y i
此处,另外,在(G1,G2)和(V,V*)的双方中使用配对运算e的e这样的标记。另外,配对运算e的非退化性和双线性明确地成立。此处,是式242。
[式242]
e ( a i , a j * ) = u &delta; i , j , i , j &Element; { 0 , . . . , N - 1 }
此处
δ:Kroneckerδ(即,如果i=j则δi,j=1;如果i≠j则δi,j=0),
Figure BPA00001447882501217
另外,如式243那样单纯地定义失真映射φi,j
[式243]
针对 x : = ( g 1 x 0 , . . . , g 1 x j , . . . , g 1 x N - 1 )
Figure BPA00001447882501222
<利用对称双线性配对组的直积的实现方法>
即使使用了上述实施方式中说明的对称双线性配对组(G,GT,g,q),也可以与使用了非对称双线性配对组(G1,G2,GT,g1,g2,q)的情况同样地,构筑直积。即,成为V=V*、且A=A*的构造。因此,使用向配对运算e和基底A=A*中的基底矢量的投影,可以确认针对空间V=V*中的任意的非零的矢量x和x’都存在是x=cx’的c∈Fq
<利用种类数量为1以上的超特异曲线的雅可比簇的实现方法>
双对失真矢量空间被识别为若干个特别的超特异椭圆曲线C的雅可比簇中的有理数q的点的集合。即,V=V*:=Jacc[q]。空间V(和V*)的维度N是超特异椭圆曲线C的2倍。空间V的标准基底A=(a0,…,aN-1)是通过弗比尼斯自同态(frobenius endomorphism)的固有矢量而给出的。式244那样的所有的值κi,j∈Fq是根据非专利文献27记载的Weil配对e而决定的。如果使用这样的清楚的值κi,j,则可以构筑空间V*的双对标准正交基底A*
[式244]
e ( a i , a j * ) = u &delta; i , j , i , j &Element; { 0 , . . . , N - 1 }
此处
δ:Kroneckerδ(即,如果i=j则δi,j=1;如果i≠j则δi,j=0),
Figure BPA00001447882501224
此处,在非专利文献21中,将自同态φi,j称为失真映射,在k≠j时,无需满足φi,j(ak)=0。但是,非专利文献21示出了可通过多项式时间来计算针对<aj>的投影算子Prj、即Prj(ak)=δj,kaj。因此,φi,jPrj的结构是φi,jPrj(ak)=δj,kai。于是,它可通过多项式时间来计算。此处,将φi,jPrj称为失真映射。
实施方式9.
在以上的实施方式中,说明了在双对矢量空间中实现密码处理的方法。在本实施方式中,说明在对偶模(dual module)中实现密码处理的方法。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码处理。但是,在使用合成数M如式245那样表示了环R的情况下,即使在将环R设为系数的模块(module)中,也可以应用上述实施方式中说明的密码处理。
[式245]
Figure BPA00001447882501231
此处
Figure BPA00001447882501232
整数
M:合成数
例如,如果在将环R设为系数的模块中实现实施方式2中说明的分层式谓词密钥隐匿方式,则成为如式246至式250那样。
[式246]
Setup ( 1 &lambda; , &mu; &RightArrow; : = ( n , d ; &mu; 1 , . . . , &mu; d ) ) :
Figure BPA00001447882501234
Figure BPA00001447882501235
b i = &Sigma; j = 0 N - 1 x i , j a j ,
Figure BPA00001447882501237
( v i , j ) : = ( x T ) - 1 , b i * = &Sigma; j = 0 N - 1 v i , j a j * ,
Figure BPA000014478825012310
Figure BPA000014478825012311
return sk,pk.
[式247]
GenKey ( pk , sk , v &RightArrow; 1 : = ( v 0 , . . . , v &mu; 1 - 1 ) ) :
Figure BPA00001447882501242
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b n * ,
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . , n - 1
k &RightArrow; 1 * : = ( k 1,0 * , k 1 , &mu; 1 * , . . . , k 1 , n - 1 * ) .
return k &RightArrow; 1 * .
[式248]
Enc ( pk , x &RightArrow; : = ( x &RightArrow; 1 , . . . , x &RightArrow; L ) : = ( ( x 0 , . . . , x &mu; 1 - 1 ) , . . . , ( x &mu; L - 1 , . . . , x &mu; L - 1 ) ) ) :
Figure BPA00001447882501248
c : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n + &delta; n + 1 b n + 1 ,
K:=uρ.
return(c,K).
[式249]
Dec ( pk , k L , 0 * , c ) :
K &prime; : = e ( c , k L , 0 * ) ,
return K′.
[式250]
Delegate L ( pk , k &RightArrow; L * , v &RightArrow; L + 1 : = ( v &mu;L , . . . , v &mu;L + 1 - 1 ) ) :
Figure BPA00001447882501252
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu;L &mu; L + 1 - 1 v i k L , i * ) , j = 0 , &mu; L + 1 , &mu; L + 1 + 1 , . . . , n - 1 ,
k &RightArrow; L + 1 * : = ( k L + 1,0 * , k L + 1 , &mu; L + 1 * , . . . , k L + 1 , n - 1 * ) .
return k L + 1 * .
即,作为原则,通过将在以上的实施方式中作为域Fq而说明的处理置换成环R,可以在将环R设为系数的模块中实现以上的实施方式中说明的密码处理。
接下来,说明实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300、密钥移交装置400)的硬件结构。
图36是示出密钥生成装置100、加密装置200、解密装置300、密钥移交装置400的硬件结构的一个例子的图。
如图36所示,密钥生成装置100、加密装置200、解密装置300、密钥移交装置400具备执行程序的CPU 911(Central Processing Unit,也称为中央处理装置、处理装置、运算装置、微处理器、微型机算计、处理器)。CPU 911经由总线912而与ROM 913、RAM 914、LCD 901(Liquid Crystal Display,液晶显示器)、键盘902(K/B)、通信板915、磁盘装置920连接,控制这些硬件设备。也可以代替磁盘装置920(固定盘装置)而使用光盘装置、存储卡读写装置等存储装置。磁盘装置920经由规定的固定盘接口而连接。
ROM 913、磁盘装置920是非易失性存储器的一个例子。RAM914是易失性存储器的一个例子。ROM 913、RAM 914、以及磁盘装置920是存储装置(存储器)的一个例子。另外,键盘902、通信板915是输入装置的一个例子。另外,通信板915是通信装置(网络接口)的一个例子。而且,LCD 901是显示装置的一个例子。
在磁盘装置920或者ROM 913等中,存储有操作系统921(OS)、视窗系统922、程序群923、文件群924。程序群923的程序通过CPU911、操作系统921、视窗系统922执行。
在程序群923中,存储了执行在上述说明中作为“主密钥生成部110”、“主密钥存储部120”、“密钥矢量生成部130”、“密钥生成用矢量生成部140”、“密钥分发部150”、“发送信息设定部210”、“密码矢量生成部220”、“数据发送部230”、“会话密钥生成部240”、“验证信息生成部250”、“验证信息设定部260”、“签名信息生成部270”、“矢量输入部310”、“密钥矢量存储部320”、“配对运算部330”、“离散对数计算部340”、“矢量变形部350”、“解密部360”、“窜改验证部370”、“密钥矢量取得部410”、“密钥矢量生成部420”、“密钥生成用矢量生成部430”、“密钥分发部440”等而说明的功能的软件、程序、其他程序。程序由CPU 911读出并执行。
在上述说明中,在文件群924中作为“文件”、“数据库”的各项目而存储有“主公开密钥pk”、“主秘密密钥sk”、“密码矢量c”、“密钥矢量”等信息、数据、信号值、变量值、参数。“文件”、“数据库”存储在盘、存储器等记录介质中。盘、存储器等存储介质中存储的信息、数据、信号值、变量值、参数经由读写电路由CPU 911读出到主存储器、闪存存储器中,利用于抽出、检索、参照、比较、运算、计算、处理、输出、打印、显示等的CPU 911的动作。在抽出、检索、参照、比较、运算、计算、处理、输出、打印、显示的CPU 911的动作的期间,信息、数据、信号值、变量值、参数临时存储到主存储器、闪存存储器、缓冲存储器中。
另外,上述说明中的流程图的箭头部分主要表示数据、信号的输入输出,数据、信号值记录在RAM 914的存储器、其他光盘等记录介质、IC芯片中。另外,数据、信号通过总线912、信号线、电缆、其他传送介质、电波而被在线传送。
另外,在上述说明中说明为“~部”的部分既可以是“~电路”、“~装置”、“~仪器”、“~单元”、“~功能”,另外也可以是“~步骤”、“~过程”、“~处理”。另外,说明为“~装置”的部分既可以是“~电路”、“~装置”、“~仪器”、“~单元”、“~功能”,另外也可以是“~步骤”、“~过程”、“~处理”。而且,说明为“~处理”的部分也可以是“~步骤”。即,说明为“~部”的部分也可以通过ROM 913中存储的固件来实现。或者,也可以仅通过软件、或者仅通过元件、设备、基板、配线等硬件,或者通过软件和硬件的组合,进而通过与固件的组合来实施。固件和软件作为程序而存储到ROM 913等记录介质中。程序由CPU 911读出并由CPU 911执行。即,程序使计算机等作为上述中叙述的“~部”而发挥功能。或者,使计算机等执行上述中叙述的“~部”的过程、方法。

Claims (47)

1.一种密码处理系统,使用通过配对运算关联起来的双对矢量空间即空间V和空间V*来进行密码处理,其特征在于,具备:
加密装置,通过处理装置,生成所述空间V中的嵌入了规定的信息的矢量来作为密码矢量;以及
解密装置,将所述空间V*中的规定的矢量作为密钥矢量,对于所述加密装置所生成的密码矢量和所述密钥矢量,通过处理装置进行所述配对运算,对所述密码矢量进行解密而抽出与所述规定的信息相关的信息。
2.根据权利要求1所述的密码处理系统,其特征在于,
所述密码处理系统在作为N维矢量空间的所述空间V和作为N维矢量空间的所述空间V*中进行密码处理,
所述加密装置生成所述空间V中的N维矢量χ:=(χ0g1,…,χN-1g1)来作为密码矢量,
所述解密装置将所述空间V*中的N维矢量η:=(η0g2,…,ηN-1g2)作为密钥矢量,对于所述密码矢量χ:=(χ0g1,…,χN-1g1)、和所述密钥矢量η:=(η0g2,…,ηN-1g2),进行式1所示的配对运算e(χ,η),
[式1]
e ( p , q ) : = &Pi; i = 0 N - 1 e ( &chi; i g 1 , &eta; i g 2 ) .
3.根据权利要求1或者2所述的密码处理系统,其特征在于,
所述密码处理系统在具有满足式2所示的标准正交基底的必要条件的标准基底A:=(a0,…,aN-1)的空间V、和具有标准基底A*:=(a* 0,…,a* N-1)的空间V*中进行密码处理,
[式2]
e ( a i , a j * ) = u &delta; i , j
此处,
针对所有的i、j,如果i=j则δi,j=1,如果i≠j则δi,j=0,
u≠1。
4.根据权利要求1~3中的任意一项所述的密码处理系统,其特征在于,
所述空间V和所述空间V*是分别具有标准基底A:=(a0,…,aN-1)和A*:=(a* 0,…,a* N-1)的空间,其中,该标准基底A:=(a0,…,aN-1)和A*:=(a* 0,…,a* N-1)具有式3和式4所示的失真映射φi,j和φ* i,j
[式3]
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0
[式4]
&phi; i , j * ( a j * ) = a i *
如果k≠j,则 &phi; i , j * ( a k * ) = 0 .
5.根据权利要求1~4中的任意一项所述的密码处理系统,其特征在于,
所述加密装置生成对所述空间V的标准基底A进行规定的运算而得到的基底B中的矢量,来作为密码矢量,
所述解密装置将与所述基底B标准正交的基底即基底B*中的矢量作为所述密钥矢量,其中,该基底B*是对所述空间V*的标准基底A*进行从所述规定的运算导出的运算而得到的基底B*
6.根据权利要求5所述的密码处理系统,其特征在于,
所述基底B是对所述标准基底A进行式5所示的运算而得到的基底B:=(b0,…,bN-1),
所述基底B*是对所述标准基底A*进行式6所示的运算而得到的基底B*:=(b* 0,…,b* N-1),
[式5]
b i = &Sigma; j = 0 N - 1 x i , j a j , i = 0 , . . . , N - 1
此处,
X : = ( x i , j ) &LeftArrow; U GL ( N , F q )
[式6]
b i * = &Sigma; j = 0 N - 1 v i , j a j * , i = 0 , . . . , N - 1
此处,
(vi,j):=(XT)-1
7.根据权利要求1~6中的任意一项所述的密码处理系统,其特征在于,
所述加密装置具备:
发送信息设定部,通过处理装置生成将ρ设定为与所述空间V中的规定的基底B的基底矢量bi(i=0,…,N-1)之中的基底矢量bn对应的系数的矢量,而作为发送信息矢量;以及
密码矢量生成部,将设定属性信息xi(i=0,…,μLx-1)来作为针对基底矢量bi(i=0,…,μLx-1)的系数的矢量,相加到所述发送信息设定部所生成的发送信息矢量,通过处理装置生成密码矢量,
所述解密装置具备:
密钥矢量存储部,将设定规定的值作为与所述空间V*中的规定的基底B*的基底矢量b* i(i=0,…,N-1)之中的规定的基底矢量b* n对应的系数、并且设定谓词信息vi(i=0,…,μLv-1)(μLx≥μLv)作为针对基底矢量b* i(i=0,…,μLv-1)的系数的矢量,作为密钥矢量而存储到存储装置中;以及
配对运算部,利用处理装置针对所述密码矢量生成部所生成的密码矢量、和所述密钥矢量存储部所存储的密钥矢量进行所述配对运算,从所述密码矢量中抽出与设定为所述基底矢量bn的系数的ρ相关的值。
8.根据权利要求1~7中的任意一项所述的密码处理系统,其特征在于,
所述密码处理系统还具备密钥生成装置,
该密钥生成装置具备密钥矢量生成部,该密钥矢量生成部通过处理装置,生成将规定的值设定为与所述空间V*中的规定的基底B*的基底矢量b* i(i=0,…,n-1)之中的规定的基底矢量b* n对应的系数、并且将谓词信息vi(i=0,…,μL-1)设定为针对基底矢量b* i(i=0,…,μL-1)的系数的矢量,而作为密钥矢量kL,0
9.根据权利要求8所述的密码处理系统,其特征在于,
所述密钥生成装置还具备密钥生成用矢量生成部,
该密钥生成用矢量生成部针对i=μL、…、n-1的各i,通过处理装置生成将规定的值设定为针对基底矢量b* i的系数的((n-1)-μL-1)个矢量,而作为用于生成所述密钥矢量kL,0的下位的密钥矢量的密钥生成用矢量kL,i(i=μL,…,n-1)。
10.根据权利要求1~9中的任意一项所述的密码处理系统,其特征在于,
所述密码处理系统还具备密钥移交装置,
该密钥移交装置具备:
密钥矢量生成部,将设定谓词信息vi(i=μL,…,μL+1-1)作为针对密钥生成用矢量kL,i(i=μL,…,μL+1-1)的系数的矢量vi(i=μL,…,μL+1-1)、与所述密钥矢量kL,0相加,通过处理装置,生成所述密钥矢量kL,0的下位的密钥矢量即密钥矢量kL+1,0;以及
密钥生成用矢量生成部,对密钥生成用矢量kL,i(i=μL+1,…,n-1)施加规定的变更,通过处理装置生成用于生成所述密钥矢量kL+1,0的下位的密钥矢量的密钥生成用矢量kL,i(i=μL+1,…,n-1)。
11.一种密钥生成装置,生成作为谓词密码中的秘密密钥的密钥矢量kL,0,其特征在于,具备:
主密钥存储部,将通过配对运算关联起来的双对矢量空间即空间V和空间V*之中的所述空间V*,作为主秘密密钥而存储到存储装置中;以及
密钥矢量生成部,通过处理装置生成将规定的值设定为与所述主密钥存储部所存储的主秘密密钥即所述空间V*中的规定的基底B*的基底矢量b* i(i=0,…,N-1)之中的规定的基底矢量b* n对应的系数、并且将谓词信息vi(i=0,…,μL-1)设定为针对基底矢量b* i(i=0,…,μL-1)的系数的矢量,而作为密钥矢量kL,0
12.根据权利要求11所述的密钥生成装置,其特征在于,
所述密钥矢量生成部设定与属性信息xi(i=0,…,μL-1)的内积成为0的谓词信息vi(i=0,…,μL-1),而作为针对基底矢量b* i(i=0,…,μL-1)的系数。
13.根据权利要求11或者12所述的密钥生成装置,其特征在于,
所述密钥矢量生成部生成式7所示的密钥矢量kL,0
[式7]
k L , 0 * : = &sigma; L , 0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b n *
此处,
Figure FPA00001447882400052
第L层的秘密密钥的开头要素,
σL,0,…,σL,L-1:规定的值,
vi:谓词信息。
14.根据权利要求11~13中的任意一项所述的密钥生成装置,其特征在于,
所述密钥生成装置还具备密钥生成用矢量生成部,
该密钥生成用矢量生成部针对i=μL、…、n-1的各i,通过处理装置生成将规定的值设定为针对基底矢量b* i的系数的((n-1)-μL-1)个矢量,而作为用于生成所述密钥矢量kL,0的下位的密钥矢量的密钥生成用矢量kL,i(i=μL,…,n-1)。
15.根据权利要求14所述的密钥生成装置,其特征在于,
所述密钥矢量生成部生成式8所示的密钥矢量kL,0
所述密钥生成用矢量生成部生成式8所示的密钥生成用矢量kL,i(i=μL,…,n-1),
[式8]
k L , 0 * : = &sigma; L , 0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b n * ,
k L , j * : = &sigma; L , j , 1 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; L , j , L - 1 ( &Sigma; i = &mu; L - 1 &mu; L - 1 v i b i * ) + b j * .
j=μL,…,n-1
此处,
Figure FPA00001447882400063
第L层的秘密密钥的开头要素,
Figure FPA00001447882400064
第L层的秘密密钥的第j个要素,
vi:谓词信息
Figure FPA00001447882400065
规定的值。
16.一种密钥移交装置,生成作为谓词密码中的秘密密钥的密钥矢量,其特征在于,具备:
密钥矢量取得部,取得能对通过配对运算关联起来的双对矢量空间即空间V和空间V*之中的所述空间V中的规定的密码矢量进行解密的所述空间V*中的密钥矢量;以及
密钥矢量生成部,根据所述密钥矢量取得部所取得的密钥矢量,通过处理装置生成能对利用所述密钥矢量能够解密的所述规定的密码矢量之中的一部分密码矢量进行解密的所述空间V*中的新的密钥矢量。
17.根据权利要求16所述的密钥移交装置,其特征在于,
所述密钥矢量取得部取得将谓词信息设定为与所述空间V*中的规定的基底B*的规定的基底矢量对应的系数的矢量,而作为密钥矢量,
所述密钥矢量生成部将设定谓词信息作为与所述规定的基底矢量以外的所述基底B*的基底矢量对应的系数的矢量,与所述密钥矢量取得部所取得的密钥矢量相加,而生成新的密钥矢量。
18.根据权利要求16或者17所述的密钥移交装置,其特征在于,
所述密钥矢量取得部取得对所述基底B*的基底矢量b* i(i=0,…,N-1)之中的基底矢量b* i(i=0,…,μL-1)设定了谓词信息vi(i=0,…,μL-1)的第L层的密钥矢量kL,0、和设定规定的值作为针对基底矢量b* i的系数的密钥生成用矢量kL,i(i=μL,…,μL+1-1),
所述密钥矢量生成部针对i=μL、…、μL+1-1的各i,将所述密钥矢量取得部所取得的密钥生成用矢量kL,i的设定谓词信息vi作为针对基底矢量b* i的系数的矢量vi(i=μL,…,μL+1-1),与所述密钥矢量kL,0相加,通过处理装置生成第L+1层的密钥矢量kL+1,0
19.根据权利要求18所述的密钥移交装置,其特征在于,
所述密钥矢量生成部将与所述密钥生成用矢量kL,i的基底矢量b* i对应的系数,和与属性信息xi(i=μL,…,μL+1-1)的内积成为0的谓词信息vi(i=μL,…,μL+1-1)相乘。
20.根据权利要求18或者19所述的密钥移交装置,其特征在于,
所述密钥矢量生成部根据密钥矢量kL,0和密钥生成用矢量kL,i,生成式9所示的密钥矢量kL+1,0
[式9]
k L + 1,0 * : = k L , 0 * + &sigma; L + 1,0 ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * ) ,
此处,
Figure FPA00001447882400072
第L+1层的秘密密钥的开头要素,
Figure FPA00001447882400073
第L层的秘密密钥的开头要素,
Figure FPA00001447882400074
第L层的秘密密钥的第i个要素,
vi:谓词信息,
σL+1,0:规定的值。
21.根据权利要求18~20中的任意一项所述的密钥移交装置,其特征在于,
所述密钥移交装置还具备密钥生成用矢量生成部,
该密钥生成用矢量生成部对密钥生成用矢量kL,i(i=μL,…,μL+1-1)施加规定的变更,通过处理装置生成用于生成所述密钥矢量kL+1,0的下位的密钥矢量的密钥生成用矢量kL,i(i=μL+1,…,n-1)。
22.根据权利要求21所述的密钥移交装置,其特征在于,
所述密钥矢量取得部取得式10所示的密钥矢量kL,0和密钥生成用矢量kL,i(i=μL,…,n-1),
所述密钥矢量生成部根据所述密钥矢量取得部所取得的密钥矢量kL,0和密钥生成用矢量kL,i,生成式10所示的密钥矢量kL+1,0
所述密钥生成用矢量生成部根据所述密钥矢量取得部所取得的密钥生成用矢量kL,i,生成式10所示的密钥生成用矢量kL+1,i(i=μL+1,…,n-1),
[式10]
k L + 1,0 * : = k L , 0 * + &sigma; L + 1,0 ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * ) ,
k L + 1 , j * : = k L , j * + &sigma; L + 1 , j ( &Sigma; i = &mu; L &mu; L + 1 - 1 v i k L , i * )
j=μL+1,μL+1+1,…,n-1
此处,
Figure FPA00001447882400083
第L+1层的秘密密钥的开头要素,
Figure FPA00001447882400084
第L+1层的秘密密钥的第i个要素,
Figure FPA00001447882400085
第L层的秘密密钥的开头要素,
第L层的秘密密钥的第i个要素,
vi:谓词信息,
σL+1,0:规定的值,
σL+1,j:规定的值,
k 1,0 * : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b n * ,
k 1 , j * : = &sigma; 1 , j ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + b j * , j = &mu; 1 , &mu; 1 + 1 , . . . , n - 1 ,
σ1,0,σ1,μ1,…,σ1,n-1:规定的值。
23.一种加密装置,其特征在于,具备:
发送信息设定部,通过处理装置生成将ρ设定为与通过配对运算关联起来的双对矢量空间即空间V和空间V*之中的空间V中的规定的基底B的基底矢量bi(i=0,…,N-1)中的基底矢量bn对应的系数的矢量,而作为发送信息矢量;以及
密码矢量生成部,将设定属性信息xi(i=0,…,μLx-1)作为针对基底矢量bi(i=0,…,μLx-1)的系数的属性矢量,与所述发送信息设定部所生成的发送信息矢量相加,通过处理装置生成密码矢量。
24.根据权利要求23所述的加密装置,其特征在于,
所述发送信息设定部生成式11所示的发送信息矢量ρv,
所述密码矢量生成部将式12所示的属性信息矢量xv与式11所示的发送信息矢量ρv相加而生成密码矢量c,
[式11]
ρv:=ρbn
此处,
ρ:规定的值
[式12]
xv : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i )
此处,
δ1,…,δd:规定的值,
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1)。
25.一种解密装置,其特征在于,具备:
矢量输入部,输入将ρ设定为通过配对运算关联起来的双对矢量空间即空间V和空间V*之中的空间V中的规定的基底B的基底矢量bi(i=0,…,N-1)中的基底矢量bn的系数、并且对基底矢量bi(i=0,…,μLx-1)的规定的基底矢量的系数设定了属性信息xi(i=0,…,μLx-1)的矢量,而作为密码矢量;
密钥矢量存储部,将设定规定的值作为与所述空间V*中的规定的基底B*的基底矢量b* i(i=0,…,N-1)中的规定的基底矢量b* n对应的系数、并且设定谓词信息vi(i=0,…,μLv-1)作为针对基底矢量b* i(i=0,…,μLv-1)(μLx≥μLv)的系数的矢量,作为密钥矢量而存储到存储装置中;以及
配对运算部,利用处理装置对所述矢量输入部所输入的密码矢量和所述密钥矢量存储部所存储的密钥矢量进行所述配对运算,从所述密码矢量抽出与设定为所述基底矢量bn的系数的ρ相关的值。
26.根据权利要求25所述的解密装置,其特征在于,
所述矢量输入部输入式13所示的密码矢量c,
所述密钥矢量存储部存储式14所示的密钥矢量kv,
所述配对运算部进行式15所示的配对运算,抽出uρ
[式13]
c : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n
此处,
ρ:规定的值,
δ1,…,δd:规定的值,
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1)
[式14]
kv : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; Lv , 0 ( &Sigma; i = &mu; Lv - 1 &mu; Lv - 1 v i b i * ) + b n *
此处,
σ1,0,σ2,0,…,σLv,0:规定的值,
vi:谓词信息
[式15]
e ( c , kv ) : = &Pi; i = 0 N - 1 e ( c i b i , kv i b i * )
此处,
e ( b i , b j * ) = u &delta; i , j ,
针对所有的i、j,如果i=j则δi,j=1,如果i≠j则δi,j=0,
u≠1,
ci:密码矢量c的基底矢量bi的系数,
kvi:密钥矢量kv的基底矢量b* i的系数。
27.根据权利要求23所述的加密装置,其特征在于,
所述加密装置还具备验证信息设定部,
该验证信息设定部通过处理装置生成将包括验证信息的信息设定为与基底矢量bn和所述基底矢量bi(i=0,…,μLx-1)以外的规定的基底矢量对应的系数的矢量,而作为验证信息矢量,
所述密码矢量生成部将所述属性矢量、所述发送信息矢量、以及所述验证信息设定部所生成的验证信息矢量相加而生成密码矢量,
所述加密装置还具备:
签名信息生成部,通过处理装置生成根据所述验证信息设定部所设定的验证信息来验证的签名信息;以及
数据发送部,将所述密码矢量生成部所生成的密码矢量、所述签名信息生成部所生成的签名信息、以及所述验证信息发送到解密装置。
28.根据权利要求27所述的加密装置,其特征在于,
所述验证信息设定部生成将包括第1验证信息com的信息设定为针对所述规定的基底矢量的系数的矢量,而作为验证信息矢量,
所述密码矢量生成部生成所述密码矢量而作为数据c1,
所述签名信息生成部具备:
c2生成部,利用根据设定为针对所述基底矢量bn的系数的ρ而生成的会话密钥,对明文信息m和第2验证信息dec进行加密,生成数据c2;
c3生成部,生成所述第1验证信息com而作为数据c3;以及
c4生成部,生成根据基于所述第1验证信息com和所述第2验证信息dec而能够生成的第3验证信息r对所述数据c1和所述数据c2进行加密得到的签名信息,而作为数据c4,
所述数据输出部输出所述密码矢量生成部所生成的数据c1、所述c2生成部所生成的数据c2、所述c3生成部所生成的数据c3、以及所述c4生成部所生成的数据c4。
29.根据权利要求28所述的加密装置,其特征在于,
所述发送信息设定部生成式16所示的发送信息矢量ρv,
所述验证信息设定部生成式17所示的验证信息矢量cv,
所述c1生成部将式18所示的属性信息矢量xv、式16所示的发送信息矢量ρv、以及式17所示的验证信息矢量cv相加而生成数据c1,
所述c2生成部按照式19生成数据c2,
所述c4生成部按照式20生成数据c4,
[式16]
ρv:=ρbn
此处,
ρ:规定的值
[式17]
cv:=δn+2(bn+2+combn+3)
此处,
δn+2:规定的值,
com:第1验证信息
[式18]
xv : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i )
此处,
δ1,…,δd:规定的值,
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1)
[式19]
c2:=SEKDF(K)(m,dec)
此处,
c2:数据c2,
SEkey(x):通过共用密钥key对数据x进行加密的处理,
KDF(x):根据数据x生成密钥的处理,
K:uρ
m:明文信息,
dec:第2验证信息
[式20]
c4:=Macr(c1,c2)
此处,
c1:数据c1,
c2:数据c2,
c4:数据c4,
Mackey(x):针对数据x利用密钥key进行加密的处理,
r:第3验证信息。
30.根据权利要求25所述的解密装置,其特征在于,
所述矢量输入部输入:将ρ设定为所述基底矢量bn的系数、且将属性信息xi(i=0,…,μLx-1)设定为针对所述基底矢量bi(i=0,…,μLx-1)的系数、且将包括验证信息的信息设定为与所述基底矢量bn和所述基底矢量bi(i=0,…,μLx-1)以外的规定的基底矢量对应的系数的密码矢量;根据所述验证信息验证的签名信息;以及所述验证信息,
所述解密装置还具备密钥矢量变形部,
该密钥矢量变形部将设定包括所述验证信息的信息作为针对规定的基底矢量的系数的矢量,与所述密钥矢量存储部所存储的密钥矢量相加,通过处理装置使密钥矢量变形,
所述配对运算部对所述矢量输入部所输入的密码矢量和所述密钥矢量变形部变形了的密钥矢量进行所述配对运算,从所述密码矢量抽出与设定为所述基底矢量bn的系数的ρ相关的值,
所述解密装置还具备窜改验证部,
该窜改验证部根据所述验证信息,通过处理装置来验证所述签名信息没有窜改。
31.根据权利要求30所述的解密装置,其特征在于,
所述矢量输入部输入:
数据c1,是将包括第1验证信息com的信息设定为所述验证信息的密码矢量;
数据c2,是利用根据设定为与所述数据c1的所述基底矢量bn对应的系数的ρ而生成的会话密钥,对明文信息m和第2验证信息dec进行加密得到的数据;
数据c3,是第1验证信息com;以及
数据c4,是根据基于所述第1验证信息com和所述第2验证信息dec而能够生成的第3验证信息r对所述数据c1和所述数据c2进行加密得到的签名信息,
所述解密装置还具备c2解密部,
该c2解密部根据所述配对运算部所抽出的与ρ相关的值而生成会话密钥,利用所生成的会话密钥对所述数据c2进行解密,取得所述明文信息m和所述第2验证信息dec,
所述窜改验证部根据所述c2解密部所取得的第2验证信息和所述数据c3生成所述第3验证信息r,并且根据所生成的所述第3验证信息r和所述数据c4,来验证所述数据c1和所述数据c2没有窜改。
32.根据权利要求31所述的解密装置,其特征在于,
所述数据输入部输入式21所示的数据c1、数据c2、数据c3、以及数据c4,
所述密钥矢量存储部存储式22所示的密钥矢量kv,
所述密钥矢量变形部按照式23对密钥矢量kv进行变换,
所述配对运算部进行式24所示的配对运算,取得与ρ相关的值K,
所述c2解密部按照式25根据所述与ρ相关的值K生成共用密钥,利用所生成的共用密钥对所述数据c2进行解密,取得所述明文信息m和所述第2验证信息dec,
所述窜改验证部按照式26生成所述第3验证信息r,按照式27来验证窜改,
[式21]
c 1 : = &delta; 1 ( &Sigma; i = 0 &mu; 1 - 1 x i b i ) + &CenterDot; &CenterDot; &CenterDot; + &delta; d ( &Sigma; i = &mu; d - 1 n - 1 x i b i ) + &rho; b n
+ &delta; n + 2 ( b n + 2 + comb n + 3 )
c2:=SEKDF(K)(m,dec),
c3:=com,
c4:=Macr(c1,c2)
此处,
δ1,…,δd,δn+2:规定的值,
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1),
ρ:规定的值,
com:第1验证信息
dec:第2验证信息
r:第3验证信息
K:uρ
e ( b i , b i * ) = u ,
m:明文信息
SEkey(x):利用共用密钥key对数据x进行加密的处理
KDF(x):根据数据x生成密钥的处理
Mackey(x):利用密钥key对数据x进行加密的处理
[式22]
kv : = &sigma; 1,0 ( &Sigma; i = 0 &mu; 1 - 1 v i b i * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; Lv , 0 ( &Sigma; i = &mu; Lv - 1 &mu; Lv - 1 v i b i * ) + b n *
此处,
σ1,0,σ2,0,…,σLv,0:规定的值,
vi:谓词信息
[式23]
此处,
Figure FPA00001447882400163
规定的值,
c3:数据c3,
Figure FPA00001447882400164
设定规定的值作为针对基底矢量b* n+2的系数的矢量
Figure FPA00001447882400165
设定规定的值作为针对基底矢量b* n+3的系数的矢量
[式24]
Figure FPA00001447882400166
此处,
e ( b i , b j * ) = u &delta; i , j ,
针对所有的i、j,如果i=j则δi,j=1,如果i≠j则δi,j=0
u≠1,
ci:密码矢量c的基底矢量bi的系数
Figure FPA00001447882400168
变形后的密钥矢量kv的基底矢量b* i的系数
[式25]
(m,dec):=SDKDF(K)(c2)
此处,
m:明文信息,
dec:第2验证信息,
SDkey(x):利用共用密钥key对数据x进行解密的处理,
KDF(x):根据数据x生成密钥的处理,
c2:数据c2
[式26]
r:=Renc(pub,c3,dec)
此处,
r:第3验证信息,
Renc(pub,com,dec):根据pub,com,dec生成r的处理,
pub:公开的信息
[式27]
r≠⊥?∧Vrfyr((c1,c2),c4)=1
此处,
r:第3验证信息,
⊥:识别信息,
Figure FPA00001447882400171
x2:=MACkey(x1)时,
Figure FPA00001447882400172
Figure FPA00001447882400173
key=key′的情况下返回1的处理。
33.根据权利要求23所述的加密装置,其特征在于,
所述发送信息设定部针对t=0、…、n-1的各t,生成将明文信息m设定为与所述空间V中的基底B[t]的基底矢量b[t] i(i=0,…,N-1)之中的基底矢量b[t] n对应的系数的矢量,而作为发送信息矢量mv[t]
所述密码矢量生成部针对t=0、…、n-1的各t,将设定式28所示的系数值s[t] i作为针对基底矢量b[t] i(i=0,…,μLx-1)的系数的属性信息矢量xv[t]与所述发送信息设定部所生成的发送信息矢量mv[t]相加,而生成密码矢量c[t]
[式28]
&Sigma; t = 0 n - 1 s i [ t ] = &delta; i x i , i = 0 , . . . , &mu; Lx - 1
此处,
系数值,
δi:规定的值,
xi:属性信息。
34.根据权利要求33所述的加密装置,其特征在于,
所述发送信息设定部生成式29所示的发送信息矢量mv[t]
所述密码矢量生成部将式30所示的属性信息矢量xv[t]与式29所示的发送信息矢量mv[t]相加,而生成密码矢量c[t]
[式29]
mv [ t ] : = m b n [ t ] , t = 0 , . . . , n - 1
[式30]
xv [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] , t = 0 , . . . , n - 1
此处,
Figure FPA00001447882400183
规定的值(i=0,…,n-1,t=0,…,n-2),
s i [ n - 1 ] : = &delta; i x i - ( &Sigma; t - 0 n - 2 s i [ t ] ) , i = 0 , . . . , n - 1 ,
δi:规定的值(i=0,…,n-1),
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1)。
35.根据权利要求25所述的解密装置,其特征在于,
所述矢量输入部针对t=0、…、n-1的各t,输入将明文信息m设定为与所述空间V中的基底B[t]的基底矢量b[t] i(i=0,…,N-1)之中的基底矢量b[t] n对应的系数、并且将式31所示的系数值s[t] i设定为针对基底矢量b[t] i(i=0,…,μLx-1)的系数的矢量v[t],而作为密码矢量c[t]
所述密钥矢量存储部针对t=0、…、n-1的各t,将设定规定的值作为与所述空间V*中的基底B[t]*的基底矢量b[t]* i(i=0,…,N-1)之中的基底矢量b[t]* n对应的系数、并且设定谓词信息vi(i=0,…,μLv-1)作为针对矢量b[t]* i(i=0,…,μLv-1)(μLx≥μLv)的系数的矢量v[t],作为密钥矢量kv[t]而存储到存储装置中,
所述配对运算部针对t=0、…、n-1的各t,对所述矢量输入部所输入的密码矢量c[t]、和所述密钥矢量存储部所存储的密钥矢量kv[t]进行所述配对运算,根据所述密码矢量生成与设定为所述基底矢量b[t] n的系数的明文信息m相关的信息f,并且针对t=0、…、n-1的各t,对基底矢量b[t] n和所述密钥矢量kv[t]进行所述配对运算,生成用于从所述值f抽出所述明文信息m的信息g,
所述解密装置还具备离散对数计算部,
该离散对数计算部针对所述配对运算部所生成的信息f,以信息g为底而计算离散对数问题,计算所述明文信息m,
[式31]
&Sigma; t = 0 n - 1 s i [ t ] = &delta; i x i , i = 0 , . . . , &mu; Lx - 1
此处,
系数值,
δi:规定的值,
xi:属性信息。
36.根据权利要求35所述的解密装置,其特征在于,
所述矢量输入部输入式32所示的密码矢量c[t]
所述密钥矢量存储部存储式33所示的密钥矢量kv[t]
所述配对运算部进行式34所示的配对运算而生成信息f和信息g,
所述离散对数问题求解式35所示的离散对数问题而计算明文信息m,
[式32]
c [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] + m b n [ t ] , t = 0 , . . . , n - 1
此处,
规定的值(i=0,…,n-1,t=0,…,n-2),
s i [ n - 1 ] : = &delta; i x i - ( &Sigma; t - 0 n - 2 s i [ t ] ) , i = 0 , . . . , n - 1 ,
δi:规定的值(i=0,…,n-1),
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1)
m:明文信息
[式33]
kv [ t ] : = &sigma; 1,0 [ t ] ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; Lv , 0 [ t ] ( &Sigma; i = &mu; Lv - 1 &mu; Lv - 1 v i b i [ t ] * ) + b n [ t ] *
t=0,…,n-1
此处,
σ1,0,σ2,0,…,σLv,0:规定的值,
vi:谓词信息
[式34]
f : = &Pi; t = 0 n - 1 e ( c [ t ] , kv [ t ] )
g : = &Pi; t = 0 n - 1 e ( b n [ t ] , kv [ t ] )
此处,
e ( c [ t ] , kv [ t ] ) : = &Pi; i = 0 N - 1 e ( c i [ t ] b i [ t ] , kv i [ t ] b i [ t ] * ) , t = 0 , . . . , n - 1 ,
e ( b n [ t ] , kv [ t ] ) : = &Pi; i = 0 N - 1 e ( b n [ t ] , kv i [ t ] b i [ t ] * ) , t = 0 , . . . , n - 1 .
e ( b i , b j * ) = u &delta; i , j ,
针对所有的i、j,如果i=j则δi,j=1,如果i≠j则δi,j=0,
Figure FPA00001447882400207
密码矢量c[t]的基底矢量b[t] i的系数,
Figure FPA00001447882400208
变形后的密钥矢量kv[t]的基底矢量b[t]* i的系数
[式35]
m:=Dlogg(f)
此处,
Dlogx(y):表示针对y以x为底求解离散对数问题。
37.根据权利要求33所述的加密装置,其特征在于,
所述加密装置还具备验证信息设定部,
该验证信息设定部针对t=0、…、n-1的各t,生成将包括验证信息vk的信息设定为与基底矢量b[t] n和所述基底矢量b[t] i(i=0,…,μLx-1)以外的规定的基底矢量b[t] j对应的系数的矢量v[t],而作为验证信息矢量ck[t]
所述密码矢量生成部针对t=0、…、n-1的各t,将所述属性信息矢量xv[t]、发送信息矢量mv[t]、以及所述验证信息设定部所生成的验证信息矢量ck[t]相加,而生成密码矢量c[t]
所述加密装置还具备:
签名信息生成部,生成根据所述验证信息设定部所设定的验证信息vk来验证的签名信息∑;以及
数据发送部,将所述密码矢量生成部所生成的密码矢量c[t](t=0,…,n-1)、所述签名信息生成部所生成的签名信息∑、以及所述验证信息vk发送到解密装置。
38.根据权利要求37所述的加密装置,其特征在于,
所述发送信息设定部生成式36所示的发送信息矢量mv[t]
所述验证信息设定部生成式37所示的验证信息矢量ck[t]
所述密码矢量生成部将式38所示的属性信息矢量xv[t],与式36所示的发送信息矢量mv[t]和式37所示的验证信息矢量ck[t]相加,而生成密码矢量c[t]
[式36]
mv [ t ] : = mb n [ t ] , t = 0 , . . . , n - 1
[式37]
ck [ t ] : = &delta; n + 2 ( b n + 2 [ t ] + vkb n + 3 [ t ] ) , t = 0 , . . . , n - 1
此处,
δn+2:规定的值,
vk:验证信息
[式38]
xv [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] , t = 0 , . . . , n - 1
此处,
Figure FPA00001447882400222
规定的值(i=0,…,n-1,t=0,…,n-2),
s i [ n - 1 ] : = &delta; i x i - ( &Sigma; t - 0 n - 2 s i [ t ] ) , i = 0 , . . . , n - 1 ,
δi:规定的值(i=0,…,n-1),
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1)。
39.根据权利要求35所述的解密装置,其特征在于,
所述矢量输入部针对t=0、…、n-1的各t,输入:设定包括验证信息vk的信息作为与所述基底矢量b[t] n和所述基底矢量b[t] i(i=0,…,μLx-1)以外的规定的基底矢量b[t] j对应的系数的密码矢量c[t]、根据所述验证信息vk验证的签名信息∑、以及所述验证信息vk,
所述解密装置还具备密钥矢量变形部,
该密钥矢量变形部针对t=0、…、n-1的各t,将设定包括所述验证信息vk的信息作为针对规定的基底矢量b[t] k的系数的矢量v[t]与所述密钥矢量存储部所存储的密钥矢量相加,而使密钥矢量kv[t]变形,
所述配对运算部针对t=0、…、n-1的各t,对所述矢量输入部所输入的密码矢量c[t]和所述密钥矢量变形部变形了的密钥矢量kv[t]进行所述配对运算而生成信息f,并且针对t=0、…、n-1的各t,对基底矢量b[t] n和所述变形了的密钥矢量kv[t]进行所述配对运算而生成信息g,
所述解密装置还具备窜改验证部,
该窜改验证部根据所述验证信息vk,验证所述签名信息∑没有窜改。
40.根据权利要求39所述的解密装置,其特征在于,
所述矢量输入部输入式39所示的密码矢量c[t]、根据所述验证信息vk验证的签名信息∑、以及所述验证信息vk,
所述密钥矢量存储部存储式40所示的密钥矢量kv[t]
所述密钥矢量变形部按照式41对密钥矢量kv[t]进行变换,
所述配对运算部进行式42所示的配对运算,抽出信息f和信息g,
[式39]
c [ t ] : = &Sigma; i = 0 n - 1 s i [ t ] b i [ t ] + m b n [ t ] + &delta; n + 2 ( b n + 2 [ t ] + vkb n + 3 [ t ] )
t=0,…,n-1
此处,
Figure FPA00001447882400232
规定的值(i=0,…,n-1,t=0,…,n-2),
s i [ n - 1 ] : = &delta; i x i - ( &Sigma; t - 0 n - 2 s i [ t ] ) i=0,…,n-1,
δi:规定的值(i=0,…,n-1),
xi:属性信息(i=0,…,μLx-1),
xi:规定的值(i=μLx,…,n-1),
m:明文信息,
δn+2:规定的值,
vk:验证信息
[式40]
kv [ t ] : = &sigma; 1,0 [ t ] ( &Sigma; i = 0 &mu; 1 - 1 v i b i [ t ] * ) + &CenterDot; &CenterDot; &CenterDot; + &sigma; Lv , 0 [ t ] ( &Sigma; i = &mu; Lv - 1 &mu; Lv - 1 v i b i [ t ] * ) + b n [ t ] *
t=0,…,n-1
此处,
σ1,0,σ2,0,…,σLv,0:规定的值,
vi:谓词信息
[式41]
Figure FPA00001447882400241
此处,
Figure FPA00001447882400242
规定的值,
c3:数据c3,
Figure FPA00001447882400243
设定规定的值作为针对基底矢量b[t]* n+2的系数的矢量
Figure FPA00001447882400244
设定规定的值作为针对基底矢量b[t]* n+3的系数的矢量
[式42]
Figure FPA00001447882400245
此处,
Figure FPA00001447882400248
e ( b i , b j * ) = u &delta; i , j ,
针对所有的i、j,如果i=j则δi,j=1,如果i≠j则δi,j=0,
Figure FPA000014478824002410
密码矢量c[t]的基底矢量b[t] i的系数,
Figure FPA000014478824002411
变形后的密钥矢量kv[t]的基底矢量b[t]* i的系数。
41.一种密码处理系统,使用通过配对运算关联起来的对偶模即空间V和空间V*来进行密码处理,其特征在于,具备:
加密装置,生成所述空间V中的嵌入了规定的信息的矢量,而作为密码矢量;以及
解密装置,将所述空间V*中的规定的矢量作为密钥矢量,对所述加密装置所生成的密码矢量和所述密钥矢量进行所述配对运算,对所述密码矢量进行解密,抽出与所述规定的信息相关的信息。
42.一种密钥生成装置,生成作为谓词密码中的秘密密钥的密钥矢量kL,0,其特征在于,具备:
主密钥存储部,将通过配对运算关联起来的对偶模即空间V和空间V*中的所述空间V*,作为主秘密密钥而存储到存储装置中;以及
密钥矢量生成部,生成将规定的值设定为与作为所述主密钥存储部所存储的主秘密密钥即所述空间V*中的规定的基底B*的基底矢量b* i(i=0,…,N-1)之中的规定的基底矢量b* n对应的系数、并且将谓词信息vi(i=0,…,μL-1)设定为针对基底矢量b* i(i=0,…,μL-1)的系数的矢量,而作为密钥矢量kL,0
43.一种密钥移交装置,生成作为谓词密码中的秘密密钥的密钥矢量,其特征在于,具备:
密钥矢量取得部,取得能对通过配对运算关联起来的对偶模即空间V和空间V*之中的所述空间V中的规定的密码矢量进行解密的所述空间V*中的密钥矢量;以及
密钥矢量生成部,根据所述密钥矢量取得部取得的密钥矢量,通过处理装置生成能对利用所述密钥矢量能够解密的所述规定的密码矢量之中的一部分密码矢量进行解密的所述空间V*中的新的密钥矢量。
44.一种加密装置,其特征在于,具备:
发送信息设定部,生成将ρ设定为与通过配对运算关联起来的对偶模即空间V和空间V*之中的空间V中的规定的基底B的基底矢量bi(i=0,…,N-1)中的基底矢量bn对应的系数的矢量,而作为发送信息矢量;以及
密码矢量生成部,将设定属性信息xi(i=0,…,μLx-1)作为针对基底矢量bi(i=0,…,μLx-1)的系数的属性矢量,与所述发送信息设定部所生成的发送信息矢量相加,而生成密码矢量。
45.一种解密装置,其特征在于,具备:
矢量输入部,输入将ρ设定为通过配对运算关联起来的对偶模即空间V和空间V*之中的空间V中的规定的基底B的基底矢量bi(i=0,…,N-1)中的基底矢量bn的系数、并且对基底矢量bi(i=0,…,μLx-1)的规定的基底矢量的系数设定了属性信息xi(i=0,…,μLx-1)的矢量,而作为密码矢量;
密钥矢量存储部,将设定规定的值作为与所述空间V*中的规定的基底B*的基底矢量b* i(i=0,…,N-1)之中的规定的基底矢量b* n对应的系数、并且设定谓词信息vi(i=0,…,μLv-1)作为针对基底矢量b* i(i=0,…,μLv-1)(μLx≥μLv)的系数的矢量,作为密钥矢量而存储到存储装置中;以及
配对运算部,针对所述矢量输入部所输入的密码矢量和所述密钥矢量存储部所存储的密钥矢量进行所述配对运算,从所述密码矢量抽出与设定为所述基底矢量bn的系数的ρ相关的值。
46.一种密码处理方法,使用通过配对运算关联起来的双对矢量空间即空间V和空间V*来进行密码处理,其特征在于,具备:
加密步骤,处理装置生成所述空间V中的嵌入了规定的信息的矢量,而作为密码矢量;以及
解密步骤,处理装置将所述空间V*中的规定的矢量作为密钥矢量,针对在所述加密步骤中生成的密码矢量和所述密钥矢量进行所述配对运算,对所述密码矢量进行解密,抽出与所述规定的信息相关的信息。
47.一种密码处理程序,使用通过配对运算关联起来的双对矢量空间即空间V和空间V*来进行密码处理,其特征在于,使计算机执行如下处理:
加密处理,生成所述空间V中的嵌入了规定的信息的矢量,而作为密码矢量;以及
解密处理,将所述空间V*中的规定的矢量作为密钥矢量,针对在所述加密处理中生成的密码矢量和所述密钥矢量进行所述配对运算,对所述密码矢量进行解密,抽出与所述规定的信息相关的信息。
CN201080017994.8A 2009-04-23 2010-04-14 密码处理系统 Active CN102415047B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2009104915 2009-04-23
JP2009-104915 2009-04-23
JP2009-264576 2009-11-20
JP2009264576A JP5349261B2 (ja) 2009-04-23 2009-11-20 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
PCT/JP2010/056639 WO2010122926A1 (ja) 2009-04-23 2010-04-14 暗号処理システム

Publications (2)

Publication Number Publication Date
CN102415047A true CN102415047A (zh) 2012-04-11
CN102415047B CN102415047B (zh) 2015-12-09

Family

ID=43011044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080017994.8A Active CN102415047B (zh) 2009-04-23 2010-04-14 密码处理系统

Country Status (7)

Country Link
US (1) US8559638B2 (zh)
EP (1) EP2424154B1 (zh)
JP (1) JP5349261B2 (zh)
KR (1) KR101359200B1 (zh)
CN (1) CN102415047B (zh)
ES (1) ES2873230T3 (zh)
WO (1) WO2010122926A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871477A (zh) * 2013-01-16 2015-08-26 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法和加密程序
CN105637799A (zh) * 2013-10-09 2016-06-01 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序
CN105850071A (zh) * 2014-01-14 2016-08-10 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置和加密程序
CN107005406A (zh) * 2014-12-05 2017-08-01 三菱电机株式会社 加密系统、主密钥更新装置和主密钥更新程序

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010123112A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
EP2423905B1 (en) * 2009-04-24 2016-03-16 Nippon Telegraph and Telephone Corporation Apparatus, method, program and recording medium for computation of pairings over finite fields
EP2503533B1 (en) * 2009-11-20 2016-10-05 Mitsubishi Electric Corporation Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method and cipher processing program
JP5334873B2 (ja) * 2010-01-08 2013-11-06 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
EP2525340B1 (en) 2010-01-15 2018-06-06 Mitsubishi Electric Corporation Confidential search system and encryption processing system
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
EP2667538A4 (en) * 2011-01-18 2017-08-16 Mitsubishi Electric Corporation Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program
JP5606351B2 (ja) 2011-02-09 2014-10-15 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
JP5680007B2 (ja) * 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP5730805B2 (ja) * 2012-04-04 2015-06-10 日本電信電話株式会社 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
JP6057725B2 (ja) * 2013-01-15 2017-01-11 三菱電機株式会社 情報処理装置
CN104813383A (zh) * 2013-01-16 2015-07-29 三菱电机株式会社 信息处理装置和信息处理方法以及程序
US8559631B1 (en) * 2013-02-09 2013-10-15 Zeutro Llc Systems and methods for efficient decryption of attribute-based encryption
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
EP3113405B1 (en) 2014-02-24 2020-10-28 Mitsubishi Electric Corporation Cipher system and cipher program
US9438412B2 (en) * 2014-12-23 2016-09-06 Palo Alto Research Center Incorporated Computer-implemented system and method for multi-party data function computing using discriminative dimensionality-reducing mappings
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10516534B2 (en) 2015-04-07 2019-12-24 Mitsubishi Electric Corporation Cryptographic system and key generation apparatus
CN105635135B (zh) * 2015-12-28 2019-01-25 北京科技大学 一种基于属性集及关系谓词的加密系统及访问控制方法
US10931653B2 (en) * 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
CN106533697B (zh) * 2016-12-06 2019-11-08 上海交通大学 随机数生成与提取方法及其在身份认证上的应用
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
US11184161B2 (en) 2017-07-18 2021-11-23 Legic Identsystems Ag Method and devices for verifying authorization of an electronic device
JP6456451B1 (ja) 2017-09-25 2019-01-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム
US20230041939A1 (en) * 2020-01-20 2023-02-09 Nokia Technologies Oy Data privacy protection based polar coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178619A (zh) * 1996-01-26 1998-04-08 布尔Cp8公司 非对称密码通信过程与相关的便携装置
CN1706138A (zh) * 2003-02-12 2005-12-07 松下电器产业株式会社 发送装置及无线通信方法

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
US8190553B2 (en) * 2007-12-20 2012-05-29 Routt Thomas J Methods and systems for quantum search, computation and memory
US8401179B2 (en) 2008-01-18 2013-03-19 Mitsubishi Electric Corporation Encryption parameter setting apparatus, key generation apparatus, cryptographic system, program, encryption parameter setting method, and key generation method
WO2010123112A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178619A (zh) * 1996-01-26 1998-04-08 布尔Cp8公司 非对称密码通信过程与相关的便携装置
CN1706138A (zh) * 2003-02-12 2005-12-07 松下电器产业株式会社 发送装置及无线通信方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CRAIG GENTRY AND SHAI HALEVI: "Hierarchical Identity Based Encryption with Polynomially Many Levels", 《LNCS》, 31 March 2009 (2009-03-31), pages 437 - 456 *
EMILY SHEN,ELAIN SHI,AND BRENT WATERS: "Predicate Privacy in Encryption Systems", 《LNCS》, 31 March 2009 (2009-03-31), pages 457 - 473 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871477A (zh) * 2013-01-16 2015-08-26 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法和加密程序
CN104871477B (zh) * 2013-01-16 2018-07-10 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置、加密方法
CN105637799A (zh) * 2013-10-09 2016-06-01 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置、重加密装置以及加密程序
CN105637799B (zh) * 2013-10-09 2019-06-25 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置以及重加密装置
CN105850071A (zh) * 2014-01-14 2016-08-10 三菱电机株式会社 加密系统、重加密密钥生成装置、重加密装置和加密程序
CN105850071B (zh) * 2014-01-14 2019-06-25 三菱电机株式会社 加密系统、重加密密钥生成装置以及重加密装置
CN107005406A (zh) * 2014-12-05 2017-08-01 三菱电机株式会社 加密系统、主密钥更新装置和主密钥更新程序
CN107005406B (zh) * 2014-12-05 2020-07-17 三菱电机株式会社 函数型加密系统、主密钥更新装置和存储介质

Also Published As

Publication number Publication date
JP2010273317A (ja) 2010-12-02
EP2424154B1 (en) 2021-04-07
US8559638B2 (en) 2013-10-15
KR20120068762A (ko) 2012-06-27
US20120045056A1 (en) 2012-02-23
ES2873230T3 (es) 2021-11-03
JP5349261B2 (ja) 2013-11-20
EP2424154A1 (en) 2012-02-29
WO2010122926A1 (ja) 2010-10-28
KR101359200B1 (ko) 2014-02-05
EP2424154A4 (en) 2017-07-12
CN102415047B (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
CN102415047A (zh) 密码处理系统
KR101386294B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 서명 처리 시스템, 서명 장치 및 검증 장치
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
KR101443553B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101588992B1 (ko) 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101310439B1 (ko) 암호 처리 시스템, 키 생성 장치, 키 위양 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR101431412B1 (ko) 서명 처리 시스템, 키 생성 장치, 서명 장치, 검증 장치, 서명 처리 방법 및 서명 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP5921410B2 (ja) 暗号システム
KR101432462B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 키 위양 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

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