CN104718566A - 密码系统 - Google Patents

密码系统 Download PDF

Info

Publication number
CN104718566A
CN104718566A CN201380050410.0A CN201380050410A CN104718566A CN 104718566 A CN104718566 A CN 104718566A CN 201380050410 A CN201380050410 A CN 201380050410A CN 104718566 A CN104718566 A CN 104718566A
Authority
CN
China
Prior art keywords
index
base vector
coefficient
numerical expression
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380050410.0A
Other languages
English (en)
Other versions
CN104718566B (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 CN104718566A publication Critical patent/CN104718566A/zh
Application granted granted Critical
Publication of CN104718566B publication Critical patent/CN104718566B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • H04L9/007Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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]
    • 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/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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的目的在于,实现不存在属性向量和谓词向量的维度相同这样的制约的、自由度较高的内积谓词密码方式。使用具有元素k0和与集合Iv→中包含的各索引t有关的元素kt的解密密钥,针对元素c0和元素k0以及元素ct和元素kt计算对应的每个基向量的配对运算之积,由此,对具有元素c0和与集合Ix→中包含的各索引t有关的元素ct的密文进行解密。

Description

密码系统
技术领域
本发明涉及一般的内积谓词密码方式、下部构造具有一般的内积谓词密码方式的函数型密码方式以及基于属性的签名方式。
背景技术
在非专利文献30、31中记载了内积谓词密码方式。
在非专利文献31中记载了函数型密码方式。
在非专利文献32中记载了基于属性的签名方式。
现有技术文献
非专利文献
非专利文献1:Attrapadung,N.and Libert,B.,Functional Encryption for InnerProduct:Achieving Constant-Size Ciphertexts with Adaptive Security or Support forNegation,PKC 2010,pp.384-402.Springer Heidelberg(2010)
非专利文献2:Beimel,A.,Secure schemes for secret sharing and key distribution.PhD Thesis,Israel Institute of Technology,Technion,Haifa,Israel,1996.
非专利文献3:Bellare,M.,Waters,B.,Yilek,S.:Identity-based encryption secureagainst selective opening attack.In:Ishai,Y.(ed.)TCC 2011.pp.235-252.SpringerHeidelberg(2011)
非专利文献4:Bethencourt,J.,Sahai,A.,Waters,B.:Ciphertext-policyattribute-based encryption.In:2007 IEEE Symposiumon Security and Privacy,pp.321-334.IEEE Press(2007)
非专利文献5:Boneh,D.,Boyen,X.:Efficient selective-ID secure identity basedencryption without random oracles.In:Cachin,C.,Camenisch,J.(eds.)EUROCRYPT2004.LNCS,vol.3027,pp.223-238.Springer Heidelberg(2004)
非专利文献6:Boneh,D.,Boyen,X.:Secure identity based encryption withoutrandom oracles.In:Franklin,M.K.(ed.)CRYPTO2004.LNCS,vol.3152,pp.443-459.Springer Heidelberg(2004)
非专利文献7:Boneh,D.,Boyen,X.,Goh,E.:Hierarchical identity based encryptionwith constant size ciphertext.In:Cramer,R.(ed.)EUROCRYPT 2005.LNCS,vol.3494,pp.440-456.Springer Heidelberg(2005)
非专利文献8:Boneh,D.,Boyen,X.,Shacham,H.:Short group signatures.In:Franklin,M.(ed.)CRYPTO 2004.LNCS,vol.3152,pp.41-55.Springer,Heidelberg(2004)
非专利文献9:Boneh,D.,Franklin,M.:Identity-based encryption from the Weilpairing.In:Kilian,J.(ed.)CRYPTO 2001.LNCS,vol.2139,pp.213-229.SpringerHeidelberg(2001)
非专利文献10:Boneh,D.,Hamburg,M.:Generalized identity based and broadcastencryption scheme.In:Pieprzyk,J.(ed.)ASIACRYPT 2008.LNCS,vol.5350,pp.455-470.Springer Heidelberg(2008)
非专利文献11:Boneh,D.,Katz,J.,Improved efficiency for CCA-securecryptosystems built using identity based encryption.RSA-CT 2005,LNCS,Springer Verlag(2005)
非专利文献12:Boneh,D.,Waters,B.:Conjunctive,subset,and range queries onencrypted data.In:Vadhan,S.P.(ed.)TCC2007.LNCS,vol.4392,pp.535-554.SpringerHeidelberg(2007)
非专利文献13:Boyen,X.,Waters,B.:Anonymous hierarchical identity-basedencryption(without random oracles).In:Dwork,C.(ed.)CRYPTO 2006.LNCS,vol.4117,pp.290-307.Springer Heidelberg(2006)
非专利文献14:Canetti,R.,Halevi S.,Katz J.:Chosen-ciphertext security fromidentity-based encryption.EUROCRYPT 2004,LNCS,Springer Heidelberg(2004)
非专利文献15:Chase,M.:Multi-authority attribute based encryption.TCC,LNCS,pp.515-534,Springer Heidelberg(2007).
非专利文献16:Chase,M.and Chow,S.:Improving privacy and security inmulti-authority attribute-based encryption,ACM Conference on Computer andCommunications Security,pp.121-130,ACM(2009).
非专利文献17:Cocks,C.:An identity based encryption scheme based on quadraticresidues.In:Honary,B.(ed.)IMA Int.Conf.LNCS,vol.2260,pp.360-363.SpringerHeidelberg(2001)
非专利文献18:Gentry,C.:Practical identity-based encryption without randomoracles.In:Vaudenay,S.(ed.)EUROCRYPT2006.LNCS,vol.4004,pp.445-464.Springer Heidelberg(2006)
非专利文献19:Gentry,C.,Halevi,S.:Hierarchical identity-based encryption withpolynomially many levels.In:Reingold,O.(ed.)TCC 2009.LNCS,vol.5444,pp.437-456.Springer Heidelberg(2009)
非专利文献20:Gentry,C.,Silverberg,A.:Hierarchical ID-based cryptography.In:Zheng,Y.(ed.)ASIACRYPT 2002.LNCS,vol.2501,pp.548-566.Springer Heidelberg(2002)
非专利文献21:Goyal,V.,Pandey,O.,Sahai,A.,Waters,B.:Attribute-basedencryption for fine-grained access control of encrypted data.In:ACM Conference onComputer and Communication Security 2006,pp.89-98,ACM(2006)
非专利文献22:Katz,J.,Sahai,A.,Waters,B.:Predicate encryption supportingdisjunctions,polynomial equations,and inner products.In:Smart,N.P.(ed.)EUROCRYPT 2008.LNCS,vol.4965,pp.146-162.Springer Heidelberg(2008)
非专利文献23:Lewko,A.,Okamoto,T.,Sahai,A.,Takashima,K.,Waters,B.:Fullysecure functional encryption:Attribute-based encryption and(hierarchical)inner productencryption,EUROCRYPT 2010.LNCS,Springer Heidelberg(2010)Full version isavailable at http://eprint.iacr.org/2010/110
非专利文献24:Lewko,A.B.,Waters,B.:New techniques for dual system encryptionand fully secure HIBE with short ciphertexts.In:Micciancio,D.(ed.)TCC 2010.LNCS,vol.5978,pp.455-479.Springer Heidelberg(2010)
非专利文献25:Lewko,A.B.,Waters,B.:Decentralizing Attribute-Based Encryption,EUROCRYPT 2011.LNCS,vol.6632,pp.568-588.Springer Heidelberg(2011)
非专利文献26:Lewko,A.B.,Waters,B.:Unbounded HIBE and attribute-basedencryption,EUROCRYPT 2011.LNCS,vol.6632,pp.547-567.Springer Heidelberg(2011)
非专利文献27:H.Lin,Z.Cao,X.Liang,and J.Shao.:Secure threshold multiauthority attribute based encryption without a central authority,INDOCRYPT,LNCS,vol.5365,pp.426-436,Springer Heidelberg(2008).
非专利文献28:S.Mueller,S.Katzenbeisser,and C.Eckert.;On multi-authorityciphertext-policy attribute-based encryption,Bull.Korean Math Soc.46,No.4,pp.803-819(2009).
非专利文献29:Okamoto,T.,Takashima,K.:Homomorphic encryption andsignatures from vector decomposition.In:Galbraith,S.D.,Paterson,K.G.(eds.)Pairing2008.LNCS,vol.5209,pp.57-74,Springer Heidelberg(2008)
非专利文献30:Okamoto,T.,Takashima,K.:Hierarchical predicate encryption forinner-products,In:ASIACRYPT 2009,Springer Heidelberg(2009)
非专利文献31:Okamoto,T.,Takashima,K.:Fully secure functional encryption withgeneral relations from the decisional linear assumption.In:Rabin,T.(ed.)CRYPTO2010.LNCS,vol.6223,pp.191-208.Springer Heidelberg(2010).Full version isavailable at http://eprint.iacr.org/2010/563
非专利文献32:Okamoto,T.,Takashima,K.:Efficient attribute-based signatures fornon-monotone predicates in the standard model,In:PKC 2011,Springer Heidelberg(2011)
非专利文献33:Okamoto,T.,Takashima,K.:Achieving Short Ciphertexts or ShortSecret-Keys for Adaptively Secure General Inner-Product Encryption.CANS 2011,LNCS,vol.7092,pp.138-159 Springer Heidelberg(2011).
非专利文献34:Okamoto,T.,Takashima,K.:Adaptively Attribute-Hiding(Hierarchical)Inner Product Encryption.EUROCRYPT 2012,LNCS,vol.7237,pp.591-608,Springer Heidelberg(2012)
非专利文献35:Ostrovsky,R.,Sahai,A.,Waters,B.:Attribute-based encryption withnon-monotonic access structures.In:ACM Conference on Computer and CommunicationSecurity 2007,pp.195-203,ACM(2007)
非专利文献36:Pirretti,M.,Traynor,P.,McDaniel,P.,Waters,B.:Secureattribute-based systems.In:ACM Conference on Computer and Communication Security2006,pp.99-112,ACM,(2006)
非专利文献37:Sahai,A.,Waters,B.:Fuzzy identity-based encryption.In:Cramer,R.(ed.)EUROCRYPT 2005.LNCS,vol.3494,pp.457-473.Springer Heidelberg(2005)
非专利文献38:Shi,E.,Waters,B.:Delegating capability in predicate encryptionsystems.In:Aceto,L.,Damg「aard,I.,Goldberg,L.A.,Halldoersson,M.M.,Ingoelfsdoettir,A.,Walukiewicz,I.(eds.)ICALP(2)2008.LNCS,vol.5126,pp.560-578.SpringerHeidelberg(2008)
非专利文献39:Waters,B.:Efficient identity based encryption without randomoracles.Eurocrypt 2005,LNCS,vol.3152,pp.443-459.Springer Verlag,(2005)
非专利文献40:Waters,B.:Ciphertext-policy attribute-based encryption:anexpressive,efficient,and provably secure realization.PKC 2011,LNCS,vol.6571,pp.53-70.Springer Heidelberg(2011).ePrint,IACR,http://eprint.iacr.org/2008/290
非专利文献41:Waters,B.:Dual system encryption:realizing fully secure IBE andHIBE under simple assumptions.In:Halevi,S.(ed.)CRYPTO 2009.LNCS,vol.5677,pp.619-636.Springer Heidelberg(2009)
发明内容
发明要解决的课题
在非专利文献30、31所述的内积谓词密码方式中,存在属性向量(加密中使用的参数)和谓词向量(秘密密钥中使用的参数)的维度相同这样的制约。
本发明的目的在于,实现自由度更高的内积谓词密码方式。
用于解决课题的手段
本发明的密码系统具有加密装置和解密装置,其特征在于,所述加密装置具有密文生成部,该密文生成部生成具有设定了值ω作为基向量b0,r的系数的元素c0、和针对集合Ix→中包含的各索引t设定了属性信息xt作为基向量bp的系数且设定了所述值ω作为基向量bq的系数的元素ct的密文,所述解密装置具有:解密密钥存储部,其存储具有使用与集合Iv→中包含的各索引t有关的值st的合计为值s0的值st和值s0生成的元素k0和元素kt的解密密钥,该元素k0设定了值-s0作为与所述基向量b0,r对应的基向量b* 0,r的系数,该元素kt针对集合Iv→中包含的各索引t设定了谓词信息vt作为与所述基向量bp对应的基向量b* p的系数且设定了值st作为与所述基向量bq对应的基向量b* q的系数;以及解密部,其利用所述解密密钥存储部存储的解密密钥对所述密文生成部生成的密文进行解密,针对所述元素c0和所述元素k0以及与所述集合Iv→中包含的各索引t有关的元素ct和元素kt,计算对应的每个基向量的配对运算之积,从而对所述密文进行解密。
发明效果
本发明的密码系统仅针对集合Iv→中包含的索引t进行配对运算,不需要使属性向量和谓词向量的维度相同。因此,本发明的密码系统能够实现自由度较高的内积谓词密码方式。
附图说明
图1是实施方式1的密码处理系统10的结构图。
图2是示出实施方式1的密钥生成装置100的功能的功能框图。
图3是示出实施方式1的加密装置200的功能的功能框图。
图4是示出实施方式1的解密装置300的功能的功能框图。
图5是示出实施方式1的Setup算法的处理的流程图。
图6是示出实施方式1的KeyGen算法的处理的流程图。
图7是示出实施方式1的Enc算法的处理的流程图。
图8是示出实施方式1的Dec算法的处理的流程图。
图9是示出实施方式2的KeyGen算法的处理的流程图。
图10是示出实施方式2的Enc算法的处理的流程图。
图11是示出实施方式2的Dec算法的处理的流程图。
图12是示出实施方式3的Setup算法的处理的流程图。
图13是示出实施方式3的KeyGen算法的处理的流程图。
图14是示出实施方式3的Enc算法的处理的流程图。
图15是示出实施方式3的Dec算法的处理的流程图。
图16是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一例的图。
具体实施方式
下面,根据附图对发明的实施方式进行说明。
在以下说明中,处理装置是后述的CPU911等。存储装置是后述的ROM913、RAM914、磁盘920等。通信装置是后述的通信板915等。输入装置是后述的键盘902、通信板915等。输出装置是后述的RAM914、磁盘920、通信板915、LCD901等。即,处理装置、存储装置、通信装置、输入装置、输出装置是硬件。
对以下说明中的记法进行说明。
在A为随机变量或分布时,数式101表示根据A的分布而从A中随机选择y。即,在数式101中,y为随机数。
[数式101]
y ← R A
在A为集合时,数式102表示从A中选择相同的y。即,在数式102中,y为相同随机数。
[数式102]
y ← U A
数式103表示用z定义y的集合或y代入z的集合。
[数式103]
y:=z
在a为常数时,数式104表示机械(算法)A相对于输入x而输出a。
[数式104]
A(x)→a
例如,
A(x)→1
数式105即Fq表示位数q的有限体。
[数式105]
向量表记表示有限体Fq中的向量显示。即数式106。
[数式106]
表示
数式107表示数式108所示的2个向量的数式109所示的内积。
[数式107]
x → · v →
[数式108]
x → = ( x 1 , . . . , x n )
v → = ( v 1 , . . . , v n )
[数式109]
Σ i = 1 n x i v i
XT表示矩阵X的转置矩阵。
相对于数式110所示的基B和基B*为数式111。
[数式110]
[数式111]
并且,在以下说明中,在“δi,j”用上标表示的情况下,意味着该δi,j为δi,j
并且,在表示向量的“→”标注在下标文字或上标文字上的情况下,意味着该“→”用上标标注在下标文字或上标文字上。
并且,在以下说明中,密码原语的处理不仅是用于对第三方隐匿信息的狭义的密码处理,还包含签名处理,包含密钥生成处理、加密处理、解密处理、签名处理、验证处理。
实施方式1
在实施方式1中,在对内积谓词密码方式的基础概念进行说明后,对1个内积谓词密码方式进行说明。
第1,对属性向量和谓词向量的维度进行说明。
第2,对属性范畴的追加进行说明。
第3,对用于实现内积谓词密码方式的空间即“对偶配对向量空间(Dual PairingVector Spaces(DPVS))”这样的具有丰富数学构造的空间进行说明。
第4,对实施方式1的内积谓词密码方式(Type1)进行说明。
<第1.属性向量的维度>
在非专利文献30、31所述的内积谓词密码方式中,存在属性向量和谓词向量的维度相同这样的制约。认为该制约相对于内积的关系是不可避免的。但是,为了在各种应用中改善效率,需要缓和该制约。
作为一例,考虑个人的基因数据。个人的基因数据是应该慎重处理的数据,是在进行数据处理和检索的情况下应该加密的数据。基因数据具有庞大的信息量,但是,在多个应用中,存在仅使用基因数据的一部分这样的特征。
例如,在检查爱丽丝的基因数据是否具有某个特性的情况下,针对大量(例如100个)基因特性中的作为对象的几个(例如3个)基因特性,判定爱丽丝的基因数据是否满足条件。针对其余(97个)的基因特性,不需要判定是否满足条件。
例如,设X1,...,X100是100个基因特性,x1,...,x100是与爱丽丝有关的100个基因特性的值。为了针对3次的(多变量的)检查多项式f评价是否是f(x1,...,x100)=0、或者评价对应的谓词的真理值,将爱丽丝的属性向量转换成3次的爱丽丝的值的单项式向量 x &RightArrow; : = ( 1 , x 1 , . . . , x 100 , x 1 2 , x 1 x 2 , . . . , x 100 2 , x 1 3 , x 1 2 x 2 , . . . , x 100 3 ) . 该属性向量大约为106维度。
设在检查中使用的检查式(谓词)为((X5=a)∨(X16=b))∧(X57=c),仅关注3个基因特性X5、X16、X57。这由r1(X5-a)(X16-b)+r2(X57-c)=0(其中,r1、r2为相同随机数)这样的多项式表示。另外,该多项式可以转换成(r1ab-r2c)-r1bX5-r1aX16+r2X57+r1X5X16=0。仅在的情况下,设为r1(X5-a)(X16-b)+r2(X57-c)=0,因此,在该多项式中,谓词向量被转换成((r1ab-r2c)、0、...、0、-r1b、0、...、0、-r1a、0、...、0,r2、0、...、0,r1、0、...、0)。该谓词向量的有效维度(具有0以外的元素的维度)仅为5维度,但是,与属性向量相同约为106维度。
这样,关于谓词向量虽然实际有效维度为5维度,但是必须设为大约106维度,这是因为存在属性向量和谓词向量的维度相同这样的制约。如果去除该限制,则能够仅以有效维度(这里为5维度)构成谓词向量
这里,对仅以有效维度构成谓词向量的情况进行了说明,但是,同样,也可以仅以有效维度构成属性向量
<第2.属性范畴的追加>
属性范畴例如是指所属机关、所属部门、职务、年龄、性别等各用户的属性的分类。
以下实施方式中说明的内积谓词密码方式实现基于用户属性的访问控制。例如,如果是用于对第三方隐匿信息的狭义的密码处理,则根据用户属性来控制是否能够对密文进行解密。
通常,访问控制中使用的属性范畴是在系统设计时预先决定的。但是,此后,有时系统的运用被变更,需要追加访问控制中使用的属性范畴。
例如,假设仅在A公司内使用来构筑密码系统。该情况下,作为要使用的属性范畴,假设所属部门、职务、个人的ID等。但是,设此后运用被变更成不仅A公司使用密码系统,而且A公司的关联公司也使用密码系统。该情况下,作为要使用的属性范畴,需要新追加所属公司。
在访问控制中使用的属性范畴由公开参数规定的情况下,在此后追加属性范畴时,必须再次发行公开参数并重新发布给用户。因此,不容易在此后追加属性范畴,无法灵活采用系统设计时未假设的运用形式。
因此,能够追加属性范畴而不用再次发行公开参数是很重要的。
为了能够追加属性范畴而不用再次发行公开参数,在对偶配对向量空间内的对偶系统密码中应用带索引的手法。
在对偶配对向量空间内的对偶系统密码中,随机生成作为对偶基的基B和基B*。而且,基B的一部分(基B^)为公开参数。
在非专利文献31所述的内积谓词密码方式中,生成基B^1,...,基B^d作为公开参数。然后,对与t=1,...,d的各整数t有关的基B^t分配1个属性范畴。即,能够处理d个属性范畴。
这里,根据基B^1,...,基B^d为公开参数可知,在此后追加基B^的情况下,即增加d的值的情况下,必须再次发行公开参数。即,d的值由公开参数限制。
在以下说明的内积谓词密码方式中,生成基B^作为公开参数。然后,针对t=1,...,d的各整数t,σt(1,t)和μi(t,-1)的2维度的索引向量被设定成密文c和秘密密钥k*,对各整数t分配1个属性范畴。即,能够处理d个属性范畴。
这里,虽然公开参数包含基B^,但是不包含索引向量。因此,在此后追加索引向量并增加d的值的情况下,不需要再次发行公开参数。即,d的值不由公开参数限制。
<第3.对偶配对向量空间>
在对偶配对向量空间内实现以下说明的内积谓词密码方式。
首先,对对称双线性配对群进行说明。
对称双线性配对群(q,G,GT,g,e)是素数q、位数q的循环加法群G、位数q的循环乘法群GT、g≠0∈G、能够利用多项式时间计算的非退化双线性配对(Nondegenerate Bilinear Pairing)e:G×G→GT的组。非退化双线性配对是e(sg,tg)=e(g,g)st,e(g,g)≠1。
在以下说明中,设Gbpg为如下算法:将1λ作为输入,输出设保密参数为λ的双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
接着,对对偶配对向量空间进行说明。
对偶配对向量空间(q,V,GT,A,e)可以由对称双线性配对群(paramG:=(q,G,GT,g,e))的直积构成。对偶配对向量空间(q,V,GT,A,e)是素数q、数式112所示的Fq上的N维度向量空间V、位数q的循环群GT、空间V的标准基A:=(a1,...,aN)的组,具有以下的运算(1)、(2)。其中,ai如数式113所示。
[数式112]
[数式113]
运算(1):非退化双线性配对
空间V内的配对由数式114定义。
[数式114]
其中,
这是非退化双线性。即e(sx,ty)=e(x,y)st,针对全部y∈V,在e(x,y)=1的情况下,x=0。并且,针对全部i和j,e(ai,aj)=e(g,g)δi,j。这里,如果i=j,则δi,j=1,如果i≠j,则δi,j=0。并且,e(g,g)≠1∈GT
运算(2):失真映射
数式115所示的空间V内的线性变换可以进行数式116。
[数式115]
φi,j(aj)=ai
如果k≠j,则φi,j(ak)=0。
[数式116]
其中,
(g1,...gN):=x
这里,将线性变换称作失真映射。
在以下说明中,设Gdpvs为如下算法:将1λ(λ∈自然数)、N∈自然数、双线性配对群的参数paramG:=(q,G,GT,g,e)的值作为输入,保密参数为λ,输出设为N维度空间V的对偶配对向量空间的参数paramV:=(q,V,GT,A,e)的值。
另外,这里,对通过上述对称双线性配对群构成对偶配对向量空间的情况进行说明。另外,也可以通过非对称双线性配对群构成对偶配对向量空间。容易在通过非对称双线性配对群构成对偶配对向量空间的情况下应用以下说明。
<第4.内积谓词密码方式>
内积谓词密码方式具有Setup、KeyGen、Enc、Dec这4个概率多项式时间算法。
(Setup)
在Setup算法中,输入保密参数1λ,输出主公开密钥pk和主秘密密钥sk。
(KeyGen)
在KeyGen算法中,输入主公开密钥pk、主秘密密钥sk、谓词向量输出秘密密钥skv
(Enc)
在Enc算法中,输入主公开密钥pk、属性向量消息m,输出密文ctx
(Dec)
在Dec算法中,输入主公开密钥pk、秘密密钥skv、密文ctx,输出消息m或识别信息⊥。识别信息⊥是表示解密失败的信息。
对执行内积谓词密码方式的算法的密码处理系统10进行说明。
图1是实施方式1的密码处理系统10的结构图。
密码处理系统10具有密钥生成装置100、加密装置200(发送装置)、解密装置300(接收装置)。
密钥生成装置100将保密参数λ作为输入来执行Setup算法,生成主公开密钥pk和主秘密密钥sk。然后,密钥生成装置100公开所生成的主公开密钥pk。并且,密钥生成装置100将主公开密钥pk、主秘密密钥sk、谓词向量作为输入来执行KeyGen算法,生成秘密密钥skv,秘密发布给解密装置300。
加密装置200将主公开密钥pk、属性向量消息m作为输入来执行Enc算法,生成密文ctx。加密装置200将所生成的密文ctx发送到解密装置300。
解密装置300将主公开密钥pk、秘密密钥skv、密文ctx作为输入来执行Dec算法,输出消息m或识别信息⊥。
图2是示出实施方式1的密钥生成装置100的功能的功能框图。图3是示出实施方式1的加密装置200的功能的功能框图。图4是示出实施方式1的解密装置300的功能的功能框图。
图5和图6是示出实施方式1的密钥生成装置100的动作的流程图。另外,图5是示出实施方式1的Setup算法的处理的流程图,图6是示出实施方式1的KeyGen算法的处理的流程图。图7是示出实施方式1的加密装置200的动作的流程图,是示出实施方式1的Enc算法的处理的流程图。图8是示出实施方式1的解密装置300的动作的流程图,是示出实施方式1的Dec算法的处理的流程图。
对密钥生成装置100的功能和动作进行说明。
如图2所示,密钥生成装置100具有主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发布部150。
首先,根据图5对Setup算法的处理进行说明。
(S101:归一正交基生成步骤)
主密钥生成部110通过处理装置计算数式117,生成参数param、基B0和基B* 0、基B1(基B)和基B* 1(基B*)。
[数式117]
(1)input 1λ
N0:=1+u0+1+w0+z0,N1:=4+u+w+z
针对t=0,1的各t执行(4)~(8)的处理。
( 6 ) - - - X t * : = ( &theta; t , i , j ) i , j = 1 , . . . , N t : = &psi; &CenterDot; ( X t T ) - 1
(9)gT:=e(g,g)ψ,
即,主密钥生成部110执行以下处理。
(1)主密钥生成部110通过输入装置输入保密参数λ(1λ)。
(2)主密钥生成部110通过处理装置将(1)中输入的保密参数λ(1λ)作为输入来执行算法Gbpg,生成双线性配对群的参数paramG:=(q,G,GT,g,e)的值。
(3)主密钥生成部110通过处理装置生成随机数ψ,并且在N0中设定1+u0+1+w0+z0,在N1中设定4+u+w+z。另外,u0、w0、z0、u、w、z分别为0以上的整数。
接着,主密钥生成部110针对t=0,1的各t执行以下的(4)~(8)的处理。
(4)主密钥生成部110通过处理装置将(1)中输入的保密参数λ(1λ)、(3)中设定的Nt、(2)中生成的paramG:=(q,G,GT,g,e)的值作为输入来执行算法Gdpvs,生成对偶配对向量空间的参数paramVt:=(q,Vt,GT,At,e)的值。
(5)主密钥生成部110通过处理装置将(3)中设定的Nt、Fq作为输入,随机生成线性变换Xt:=(χt,i,j)i,j。另外,GL是General Linear的缩写。即,GL是一般线性群,是矩阵式不为0的正方矩阵的集合,是与乘法有关的群。并且,(χt,i,j)i,j是指与矩阵χt,i,j的小标i、j有关的矩阵,其中,i、j=1,...,Nt。
(6)主密钥生成部110通过处理装置,根据随机数ψ和线性变换Xt生成(νt,i, j)i,j:=ψ·(Xt T)-1。另外,(νt,i,j)i,j也与(χt,i,j)i,j同样,是指与矩阵νt,i,j的小标i、j有关的矩阵,其中,i、j=1,...,Nt
(7)主密钥生成部110通过处理装置,根据(5)中生成的线性变换Xt,从(4)中生成的标准基At生成基Bt。另外,表示线性变换Xt的第i行。
(8)主密钥生成部110通过处理装置,根据(6)中生成的(νt,i,j)i,j,从(4)中生成的标准基At生成基B* t。另外,表示线性变换X* t的第i行。
(9)主密钥生成部110通过处理装置在gT中设定e(g,g)ψ。并且,主密钥生成部110在param中设定(4)中生成的{paramVt}t=0,1,gT
即,在S101中,主密钥生成部110执行数式118所示的算法Gob,生成param、基B0和基B* 0、基B1(基B)和基B* 1(基B*)。
[数式118]
N0:=1+u0+1+w0+z0,N1:=4+u+w+z,
for t=0,1,
X t * : = ( &theta; t , i , j ) i , j = 1 , . . . , N t : = &psi; &CenterDot; ( X t T ) - 1 , hereafter , &chi; &RightArrow; t , i
and &theta; &RightArrow; t , i denote the i - th rows of X t and X t * for i = 1 , . . . , N t , respectively ,
另外,在以下说明中,为了简化,设基B1和基B* 1为基B和基B*
(S102:公开参数生成步骤)
主密钥生成部110通过处理装置,如数式119所示生成S101中生成的基B0的部分基B^0、基B的部分基B^。
[数式119]
主密钥生成部110合并所生成的部分基B^0和部分基B^、S101中输入的保密参数λ(1λ)、S101中生成的param,作为公开参数pk。
(S103:主密钥生成步骤)
主密钥生成部110通过处理装置,如数式120所示生成S101中生成的基B* 0的部分基B^* 0、基B*的部分基B^*
[数式120]
主密钥生成部110将所生成的部分基B^* 0和部分基B^*作为主密钥sk。
(S104:主密钥存储步骤)
主密钥存储部120将S102中生成的公开参数pk存储在存储装置中。并且,主密钥存储部120将S103中生成的主密钥sk存储在存储装置中。
即,在S101~S103中,密钥生成装置100执行数式121所示的Setup算法,生成公开参数pk和主密钥sk。然后,在S104中,密钥生成装置100将所生成的公开参数pk和主密钥sk存储在存储装置中。
另外,公开参数例如经由网络公开,成为加密装置200和解密装置300能够取得的状态。
[数式121]
Setup(1λ):
根据图6对KeyGen算法的处理进行说明。
(S201:信息输入步骤)
信息输入部130通过输入装置输入谓词向量即,谓词向量是针对集合Iv→中包含的索引t具有索引t和谓词信息vt作为元素的向量。作为谓词信息vt,例如设定解密密钥skv的使用者的属性信息。
(S202:秘密信息生成步骤)
解密密钥生成部140通过处理装置,如数式122所示生成秘密信息st、s0
[数式122]
s 0 : = &Sigma; ( t , v t ) &Element; v &RightArrow; s t
(S203:随机数生成步骤)
解密密钥生成部140通过处理装置,如数式123所示生成随机数。
[数式123]
(S204:密钥元素生成步骤)
解密密钥生成部140通过处理装置,如数式124所示生成解密密钥skv的元素k* 0
[数式124]
另外,如上所述,相对于数式110所示的基B和基B*而成为数式111。因此,数式124是指设定-s0作为基B* 0的基向量b* 0,1的系数、设定0作为基向量b* 0,1+1,...、b* 0,1+u0的系数,设定1作为基向量b* 0,1+u0+1的系数,设定η0,1,...,η0,w0作为基向量b* 0,1+u0+1+1,...,b* 0,1+u0+1+w0的系数,设定0作为基向量b* 0,1+u0+1+w0+1,...,b* 0,1+u0+1+w0+z0的系数。其中,u0、w0、z0分别为u0、w0、z0
并且,解密密钥生成部140通过处理装置,针对集合Iv→中包含的索引t,如数式125所示生成解密密钥skv的元素k* t
[数式125]
即,数式125与数式124同样,是指设定μtt作为基B*的基向量b* 1的系数,设定-μt作为基向量b* 2的系数,设定δvt作为基向量b* 3的系数,设定st作为基向量b* 4的系数,设定0作为基向量b* 4+1、...、b* 4+u的系数,设定ηt,1,...,ηt,w作为基向量b* 4+u+1,...,b* 4+u+w的系数,设定0作为基向量b* 4+u+w+1,...,b* 4+u+w+z的系数。
(S205:密钥发布步骤)
密钥发布部150通过例如通信装置,经由网络秘密地向解密装置300发布将S204中生成的k* 0、k* t作为元素的解密密钥skv。当然,解密密钥skv也可以通过其它方法发布到解密装置300。
即,在S201~S204中,密钥生成装置100执行数式126所示的KeyGen算法,生成解密密钥skv。然后,在S205中,密钥生成装置100将所生成的解密密钥skv发布到解密装置300。
[数式126]
KeyGen ( pk , sk , v &RightArrow; : = { ( t , v t ) | t &Element; I v &RightArrow; } ) :
s 0 : = &Sigma; ( t , v t ) &Element; v &RightArrow; s t ,
for ( t , v t ) &Element; v &RightArrow; ,
return s k v : = ( k 0 * , { k t * } ( t , v t ) &Element; v &RightArrow; ) .
对加密装置200的功能和动作进行说明。
加密装置200具有公开参数取得部210、信息输入部220、密文生成部230、数据发送部240。
根据图7对Enc算法的处理进行说明。
(S301:公开参数取得步骤)
公开参数取得部210通过例如通信装置,经由网络取得密钥生成装置100生成的公开参数pk。
(S302:信息输入步骤)
信息输入部220通过输入装置,输入向解密装置300发送的消息m。并且,信息输入部220通过输入装置输入属性向量即,属性向量是针对集合Ix→中包含的索引t具有索引t和属性信息xt作为元素的向量。属性向量例如设定可解密的用户的属性信息。
(S303:随机数生成步骤)
密文生成部230通过处理装置,如数式127所示生成随机数。
[数式127]
(S304:密码元素生成步骤)
密文生成部230通过处理装置,如数式128所示生成密文ctx的元素c0
[数式128]
并且,密文生成部230通过处理装置,针对集合Ix→中包含的索引t,如数式129所示生成密文ctx的元素ct
[数式129]
并且,密码元素生成部232通过处理装置,如数式130所示生成密文ctx的元素cT
[数式130]
c T : = g T &zeta; m
(S305:数据发送步骤)
数据发送部240通过例如通信装置,经由网络向解密装置300发送将S304中生成的c0、ct、cT作为元素的密文ctx。当然,密文ctx也可以通过其它方法发送到解密装置300。
即,在S301~S304中,加密装置200执行数式131所示的Enc算法,生成密文ctx。然后,在S305中,加密装置200将所生成的密文ctx发送到解密装置300。
[数式131]
Enc ( pk , m , x &RightArrow; : = { ( t , x t ) | t &Element; I x &RightArrow; } ) :
for ( t , x t ) &Element; x &RightArrow; ,
c T : = g T &zeta; m
return ct x : = ( c 0 , { c t } ( t , x t ) &Element; x &RightArrow; , c T ) .
对解密装置300的功能和动作进行说明。
解密装置300具有解密密钥取得部310、解密密钥存储部320、密文取得部330、配对运算部340、消息计算部350。合并配对运算部340和消息计算部350而称作解密部。
根据图8对Dec算法的处理进行说明。
(S401:解密密钥取得步骤)
解密密钥取得部310通过例如通信装置,经由网络取得从密钥生成装置100发布的解密密钥skv。并且,解密密钥取得部310取得密钥生成装置100生成的公开参数pk。
解密密钥取得部310将所取得的解密密钥skv和公开参数pk存储在解密密钥存储部320中。
(S402:密文取得步骤)
密文取得部330通过例如通信装置,经由网络接收加密装置200发送的密文ctx
(S403:配对运算步骤)
配对运算部340通过处理装置计算数式132,生成会话密钥K=gT ζ
[数式132]
K : = e ( c 0 , k 0 * ) &Pi; t &Element; I v &RightArrow; e ( c t , k t * )
另外,如果为数式133,则通过如数式134所示计算数式132,得到密钥K=gT ζ
[数式133]
I v &RightArrow; &Subset; I x &RightArrow; and
&Sigma; t &Element; I v &RightArrow; v t &CenterDot; x t = 0
[数式134]
即,如果集合Iv→为集合Ix→的部分集合、且针对集合Iv→中包含的索引t而使得vtxt的合计为0,则通过计算数式132,得到密钥K=gT ζ
(S404:消息计算步骤)
消息计算部350通过处理装置计算m’=cT/K,生成消息m’(=m)。另外,由于cT如数式130所示为gT ζm,K为gT ζ,因此,如果计算m’=cT/K则得到消息m。
即,在S401~S404中,解密装置300执行数式135所示的Dec算法,生成消息m’(=m)。
[数式135]
Dec ( pk , sk v : = ( k 0 * , { k t * } ( t , v t ) &Element; v &RightArrow; ) , c t x : = ( c 0 , { c t } ( t , x t ) &Element; x &RightArrow; , c T ) ) :
if I v &RightArrow; &Subset; I x &RightArrow; and &Sigma; t &Element; I v &RightArrow; v t x t = 0 ,
K : = e ( c 0 , k 0 * ) &Pi; t &Element; I v &RightArrow; e ( c t , k t * ) ,
return m′:=cT/K.
如上所述,在实施方式1的内积谓词密码方式中,即使属性向量和谓词向量的维度不同,如果集合Iv→为集合Ix→的部分集合、且针对集合Iv→中包含的索引t而使得vtxt的合计为0,则也能够利用解密密钥skv对密文ctx进行解密。
并且,在实施方式1的内积谓词密码方式中,针对解密密钥skv的元素k* t,分别设定了μtt和-μt作为基向量b* 1、b* 2(基向量b* index)的系数。并且,密码系统10针对密文ctx的元素ct,分别设定了σt和σtt作为基向量b1、b2(基向量bindex)的系数。
因此,当进行与对应的索引t有关的元素k* t和元素ct的配对运算时,针对基向量b* 1、b* 2和基向量b1、b2的部分,内积为0而被抵消。即,当进行与对应的索引t有关的元素k* t和元素ct的配对运算时,作为基向量的系数而设定的索引部(基向量b* 1、b* 2和基向量b1、b2的部分)被抵消,得到与其余部分有关的配对运算的结果。
在实施方式1的内积谓词密码方式中,通过设置索引部,能够将各属性范畴中使用的基作为公共基(基B和基B*)。其结果是,只要公开参数仅包含基B和基B*即可,在此后追加属性范畴的情况下,不需要再次发行公开参数。
另外,关于索引部,内积的结果为0即可。因此,在上述说明中,将基向量b* 1、b* 2和基向量b1、b2的2维度作为索引部,但是不限于此,也可以将3维度以上作为索引部。并且,向索引部分配值也不限于上述说明的,还可以进行其它分配。
并且,在上述说明中,通过设置索引部,将各属性范畴中使用的基作为公共基(基B和基B*)。但是,在此后追加属性范畴的情况下,在也可以再次发行公开参数的情况下,只要使各属性范畴中使用的基为不同基即可,不需要设置索引部。
该情况下,上述内积谓词密码方式的Gob算法、Setup算法、KeyGen算法、Enc算法如数式136~数式139所示。另外,Dec算法如数式135所示,没有变更。
[数式136]
N0:=1+u0+1+w0+z0,Nt:=2+ut+wt+zt for t=1,...,d,
for t=0,...,d,
X t * : = ( &theta; t , i , j ) i , j = 1 , . . . , N t : = &psi; &CenterDot; ( X t T ) - 1 , hereafter , &chi; &RightArrow; t , i
and &theta; &RightArrow; t , i denote the i - th rows of X t and X t * for i = 1 , . . . , N t , respectively ,
[数式137]
Setup(1λ):
[数式138]
KeyGen ( pk , sk , v &RightArrow; : = { ( t , v t ) | t &Element; I v &RightArrow; } ) :
s 0 : = &Sigma; ( t , v t ) &Element; v &RightArrow; s t ,
for ( t , v t ) &Element; v &RightArrow; ,
return s k v : = ( k 0 * , { k t * } ( t , v t ) &Element; v &RightArrow; ) .
[数式139]
Enc ( pk , m , x &RightArrow; : = { ( t , x t ) | t &Element; I x &RightArrow; } ) :
for ( t , x t ) &Element; x &RightArrow; ,
c T : = g T &zeta; m
return ct x : = ( c 0 , { c t } ( t , x t ) &Element; x &RightArrow; , c T ) .
即,按照每个索引t使用不同的基Bt和基B* t
并且,在上述说明中,设u0、w0、z0、u、w、z分别为0以上的整数。例如可以设u0=1、w0=1、z0=1、u=9、w=2、z=2。
实施方式2
在实施方式1中,对如果集合Iv→为集合Ix→的部分集合、且针对集合Iv→中包含的索引t而使得vtxt的合计为0则能够利用解密密钥skv对密文ctx进行解密的内积谓词密码方式(Type1)进行了说明。
在实施方式2中,对如果集合Ix→为集合Iv→的部分集合、且针对集合Ix→中包含的索引t而使得vtxt的合计为0则能够利用解密密钥skv对密文ctx进行解密的内积谓词密码方式(Type2)进行说明。
在实施方式2中,以与实施方式1不同的部分为中心进行说明。
实施方式2的密码处理系统10的结构与图1所示的实施方式1的密码处理系统10的结构相同。并且,实施方式2的密钥生成装置100、加密装置200、解密装置300的结构与图2~图4所示的实施方式1的密钥生成装置100、加密装置200、解密装置300的结构相同。
图9是示出实施方式2的KeyGen算法的处理的流程图。图10是示出实施方式2的Enc算法的处理的流程图。图11是示出实施方式2的Dec算法的处理的流程图。
实施方式2的Setup算法与实施方式1的Setup算法相同。
根据图9对KeyGen算法进行说明。
S501的处理与图6所示的S201的处理相同。
(S502:随机数生成步骤)
解密密钥生成部140通过处理装置,如数式140所示生成随机数。
[数式140]
(S503:密钥元素生成步骤)
解密密钥生成部140通过处理装置,如数式141所示生成解密密钥skv的元素k* 0
[数式141]
并且,解密密钥生成部140通过处理装置,针对集合Iv→中包含的索引t,如数式142所示生成解密密钥skv的元素k* t
[数式142]
(S504:密钥发布步骤)
密钥发布部150通过例如通信装置,经由网络秘密地向解密装置300发布将S503中生成的k* 0、k* t作为元素的解密密钥skv。当然,解密密钥skv也可以通过其它方法发布到解密装置300。
即,在S501~S503中,密钥生成装置100执行数式143所示的KeyGen算法,生成解密密钥skv。然后,在S504中,密钥生成装置100将所生成的解密密钥skv发布到解密装置300。
[数式143]
KeyGen ( pk , sk , v &RightArrow; : = { ( t , v t ) | t &Element; I v &RightArrow; } ) :
for ( t , v t ) &Element; v &RightArrow; ,
return s k v : = ( k 0 * , { k t * } ( t , v t ) &Element; v &RightArrow; ) .
根据图10对Enc算法的处理进行说明。
S601~S602的处理与图7所示的S301~S302的处理相同。
(S603:秘密信息生成步骤)
密文生成部230通过处理装置,如数式144所示生成秘密信息ft、f0
[数式144]
f 0 : = &Sigma; ( t , v t ) x &RightArrow; f t
(S604:随机数生成步骤)
密文生成部230通过处理装置,如数式145所示生成随机数。
[数式145]
(S605:密码元素生成步骤)
密文生成部230通过处理装置,如数式146所示生成密文ctx的元素c0
[数式146]
并且,密文生成部230通过处理装置,针对集合Ix→中包含的索引t,如数式147所示生成密文ctx的元素ct
[数式147]
并且,密码元素生成部232通过处理装置,如数式148所示生成密文ctx的元素cT
[数式148]
c T : = g T &zeta; m
(S606:数据发送步骤)
数据发送部240通过例如通信装置,经由网络向解密装置300发送将S605中生成的c0、ct、cT作为元素的密文ctx。当然,密文ctx也可以通过其它方法发送到解密装置300。
即,在S601~S605中,加密装置200执行数式149所示的Enc算法,生成密文ctx。然后,在S606中,加密装置200将所生成的密文ctx发送到解密装置300。
[数式149]
Enc ( pk , m , x &RightArrow; : = { ( t , x t ) | t &Element; I x &RightArrow; } ) :
for ( t , x t ) &Element; x &RightArrow; ,
c T : = g T &zeta; m
return ct x : = ( c 0 , { c t } ( t , x t ) &Element; x &RightArrow; , c T ) .
根据图11对Dec算法的处理进行说明。
S701~S702的处理与图8所示的S401~S402的处理相同。并且,S704的处理与图8所示的S404的处理相同。
(S703:配对运算步骤)
配对运算部340通过处理装置计算数式150,生成会话密钥K=gT ζ
[数式150]
K : = e ( c 0 , k 0 * ) &Pi; t &Element; I x &RightArrow; e ( c t , k t * )
另外,如果为数式151,则通过如数式152所示计算数式150,得到密钥K=gT ζ
[数式151]
I x &RightArrow; &Subset; I v &RightArrow; and
&Sigma; t &Element; I x &RightArrow; v t &CenterDot; x t = 0
[数式152]
即,如果集合Ix→为集合Iv→的部分集合、且针对集合Ix→中包含的索引t而使得vtxt的合计为0,则通过计算数式150,得到密钥K=gT ζ
即,在S701~S704中,解密装置300执行数式153所示的Dec算法,生成消息m’(=m)。
[数式153]
Dec ( pk , sk v : = ( k 0 * , { k t * } ( t , v t ) &Element; v &RightArrow; ) , c t x : = ( c 0 , { c t } ( t , x t ) &Element; x &RightArrow; , c T ) ) :
if I x &RightArrow; &Subset; I v &RightArrow; and &Sigma; t &Element; I x &RightArrow; v t x t = 0 ,
K : = e ( c 0 , k 0 * ) &Pi; t &Element; I x &RightArrow; e ( c t , k t * ) ,
return m′:=cT/K.
如上所述,在实施方式2的内积谓词密码方式中,即使属性向量和谓词向量的维度不同,如果集合Ix→为集合Iv→的部分集合、且针对集合Ix→中包含的索引t而使得vtxt的合计为0,则也能够利用解密密钥skv对密文ctx进行解密。
并且,在上述说明中,通过设置索引部,将各属性范畴中使用的基作为公共基(基B和基B*)。但是,在此后追加属性范畴的情况下,在也可以再次发行公开参数的情况下,只要使各属性范畴中使用的基为不同基即可,不需要设置索引部。
该情况下,上述内积谓词密码方式的KeyGen算法、Enc算法如数式154~数式155所示。另外,Gob算法与数式136相同,Setup算法与数式137相同,Dec算法如数式153所示,没有变更。
[数式154]
KeyGen ( pk , sk , v &RightArrow; : = { ( t , v t ) | t &Element; I v &RightArrow; } ) :
for ( t , v t ) &Element; v &RightArrow; ,
return s k v : = ( k 0 * , { k t * } ( t , v t ) &Element; v &RightArrow; ) .
[数式155]
Enc ( pk , m , x &RightArrow; : = { ( t , x t ) | t &Element; I x &RightArrow; } ) :
for ( t , x t ) &Element; x &RightArrow; ,
c T : = g T &zeta; m
return ct x : = ( c 0 , { c t } ( t , x t ) &Element; x &RightArrow; , c T ) .
即,按照每个索引t而使用不同的基Bt和基B* t
实施方式3
在实施方式1中,对如果集合Iv→为集合Ix→的部分集合、且针对集合Iv→中包含的索引t而使得vtxt的合计为0则能够利用解密密钥skv对密文ctx进行解密的内积谓词密码方式(Type1)进行了说明。
在实施方式2中,对如果集合Ix→为集合Iv→的部分集合、且针对集合Ix→中包含的索引t而使得vtxt的合计为0则能够利用解密密钥skv对密文ctx进行解密的内积谓词密码方式(Type2)进行了说明。
在实施方式3中,对如果集合Iv→与集合Ix→相等、且针对集合Iv→(或集合Ix→)中包含的索引t而使得vtxt的合计为0则能够利用解密密钥skv对密文ctx进行解密的内积谓词密码方式(Type0)进行说明。
另外,集合Iv→与集合Ix→相等是指集合Iv→为集合Ix→的部分集合、且集合Ix→为集合Iv→的部分集合。因此,内积谓词密码方式(Type0)可以说是对实施方式1中说明的内积谓词密码方式(Type1)和实施方式2中说明的内积谓词密码方式(Type2)进行组合而得到的方式。
在实施方式3中,以与实施方式1、2不同的部分为中心进行说明。
实施方式3的密码处理系统10的结构与图1所示的实施方式1的密码处理系统10的结构相同。并且,实施方式3的密钥生成装置100、加密装置200、解密装置300的结构与图2~图4所示的实施方式1的密钥生成装置100、加密装置200、解密装置300的结构相同。
图12是示出实施方式3的Setup算法的处理的流程图。图13是示出实施方式3的KeyGen算法的处理的流程图。图14是示出实施方式3的Enc算法的处理的流程图。图15是示出实施方式3的Dec算法的处理的流程图。
根据图12对Setup算法进行说明。
S801的处理与图5所示的S101的处理相同。但是,N0=2+u0+1+w0+z0、N1=5+u+w+z这点不同。
即,在S801中,主密钥生成部110执行数式156所示的算法Gob,生成param、基B0和基B* 0、基B1(基B)和基B* 1(基B*)。
[数式156]
N0:=2+u0+1+w0+z0,N1:=5+u+w+z,
for t=0,1,
X t * : = ( &theta; t , i , j ) i , j = 1 , . . . , N t : = &psi; &CenterDot; ( X t T ) - 1 , hereafter , &chi; &RightArrow; t , i
and &theta; &RightArrow; t , i denote the i - th rows of X t and X t * for i = 1 , . . . , N t , respectively ,
(S802:公开参数生成步骤)
主密钥生成部110通过处理装置,如数式157所示生成S801中生成的基B0的部分基B^0、基B的部分基B^。
[数式157]
主密钥生成部110合并所生成的部分基B^0和部分基B^、S801中输入的保密参数λ(1λ)、S801中生成的param,作为公开参数pk。
(S803:主密钥生成步骤)
主密钥生成部110通过处理装置,如数式158所示生成S801中生成的基B* 0的部分基B^* 0、基B*的部分基B^*
[数式158]
主密钥生成部110将所生成的部分基B^* 0和部分基B^*作为主密钥sk。
S804的处理与图5所示的S104的处理相同。
即,在S801~S803中,密钥生成装置100执行数式159所示的Setup算法,生成公开参数pk和主密钥sk。然后,在S804中,密钥生成装置100将所生成的公开参数pk和主密钥sk存储在存储装置中。
另外,公开参数例如经由网络公开,成为加密装置200和解密装置300能够取得的状态。
[数式159]
Setup(1λ):
根据图13对KeyGen算法进行说明。
(S901:信息输入步骤)
信息输入部130通过输入装置输入谓词向量作为谓词信息vt,例如设定解密密钥skv的使用者的属性信息。
(S902:秘密信息生成步骤)
解密密钥生成部140通过处理装置,如数式160所示生成秘密信息st、s0
[数式160]
s 0 : = &Sigma; t = 1 n s t
(S903:随机数生成步骤)
解密密钥生成部140通过处理装置,如数式161所示生成随机数。
[数式161]
(S904:密钥元素生成步骤)
解密密钥生成部140通过处理装置,如数式162所示生成解密密钥skv的元素k* 0
[数式162]
并且,解密密钥生成部140通过处理装置,针对t=1,...,n的各索引t,如数式163所示生成解密密钥skv的元素k* t
[数式163]
(S905:密钥发布步骤)
密钥发布部150通过例如通信装置,经由网络秘密地向解密装置300发布将S904中生成的k* 0、k* t作为元素的解密密钥skv。当然,解密密钥skv也可以通过其它方法发布到解密装置300。
即,在S901~S904中,密钥生成装置100执行数式164所示的KeyGen算法,生成解密密钥skv。然后,在S905中,密钥生成装置100将所生成的解密密钥skv发布到解密装置300。
[数式164]
KeyGen ( pk , sk , v &RightArrow; : = ( v 1 , . . . , v n ) ) :
s 0 : = &Sigma; t = 1 n s t ,
for t=1,...,n,
return s k v : = ( k 0 * , { k t * } t = 1 , . . . , n ) .
根据图14对Enc算法的处理进行说明。
S1001的处理与图7所示的S301的处理相同。
(S1002:信息输入步骤)
信息输入部220通过输入装置,输入向解密装置300发送的消息m。并且,信息输入部220通过输入装置输入属性向量属性向量例如设定可解密的用户的属性信息。
(S1003:秘密信息生成步骤)
密文生成部230通过处理装置,如数式165所示生成秘密信息ft、f0
[数式165]
f 0 : = &Sigma; t = 1 n &prime; f t
(S1004:随机数生成步骤)
密文生成部230通过处理装置,如数式166所示生成随机数。
[数式166]
(S1005:密码元素生成步骤)
密文生成部230通过处理装置,如数式167所示生成密文ctx的元素c0
[数式167]
并且,密文生成部230通过处理装置,针对t=1,...,n’的各索引t,如数式168所示生成密文ctx的元素ct
[数式168]
并且,密码元素生成部232通过处理装置,如数式169所示生成密文ctx的元素cT
[数式169]
c T : = g T &zeta; m
(S1006:数据发送步骤)
数据发送部240通过例如通信装置,经由网络向解密装置300发送将S1005中生成的c0、ct、cT作为元素的密文ctx。当然,密文ctx也可以通过其它方法发送到解密装置300。
即,在S1001~S1005中,加密装置200执行数式170所示的Enc算法,生成密文ctx。然后,在S1006中,加密装置200将所生成的密文ctx发送到解密装置300。
[数式170]
Enc ( pk , m , x &RightArrow; : = ( x 1 , . . . , x n &prime; ) ) :
for t=1,...,n′,
c T : = g T &zeta; m
return ctx:=(c0,{ct}t=1,...,n′,cT).
根据图15对Dec算法的处理进行说明。
S1101~S1102的处理与图8所示的S401~S402的处理相同。
(S1103:配对运算步骤)
配对运算部340通过处理装置计算数式171,生成会话密钥K=gT ζ
[数式171]
K : = e ( c 0 , k 0 * ) &Pi; t = 1 n e ( c t , k t * )
另外,如果为数式172,则通过如数式173所示计算数式171,得到密钥K=gT ζ
[数式172]
n=n'and
v &RightArrow; &CenterDot; x &RightArrow; = 0
[数式173]
即,如果集合Ix→与集合Iv→相等、且针对集合Iv→(或集合Ix→)中包含的索引t而使得vtxt的合计为0,则通过计算数式170,得到密钥K=gT ζ
S1104的处理与图8所示的S404的处理相同。
即,在S1101~S1104中,解密装置300执行数式174所示的Dec算法,生成消息m’(=m)。
[数式174]
Dec ( pk , sk v : = ( k 0 * , { k t * } t = 1 , . . . , ) , c t x : = ( c 0 , { c t } t = 1 , . . . , n &prime; , c T ) ) :
if n = n &prime; and v &RightArrow; t x &RightArrow; t = 0 ,
K : = e ( c 0 , k 0 * ) &Pi; t = 1 n e ( c t , k t * ) ,
return m′:=cT/K.
如上所述,在实施方式3的内积谓词密码方式中,如果集合Ix→与集合Iv→相等、且针对集合Iv→(或集合Ix→)中包含的索引t而使得vtxt的合计为0,则能够利用解密密钥skv对密文ctx进行解密。
并且,在上述说明中,通过设置索引部,将各属性范畴中使用的基作为公共基(基B和基B*)。但是,在此后追加属性范畴的情况下,在也可以再次发行公开参数的情况下,只要使各属性范畴中使用的基为不同基即可,不需要设置索引部。
该情况下,上述内积谓词密码方式的Gob算法、Setup算法、KeyGen算法、Enc算法如数式175~数式178所示。另外,Dec算法如数式174所示,没有变更。
[数式175]
N0:=2+u0+1+w0+z0,Nt:=3+ut+wt+zt for t=1,...,d,
for t=0,...,d,
X t * : = ( &theta; t , i , j ) i , j = 1 , . . . , N t : = &psi; &CenterDot; ( X t T ) - 1 , hereafter , &chi; &RightArrow; t , i
and &theta; &RightArrow; t , i denote the i - th rows of X t and X t * for i = 1 , . . . , N t , respectively ,
[数式176]
Setup(1λ):
[数式177]
KeyGen ( pk , sk , v &RightArrow; : = ( v 1 , . . . , v n ) ) :
s 0 : = &Sigma; t = 1 n s t ,
for t=1,...,n,
return s k v : = ( k 0 * , { k t * } t = 1 , . . . , n ) .
[数式178]
Enc ( pk , m , x &RightArrow; : = ( x 1 , . . . , x n &prime; ) ) :
for t=1,...,n′,
c T : = g T &zeta; m
return ctx:=(c0,{ct}t=1,...,n′,cT).
即,按照每个索引t使用不同的基Bt和基B* t
并且,在上述说明中,设u0、w0、z0、u、w、z分别为0以上的整数。例如可以设u0=2、w0=2、z0=2、u=11、w=3、z=3。
实施方式4
对具有上述实施方式中说明的内积谓词密码方式作为下部构造的函数型密码方式和基于属性的签名方式进行说明。
在非专利文献31中记载有函数型密码方式。
在非专利文献31所述的函数型密码方式中,按照每个索引t计算属性向量与谓词向量的内积。然后,针对给出的全部索引t,属性向量与谓词向量的内积为0,能够利用解密密钥对密文进行解密。
在各索引t中的属性向量与谓词向量的内积的计算中,应用上述实施方式中说明的内积谓词密码方式。由此,构成具有上述实施方式中说明的内积谓词密码方式作为下部构造的函数型密码方式。
在非专利文献31所述的函数型密码方式中,在各索引t中,属性向量和谓词向量的维度必须相同。但是,通过采用具有上述实施方式中说明的内积谓词密码方式作为下部构造的函数型密码方式,在各索引t中,属性向量和谓词向量的维度不需要相同。
在以下说明中,作为一例,对在非专利文献31所述的Key-Policy函数型密码方式(KP-FE方式)中应用实施方式1中说明的内积谓词密码方式的情况进行说明。
这里,以KP-FE方式中的、通过应用实施方式1中说明的内积谓词密码方式而产生变更的部分为中心进行说明。
另外,在非专利文献31所述的函数型密码方式中,使用变量ρ(i),按照每个索引t,区分使用是在属性向量与谓词向量的内积为0的情况下能够解密、还是在属性向量与谓词向量的内积为0以外的情况下能够解密。但是,这里,为了简化说明,对针对给出的全部索引t在属性向量与谓词向量的内积为0的情况下能够解密的情况进行说明。
并且,在实施方式1中,通过设置索引部,将各属性范畴中使用的基作为公共基(基B和基B*)。但是,这里,为了简化说明,对不设置索引部而将各属性范畴中使用的基作为不同基的情况进行说明。
并且,在非专利文献31和实施方式1中,索引t和秘密信息s的文字重复。因此,这里,设非专利文献31中的索引t为索引τ,设非专利文献31中的秘密信息s为秘密信息σ。
KP-FE方式具有Setup算法、KeyGen算法、Enc算法、Dec算法这4个算法。
对Setup算法进行说明。
主密钥生成部110通过处理装置,按照每个索引τ、t生成基Bτ,t和基B* τ,t。即,主密钥生成部110不是按照每个索引t生成基Bt和基B* t,而是按照每个索引τ、t生成基Bτ,t和基B* τ,t
即,Setup算法如数式179所示。另外,Setup算法中使用的算法Gob如数式180所示。
[数式179]
Setup ( 1 &lambda; , n &RightArrow; : = ( &Delta; ; d ; n 1,1 , . . . , n &Delta; , d ) )
return pk,sk.
[数式180]
N0:=5,Nτ,t:=2+2nτ,t+1 for τ=1,...,Δ;t=1,...,d,
For τ=1,...,Δ;t=1,...,d,
对KeyGen算法进行说明。
解密密钥生成部140通过处理装置,如数式181所示生成秘密信息σ、秘密信息s。
[数式181]
&sigma; &RightArrow; T : = ( &sigma; 1 , . . . , &sigma; L ) T : = M &CenterDot; f &RightArrow; T ,
&sigma; 0 : = 1 &RightArrow; &CenterDot; f &RightArrow; T ,
&sigma; i : = &Sigma; ( t , v i , t ) &Element; v &RightArrow; i s i , t for i = 1 , . . . , L
然后,解密密钥生成部140通过处理装置,如数式182所示生成解密密钥skS的元素k* 0,针对i=1,...,L(L为1以上的整数)和集合Ivi→中包含的索引t,如数式183所示生成解密密钥skS的元素k* i,t
[数式182]
[数式183]
即,KeyGen算法如数式184所示。
[数式184]
for i=1,...,L
for ( t , v i , t ) &Element; v &RightArrow; i ,
对Enc算法进行说明。
密文生成部230通过处理装置,针对1个以上的索引τ和集合Ixi→中包含的索引t,如数式185所示生成密文ctx的元素cτ,t
[数式185]
即,Enc算法如数式186所示。
[数式186]
Enc ( pk , m , &Gamma; : = { ( &tau; , x &RightArrow; &tau; : = { ( t , x &tau; , t ) | t &Element; I x &RightArrow; t } | 1 &le; &tau; &le; d } )
for ( &tau; , x &RightArrow; &tau; ) &Element; &Gamma; ; ( t , x &tau; , t ) &Element; x &RightArrow; &tau;
c d + 1 : = g T &zeta; m , c t &Gamma; : = ( &Gamma; , c 0 , { c &tau; , t } ( &tau; , x &RightArrow; &tau; ) &Element; &Gamma; ; ( t , x &tau; , t ) &Element; x &RightArrow; &tau; , c d + 1 ) .
return ctΓ.
对Dec算法进行说明。
配对运算部340通过处理装置计算数式187,生成会话密钥K=gT ζ,计算消息m’=cd+1/K。
[数式187]
K : = e ( c 0 , k 0 * ) . &Pi; i &Element; I ^ &rho; ( i ) = ( &tau; , v &RightArrow; i ) ^ t &Element; I v &RightArrow; i e ( c &tau; , t , k i , t * ) &alpha; i
即,Dec算法如数式188所示。
[数式188]
then compute I and{αi}i∈I such that
&sigma; 0 = &Sigma; i &Element; I &alpha; i &sigma; i , and I &SubsetEqual; { i &Element; { 1 , . . . , L }
| [ &rho; ( i ) = ( &tau; , v &RightArrow; i ) ^ ( &tau; , x &RightArrow; &tau; ) &Element; &Gamma; ^ v &RightArrow; i &CenterDot; x &RightArrow; &tau; = 0 ] } .
K : = e ( c 0 , k 0 * ) . &Pi; i &Element; I ^ &rho; ( i ) = ( &tau; , v &RightArrow; i ) ^ t &Element; I v &RightArrow; i e ( c &tau; , t , k i , t * ) &alpha; i ,
m'=cd+1/K.
return m'.
如上所述,能够实现具有上述实施方式中说明的内积谓词密码方式作为下部构造的函数型密码方式。
在上述说明中,对在此后追加属性范畴的情况下需要再次发行公开参数的函数型密码方式进行了说明。但是,如实施方式1~3中说明的那样,通过设置索引部,也能够追加属性范畴而不用再次发行公开参数。
另外,在上述函数型密码方式中,使用基Bτ,t和基B* τ,t。因此,需要针对索引τ和索引t分别设置索引部。
该情况下,上述内积谓词密码方式的Gob算法、Setup算法、KeyGen算法、Enc算法如数式189~数式192所示。另外,Dec算法如数式188所示,没有变更。
[数式189]
N0:=5,N1:=6+2n+1,
for t=0,1,
[数式190]
Setup(1λ)
[数式191]
for i=1,...,L
for ( t , v i , t ) &Element; v &RightArrow; i ,
[数式192]
Enc ( pk , m , &Gamma; : = { ( &tau; , x &RightArrow; &tau; : = { ( t , x &tau; , t ) | t &Element; I x &RightArrow; t } | 1 &le; &tau; &le; d } )
for ( &tau; , x &RightArrow; &tau; ) &Element; &Gamma; ; ( t , x &tau; , t ) &Element; x &RightArrow; &tau;
c d + 1 : = g T &zeta; m , c t &Gamma; : = ( &Gamma; , c 0 , { c &tau; , t } ( &tau; , x &RightArrow; &tau; ) &Element; &Gamma; ; ( t , x &tau; , t ) &Element; x &RightArrow; &tau; , c d + 1 ) .
return ctΓ.
另外,在上述说明中,作为一例,对在非专利文献31所述的KP-FE方式中应用实施方式1中说明的内积谓词密码方式的情况进行了说明。
但是,根据同样的方法,也可以在非专利文献31所述的Ciphertext-Policy函数型密码方式(CP-FE方式)和Unified-Policy函数型密码方式(UP-FE方式)中应用实施方式1中说明的内积谓词密码方式。并且,还可以在非专利文献31所述的各函数型密码方式中应用实施方式2、3中说明的内积谓词密码方式。当然,不限于非专利文献31所述的函数型密码方式,也可以在其它函数型密码方式中应用上述实施方式中说明的内积谓词密码方式。并且,根据同样的方法,也可以在非专利文献32或其它文献所述的基于属性的签名方式中应用上述实施方式中说明的内积谓词密码方式。
在任何情况下,在各索引t中的属性向量与谓词向量的内积的计算中应用上述实施方式中说明的内积谓词密码方式即可。
实施方式5
在以上的实施方式中,对在对偶向量空间中实现密码原语的处理的方法进行了说明。在实施方式5中,对在对偶加群中实现密码原语的处理的方法进行说明。
即,在以上的实施方式中,在素数位数q的循环群中实现了密码原语的处理。但是,在使用合成数M如数式193所示表示环R的情况下,在将环R作为系数的加群中,也可以应用上述实施方式中说明的密码原语的处理。
[数式193]
其中,
整数
M:合成数
如果将以上的实施方式中说明的算法中的Fq变更成R,则能够实现对偶加群中的密码原语的处理。
接着,对实施方式中的密码处理系统10(密钥生成装置100、加密装置200、解密装置300)的硬件结构进行说明。
图16是示出密钥生成装置100、加密装置200、解密装置300的硬件结构的一例的图。
如图16所示,密钥生成装置100、加密装置200、解密装置300具有执行程序的CPU911(Central·Processing·Unit,也称作中央处理装置、处理装置、运算装置、微处理器、微计算机、处理器)。CPU911经由总线912与ROM913、RAM914、LCD901(Liquid Crystal Display)、键盘902(K/B)、通信板915、磁盘装置920连接,对这些硬件设备进行控制。代替磁盘装置920(固定盘装置),也可以是光盘装置、存储卡读写装置等存储装置。磁盘装置920经由规定的固定盘接口进行连接。
ROM913、磁盘装置920是非易失性存储器的一例。RAM914是易失性存储器的一例。ROM913、RAM914、磁盘装置920是存储装置(存储器)的一例。并且,键盘902、通信板915是输入装置的一例。并且,通信板915是通信装置的一例。进而,LCD901是显示装置的一例。
在磁盘装置920或ROM913等中存储有操作系统921(OS)、Windows系统922、程序组923、文件组924。程序组923的程序由CPU911、操作系统921、Windows系统922执行。
在程序组923中存储有执行在上述说明中作为主密钥生成部110、主密钥存储部120、信息输入部130、解密密钥生成部140、密钥发布部150、公开参数取得部210、信息输入部220、密文生成部230、数据发送部240、解密密钥取得部310、解密密钥存储部320、密文取得部330、配对运算部340、消息计算部350等说明的功能的软件、程序及其它程序。程序由CPU911读出并执行。
在文件组924中存储有上述说明中的公开参数pk、主秘密密钥sk、解密密钥skv、密文ctx、谓词向量v、属性向量x、消息m等信息、数据、信号值、变量值、参数作为文件或数据库的各项目。文件或数据库存储在盘或存储器等记录介质中。盘或存储器等存储介质中存储的信息、数据、信号值、变量值、参数经由读写电路而由CPU911读出到主存储器或超高速缓冲存储器中,用于进行提取、检索、参照、比较、运算、计算、处理、输出、打印、显示等的CPU911的动作。在提取、检索、参照、比较、运算、计算、处理、输出、打印、显示等的CPU911的动作的期间内,信息、数据、信号值、变量值、参数暂时存储在主存储器、超高速缓冲存储器、缓冲存储器中。
并且,上述说明中的流程图的箭头部分主要表示数据、信号的输入输出,数据、信号值记录在RAM914的存储器、其它光盘等记录介质、IC芯片中。并且,数据、信号通过总线912、信号线、缆线、其它传送介质或电波进行在线传送。
并且,在上述说明中,作为“~部”说明的部分也可以是“~电路”、“~装置”、“~设备”、“~单元”、“~功能”,并且,还可以是“~步骤”、“~顺序”、“~处理”。并且,作为“~装置”说明的部分也可以是“~电路”、“~设备”、“~单元”、“~功能”,并且,还可以是“~步骤”、“~顺序”、“~处理”。进而,作为“~处理”说明的部分也可以是“~步骤”。即,作为“~部”说明的部分也可以由ROM913中存储的固件实现。或者,可以仅由软件实施,或者,仅由元件、器件、基板、布线等硬件实施,或者,由软件与硬件的组合以及与固件的组合实施。固件和软件作为程序存储在ROM913等记录介质中。程序由CPU911读出并由CPU911执行。即,程序使计算机等作为上述“~部”发挥功能。或者,使计算机等执行上述“~部”的顺序、方法。
标号说明
100:密钥生成装置;110:主密钥生成部;120:主密钥存储部;130:信息输入部;140:解密密钥生成部;150:密钥发布部;200:加密装置;210:公开参数取得部;220:信息输入部;230:密文生成部;240:数据发送部;300:解密装置;310:解密密钥取得部;320:解密密钥存储部;330:密文取得部;340:配对运算部;350:消息计算部。

Claims (12)

1.一种密码系统,该密码系统具有加密装置和解密装置,其特征在于,
所述加密装置具有密文生成部,该密文生成部生成具有设定了值ω~作为基向量b0,r的系数的元素c0、和针对集合Ix→中包含的各索引t设定了属性信息xt作为基向量bp的系数且设定了所述值ω~作为基向量bq的系数的元素ct的密文,
所述解密装置具有:
解密密钥存储部,其存储具有使用与集合Iv→中包含的各索引t有关的值st的合计为值s0的值st和值s0生成的元素k0和元素kt的解密密钥,该元素k0设定了值-s0作为与所述基向量b0,r对应的基向量b* 0,r的系数,该元素kt针对集合Iv→中包含的各索引t设定了谓词信息vt作为与所述基向量bp对应的基向量b* p的系数且设定了值st作为与所述基向量bq对应的基向量b* q的系数;以及
解密部,其利用所述解密密钥存储部存储的解密密钥对所述密文生成部生成的密文进行解密,针对所述元素c0和所述元素k0以及与所述集合Iv→中包含的各索引t有关的元素ct和元素kt计算对应的每个基向量的配对运算之积,从而对所述密文进行解密。
2.根据权利要求1所述的密码系统,其特征在于,
所述密文生成部还生成设定了预先分配给索引t的信息J作为基向量bindex的系数的元素ct
所述解密密钥存储部还生成设定了与预先分配给索引t的所述信息J之间的内积为0的信息J’作为与所述基向量bindex对应的基向量b* index的系数的元素kt
3.根据权利要求2所述的密码系统,其特征在于,
所述密文生成部生成数式1所示的元素c0和元素ct
所述解密密钥存储部存储数式2所示的元素k0和元素kt
所述解密部进行数式3所示的计算,
[数式1]
其中,
为随机数,
u0,w0,z0,u,w,z为0以上的整数,
[数式2]
其中,
&delta; , &mu; t , &eta; &RightArrow; 0 : = ( &eta; 0,1 , &CenterDot; &CenterDot; &CenterDot; , &eta; 0 , w 0 ) , &eta; t : = ( &eta; t , 1 , &CenterDot; &CenterDot; &CenterDot; , &eta; t , w ) 为随机数,
u0,w0,z0,u,w,z为0以上的整数,
[数式3]
K : = e ( c 0 , k 0 * ) &Pi; t &Element; I v &RightArrow; e ( c t , k t * ) .
4.一种密码系统,该密码系统具有发送装置和接收装置,通过按照每个索引τ,判定作为元素具有与集合Iτ,x→中包含的各索引t有关的属性信息xτ,t的属性向量xτ 、与作为元素具有与集合Iτ、v→中包含的各索引t有关的属性信息vτ,t的谓词向量vτ 的内积是否为0,实现密码原语的处理,其特征在于,
所述发送装置具有发送信息生成部,该发送信息生成部按照每个索引τ,生成具有针对集合Iτ、x→中包含的各索引t设定了属性信息xτ,t作为基向量bp的系数且设定了值ω~τ作为基向量bq的系数的元素cτ,t的发送信息,
所述接收装置具有:
接收信息存储部,其按照每个索引τ,存储具有针对集合Iτ、v→中包含的各索引t设定了属性信息vτ,t作为与所述基向量bp对应的基向量b* p的系数且设定了值sτ,t作为与所述基向量bq对应的基向量b* q的系数的元素kτ,t的接收信息;以及
配对运算部,其关于各索引τ,针对与所述集合Iτ、v→中包含的各索引t有关的元素cτ,t和元素kτ,t计算对应的每个基向量的配对运算之积。
5.一种密码系统,该密码系统具有加密装置和解密装置,其特征在于,
所述加密装置具有密文生成部,该密文生成部生成具有使用与集合Ix→中包含的各索引t有关的值ft的合计为值f0的值ft和值f0生成的元素c0和元素ct的密文,该元素c0设定了值-f0作为基向量b0,r的系数,该元素ct针对集合Ix→中包含的各索引t设定了属性信息xt作为基向量bp的系数且设定了值ft作为基向量bq的系数,
所述解密装置具有:
解密密钥存储部,其存储具有设定了值δ~作为与所述基向量b0,r对应的基向量b* 0,r的系数的元素k0、和针对集合Iv→中包含的各索引t设定了谓词信息vt作为与所述基向量bp对应的基向量b* p的系数且设定了所述值δ~作为与所述基向量bq对应的基向量b* q的系数的元素kt的解密密钥;以及
解密部,其利用所述解密密钥存储部存储的解密密钥对所述密文生成部生成的密文进行解密,针对所述元素c0和所述元素k0以及与所述集合Ix→中包含的各索引t有关的元素ct和元素kt计算对应的每个基向量的配对运算之积,从而对所述密文进行解密。
6.根据权利要求5所述的密码系统,其特征在于,
所述密文生成部还生成设定了预先分配给索引t的信息J作为基向量bindex的系数的元素ct
所述解密密钥存储部还生成设定了与预先分配给索引t的所述信息J之间的内积为0的信息J’作为与所述基向量bindex对应的基向量b* index的系数的元素kt
7.根据权利要求6所述的密码系统,其特征在于,
所述密文生成部生成数式4所示的元素c0和元素ct
所述解密密钥存储部存储数式5所示的元素k0和元素kt
所述解密部进行数式6所示的计算,
[数式4]
其中,
为随机数,
u0,w0,z0,u,w,z为0以上的整数,
[数式5]
其中,
&delta; , &delta; ~ , &mu; t , &eta; &RightArrow; 0 : = ( &eta; 0,1 , &CenterDot; &CenterDot; &CenterDot; , &eta; 0 , w 0 ) , &eta; t : = ( &eta; t , 1 , &CenterDot; &CenterDot; &CenterDot; , &eta; t , w ) 为随机数,
u0,w0,z0,u,w,z为0以上的整数,
[数式6]
K : = e ( c 0 , k 0 * ) &Pi; t &Element; I v &RightArrow; e ( c t , k t * ) .
8.一种密码系统,该密码系统具有发送装置和接收装置,通过按照每个索引τ,判定作为元素具有与集合Iτ,x→中包含的各索引t有关的属性信息xτ,t的属性向量xτ 、与作为元素具有与集合Iτ、v→中包含的各索引t有关的属性信息vτ,t的谓词向量vτ 的内积是否为0,实现密码原语的处理,其特征在于,
所述发送装置具有发送信息生成部,该发送信息生成部按照每个索引τ,生成具有针对集合Iτ、x→中包含的各索引t设定了属性信息xτ,t作为基向量bp的系数且设定了值fτ,t作为基向量bq的系数的元素cτ,t的发送信息,
所述接收装置具有:
接收信息存储部,其按照每个索引τ,存储具有针对集合Iτ、v→中包含的各索引t设定了属性信息vτ,t作为与所述基向量bp对应的基向量b* p的系数且设定了值δ~τ作为与所述基向量bq对应的基向量b* q的系数的元素kτ,t的接收信息;以及
配对运算部,其关于各索引τ,针对与所述集合Iτ、x→中包含的各索引t有关的元素cτ,t和元素kτ,t计算对应的每个基向量的配对运算之积。
9.一种密码系统,该密码系统具有加密装置和解密装置,其特征在于,
所述加密装置具有密文生成部,该密文生成部生成具有使用与t=1,...,n(n为1以上的整数)的各索引t有关的值ft的合计为值f0的值ft和值f0生成的元素c0和元素ct的密文,该元素c0设定了值ω~作为基向量b0,r的系数且设定了值-f0作为基向量b0,r’的系数,该元素ct针对集合Ix→中包含的各索引t设定了属性信息xt作为基向量bp的系数、设定了所述值ω~作为基向量bq的系数且设定了值ft作为基向量bq’的系数,
所述解密装置具有:
解密密钥存储部,其存储具有使用与所述各索引t有关的值st的合计为值s0的值st和值s0生成的元素k0和元素kt的解密密钥,该元素k0设定了值-s0作为与所述基向量b0,r对应的基向量b* 0,r的系数且设定了值δ作为与基向量b0,r’对应的基向量b* 0,r’的系数,该元素kt针对集合Iv→中包含的各索引t设定了谓词信息vt作为与所述基向量bp对应的基向量b* p的系数、设定了值st作为与所述基向量bq对应的基向量b* q的系数且设定了所述值δ~作为与所述基向量bq’对应的基向量b* q’的系数;以及
解密部,其利用所述解密密钥存储部存储的解密密钥对所述密文生成部生成的密文进行解密,针对所述元素c0和所述元素k0以及与所述各索引t有关的元素ct和元素kt计算对应的每个基向量的配对运算之积,从而对所述密文进行解密。
10.根据权利要求9所述的密码系统,其特征在于,
所述密文生成部还生成设定了预先分配给索引t的信息J作为基向量bindex的系数的元素ct
所述解密密钥存储部还生成设定了与预先分配给索引t的所述信息J之间的内积为0的信息J’作为与所述基向量bindex对应的基向量b* index的系数的元素kt
11.根据权利要求10所述的密码系统,其特征在于,
所述密文生成部生成数式7所示的元素c0和元素ct
所述解密密钥存储部存储数式8所示的元素k0和元素kt
所述解密部进行数式9所示的计算,
[数式7]
其中,
为随机数,
u0,w0,z0,u,w,z为0以上的整数,
[数式8]
其中,
&delta; , &delta; ~ , &mu; t , &eta; &RightArrow; 0 : = ( &eta; 0,1 , &CenterDot; &CenterDot; &CenterDot; , &eta; 0 , w 0 ) , &eta; t : = ( &eta; t , 1 , &CenterDot; &CenterDot; &CenterDot; , &eta; t , w ) 为随机数,
u0,w0,z0,u,w,z为0以上的整数,
[数式9]
K : = e ( c 0 , k 0 * ) &Pi; t = 1 n e ( c t , k t * ) .
12.一种密码系统,该密码系统具有发送装置和接收装置,通过按照每个索引τ,判定作为元素具有与t=1,...,n(n为1以上的整数)的各索引t有关的属性信息xτ, t的属性向量xτ 、与作为元素具有与所述各索引t有关的属性信息vτ,t的谓词向量vτ 的内积是否为0,实现密码原语的处理,其特征在于,
所述发送装置具有发送信息生成部,该发送信息生成部按照每个索引τ,生成具有针对集合Iτ、x→中包含的各索引t设定了属性信息xτ,t作为基向量bp的系数、设定了值ω~τ作为基向量bq的系数且设定了值ft作为基向量bq’的系数的元素cτ,t的发送信息,
所述接收装置具有:
接收信息存储部,其按照每个索引τ,存储具有针对集合Iτ、v→中包含的各索引t设定了属性信息vτ,t作为与所述基向量bp对应的基向量b* p的系数、设定了值sτ,t作为与所述基向量bq对应的基向量b* q的系数且设定了值δ~作为与所述基向量bq’对应的基向量b* q’的系数的元素kτ,t的接收信息;以及
配对运算部,其针对与各索引τ和各索引t有关的元素cτ,t和元素kτ,t计算对应的每个基向量的配对运算之积。
CN201380050410.0A 2012-10-19 2013-07-17 密码系统 Expired - Fee Related CN104718566B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-231293 2012-10-19
JP2012231293A JP5921410B2 (ja) 2012-10-19 2012-10-19 暗号システム
PCT/JP2013/069364 WO2014061324A1 (ja) 2012-10-19 2013-07-17 暗号システム

Publications (2)

Publication Number Publication Date
CN104718566A true CN104718566A (zh) 2015-06-17
CN104718566B CN104718566B (zh) 2017-06-16

Family

ID=50487902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380050410.0A Expired - Fee Related CN104718566B (zh) 2012-10-19 2013-07-17 密码系统

Country Status (7)

Country Link
US (1) US9722783B2 (zh)
EP (1) EP2911137B1 (zh)
JP (1) JP5921410B2 (zh)
KR (1) KR101676977B1 (zh)
CN (1) CN104718566B (zh)
ES (1) ES2645072T3 (zh)
WO (1) WO2014061324A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110169010A (zh) * 2017-01-18 2019-08-23 三菱电机株式会社 同态运算装置、加密系统和同态运算程序

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6719339B2 (ja) * 2016-08-30 2020-07-08 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
KR101994236B1 (ko) * 2017-04-21 2019-09-30 한국전자통신연구원 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치
JP6971917B2 (ja) * 2018-06-11 2021-11-24 三菱電機株式会社 復号装置、暗号化装置及び暗号システム
JP7087965B2 (ja) * 2018-11-29 2022-06-21 日本電信電話株式会社 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
KR102123435B1 (ko) * 2019-08-19 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치
KR102123440B1 (ko) * 2019-09-02 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613005A (en) * 1994-07-07 1997-03-18 Murata Kikai Kabushiki Kaisha Cipher communication method and device
CN1442978A (zh) * 2002-01-28 2003-09-17 株式会社东芝 数据通信系统、加密装置及解密装置
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101188496A (zh) * 2007-12-10 2008-05-28 中兴通讯股份有限公司 一种短信加密传输方法
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2011135895A1 (ja) * 2010-04-27 2011-11-03 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
CN102369687A (zh) * 2009-04-24 2012-03-07 日本电信电话株式会社 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置、程序、存储介质
JP2012133214A (ja) * 2010-12-22 2012-07-12 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
US8634563B2 (en) * 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613005A (en) * 1994-07-07 1997-03-18 Murata Kikai Kabushiki Kaisha Cipher communication method and device
CN1442978A (zh) * 2002-01-28 2003-09-17 株式会社东芝 数据通信系统、加密装置及解密装置
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101188496A (zh) * 2007-12-10 2008-05-28 中兴通讯股份有限公司 一种短信加密传输方法
CN102369687A (zh) * 2009-04-24 2012-03-07 日本电信电话株式会社 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置、程序、存储介质
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2011135895A1 (ja) * 2010-04-27 2011-11-03 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP2011232475A (ja) * 2010-04-27 2011-11-17 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP2012133214A (ja) * 2010-12-22 2012-07-12 Mitsubishi Electric Corp 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110169010A (zh) * 2017-01-18 2019-08-23 三菱电机株式会社 同态运算装置、加密系统和同态运算程序

Also Published As

Publication number Publication date
WO2014061324A1 (ja) 2014-04-24
US9722783B2 (en) 2017-08-01
US20150229472A1 (en) 2015-08-13
KR20150070383A (ko) 2015-06-24
KR101676977B1 (ko) 2016-11-16
JP2014085358A (ja) 2014-05-12
EP2911137A1 (en) 2015-08-26
CN104718566B (zh) 2017-06-16
EP2911137B1 (en) 2017-09-27
EP2911137A4 (en) 2016-09-07
JP5921410B2 (ja) 2016-05-24
ES2645072T3 (es) 2017-12-04

Similar Documents

Publication Publication Date Title
JP5424974B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
KR101588992B1 (ko) 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN103038805B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN104718566B (zh) 密码系统
CN102822883B (zh) 密码处理系统、密钥生成装置、密钥转让装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN103348624A (zh) 签名处理系统、密钥生成装置、签名装置、验证装置、签名处理方法以及签名处理程序
JP5606351B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170616

Termination date: 20210717

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