CN102484586B - 函数密码应用系统及方法 - Google Patents

函数密码应用系统及方法 Download PDF

Info

Publication number
CN102484586B
CN102484586B CN201080033976.9A CN201080033976A CN102484586B CN 102484586 B CN102484586 B CN 102484586B CN 201080033976 A CN201080033976 A CN 201080033976A CN 102484586 B CN102484586 B CN 102484586B
Authority
CN
China
Prior art keywords
information
agreement
corresponding informance
identifier
function
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.)
Active
Application number
CN201080033976.9A
Other languages
English (en)
Other versions
CN102484586A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN102484586A publication Critical patent/CN102484586A/zh
Application granted granted Critical
Publication of CN102484586B publication Critical patent/CN102484586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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
    • H04L9/0847Key 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 involving identity based encryption [IBE] schemes
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

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

Abstract

信息输出装置根据对按照函数密码方式的每个协议决定的规则、或者对该协议的组合的每一个决定的规则,确定与按照函数密码方式的特定的协议或者该特定的协议的组合对应的一种识别符或者多种识别符,设定与这些识别符对应的特定的第1对应信息,输出与特定的第1对应信息对应的作为函数密码方式的密码文或者密钥信息的第1信息。信息处理装置将第1信息、以及作为与特定的第2对应信息对应的函数密码方式的密钥信息或者密码文的第2信息输入到函数密码方式的解密函数,并且在与对应于第1信息的特定的第1对应信息以及对应于第2信息的特定的第2对应信息的组合对应的逻辑式的真值为真的情况下生成解密结果。

Description

函数密码应用系统及方法
技术领域
本发明涉及密码技术,特别涉及函数密码技术。 
背景技术
基于ID的加密(IBE:Identity-based Encryption)方式是,能够使用公开参数和某一识别符(ID)来生成密码文,且能够使用与该识别符一对一对应的密钥信息SKID对该密码文进行解密的方式(例如,参照非专利文献1等)。近年来,提出了应用这样的基于ID的密码方式的各种协议。 
例如,已知在基于ID的密码方式中,通过将包含与时间区间对应的值和接收者装置的固有识别符的值作为识别符进行加密和密钥信息生成,从而能够构成前向安全(Forward-secure)密码或密钥隔离(Key-Insulated)密码,其中,时间区间包含当前的日期时间(例如,参照非专利文献2、3等)。此外,已知在基于ID的密码方式中,能够构成如下的关键字检索加密:存储将密码文与被加密的检索对象相对应的加密数据库,并且利用以包含关键字的信息作为识别符的密钥信息来检索加密数据库,其中,密码文是以包含与检索对象对应的关键字的信息作为识别符(例如,参照非专利文献4等)。除此之外,例如,若将应对密码文进行解密的时刻作为识别符,则能够实现定时释放(Timed-Release)加密,若将随机数那样的一次性信息作为识别符,则能够实现CCA2(Chosen Ciphertext Attack 2)密码。 
现有技术文献 
非专利文献 
非专利文献1:D.Boneh,M.Franklin,“Identity Based Encryption from the Weil Pairing,”Crypto 2001,Lecture Notes in Computer Science,Vol.2139,Springer-Verlag,pp.213-229,2001. 
非专利文献2:R.Canetti,S.Halevi,J.Katz,“A Forward-Secure Public-Key Encryption Scheme,”EUROCRYPT’2003,255-271. 
非专利文献3:Y.Dodis,M.Franklin,J.Katz,A.Miyaji and M.Yung, “Intrusion-Resilient Public-Key Encryption,”CT RSA 2003,Lecture Notes in Computer Science,2612(2003),Springer-Verlag,19-32. 
非专利文献4:D.Boneh,G.Di Crescenzo,R.Ostrovsky,and G.Persiano,“Public Key Encryption with keyword Serch,”Eurocrypt 2004. 
发明内容
发明要解决的课题 
如上所述,在基于ID的密码方式中,根据所使用的识别符能够构成各种协议。因此,能够通过切换所使用的识别符来切换协议。此外,若将与多个协议对应的识别符的组合作为新的识别符来使用,则还能够构成多个协议的组合、即兼备了多个协议的特征的新的协议。 
但是,基于ID的密码方式的密钥信息和识别符是一对一对应。即,在应用了基于ID的密码方式的协议中,每个协议需要单独的密钥信息。因此,在构成了生成密码文的一侧的装置选择要用于密码文的生成的识别符,并且根据所选择的识别符来切换协议的系统的情况下,进行密码文的解密的装置需要对被切换的各个协议分别保持单独对应的各个密钥信息。这样的密钥信息的生成/管理烦杂,并不理想。 
同样地,对于一个明文(平文)的基于ID的密码方式的密码文与识别符是一对一对应。即,在应用了基于ID的密码方式的协议中,每个协议需要单独的密码文。因此,在构成了生成密钥信息的一侧的装置选择要用于密钥信息的生成的识别符,并且根据所选择的识别符来切换协议的系统的情况下,进行密码文的生成的装置需要对被切换的各个协议分别保持单独对应的各个密码文。这样的密码文的生成/管理烦杂,并不理想。 
这样的问题在构成如下的系统的情况下也同样会产生:生成密钥信息的一侧的装置选择要用于密钥信息的生成的识别符,能够根据所选择的识别符来切换协议,并且生成密码文的一侧的装置选择要用于密码文的生成的识别符,还能够根据所选择的识别符来切换协议。 
本发明鉴于这样的问题而完成,其目的在于提供一种不需要烦杂的处理/管理,且能够根据所选择的识别符来切换协议的技术。 
用于解决课题的方案 
在本发明中为了解决上述课题,构成按照如下的函数密码方式的协议, 即当与第1对应信息以及第2对应信息的组合对应的逻辑式的真值为真的情况下,密码文被正确地解密。 
本发明的信息输出装置,根据对按照函数密码方式的每个协议决定的规则、或者对按照函数密码方式的协议的组合的每一个决定的规则,确定与按照函数密码方式的特定的协议对应的、或者与按照函数密码方式的特定的协议的组合对应的一种识别符或者多种识别符,设定与一种识别符或者多种识别符的组合对应的特定的第1对应信息,输出第1信息,该第1信息是与特定的第1对应信息对应的函数密码方式的密码文或者密钥信息。 
本发明的信息处理装置,将第1信息、以及作为对应于特定的第2对应信息的函数密码方式的密钥信息或者密码文的第2信息输入到函数密码方式的解密函数,在与对应于第1信息的特定的第1对应信息以及对应于第2信息的特定的第2对应信息的组合对应的逻辑式的真值为真的情况下生成解密结果。另外,当第1信息为对应于特定的第1对应信息的密码文时,第2信息是对应于特定的第2对应信息的密钥信息,当第1信息为对应于特定的第1对应信息的密钥信息时,第2信息是对应于特定的第2对应信息的密码文。 
如上所述,在函数密码方式中,在与对应于第1信息的特定的第1对应信息以及对应于第2信息的特定的第2对应信息的组合对应的逻辑式的真值为真时,生成正确的解密结果。此外,特定的第1信息是对一种识别符或者多种识别符的组合决定的信息。此外,特定的第2信息取相对于特定的第1对应信息所取的一种值或者多种值能够分别得到解密结果的值。即,在本发明中,能够对一种以上的第1信息共享相同的第2信息,从而进行正确的解码。 
发明效果 
如上所述,在本发明中,对于一种以上的第1信息能够共享相同的第2信息。因此,即使在信息输出装置选择一种识别符或者两种以上的该识别符的组合,并根据所选择的识别符来切换协议从而生成第1信息的情况下,信息处理装置也不需要对被切换的每个协议单独生成第2信息。结果,在本发明中,不需要烦杂的处理/管理,且能够根据所选择的识别符来切换协议。 
附图说明
图1是用于说明第1实施方式的函数密码应用系统的整体结构的方框图。 
图2是用于说明图1的发送者装置(信息输出装置)的结构的方框图。 
图3是用于说明图1的接收者装置(信息处理装置)的结构的方框图。 
图4是用于说明图1的密钥生成装置的结构的方框图。 
图5A是例示了第1实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。图5B是例示了第1实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
图6A是用于说明在第1实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。图6B是用于说明在第1实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。 
图7是用于说明在第1实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。 
图8A是用于说明用于对一种识别符ID(h)或者两种以上的识别符ID(h)的组合确定一个属性信息ATT的属性信息表的一例的图,图8B是用于说明通过该属性信息表决定的属性信息ATT的数据结构的图。 
图9A是用于说明用于对一种识别符ID(h)或者两种以上的识别符ID(h)的组合确定一个属性信息ATT的属性信息表的一例的图,图9B是用于说明通过该属性信息表决定的属性信息ATT的数据结构的图。 
图10A是用于说明分别与多项式f(x0,...,xH-1)对应的谓语信息PRE的一例的图。图10B是用于说明该谓语信息PRE的数据结构的图。 
图11A是用于说明分别与多项式f(x0,...,xH-1)对应的谓语信息PRE的一例的图。图11B是用于说明该谓语信息PRE的数据结构的图。 
图12A是用于说明第1实施方式的加密处理的流程图。图12B是用于说明第1实施方式的密钥信息生成处理的流程图。 
图13是用于说明第1实施方式的解密处理的流程图。 
图14A是用于说明将属性信息ATT以及谓语信息PRE的一部分区域设为预备区域的例子的图。图14B是用于说明将属性信息ATT以及谓语信息PRE的一部分区域设为预备区域的例子的图。 
图15A是用于说明将属性信息ATT以及谓语信息PRE的一部分区域设为预备区域的例子的图。图15B是用于说明将属性信息ATT以及谓语信息PRE的一部分区域设为预备区域的例子的图。 
图16是用于说明设定与逻辑式对应的属性信息ATT以及谓语信息PRE的情况下的一例的图,其中,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。 
图17A是用于说明设定与逻辑式对应的属性信息ATT以及谓语信息PRE的情况下的一例的图,其中,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。图17B是用于说明设定与逻辑式对应的属性信息ATT以及谓语信息PRE的情况下的一例的图,其中,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。 
图18A是用于说明设定与逻辑式对应的属性信息ATT以及谓语信息PRE的情况下的一例的图,其中,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。图18B是用于说明设定与逻辑式对应的属性信息ATT以及谓语信息PRE的情况下的一例的图,其中,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。 
图19是用于说明第2实施方式的函数密码应用系统的整体结构的方框图。 
图20是用于说明图19的发送者装置(信息输出装置)的结构的方框图。 
图21是用于说明图19的接收者装置(信息处理装置)的结构的方框图。 
图22A是例示了第2实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。图22B是例示了第2实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
图23A是用于说明在第2实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。图23B是用于说明在第2实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。 
图24是用于说明在第2实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。 
图25是用于说明第2实施方式的加密DB的一例的图。 
图26A是用于说明第2实施方式的检索依赖处理的流程图。图26B是用于说明第2实施方式的密钥信息生成处理的流程图。 
图27是用于说明第2实施方式的检索处理的流程图。 
图28是用于说明第3实施方式的函数密码应用系统的整体结构的方框图。 
图29是用于说明图28的发送者装置(信息输出装置)的结构的方框图。 
图30是用于说明图28的接收者装置(信息处理装置)的结构的方框图。 
图31A是用于说明第3实施方式的发送者装置的处理的流程图。图31B是用于说明第3实施方式的接收者装置的处理的流程图。 
图32是例示用于表现标准形逻辑式的树结构数据的图。 
图33是例示用于表现标准形逻辑式的树结构数据的图。 
图34是用于说明函数密码的(Dec-1)的处理的具体例的图。 
图35是用于说明第4实施方式的函数密码应用系统的整体结构的方框图。 
图36是用于说明图35的发送者装置(信息输出装置)的结构的方框图。 
图37是用于说明图35的接收者装置(信息处理装置)的结构的方框图。 
图38是用于说明第4实施方式的密钥生成装置的结构的方框图。 
图39A是例示了第4实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。图39B是例示了第4实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
图40A是用于说明在第4实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。图40B是用于说明在第4实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。 
图41是用于说明在第4实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。 
图42A是用于说明属性信息VSET1的数据结构的图。图42B是用于说明条件信息VSET2的数据结构的图。 
图43A是用于说明第4实施方式的加密处理的流程图。图43B是用于说明第4实施方式的密钥信息生成处理的流程图。 
图44是用于说明第4实施方式的解密处理的流程图。 
图45A是用于说明将属性信息VSET1的一部分区域设为预备区域的例子的图。图45B是用于说明将条件信息VSET2的一部分区域设为预备区域的 例子的图。 
图46是用于说明第5实施方式的发送者装置(信息输出装置)的结构的方框图。 
图47是用于说明第5实施方式的接收者装置(信息处理装置)的结构的方框图。 
图48A是例示了第5实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。图48B是例示了第5实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
图49A是用于说明在第5实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。图49B是用于说明在第5实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。 
图50是用于说明在第5实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。 
图51是用于说明第5实施方式的加密DB的一例的图。 
图52是用于说明第5实施方式的检索依赖处理的流程图。 
图53A是用于说明第5实施方式的密钥信息生成处理的流程图。图53B是用于说明第5实施方式的检索处理的流程图。 
图54是用于说明第6实施方式的发送者装置(信息输出装置)的结构的方框图。 
图55是用于说明第6实施方式的接收者装置(信息处理装置)的结构的方框图。 
图56A是用于说明第6实施方式的发送者装置的处理的流程图。图56B是用于说明第6实施方式的接收者装置的处理的流程图。 
具体实施方式
以下,说明用于实施本发明的方式。 
[第1~第3实施方式中的定义] 
首先,定义在第1~第3实施方式中使用的用语和记号。 
矩阵:“矩阵”表示以矩形排列了运算所定义的集合的元。不仅是以环的元作为元素的形式,以群的元作为元素的形式也表现为“矩阵”。 
(·)T:(·)T表示·的转置矩阵。 
(·)-1:(·)-1表示·的逆矩阵。 
∧:∧表示逻辑与。 
∨:∨表示逻辑或。 
Z:Z表示整数集合。 
k:k表示安全参数(k∈Z,k>0)。 
{0,1}*:{0,1}*表示任意比特长度的二进制序列。其一例是,由整数0以及1组成的序列。但是,{0,1}*不限于由整数0以及1组成的序列。{0,1}*与位数2的有限域或者其扩张域为相同含义。 
q:q表示1以上的整数。 
Zq:Zq表示位数q的有限环。有限环上的运算例如能够通过以位数q作为除数的余数运算而容易构成。 
Fq:Fq表示位数q的有限域。为了Fq为有限域,位数q必须是素数或者素数的幂乘值。有限域Fq的例子为素域或以素域为基础域的扩张域。另外,有限域Fq为素域时的运算例如能够通过以位数q作为除数的余数运算而容易构成。此外,有限域Fq为扩张域时的运算例如能够通过以不可约多项式作为除数的余数运算而容易构成。有限域Fq的具体的构成方法例如在参考文献1“ISO/IEC 18033-2:Information technology-Security techniques-Encryption algorithms-part 2:Asymmetric ciphers”中公开。 
0F:0F表示有限域Fq的加法单位元(零元)。 
1F:1F表示有限域Fq的乘法单位元。 
δ(i,j):δ(i,j)表示克罗内克(Kronecker)的δ函数。i=j时满足δ(i,j)=1F,i≠j时满足δ(i,j)=0F。 
E:E表示在有限域Fq上定义的椭圆曲线。椭圆曲线E被定义为在对由满足仿射(affine)坐标版的Weierstrass方程式 
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6    ...(1) 
(其中,a1,a2,a3,a4,a6∈Fq)的x,y∈Fq组成的点(x,y)的集合附加了被称为无限远点的特别的点O的集合。能够对椭圆曲线E上的任意两点定义被称为椭圆加法运算的两项运算+、以及对椭圆曲线E上的任意一点定义被称为椭圆逆元的单项运算-。此外,已熟知由椭圆曲线E上的有理点组成为有限集合关于椭圆加法运算构成群、使用椭圆加法运算能够定义被称为椭圆标量(scalar)倍算 的运算、以及计算机上的椭圆加法运算等的椭圆运算的具体的运算方法(例如,参照参考文献1、参考文献2“RFC 5091:Identity-Based cryptography Standard(IBCS)#1:Super singular Curve Implementations of the BF and BB1Cryptosystems”、参考文献3“イアン·F·ブラケ、ガデイエル·セロツシ、ナイジエル·P·スマ一ト=著作、“楕円曲線暗号”、出版=ピアソン·エデユケ一シヨン、ISBN4-89471-431-0”等)。 
此外,由椭圆曲线E上的有理点组成的有限集合具有位数p(p≥1)的部分群。例如,在将由椭圆曲线E上的有理点组成的有限集合的元素数目设为#E,将p设为整除#E的大的素数的情况下,由椭圆曲线E的p等分点组成的有限集合E[p]构成由椭圆曲线E上的有理点组成为有限集合的部分群。另外,椭圆曲线E的p等分点是指,椭圆曲线E上的点A中,椭圆曲线E上的椭圆标量倍算值p·A满足p·A=O的点。 
G1,G2,GT:G1,G2,GT表示位数q的循环群。循环群G1,G2的具体例为由椭圆曲线E的p等分点组成的有限集合E[p]或其部分群。可以是G1=G2,也可以是G1≠G2。此外,循环群GT的具体例为关于以有限域Fq作为基础域的扩张域的加法的部分群。其一例是,由有限域Fq的代数闭包中的1的p根组成的有限集合。 
另外,在第1~第3实施方式中,以加法方式表现在循环群G1,G2上定义的运算,以乘法方式表现在循环群GT上定义的运算。即,对于χ∈Fq以及Ω∈G1的χ·Ω∈G1表示,对Ω∈G1实施χ次在循环群G1上定义的运算,对于Ω1,Ω2∈G1的Ω12∈G1表示,将Ω1∈G1和Ω2∈G1作为被运算符而进行在循环群G1上定义的运算。同样地,对于χ∈Fq以及Ω∈G2的χ·Ω∈G2表示,对Ω∈G2实施χ次在循环群G2上定义的运算,对于Ω1,Ω2∈G2的Ω12∈G2表示,将Ω1∈G2和Ω2∈G2作为被运算符而进行在循环群G2上定义的运算。另一方面,对于χ∈Fq以及Ω∈GT的Ωχ∈GT表示,对Ω∈GT实施χ次在循环群GT上定义的运算,对于Ω1,Ω2∈GT的Ω1·Ω2∈GT表示,将Ω1∈GT和Ω2∈GT作为被运算符而进行在循环群GT上定义的运算。 
G1 n+1:G1 n+1表示n+1(n≥1)个循环群G1的直积。 
G2 n+1:表示n+1个循环群G2的直积。 
g1,g2,gT:g1,g2,gT表示循环群G1,G2,GT的生成元。 
V:V表示由n+1个循环群G1的直积组成的n+1维的向量空间。 
V*:V*表示由n+1个循环群G2的直积组成的n+1维的向量空间。 
e:e表示将直积G1 n+1和直积G2 n+1的直积G1 n+1×G2 n+1映射到循环群GT的非退化的双线性映射(bilinear map)。双线性映射e将循环群G1的n+1个元γL(L=1,..,n+1)(n≥1)和循环群G2的n+1个元γL *(L=1,..,n+1)作为输入,输出循环群GT的一个元。 
e:G1 n+1×G2 n+1→GT    ...(2) 
双线性映射e满足以下的性质。 
[双线性性]关于所有的「1∈G1 n+1,「2∈G2 n+1以及ν,κ∈Fq满足以下的关系。 
e(ν·「1,κ·「2)=e(「1,「2)ν·κ    ...(3) 
[非退化性]并非将所有的「1∈G1 n+1,「2∈G2 n+1映射到循环群GT的单位元。 
[可计算性]存在能够关于所有的「1∈G1 n+1,「2∈G2 n+1高效地计算e(「1,「2)的算法。 
在第1~第3实施方式中,利用将循环群G1和循环群G2的直积G1×G2映射到循环群GT的非退化的双线性映射 
Pair:G1×G2→GT    ...(4) 
来构成双线性映射e。第1~第3实施方式的双线性映射e对由循环群G1的n+1个元γL(L=1,..,n+1)组成的n+1维向量(γ1,...,γn+1)和由循环群G2的n+1个元γL *(L=1,..,n+1)组成的n+1维向量(γ1 *,...,γn+1 *)的输入,输出循环群GT的一个元。 
e=∏L=1 n+1Pair(γL,γL *)    ...(5) 
另外,双线性映射Pair将循环群G1的一个元和循环群G2的一个元的组作为输入,输出循环群GT的一个元,且满足以下的性质。 
[双线性性]关于所有的Ω1∈G1,Ω2∈G2以及ν,κ∈Fq满足以下的关系。 
Pair(ν·Ω1,κ·Ω2)=Pair(Ω1,Ω2)ν·κ    ...(6) 
[非退化性]并非将所有的Ω1∈G1,Ω2∈G2映射到循环群GT的单位元。 
[可计算性]存在关于所有的Ω1∈G1,Ω2∈G2高效地计算Pair(Ω1,Ω2)的算法。 
另外,双线性映射Pair的具体例为用于进行Weil配对和Tate配对等配对运算的函数(例如,参照参考文献4“Alfred.J.Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,KLUWER ACADEMIC PUBLISHERS,ISBN 0-7923-9368-6,pp.61-81”等)。此外,也可以根据椭圆曲线E的种类, 将对用于进行Tate配对等配对运算的函数和规定的函数phi进行了组合的变更配对函数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)作为双线性映射Pair来使用(例如,参照参考文献2等)。此外,作为用于在计算机上进行配对运算的算法,存在公知的Miller的算法(参考文献5“V.S.Miller,“Short Programs for functions on Curves,”1986,互联网<http://crypto.stanford.edu/miller/miller.pdf>”)等。此外,用于高效地进行配对运算的椭圆曲线和循环群的构成方法已熟知(例如,参照参考文献2、参考文献6“A.Miyaji,M.Nakabayashi,S.Takano,“New explicit conditions of elliptic curve Traces for FR-Reduction,”IEICE Trans.Fundamentals,vol.E84-A,no05,pp.1234-1243,May 2001”、参考文献7“P.S.L.M.Barreto,B.Lynn,M.Scott,“Constructing elliptic curves with prescribed embedding degrees,”Proc.SCN’2002,LNCS 2576,pp.257-267,Springer-Verlag.2003”、参考文献8“R.Dupont,A.Enge,F.Morain,“Building curves with arbitrary small MOV degree over finite prime fields,”http://eprint.iacr.org/2002/094”等)。 
ai(i=1,...,n+1):ai表示以循环群G1的n+1个元作为元素的n+1维的基向量。基向量ai的一例是,将κ1·g1∈G1作为第i维的元素,将剩余的n个元素作为循环群G1的单位元(以加法方式表现为“0”)的n+1维的基向量。这时,若将n+1维的基向量ai(i=1,...,n+1)的各个元素分别列举表现,则成为如下。 
a1=(κ1·g1,0,0,...,0) 
a2(0,κ1·g1,0,...,0)    ...(7) 
an+1=(0,0,0,...,κ1·g1
这里,κ1是由加法单位元0F以外的有限域Fq的元组成的常数,κ1∈Fq的具体例是κ1=1F。基向量ai是正交基,以循环群G1的n+1个元作为元素的所有的n+1维向量通过n+1维的基向量ai(i=1,...,n+1)的线性和来表示。即,n+1维的基向量ai扩展前述的向量空间V。 
ai *(i=1,...,n+1):ai *表示以循环群G2的n+1个元作为元素的n+1维的基向量。基向量ai *的一例是,将κ2·g2∈G2作为第i维的元素,将剩余的n个元素作为循环群G2的单位元(以加法方式表现为“0”)的n+1维的基向量。这时,若将基向量ai *(i=1,...,n+1)的各个元素分别列举表现,则成为如下。 
ai *=(κ2·g2,0,0,...,0) 
a2 *=(0,κ2·g2,0,...,0)    ...(8) 
an+1 *=(0,0,0,...,κ2·g2
这里,κ2是由加法单位元0F以外的有限域Fq的元组成的常数,κ2∈Fq的具体例是κ2=1F。基向量ai *是正交基,以循环群G2的n+1个元作为元素的所有的n+1维向量通过n+1维的基向量ai *(i=1,...,n+1)的线性和来表示。即,n+1维的基向量ai *扩展前述的向量空间V*。 
另外,基向量ai和基向量ai *是指,关于除0F以外的有限域Fq的元τ=κ1·κ2,满足下式。 
e(ai,aj *)=gT τ·δ(i,j)    …(9) 
即,i=j时,根据式(5)(6)的关系,满足下式。 
e(ai,aj *)=Pair(κ1· g1,κ2·g2)·Pair(0,0)·...· Pair(0,0) 
          =Pair(g1,g2)κ1·κ2·Pair(g1,g2)0·0·...·Pair(g1,g2)0·0
          =Pair(g1,g2)κ1·κ2=gT τ
另一方面,在i≠j时,e(ai,aj*)不包含Pair(κ1·g1,κ2·g2),成为Pair(κ1·g1,0)和Pair(0,κ2·g2)和Pair(0,0)的积。进而,根据式(6)的关系而满足Pair(g1,0)=Pair(0,g2)=Pair(g1,g2)0。因此,在i≠j时,满足下式。 
e(ai,aj *)=e(g1,g2)0=gT 0
尤其,在τ=κ1·κ2=1F时(例如,κ1=κ2=1F时),满足下式。 
e(ai,aj *)=gT δ(i,j)    …(10) 
这里,gT 0=1是循环群GT的单位元,gT 1=gT是循环群GT的生成元。这时,基向量ai和基向量ai *是对偶标准正交基,向量空间V和向量空间V*是能够构成双线性映射的对偶向量空间[对偶配对向量空间(DPVS:Dual Paring Vector space)]。 
A:A表示以基向量ai(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。例如,在通过式(7)表示基向量ai(i=1,...,n+1)时,矩阵A成为下式。 
[数1] 
A*:A*表示以基向量ai *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。例如,在通过式(8)表示基向量ai *(i=1,...,n+1)时,矩阵A*成为下式。 
[数2] 
X:X表示以有限域Fq的元作为元素的n+1行n+1列的矩阵。用于基向量ai的坐标变换。若将矩阵X的i行j列(i=1,...,n+1,j=1,...,n+1)的元素设为χi,j∈Fq,则矩阵X成为下式。 
[数3] 
另外,将矩阵X的各个元素χi,j称为变换系数。 
X*:X*表示矩阵X的逆矩阵的转置矩阵X*=(X-1)T。用于基向量ai *的坐标变换。若将矩阵X*的i行j列的元素设为χi,j *∈Fq,则矩阵X*成为下式。 
[数4] 
另外,将矩阵X*的各个元素χi,j *称为变换系数。 
这时,若将n+1行n+1列的单位矩阵设为I,则满足X·(X*)T=I。即,对于单位矩阵 
[数5] 
,满足下式。 
[数6] 
这里,定义n+1维向量。 
χi =(χi,1,...,χi,n+1)       …(17) 
χj →*=(χj,1 *,...,χj,n+1 *)    …(18) 
于是,根据式(16)的关系,n+1维向量χi 和χj →*的内积成为下式。 
χi ·χj →*=δ(i,j)              …(19) 
bi:bi表示循环群G1的n+1个元作为元素的n+1维的基向量。bi可通过利用矩阵X并对基向量ai(i=1,...,n+1)进行坐标变换而得到。具体地说,基向量bi可通过 
bi=∑j=1 n+1χi,j·aj    …(20) 
的运算而得到。例如,在通过式(7)表现基向量aj(j=1,...,n+1)时,若将基向量bi的各个元素分别列举表现,则成为如下。 
bi=(χi,1·κ1·g1,χi,2·κ1· g1,...,χi,n+1·κ1·g1)    …(21) 
以循环群G1的n+1个元作为元素的所有的n+1维向量,通过n+1维的基向量bi(i=1,...,n+1)的线性和表示。即,n+1维的基向量bi扩展前述的向量空间V。 
bi *:bi *表示循环群G2的n+1个元作为元素的n+1维的基向量。bi *可通过利用矩阵X*并对基向量ai *(i=1,...,n+1)进行坐标变换而得到。具体地说,基向量bi *可通过 
bi *=∑j=1 n+1χi,j *·aj *    …(22) 
的运算而得到。例如,在通过式(8)表现基向量aj *(j=1,...,n+1)时,若将基向量bi *的各个元素分别列举表现,则成为如下。 
bi *=(χi,1 *·κ2·g2,χi,2 *·κ2·g2,...,χi,n+1 *·κ2·g2)    …(23) 
以循环群G2的n+1个元作为元素的所有的n+1维向量,通过n+1维的基向量bi *(i=1,...,n+1)的线性和表示。即,n+1维的基向量bi *扩展前述的向量空间V*。 
另外,基向量bi和基向量bi *是指,关于除0F以外的有限域Fq的元τ=κ1·κ2,满足下式。 
e(bi,bj *)=gT τ·δ(i,j)    …(24) 
即,根据式(5)(19)(21)(23)的关系,满足下式。 
[数7] 
e ( b i , b j * ) = &Pi; L = 1 n + 1 Pair ( &chi; i , L &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , L * &CenterDot; &kappa; 2 &CenterDot; g 2 )
= Pair ( &chi; i , 1 &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , 1 * &CenterDot; &kappa; 2 &CenterDot; g 2 ) &CenterDot; . . . &CenterDot; ( &chi; i , n &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , n * &CenterDot; &kappa; 2 &CenterDot; g 2 )
&times; Pair ( &chi; j , n + 1 &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , n + 1 * &CenterDot; &kappa; 2 &CenterDot; g 2 )
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i , 1 &CenterDot; &chi; j , 1 * &CenterDot; . . . &CenterDot; Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i , 2 &CenterDot; &chi; j , 2 *
&times; Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i , n + 1 &CenterDot; &chi; j , n + 1 *
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 ( &chi; i , 1 &CenterDot; &chi; j , 1 * + &chi; i , 2 &CenterDot; &chi; j , 2 * + . . . + &chi; i , n + 1 &CenterDot; &chi; j , n + 1 * )
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i &RightArrow; &CenterDot; &chi; j &RightArrow; *
= Pair ( g 1 , g 2 ) &tau; &CenterDot; &delta; ( i , j ) = g T &tau; &CenterDot; &delta; ( i , j )
尤其,在τ=κ1·κ2=1F时(例如,κ1=κ2=1F时),满足下式。 
e(bi,bj *)=gT δ(i,j)        …(25) 
这时,基向量bi和基向量bi *是对偶配对向量空间(向量空间V和向量空间V*)的对偶标准正交基。 
另外,只要是满足式(24)的关系,则也可以使用在式(7)(8)中例示的以外的基向量ai和ai *、在式(20)(22)中例示的以外的基向量bi和bi *。 
B:B表示以基向量bi(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。B满足B=X·A。例如,在通过式(21)表现基向量bi时,矩阵B成为如下。 
[数8] 
B*:B*表示以基向量bi *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵。B*满足B*=X*·A*。例如,在通过式(23)表现基向量bi *(i=1,...,n+1)时,矩阵 B*成为如下。 
[数9] 
w:w表示以有限域Fq的元作为元素的n维向量。 
w=(w1,...,wn)∈Fq n    …(28) 
wμ:wμ表示n维向量的第μ(μ=1,...,n)个元素。 
v:v表示以有限域Fq的元作为元素的n维向量。 
v=(v1,...,vn)∈Fq n    …(29) 
vμ:vμ表示n维向量的第μ(μ=1,...,n)个元素。 
Enc:Enc是表示公共密钥密码方式的加密处理的公共密钥密码函数。公共密钥密码方式的具体例表示Camellia(注册商标)和AES等。 
Enck(M):Enck(M)表示使用公共密钥K,按照公共密钥密码函数Enc对明文M进行加密而得到的密码文。 
Dec:Dec表示公共密钥密码方式的解密处理的公共密钥解密函数。 
Deck(C):Deck(C)表示使用公共密钥K,按照公共密钥解密函数Dec对密码文C进行解密而得到的解密结果。 
[内积谓语密码] 
下面,例示作为函数密码的一种的内积谓语密码的基本结构。 
<函数密码> 
函数密码是,在被称为“属性信息”的信息和被称为“谓语信息”的信息的组合使规定的逻辑式的真值成为“真”的情况下能够对密码文进行解密的方式。即,在函数密码中,“属性信息”和“谓语信息”中的一个被嵌入到密码文中,另一个被嵌入到密钥信息中,在与作为密码文或者密钥信息的第1信息对应的属性信息、以及与作为密钥信息或者密码文的第2信息对应的谓语信息输入到预先决定的函数的情况下的该函数值成为预先决定的值时,生成正确的解密结果。例如,在参考文献9““Predicate Encryption Supporting  Disjunctions,Polynomial Equations,and Inner Products,”with Amit Sahai and Brent Waters One of 4 Papers form Eurocrypt 2008 invited to the Journal of Cryptology”等中公开的谓语密码为函数密码的一种。 
<内积谓语密码> 
内积谓语密码是作为属性信息和谓语信息而使用维互相相等的向量,且在它们的内积成为0时密码文被解密的谓语密码。在内积谓语密码中,内积成为0和逻辑式成为“真”是等价的。另外,在参考文献9中记载的谓语密码也是内积谓语密码的一种。 
<逻辑式与多项式的关系> 
在内积谓语密码中,通过多项式表现由逻辑或和逻辑与组成的逻辑式。 
首先,将“x是η0”的命题1和“x是η1”的命题2的逻辑或(x=η0)∨(x=η1),通过以下的多项式来表现。 
(x-η0)·(x-η1)    ...(30) 
于是,各个真值和式(30)的函数值之间的关系成为如下。 
[表1] 
根据[表1]可知,当逻辑或(x=η0)∨(x=η1)为真时,式(30)的函数值成为0,当逻辑或(x=η0)∨(x=η1)为假时,式(30)的函数值成为0以外的值。即,逻辑或(x=η0)∨(x=η1)为真和式(30)的函数值成为0是等价的。因此,逻辑或能够通过式(30)来表现。 
将“x是η0”的命题1和“x是η1”的命题2的逻辑与(x=η0)∧(x=η1),通过以下的多项式来表现。 
ι0·(x-η0)+ι1·(x-η1)    …(31) 
其中,ι0以及ι1是随机数(附有其他下标的ι也一样)。于是,真值和式(31)的函数值成为以下的关系。 
[表2] 
根据[表2]可知,当逻辑与(x=η0)∧(x=η1)为真时,式(31)的函数值成为0,当逻辑与(x=η0)∧(x=η1)为假时,式(31)的函数值成为0以外的值。即,逻辑与(x=η0)∧(x=η1)为真和式(31)的函数值成为0是等价的。因此,逻辑与能够通过式(31)来表现。 
如上所述,通过使用式(30)和式(31),能够用多项式f(x)来表现由逻辑或和逻辑与组成的逻辑式。例如,逻辑式{(x=η0)∨(x=η1)∨(x=η2)}∧(x=η3)∧(x=η4)能够通过以下的多项式来表现。 
f(x)=ι0·{(x-η0)·(x-η1)·(x-η2)}+ι1·(x-η3)+ι2·(x-η4)   …(32) 
另外,在式(30)中,使用一个不定元x表现了逻辑或,但也可以使用多个不定元来表现逻辑或。例如,可以使用两个不定元x0以及x1,将“x是η0”的命题1和“x是η1”的命题2的逻辑或(x=η0)∨(x=η1),通过 
(x00)·(x11)     …(33)
的多项式来表现,也可以使用三个以上的不定元,通过多项式来表现逻辑或。
此外,在式(31)中,使用一个不定元x表现了逻辑与,但也可以使用多个不定元来表现逻辑与。例如,还能将“x是η0”的命题1和“x是η1”的命题2的逻辑与(x=η0)∧(x=η1),通过 
ι0·(x00)+ι1·(x11)      …(34)
的多项式来表现,也可以使用三个以上的不定元,通过多项式来表现逻辑与。 
以下,将使用H(H≥1)个不定元x0,…,xH-1表现了包含逻辑或和/或逻辑与的逻辑式的多项式,表现为f(x0,…,xH-1)。此外,将与各个不定元x0,…,xH-1对应的命题设为“xh是ηh”。其中,ηh(h=0,…,H-1)是对每个命题决定的常数。这时,表示该逻辑式的多项式f(x0,…,xH-1),通过取不定元xh和常数ηh的差的多项式来表现该不定元xh是该常数ηh的命题,通过分别表现命题的多项式的积来表现该命题的逻辑或,通过分别表现命题或者命题的逻辑或的多项式的线性和来表现该命题或者命题的逻辑或的逻辑与,由此成为表现了逻辑式的 多项式。例如,若使用5个不定元x0,...,x4,通过多项式表现逻辑式{(x=η0)∨(x=η1)∨(x=η2)}∧(x=η3)∧(x=η4),则成为下式。 
f(x0,...,x4)=ι0·{(x00)·(x11)·(x22)}+ι1·(x3=-η3)+ι2·(x4=-η4
[多项式和内积的关系] 
表示逻辑式的多项式f(x0,...,xH-1),能够通过两个n维向量的内积来表现。即,多项式f(x0,...,xH-1)与以该多项式f(x0,...,xH-1)的各项的不定元分量作为各个元素的向量 
v=(v1,...,vn)    …(35) 
和以该多项式f(x0,...,xH-1)的各项的系数分量作为各个元素的向量 
w=(w1,...,wn)    …(36) 
的内积 
f(x0,...,xH-1)=w· v    …(37) 
相等。例如,利用一个不定元x表现的多项式f(x)=θ0·x01·x+...+θn-1·xn-1,与两个n维向量 
v=(v1,...,vn)=(x0,...,xn-1)      …(38) 
w=(w1,...,wn)=(θ0,...,θn-1)    …(39) 
的内积 
f(x)=w·v                           …(40) 
相等。 
即,表示逻辑式的多项式f(x0,...,xH-1)是否为0,与以多项式f(x0,...,xH-1)的各项的不定元分量作为各个元素的向量v和以多项式f(x0,...,xH-1)的各项的系数分量作为各个元素的向量w的内积是否0是等价的。 
f(x0,...,xH-1)=0←→w· v=0      …(41) 
在第1~第3实施方式中例示的内积谓语密码中,将对该不定元分量代入了按照每个协议或者该协议的每个组合所决定的识别符后的值作为各个元素的向量v=(v0,...,vn-1)设为属性信息ATT,将以系数分量作为各个元素的向量w=(w0,...,wn-1)设为谓语信息PRE。即, 
属性信息ATT:v=(v1,...,vn)    ...(42) 
谓语信息PRE:w=(w1,...,wn)    ...(43) 
并且,属性信息ATT和谓语信息PRE中的一个被嵌入到密码文,另一个被嵌入到密钥信息。 
[内积谓语密码的基本结构例1] 
下面,表示内积谓语密码的具体例。基本结构例1是通过内积谓语密码来构成密钥封装结构KEM(Key Encapsulation Mechanisms)的例子。在基本结构例1中,生成与谓语信息PRE对应的密码文,生成与属性信息ATT对应的密钥信息。基本结构例1包含Setup(1k),GenKey(MSK,w),Enc(PA,v),Dec(SKw,C1,C2)。 
《Setup(1k):设置》 
-输入:安全参数k 
-输出:主(master)秘密信息MSK、公开参数PK 
在Setup(1k)的一例中,首先,将安全参数k作为n,选择将n+1维的基向量ai(i=1,...,n+1)作为元素的n+1行n+1列的矩阵A、将基向量ai *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵A*、用于坐标变换的n+1行n+1列的矩阵X、X*。接着,算出根据式(20)进行了坐标变换后的n+1维的基向量bi(i=1,...,n+1),并算出根据式(22)进行了坐标变换后的n+1维的基向量bi *(i=1,...,n+1)。并且,以基向量bi *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵B*作为主秘密信息MSK而输出,向量空间V,V*、以基向量bi(i=1,...,n+1)作为元素的n+1行n+1列的矩阵B、安全参数k、有限域Fq、椭圆曲线E、循环群G1,G2,GT、生成元g1,g2,gT、双线性影像e等作为公开参数PK而输出。 
《GenKey(MSK,w):密钥信息生成》 
-输入:主秘密信息MSK、向量w
-输出:与向量w对应的密钥信息D*
在GenKey(MSK,w)的一例中,首先,从有限域Fq选择元α∈Fq。然后,使用作为主秘密信息MSK的矩阵B*,生成并输出与向量w对应的密钥信息。 
D*=α·(∑μ=1 nwμ·bμ *)+bn+1 *∈G2 n+1    …(44) 
另外,在循环群G2上的离散对数问题的求解困难时,难以从密钥信息D*分离提取出wμ·bμ *和bn+1 *的分量。 
《Enc(PA,v):加密》 
-输入:公开参数PK、向量v、明文M 
-输出:密码文C1,C2、公共密钥K 
在Enc(PA,v)的一例中,首先,生成公共密钥K和作为有限域Fq的元的随机数υ1。然后,使用矩阵B等的公开参数PK、与包含公共密钥K的值对 应的有限域Fq的元υ2、向量v、随机数υ1,生成密码文。 
C2=υ1·(∑μ=1 nvμ·bμ)+υ2·bn+1∈G1 n+1    …(45) 
然后,生成密码文 
C1=Enck(M)    ...(46) 
并且输出密码文C1、密码文C2以及公共密钥K。公共密钥K的一例是K=gT τ·υ2∈GT。这里,上标的υ2表示υ2。此外,如前述那样,τ的一例是τ=1F。另外,在循环群G1上的离散对数问题的求解困难时,难以从密码文C2分离提取出vμ·bμ和υ2·bn+1的分量。 
《Dec(SKw,C1,C2):密钥共享/解密》 
-输入:与向量w对应的密钥信息D1 *、密码文C1,C2
-输出:公共密钥K、明文M 
在Dec(SKw,C1,C2)的一例中,首先,密码文C2和密钥信息D1 *被输入到式(2)的双线性映射e。于是,根据式(3)(24)的性质,满足下式。 
[数10] 
e ( C 2 , D * ) = e ( &upsi; 1 &CenterDot; ( &Sigma; &mu; = 1 n v &mu; &CenterDot; b &mu; ) + &upsi; 2 &CenterDot; b n + 1 , &alpha; &CenterDot; ( &Sigma; &mu; = 1 n w &mu; &CenterDot; b &mu; * ) + b n + 1 * )
= g T &tau; &CenterDot; &upsi; 1 &CenterDot; v 1 &CenterDot; &alpha; &CenterDot; w 1 &CenterDot; . . . &CenterDot; g T &tau; &CenterDot; &upsi; 1 &CenterDot; v n &CenterDot; &alpha; &CenterDot; w n &CenterDot; g T &tau; &CenterDot; &upsi; 2
= g T &tau; &CenterDot; &upsi; 1 &CenterDot; &alpha; &CenterDot; v &RightArrow; &CenterDot; w &RightArrow; &CenterDot; g T &tau; &CenterDot; &upsi; 2 &CenterDot; &CenterDot; &CenterDot; ( 47 )
这里,若内积w·v=0,则式(47)能够变形为下式。 
[数11] 
e ( C 2 , D * ) = g T &tau; &CenterDot; &upsi; 1 &CenterDot; &alpha; &CenterDot; 0 &CenterDot; g T &tau; &CenterDot; &upsi; 2
= g T &tau; &CenterDot; &upsi; 2 &CenterDot; &CenterDot; &CenterDot; ( 48 )
根据其结果,生成公共密钥K并输出。公共密钥K的一例是K=gT τ·υ2。 
然后,使用该公共密钥K和密码文C1,算出以下解密结果并输出。 
M=Deck(C1)    ...(49) 
[内积谓语密码的基本结构例2] 
基本结构例2也是使用内积谓语密码来构成密钥封装结构KEM的情况下的基本结构例,但在基本结构例2中,生成与属性信息ATT对应的密码文,生成与谓语信息PRE对应的密钥信息。该结构包含Setup(1k),GenKey(MSK,v),Enc(PA,w),Dec(SKv,C1,C2)。基本结构例2成为将基本结构例1的向量v和向量w设为相反的结构。 
即,在GenKey(MSK,v)中,代替式(44),生成如下的密钥信息并输出。 
D*=α·(∑μ=1 nvμ·bμ *)+bn+1 *∈G2 n+1        …(50) 
此外,在Enc(PA,w)中,代替式(45),生成如下的密码文。 
C2=υ1·(∑μ=1 nwμ·bμ)+υ2·bn+1∈G1 n+1    …(51) 
此外,在Dec(SKv,C1,C2)中,代替在式(44)中生成的密钥信息,使用在式(50)中生成的密钥信息。除此之外,与基本结构例1相同。 
[第1~第3实施方式的原理] 
下面,说明第1~第3实施方式的原理。 
在第1~第3实施方式中作为函数密码而使用谓语密码。第1~第3实施方式的函数密码应用系统包含发送者装置(信息输出装置)和接收者装置(信息处理装置),执行应用了使用属性信息ATT(第1对应信息)和谓语信息PRE(第2对应信息)的谓语密码方式的协议(按照函数密码方式的协议)。 
首先,对发送者装置的识别符确定部输入用于确定应用了要执行的谓语密码方式的一种以上的协议的确定信息。识别符确定部按照对通过该确定信息所确定的每个协议或者该协议的组合的每一个决定的规则,对每个该协议或者该协议的组合的每一个确定识别符,并输出所确定的一种以上的该识别符。 
另外,在应用了谓语密码方式的协议中,分别决定了应在其中使用的属性信息ATT的类别(换言之,属性信息ATT的性质)。该规则确定识别符,该识别符决定应在通过确定信息所确定的协议或者该协议的组合中使用的类别的属性信息ATT。例如,在该协议为定时释放(Timed-Release)密码协议时的该规则是,将用于确定在第1信息的生成时刻以后的时刻的信息作为识别符的规则,在该协议为前向安全密码协议或者密钥隔离密码协议时的该规则分别是,将用于确定包含第1信息的生成时刻的时间区间或者在第1信息的生成时刻以后的时间区间的信息作为识别符的规则,在该协议为CCA2安全密码协议时的该规则是,将用于确定每次生成第1信息时新设定的一次性信息的信息作为识别符的规则,在该协议为关键字检索密码协议时的规则是,将用于确定数据库的检索用关键字的信息作为识别符的规则。 
通过识别符确定部确定的1种以上的识别符被输入到发送者装置的属性信息设定部。属性信息设定部设定对一种的该识别符或者两种以上的该识别符的组合决定的一个属性信息ATT(特定的第1对应信息),并输出设定的该属性信息ATT。并且,发送者装置的输出部输出通过从属性信息设定部输出 的属性信息ATT输入到谓语密码方式的加密函数或者密钥生成函数所得到的、与该属性信息ATT对应的谓语密码方式的密码文或者密钥信息即第1信息。 
接收者装置的解密部中被输入第1信息和从存储部读出的第2信息。另外,第2信息是谓语密码方式的密钥信息或者密码文,当第1信息是对应于属性信息ATT的密码文时,第2信息是对应于谓语信息PRE(特定的第2对应信息)的密钥信息,当第1信息是对应于属性信息ATT的密钥信息时,第2信息是对应于谓语信息PRE(特定的第2对应信息)的密码文。此外,谓语信息PRE是,在该谓语信息PRE和任一个属性信息ATT被输入到预先决定的函数时,对于一种以上的属性信息ATT,该函数的函数值成为预先决定的值的信息。此外,如前所述,属性信息ATT和谓语信息PRE的例子是维互相相等的向量,该预先决定的函数的例子是计算属性信息ATT和谓语信息PRE的内积的函数,预先决定的值的例子是0(零元素)。 
接收者装置的解密部将该第1信息和该第2信息输入到谓语密码方式的解密函数从而执行解密处理,并输出由此得到的解密结果。另外,谓语密码方式的解密函数是,当对应于第1信息的属性信息ATT和对应于第2信息的谓语信息PRE被输入到预先决定的函数时的函数值成为预先决定的值的情况下,生成正确的解密结果的函数。换言之,是在与对应于第1信息的属性信息ATT和对应于第2信息的谓语信息PRE的组合对应的逻辑式的真值为真的情况下生成正确的解密结果的函数。 
如上所述,在谓语密码方式中,当对应于第1信息的属性信息ATT和对应于第2信息的谓语信息PRE被输入到预先决定的函数时的函数值成为预先决定的值的情况下,生成正确的解密结果。此外,属性信息ATT是对一种的识别符或者两种以上的该识别符的组合决定的信息,在谓语信息PRE和任一个属性信息ATT被输入到预先决定的函数时,对于一种以上的属性信息ATT,该函数的函数值成为预先决定的值。即,在第1~第3实施方式中,对于一种以上的第1信息共享相同的第2信息,能够进行正确的解密。因此,即使在发送者装置选择一种识别符或者两种以上的该识别符的组合,并且根据所选择的识别符来切换协议从而生成第1信息的情况下,接收者装置也不需要对被切换的每个协议单独生成第2信息。即,即使接收者装置的存储部中仅存储了与一种谓语信息PRE对应的一种第2信息,接收者装置也能够应对对于 所选择的一种以上的协议或者协议的组合的第1信息。其结果,在第1~第3实施方式中,不需要烦杂的处理,且能够根据所选择的识别符来切换协议。这样的效果在以下情况下会特别大,即所有的谓语信息PRE在该谓语信息PRE和任一个属性信息ATT被输入到预先决定的函数时,对于两种以上的属性信息ATT,该函数的函数值成为预先决定的值。另外,前述的逻辑式包含逻辑或的情况下,当谓语信息PRE和任一个属性信息ATT被输入到预先决定的函数时,对于两种以上的属性信息ATT,该函数的函数值成为预先决定的值“0”(零元)。 
此外,在识别符确定部中输入了用于确定两种以上的协议的确定信息时,还能够构成两种以上的协议的组合、即兼具了两种以上的协议的特征的新协议。 
此外,在第1~第3实施方式中,使用谓语密码方式,因此协议的组合方法的自由度高。即,在第1~第3实施方式中,当对应于第1信息的属性信息ATT和对应于第2信息的谓语信息PRE被输入到预先决定的函数时的函数值成为预先决定的值的情况下,生成正确的解密结果。两种以上的协议的组合对应于识别符的组合,该识别符的组合对应于属性信息ATT,但只要是该函数值成为预先决定的值,则该识别符的组合方法不受限制。 
相对于此,在使用了应用基于ID的密码方式的分级型基于ID的密码方式(例如,参考文献10“C.Gentry,A.Silverberg,“Hierarchical ID-based cryptography,”Proceedings of ASIACRYPT 2002,Lecture Notes in Computer Science,Springer-Verlag,2002.”等)的情况下,协议的组合方法受限。即,在分级型基于ID的密码方式中,与多个协议分别对应的多个识别符的组合方法受限。即,在分级型基于ID的密码方式中,通过多个识别符的组合而生成的新的识别符需要构成树结构,新的识别符必须包含它的母识别符。例如,在将识别符ID1和识别符ID2的组合ID1|ID2设为新的识别符的情况下,此后,例如可以将识别符ID1和识别符ID2和识别符ID3的组合设为新的识别符ID1|ID2|ID3,但无法将识别符ID1和识别符ID3的组合设为新的识别符ID1|ID3。 
此外,也可以是发送者装置还具有第1切换部,该第1切换部根据由确定信息所确定的协议,切换是将属性信息ATT输入到谓语密码方式的加密函数,还是将属性信息ATT输入到谓语密码方式的密钥生成函数,接收者装置 还具有第2切换部,该第2切换部根据由确定信息所确定的协议,切换是将谓语信息PRE输入到谓语密码方式的密钥生成函数,还是将谓语信息PRE输入到谓语密码方式的加密函数。由此,协议的选择幅度变宽。 
此外,也可以将属性信息ATT以及谓语信息PRE的一部分区域设为尚未决定用途的预备区域。例如,属性信息ATT和谓语信息PRE是维互相相等的向量,属性信息ATT和谓语信息PRE的内积为0时能够实现正确的解密的系统的情况下,至少一部分的属性信息ATT中的一部分元素(预备区域)的值为预先固定的向量,谓语信息PRE的一部分元素(预备区域)的值为预先固定的向量,该属性信息ATT的预备区域的位置和该谓语信息PRE的预备区域的位置互相相等,由该属性信息ATT的预备区域的元素构成的向量和由该谓语信息PRE的预备区域的元素构成的向量的内积可以被设定为0,而与确定信息的值无关。由此,即使在以后需要增加可选择的协议,或者增加表示逻辑式的多项式的项的情况下,只要将这些增加部分分配给预备区域,则能够进行这些增加而不用变更系统的设定。 
此外,在将属性信息ATT的预备区域的值都设为0(零元)的情况下,对应于包含该预备区域的属性信息ATT的第1信息,相对于在该预备区域中输入了任一值的更新后的第1信息具有向上兼容性(upward compatibility)。即,即使对属性信息ATT或谓语信息PRE的预备区域提供某些值而更新了属性信息ATT或谓语信息PRE,只要在更新前进行了正确的解密,则通过对应于更新前的属性信息ATT的第1信息和对应于更新后的谓语信息PRE的第2信息,进行正确的解密。这是因为与更新后的谓语信息PRE的预备区域中所输入的值无关地,属性信息ATT以及谓语信息PRE的预备区域之间的内积成为0。根据同样的理由,在将谓语信息PRE的预备区域的值都设为0的情况下,对应于包含该预备区域的谓语信息PRE的第2信息,相对于在该预备区域中输入了某些值的更新后的第2信息具有向上兼容性。 
在将属性信息ATT的预备区域的值都设为0(零元),并且,将谓语信息PRE的预备区域的至少一部分的值设为0以外的情况下,对应于包含该预备区域的属性信息ATT的第1信息,相对于在该预备区域中输入了某些值的更新后的第1信息具有向上兼容性,但对应于包含该预备区域的谓语信息PRE的第2信息,相对于在该预备区域中输入了某些值的更新后的第2信息不具有向上兼容性。相反,在将谓语信息PRE的预备区域的值都设为0,并且, 将属性信息ATT的预备区域的至少一部分的值设为0以外的情况下,对应于包含该预备区域的谓语信息PRE的第2信息,相对于在该预备区域中输入了某些值的更新后的第2信息具有向上兼容性,但对应于包含该预备区域的属性信息ATT的第1信息,相对于在该预备区域中输入了某些值的更新后的第1信息不具有向上兼容性。这样,能够根据如何设定预备区域的值来改变更新前后的向上兼容性。 
此外,也可以不将属性信息ATT或谓语信息PRE的一部分元素设为预备区域,而是设定与逻辑式对应的属性信息ATT以及谓语信息PRE,该逻辑式在一部分中包含与确定信息的值无关地预先被设定成为真的命题的逻辑与。并且,可以将该与确定信息的值无关地预先被设定成为真的命题,以后通过将其替换为根据确定信息的值而成为真或者假的命题从而更新逻辑式,并且将对应于该更新后的逻辑式的属性信息ATT以及谓语信息PRE设为新的属性信息ATT以及谓语信息PRE。 
[第1实施方式] 
下面,说明本发明的第1实施方式。第1实施方式是,第1信息为对应于属性信息ATT的密码文,第2信息为对应于谓语信息PRE的密钥信息,发送者装置进行加密,接收者装置进行解密的方式。这样的方式例如在应用了谓语密码的协议为定时释放密码协议、前向安全密码协议、密钥隔离密码协议或者CCA2安全密码协议、或者其组合的情况下等可适用。 
<结构> 
图1是用于说明第1实施方式的函数密码应用系统1的整体结构的方框图。如图1所示,本方式的函数密码应用系统1具有连接到网络140的发送者装置110(信息输出装置)、接收者装置120(信息处理装置)以及密钥生成装置130。另外,为了便于说明,图1中各标记了一个发送者装置110、接收者装置120和密钥生成装置130,但也可以存在两个以上的发送者装置110或接收者装置120或密钥生成装置130。 
[发送者装置110(信息输出装置)] 
图2是用于说明图1的发送者装置110的结构的方框图。 
如图2所示,本方式的发送者装置110具有临时存储器111a、存储部111b、111c、输入部112、控制部113、识别符确定部114a、属性信息设定部114b(对应信息设定部)、加密部114c、通信部115。 
发送者装置110例如是通过在具备CPU(中央处理单元)、RAM(随机存取存储器)、ROM(只读存储器)等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。即,控制部113、识别符确定部114a、属性信息设定部114b以及加密部114c例如是通过CPU执行规定的程序而构成的处理部。此外,发送者装置110的处理部的至少一部分也可以是集成电路。此外,临时存储器111a、存储部111b、111c例如是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。此外,输入部112例如是键盘、鼠标、输入端口等,通信部115例如是调制解调器、LAN卡等的通信装置。 
此外,发送者装置110在控制部113的控制下执行各个处理。此外,在以下省略说明,从发送者装置110的各个处理部输出的数据或由通信部115接收的数据逐一存储到临时存储器111a。临时存储器111a中存储的数据根据需要而读出,并输入到发送者装置110的各个处理部后用于其处理。 
[接收者装置120(信息处理装置)] 
图3是用于说明图1的接收者装置120的结构的方框图。 
如图3所示,本方式的接收者装置120具有临时存储器121a、存储部121b、控制部123、识别符确定部124a、多项式生成部124b、谓语信息生成部124c、密钥生成处理部124d、解密部124e、通信部125。另外,为了便于附图标记,图3中标出了两个表示通信部125的块,但这并不表示需要两个单独的通信部125。 
接收者装置120例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。即,控制部123、识别符确定部124a、多项式生成部124b、谓语信息生成部124c、密钥生成处理部124d以及解密部124e例如是通过CPU执行规定的程序而构成的处理部。此外,接收者装置120的处理部的至少一部分也可以是集成电路。此外,临时存储器121a和存储部121b例如是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。此外,通信部125例如是调制解调器、LAN卡等的通信装置。 
此外,接收者装置120在控制部123的控制下执行各个处理。此外,在以下省略说明,从接收者装置120的各个处理部输出的数据或由通信部125接收的数据逐一存储到临时存储器121a。临时存储器121a中存储的数据根据 需要而读出,并输入到接收者装置120的各个处理部后用于其处理。 
[密钥生成装置130] 
图4是用于说明图1的密钥生成装置130的结构的方框图。 
如图4所示,本方式的密钥生成装置130具有临时存储器131a、存储部131b、控制部133、密钥生成部134、通信部135。 
密钥生成装置130例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。即,控制部133以及密钥生成部134例如是通过CPU执行规定的程序而构成的处理部。此外,密钥生成装置130的处理部的至少一部分也可以是集成电路。此外,临时存储器131a和存储部131b例如是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。此外,通信部135例如是调制解调器、LAN卡等的通信装置。 
此外,密钥生成装置130在控制部133的控制下执行各个处理。此外,在以下省略说明,从密钥生成装置130的各个处理部输出的数据或由通信部135接收的数据逐一存储到临时存储器131a。临时存储器131a中存储的数据根据需要而读出,并输入到密钥生成装置130的各个处理部后用于其处理。 
<预先设定> 
下面,说明本方式的函数密码应用系统1的预先设定。 
[确定信息] 
图5A以及图5B是例示了第1实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
在图5A的例子中,对每个协议分配了确定信息PI。即,在该例子中,对于确定信息PI=0分配了定时释放密码协议,对于确定信息PI=1分配了前向安全密码协议,对于确定信息PI=2分配了密钥隔离密码协议,对于确定信息PI=3分配了CCA2安全密码协议。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议分别对应的确定信息PI的组合。 
另一方面,在图5B的例子中,除了对每个协议分配了确定信息PI之外,对于两种以上的协议的组合也分配了确定信息PI。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议对应的确定信息PI。 
另外,图5A以及图5B所示的确定信息PI是一例,也可以通过其他方法来确定与一种以上的协议对应的确定信息PI。 
[识别符] 
图6A、图6B以及图7是用于说明在第1实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。 
在图6A的例子中,对可选择的每个协议分配识别符ID(h)。 
在对所选择的协议分配的识别符ID(h)中,输入按照对该协议决定的规则的值。例如,在选择了定时释放密码协议时,确定未来的时刻的信息(日期时间或计数值等)被输入到识别符ID(h)。另外,“未来的时刻”的一例是第1信息的生成时刻以后的时刻。此外,例如在选择了前向安全密码协议或密钥隔离密码协议时,通过接收者装置120或其用户的固有识别符(邮件地址、电话号码、MAC地址等)与包含当前时刻的时间区间(日期时间区间或计数值区间等)的组合所决定的值(比特结合值等)被输入到识别符ID(1)或识别符ID(2)。另外,“当前时刻”的一例是第1信息的生成时刻。此外,例如,在选择了CCA2安全密码协议时,一次性信息(随机数)被输入到识别符ID(3)。 
另一方面,在对没有被选择的协议所分配的识别符ID(h)中输入常数(const.)。例如,在仅选择了定时释放密码协议时,用于确定未来的时刻的信息被输入到识别符ID(0),在其他的识别符ID(1),ID(2),ID(3)中输入常数(const.)。另外,常数(const.)的例子是0或1。另外,输入到各个识别符ID(h)的常数(const.)可以是同一值,也可以是不同的值。 
此外,在选择了多个协议的组合的情况下,作为选择了构成该组合的多个协议而决定识别符ID(h)的值。例如,在选择了前向安全密码协议和CCA2安全密码协议的组合的情况下,通过接收者装置120或其用户的固有识别符与包含当前时刻的时间区间的组合所决定的值被输入到识别符ID(1),一次性信息被输入到识别符ID(3),其他的识别符ID(0),ID(2)中输入常数(const.)。 
在图6B的例子中,仅对所选择的协议分配识别符ID(h)。例如,在仅选择了定时释放密码协议的情况下,仅分配表示用于确定将来的时刻的信息的识别符ID(0)。此外,例如,在选择了前向安全密码协议和CCA2安全密码协议的组合的情况下,仅分配表示通过接收者装置120或其用户的固有识别符与包含当前时刻的时间区间的组合所决定的值的ID(1)、以及表示一次性信息的识别符ID(3)。 
在图7的例子中,对可选择的每个协议或者协议的组合的每一个分配识别符ID(h)。在对选择的协议以及协议的组合所分配的识别符ID(h)中,输入按照对所选择的协议或者构成组合的各个协议决定的各个规则的值,在对没有被选择的协议或组合所分配的识别符ID(h)中输入常数(const.)。例如,在选择了前向安全密码协议和CCA2安全密码协议的组合的情况下,通过接收者装置120或其用户的固有识别符、包含当前时刻的时间区间、以及一次性信息的组合所决定的值被输入到识别符ID(5),其他的识别符ID(h)中输入常数(const.)。 
此外,上述的识别符的决定方法只不过是一例,也可以通过其他的方法来确定识别符。例如,作为图7的例子的变形,也可以仅对所选择的协议以及协议的组合分配识别符ID(h)。此外,也可以根据如上所述那样得到的各个识别符ID(h)的组合(例如比特结合)来构成一个识别符。 
[属性信息(第一对应信息)] 
图8A以及图9A是用于说明用于对一种识别符ID(h)或者两种以上的识别符ID(h)的组合确定一个属性信息ATT的属性信息表的一例的图,图8B以及图9B是用于说明通过该属性信息表决定的属性信息ATT的数据结构的图。 
在本方式中,将对表示前述的逻辑式的多项式f(x0,..,xH-1)的各项的不定元分量代入了识别符ID(h)后的值作为各个元素的向量v=(v0,...,vn-1)设为属性信息ATT(参照式(42)等)。此外,属性信息ATT的维n,成为多项式f(x0,..,xH-1)所容许的项数(包含常数项)的最大值。在图8A以及图9A中,将各项的不定元分量、对应于各个不定元分量的元素值、对应于各个元素的元素号码相关联。此外,在图8B以及图9B中记载的各个号码分别表示图8A以及图9A的元素号码,在图8B以及图9B中记载的各个号码的位置中,配置与图8A以及图9A的元素号码对应的元素值。 
图8A是将不定元的种类设为4种(H=4),多项式f(x0,x1,x2,x3)中不容许包含不定元的幂乘的项的情况下的属性信息表的一例。在多项式f(x0,x1,x2,x3)中不容许包含不定元的幂乘的项的情况下,多项式f(x0,x1,x2,x3)的项数(包含常数项)的最大值成为16,可取的不定元分量成为x0·x1·x2·x3,x0·x1·x2,x0·x1·x3,x0·x2·x3,...,{x0}0·{x1}0·{x2}0·{x3}0的16种。在图8A的例子中,将对这16种不定元分量代入了各个识别符ID(0),...,ID(3)后的值作为各个元素的向量v=(v0,...,vn-1)设为属性信息ATT。另外,如图6B那样,在仅对所选择的协 议或协议的组合分配了识别符ID(h)的情况下,将没有被分配的识别符ID(h)作为常数(例如0或1)对不定元分量代入各个识别符即可。图8A以及图8B的例子中,不定元xh中代入识别符ID(h),将ID(0)·ID(1)·ID(2)·ID(3),ID(0)·ID(1)·ID(2),ID(0)·ID(1)·ID(3),ID(0)·ID(2)·ID(3),...,{ID(0)}0·{ID(1)}0·{ID(2)}0·{ID(3)}0作为各个元素的16维的向量v=(v0,...,vn-1)设为属性信息ATT。 
图9A是将不定元的种类设为4种(H=4),多项式f(x0,x1,x2,x3)中容许包含不定元的平方的项,但不容许包含不定元的3次方以上的幂乘的项的情况下的属性信息表的一例。在图9A的例子中,将对这时的各个不定元分量代入了各个识别符ID(0),...,ID(3)后的值作为各个元素的向量v=(v0,...,vn-1)设为属性信息ATT。在9A以及图9B的例子中,也对不定元xh代入识别符ID(h)。此外,如图6B那样,在仅对所选择的协议或协议的组合分配了识别符ID(h)的情况下,将没有被分配的识别符ID(h)作为常数(例如0或1)对不定元分量代入各个识别符即可。 
另外,图8和图9的属性信息ATT的生成方法只不过是一例,不定元的种类也可以是4以外,也可以在多项式f(x0,x1,x2,x3)中容许包含不定元的3次方以上的幂乘的项。此外,也可以是容许包含特定的不定元的平方的项,但不容许包含其他不定元的平方的项等,属性信息ATT不包含与多项式f(x0,..,xH-1)中不容许的不定元分量对应的元素的结构。或者,也可以将识别符ID(h)或识别符ID(h)的逻辑式({ID(0)∨ID(1)}∧ID(3)等)各自与对应于该逻辑式的属性信息ATT相关联的表设为属性信息表。 
[谓语信息(第2对应信息)] 
图10A以及图11A分别是用于说明与多项式f(x0,..,xH-1)对应的谓语信息PRE的一例的图,图10B以及图11B是用于说明该谓语信息PRE的数据结构的图。 
在本方式中,将以表示前述的逻辑式的多项式f(x0,..,xH-1)的各项的系数分量作为各个元素的向量w=(w0,...,wn-1)设为谓语信息PRE(参照式(43)等)。此外,谓语信息PRE的维n,成为多项式f(x0,..,xH-1)所容许的项数(包含常数项)的最大值。在图10A以及图11A中,各项的不定元分量、作为与各个不定元分量对应的各项的系数分量的元素值、与各个元素对应的元素号码相关联。此外,图10B以及图11B中记载的各个号码分别表示图10A以及图11A 中的元素号码,图10B以及图11B中记载的各个号码的位置上配置与图10A以及图11A的元素号码对应的元素值。 
图10A的例子对应于将不定元的种类设为4种(H=4),在不容许包含不定元的幂乘的项的条件下所设定的以下多项式。 
f(x0,x1,x2,x3)=ι0·(x1-ID’(1))·(x2-ID’(2))+ι1·(x3-ID’(3)) 
                 =ι0·x1·x20·ID’(2)·x10·ID’(1)·x21·x3…(52) 
                   +(ι0· ID’(1)· ID’(2)-ι1·ID’(3)) 
另外,ID’(1)、ID’(2)以及ID’(3)分别是如前述那样以对应于各个协议的规则所决定的识别符,该例子的多项式f(x0,x1,x2,x3)对应于逻辑式{(x1=ID’(1))∨(x2=ID’(2))}∧(x3=ID’(3))。例如,若设ID’(1)、ID’(2)以及ID’(3)分别是以对应于前向安全密码协议、密钥隔离密码协议以及CCA2安全密码协议的规则所决定的识别符,式(52)的多项式f(x0,x1,x2,x3)对应于对于前向安全密码协议或者密钥隔离密码协议、与CCA2安全密码协议的组合成为真的逻辑式。该例子的情况下,将元素号码8的元素设为ι0,将元素号码12的元素设为-ι0·ID’(2),将元素号码13的元素设为-ι0·ID’(1),将元素号码14的元素设为ι1,将元素号码15的元素设为ι0·ID’(1)·ID’(2)-ι1·ID’(3),将其他元素设为0的16维的向量w成为谓语信息PRE。该例子的谓语信息PRE和在{(x1=ID(1))∨(x2=ID(2))}∧(x3=ID(3))时按照图8生成的属性信息ATT的内积成为0。 
图11A的例子对应于将不定元的种类设为4种(H=4),在容许包含不定元的平方的项,但不容许包含不定元的三次方以上的幂乘的项的条件下所设定的以下多项式。 
f(x0,x1,x2,x3)={ι0·(x1-ID’(1))+ι1·(x3-ID’(3))}·(x3-ID’(3)) 
                 =ι1·(x3)2+{-ι0·ID’(1)-2·ι1·ID’(3)}·x30·x1·x3
                    -ι0·ID’(3)·x1+{ι0·ID’(1)·ID’(3)+ι1·{ID’(3)}2}    (53) 
另外,ID’(1)、ID’(2)以及ID’(3)分别是如前述那样以对应于各个协议的规则所决定的识别符,该例子的多项式f(x0,x1,x2,x3)对应于逻辑式{(x1=ID’(1))∧(x2=ID’(3))}∨(x3=ID’(3))。例如,若设ID’(1)以及ID’(3)分别是以对应于前向安全密码协议以及CCA2安全密码协议的规则所决定的识别符,式(53)的多项式f(x0,x1,x2,x3)对应于对于前向安全密码协议和CCA2安全密码协议的组合,或者,对于CCA2安全密码协议成为真的逻辑式。该例子的情 况下,将元素号码9的元素设为ι0,将元素号码12的元素设为-ι0·ID’(3),将元素号码14的元素设为-ι0·ID’(1)-2·ι1·ID’(3),将元素号码15的元素设为ι0·ID’(1)·ID’(3)+ι1·{ID’(3)}2,将元素号码en的元素设为ι1,将其他元素设为0的16维的向量w成为谓语信息PRE。该例子的谓语信息PRE和在{(x1=ID(1))∧(x2=ID(3))}∨(x3=ID(3))时按照图9生成的属性信息ATT的内积成为0。 
图10和图11的谓语信息PRE的生成方法只不过是一例,不定元的种类也可以是4以外,也可以在多项式f(x0,...,xH-1)中容许包含不定元的3次方以上的幂乘的项。此外,也可以是容许包含特定的不定元的平方的项,但不容许包含其他不定元的平方的项等,不容许一部分的不定元分量的结构。此外,也可以是与一个属性信息ATT的内积成为0的谓语信息PRE不仅是一个,而是通过上述以外的方法来设定与期望的属性信息ATT的内积成为0的谓语信息PRE。 
[明文] 
在本方式中,在发送者装置110的存储部111c中存储加密对象的明文Mt。 
[接收者装置120中预先决定的逻辑式] 
在本方式中,在接收者装置120预先决定了与几个协议和/或该协议的组合所组成的条件对应的逻辑式的结构(例如,{(x1=ID’(1))∨(x2=ID’(2))}∧(x3=ID’(3)))。其中,构成该逻辑式的识别符ID’(h)的值没有被确定,通过决定该识别符ID’(h)的值从而决定谓语信息PRE。 
[主秘密信息] 
在本方式的密钥生成装置130的存储部131b中存储谓语密码方式的主秘密信息MSK。主秘密信息MSK的一例是前述的以基向量bi *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵B*。 
<处理> 
图12A是用于说明第1实施方式的加密处理的流程图。图12B是用于说明第1实施方式的密钥信息生成处理的流程图。此外,图13是用于说明第1实施方式的解密处理的流程图。以下,利用这些图来说明本方式的处理。 
[加密处理] 
在本方式的加密处理中,首先,用于确定应用了要执行的谓语密码方式 的一种以上的协议的确定信息PI被输入到发送者装置110(图2)的输入部112(步骤S111)。例如,若如图5A那样决定确定信息PI,则与用户所选择的一种协议对应的确定信息PI、或者,与用户所选择的两种以上的协议分别对应的确定信息PI的组合被输入到输入部112。此外,例如,若如图5B那样决定确定信息PI,则与用户所选择的一种协议或者两种以上的协议对应的确定信息PI被输入到输入部112。 
输入到输入部112的确定信息PI被输入到识别符确定部114a。识别符确定部114a按照对通过该确定信息PI确定的每个协议或者该协议的组合的每一个所决定的规则(参照图6以及图7等),对每个该协议或者该协议的组合的每一个确定识别符ID(h),并输出已确定的一种以上的该识别符ID(h)(步骤S112)。 
从识别符确定部114a输出的一种以上的识别符ID(h)被输入到属性信息设定部114b。属性信息设定部114b使用在存储部111b中存储的属性信息表(参照图8A~图9B等),设定对一种该识别符ID(h)或者两种以上的该识别符ID(h)的组合所决定的一个属性信息ATT,并输出已设定的该属性信息ATT(步骤S113)。 
从属性信息设定部114b输出的属性信息ATT被输入到加密部114c。加密部114c从存储部111c读出明文Mt,将属性信息ATT和明文Mt输入到谓语密码方式的加密函数,并生成明文Mt的密码文Ct(步骤S114)。谓语密码方式的加密函数的一例是前述的式(45)(46)。 
生成的密码文Ct被送到通信部115。通信部115(输出部)经由网络140将该密码文Ct(第1信息)发送到接收者装置120(步骤S115)。 
[解密处理/密钥信息生成处理] 
在本方式的解密处理中,首先,接收者装置120(图3)的通信部125接收密码文Ct(第1信息)(步骤S121)。 
以此为契机,识别符确定部124a对每个协议或者该协议的组合的每一个,按照对每个该协议或者该协议的组合的每一个所决定的规则,确定在前述的接收者装置120中预先决定的逻辑式中使用的一种以上的识别符ID’(h)(步骤S122)。另外,该规则与在发送者装置110的识别符确定部114a中用于确定识别符ID(h)的规则相同。 
通过识别符确定部124a确定的一种以上的识别符ID’(h)被输入到多项式 生成部124b。多项式生成部124b使用该识别符ID’(h),决定用于构成前述的接收者装置120中预先决定的逻辑式的识别符ID’(h)的值,生成与由此决定的逻辑式对应的多项式f(x0,...,xH-1)(例如,参照式(52)(53)),并输出生成的多项式f(x0,...,xH-1)(步骤S123)。 
从多项式生成部124b输出的多项式f(x0,...,xH-1)被输入到谓语信息生成部124c。谓语信息生成部124c生成将输入的多项式f(x0,...,xH-1)的各项的系数分量作为各个元素的向量w(w0,...,wn-1)作为谓语信息PRE(例如,参照图10A~图11B),并输出该谓语信息PRE(步骤S124)。 
从谓语信息生成部124c输出的谓语信息PRE被输入到密钥生成处理部124d。密钥生成处理部124d将谓语信息PRE从通信部125经由网络140而发送到密钥生成装置130,委托生成与谓语信息PRE对应的密钥信息SKr(步骤S125)。 
在本方式的密钥信息生成处理中,首先,密钥生成装置130(图4)的通信部135接收上述的谓语信息PRE(步骤S131)。由通信部135接收的谓语信息PRE被输入到密钥生成部134。密钥生成部134从存储部131b读出主秘密信息MSK,将主秘密信息MSK和谓语信息PRE输入到谓语密码方式的密钥生成函数,生成并输出与谓语信息PRE对应的密钥信息SKr(步骤S132)。另外,密钥生成函数的一例是式(44)的函数。生成的密钥信息SKr被送到通信部135,通信部135将该密钥信息SKr经由网络140发送到接收者装置120(步骤S133)。 
接收者装置120(图3)的通信部125接收所发送的密钥信息SKr,并将其送到密钥生成处理部124d。密钥生成处理部124d将该密钥信息SKr(第2信息)存储到存储部121b(步骤S126)。 
接着,在步骤S121中通信部125接收到的密码文Ct(第1信息)和从存储部121b读出的密钥信息SKr(第2信息)被输入到解密部124e。解密部124e将密码文Ct(第1信息)和密钥信息SKr(第2信息)输入到谓语密码方式的解密函数从而执行解密处理,并输出由此得到的解密结果Mr(步骤S127)。另外,解密函数的一例是式(47)~(49)。 
这里,在对应于密码文Ct(第1信息)的属性信息ATT和对应于密钥信息SKr(第2信息)的谓语信息PRE被输入到预先决定的函数时的函数值成为预先决定的值的情况下(例如,该属性信息ATT和该谓语信息PRE的内积 成为0的情况),得到正确的解密结果,解密结果Mr=明文Mt(例如,参照式(48)(49))。另一方面,在该属性信息ATT和该谓语信息PRE被输入到预先决定的函数时的函数值没有成为预先决定的值的情况下(例如,该属性信息ATT和该谓语信息PRE的内积不成为0的情况),无法得到正确的解密结果。这表示只有与在接收者装置120中预先决定的协议和/或该协议的组合所构成的条件一致的密码文Ct会被正确解密。 
如上所述,在本方式中,能够选择发送者装置110使用的协议或协议的组合,并且能够设定可在接收者装置120中解密的密码文的协议或协议的组合的条件。并且,只有在发送者装置110中选择的协议或协议的组合与接收者装置120所设定的条件一致的情况下,接收者装置120能够对所发送的密码文正确解密。此外,可在接收者装置120中解密的密码文的协议或协议的组合的条件,能够通过对逻辑或和逻辑与自由组合而设定。尤其,若接收者装置120中设定了包含逻辑或的条件,则接收者装置120不需要根据发送者装置110中选择的协议等来区别使用密钥信息。 
[第1实施方式的变形例1] 
如前述那样,也可以将属性信息ATT和谓语信息PRE的一部分区域设为预备区域。由此,即使在以后需要增加可选择的协议,或者增加表示逻辑式的多项式的项的情况下,只要将这些增加部分分配给预备区域,则能够进行这些增加而不用变更系统的设定。 
图14A、图14B、图15A以及图15B是用于说明将属性信息ATT和谓语信息PRE的一部分区域设为预备区域的例子的图。 
在图14A、图14B、图15A以及图15B中,例示了属性信息ATT和谓语信息PRE为维相互相等的向量,且在属性信息ATT和谓语信息PRE的内积为0时能够正确解密的情况下的预备区域。该例子中,与确定信息PI的值无关地,属性信息ATT的元素号码0,...,4的元素(预备区域)的值分别设为常数const.(0),...,const.(4),谓语信息PRE的元素号码0,...,4的元素(预备区域)的值分别设为常数const.’(0),...,const.’(4)。这些预备区域被设定为,属性信息ATT的元素号码0,...,4的元素组成的向量和谓语信息PRE的元素号码0,...,4的元素组成的向量的内积与确定信息PI的值无关地成为0。例如,可以是常数const.(0),...,const.(4)都为0,也可以是常数const.’(0),...,const.’(4)都为0,也可以是常数const.(0),...,const.(4)都为0且常数const.’(0),...,const.’(4) 的一部分为0以外,也可以常数const.’(0),...,const.’(4)都为0且常数const.(0),...,const.(4)的一部分为0以外,也可以是常数const.(0),...,const.(4)的一部分为0以外且常数const.’(0),...,const.’(4)的一部分为0以外且const.(0)·const.’(0)+...+const.(4)·const.’(4)=0。 
[第1实施方式的变形例2] 
此外,如前所述,也可以不将属性信息ATT或谓语信息PRE的一部分元素设为预备区域,而是设定与逻辑式对应的属性信息ATT以及谓语信息PRE,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。由此,即使在以后需要增加可选择的协议,或者增加表示逻辑式的多项式的项的情况下,只要将这些增加部分分配给预备区域,则能够进行这些增加而不用变更系统的设定。 
图16至图18是用于说明设定与逻辑式对应的属性信息ATT以及谓语信息PRE的情况下的一例的图,其中,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题的逻辑与。 
在该例子中,将识别符ID(3)作为未使用的识别符,设定与逻辑式对应的属性信息ATT以及谓语信息PRE,该逻辑式在一部分中包含与确定信息PI的值无关地预先被设定成为真的命题“不定元x3是ID(3)”的逻辑与。 
例如,图16~图18B的例子是与确定信息PI的值无关地将识别符ID(3)以及识别符ID’(3)设为相同的常数(const.),如前述那样设定属性信息ATT以及谓语信息PRE的例子。在这样的设定中,命题“不定元x3是ID(3)”与确定信息PI的值无关地成为真。实际上,图17A以及图17B的属性信息ATT与图18A以及图18B的谓语信息PRE的内积,与确定信息PI的值无关地成为真。并且,在以后扩展至使用识别符ID(3)的这样的系统的情况下,能够对识别符ID(3)输入对应于确定信息PI的值从而更新属性信息ATT以及谓语信息PRE。 
[第2实施方式] 
下面,说明本发明的第2实施方式。 
第2实施方式是,第1信息为对应于属性信息ATT的密钥信息,第2信息为对应于谓语信息PRE的密码文,发送者装置输出密钥信息,接收者装置中存储的密码文被解密的方式。这样的方式在应用了谓语密码的协议例如为关键字检索密码协议时,或者,关键字检索密码协议和前向安全密码协议、 密钥隔离密码协议或者CCA2安全密码协议的组合的情况下等可适用。以下,以与第1实施方式的不同点为中心进行说明,关于与第1实施方式相同的事项简化说明。 
<结构> 
图19是用于说明第2实施方式的函数密码应用系统2的整体结构的方框图。如图19所示,本方式的函数密码应用系统2具有连接到网络140的发送者装置210(信息输出装置)、接收者装置220(信息处理装置)以及密钥生成装置130。另外,为了便于说明,图19中各标记了一个发送者装置210、接收者装置220和密钥生成装置130,但也可以存在两个以上的发送者装置210或接收者装置220或密钥生成装置130。 
[发送者装置210(信息输出装置)] 
图20是用于说明图19的发送者装置210的结构的方框图。另外,在本方式中,关于与第1实施方式相同的部分附加与第1实施方式相同的标号,并省略说明(以下,同样)。 
如图20所示,本方式的发送者装置210具有临时存储器111a、存储部111b、211d、输入部112、控制部113、识别符确定部114a、属性信息设定部114b、密钥生成处理部214d、通信部115。 
发送者装置210例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,密钥生成处理部214d是通过CPU执行规定的程序而构成的处理部或集成电路等,存储部211d是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。 
[接收者装置220(信息处理装置)] 
图21是用于说明图19的接收者装置220的结构的方框图。 
如图21所示,本方式的接收者装置220具有临时存储器121a、存储部221b、221c、控制部123、识别符确定部124a、多项式生成部124b、谓语信息生成部124c、加密部224d、解密部124e、通信部125。 
接收者装置220例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,加密部224d是通过CPU执行规定的程序而构成的处理部或集成电路等,存储部221b、221c是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存 储装置,或者,由这些的至少一部分的结合所构成的存储区域。 
<预先设定> 
下面,说明本方式的函数密码应用系统2的预先设定。 
[确定信息] 
图22A以及图22B是例示了第2实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
在图22A的例子中,对每个协议分配了确定信息PI。即,在该例子中,对于确定信息PI=0分配了关键字检索密码协议,对于确定信息PI=1分配了前向安全密码协议,对于确定信息PI=2分配了密钥隔离密码协议,对于确定信息PI=3分配了CCA2安全密码协议。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议分别对应的确定信息PI的组合。 
另一方面,在图22B的例子中,除了对每个协议分配了确定信息PI之外,对于两种以上的协议的组合也分配了确定信息PI。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议对应的确定信息PI。 
另外,图22所示的确定信息PI是一例,也可以通过其他方法来确定与一种以上的协议对应的确定信息PI。 
[识别符] 
图23A、图23B以及图24是用于说明在第2实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(h)的规则的一例的图。 
在图23A的例子中,对可选择的每个协议分配识别符ID(h)。在对所选择的协议分配的识别符ID(h)中,输入按照对该协议决定的规则的值。例如,在选择了关键字检索密码协议时,检索用关键字被输入到识别符ID(0)。另一方面,在对没有被选择的协议所分配的识别符ID(h)中输入常数(const.)。此外,在选择了多个协议的组合的情况下,作为选择了构成该组合的多个协议而决定识别符ID(h)的值。例如,在选择了关键字检索密码协议和CCA2安全密码协议的组合的情况下,检索用关键字被输入到识别符ID(0),一次性信息被输入到识别符ID(3),其他的识别符ID(1),ID(2)中输入常数(const.)。 
在图23B的例子中,仅对所选择的协议分配识别符ID(h)。例如,在选择了关键字检索密码协议的情况下,仅分配表示检索用关键字的识别符ID(0)。 此外,例如,在选择了关键字检索密码协议和CCA2安全密码协议的组合的情况下,仅分配表示检索用关键字的识别符ID(0)、以及表示一次性信息的识别符ID(3)。 
在图24的例子中,对可选择的协议以及协议的组合的每一个分配识别符ID(h)。在对选择的协议以及协议的组合所分配的识别符ID(h)中,输入按照对所选择的协议或者构成组合的各个协议决定的各个规则的值,在对没有被选择的协议或组合所分配的识别符ID(h)中输入常数(const.)。例如,在选择了关键字检索密码协议和CCA2安全密码协议的组合的情况下,由检索用关键字和一次性信息的组合所决定的值被输入到识别符ID(3),其他的识别符ID(h)中输入常数(const.)。 
此外,上述的识别符的决定方法只不过是一例,也可以通过其他的方法来确定识别符。例如,作为图24的例子的变形,也可以仅对所选择的协议以及协议的组合分配识别符ID(h)。此外,也可以根据如上所述那样得到的各个识别符ID(h)的组合(例如比特结合)来构成一个识别符。 
[属性信息/谓语信息] 
由于与第1实施方式相同,因此省略说明。 
[加密数据库(DB)] 
图25是用于说明第2实施方式的加密DB的一例的图。 
图25中的Mr1~Mr99分别是文档等检索对象信息,KWr1~KWr9分别为单词等关键字,True是表示“真”的“1”等的数据。此外,C(Mr1),...,C(Mr99)分别是检索对象信息Mr1~Mr99的密码文。密码文C(Mr1),...,C(Mr99)的加密方式可以是公共密钥密码方式、公开密钥密码方式、基于ID的密码方式、谓语密码方式等的任一种。此外,Cr(KWr1,True),...,Cr(KWr9,True)分别是将谓语信息PRE和明文True输入到谓语密码方式的加密函数而得到的谓语密码方式的密码文(第2信息)。密码文Cr(KWr1,True),...,Cr(KWr9,True)分别使用对应于与关键字KWr1~KWr9分别对应的各个属性信息ATT的密钥信息,可正确解密。即,例如,与关键字KWr1对应的属性信息ATT和用于对密码文Cr(KWr1,True)进行加密的谓语信息PRE输入到预先决定的函数时,该函数的函数值成为预先决定的值(例如,该属性信息ATT和该谓语信息PRE的内积成为0)。 
加密DB对于检索对象信息(统称为“Mr”)的密码文C(Mr1),...,C(Mr99), 分别关联了与对应的关键字对应的密码文Cr(KWr1,True),...,Cr(KWr9,True)。例如,与检索对象信息Mr1对应的关键字为KWr1、KWr2、KWr3、KWr4时,将检索对象信息Mr1的密码文C(Mr1)和与关键字KWr1、KWr2、KWr3、KWr4对应的密码文Cr(KWr1,True)、Cr(KWr2,True)、Cr(KWr3,True)、Cr(KWr4,True)相关联。由此,例如,根据利用与对应于关键字KWr1的属性信息ATT对应的密钥信息能够对密码文Cr(KWr1,True)正确解密的情况,不用对检索对象信息Mr1的密码文C(Mr1)进行解密,就可知关键字KWr1与检索对象信息Mr1相对应。 
在本方式中,这样的加密DB存储在接收者装置220的存储部221c,存储部221c中存储各个关键字(统称为“KWr”)和明文True。此外,与构成加密DB的各个关键字KWr对应的各个密码文Cr(KWr,True)如后述那样依次被更新。 
[接收者装置220中预先决定的逻辑式] 
在本方式中,在接收者装置220预先决定了与几个协议和/或该协议的组合所组成的条件对应的逻辑式。其中,构成该逻辑式的识别符ID’(h)的值没有被确定,通过决定该识别符ID’(h)的值从而决定谓语信息PRE。 
[主秘密信息] 
在本方式的密钥生成装置130的存储部131b中存储谓语密码方式的主秘密信息MSK。主秘密信息MSK的一例是前述的以基向量bi *(i=1,...,n+1)作为元素的n+1行n+1列的矩阵B*。 
<处理> 
图26A是用于说明第2实施方式的检索委托处理的流程图。图26B是用于说明第2实施方式的密钥信息生成处理的流程图。此外,图27是用于说明第2实施方式的检索处理的流程图。以下,利用这些图来说明本方式的处理。 
[检索委托处理/密钥信息生成处理] 
在本方式的加密处理中,首先,用于确定应用了要执行的谓语密码方式的一种以上的协议的确定信息PI和检索用关键字KWt被输入到发送者装置210(图20)的输入部112(步骤S211)。例如,若如图22A那样决定确定信息PI,则与用户所选择的一种协议对应的确定信息PI,或者,与用户所选择的两种以上的协议分别对应的确定信息PI的组合被输入到输入部112。此外,例如,若如图22B那样决定确定信息PI,则与用户所选择的一种协议或者两 种以上的协议对应的确定信息PI被输入到输入部112。另外,在本方式中,假设在所选择的协议或者协议的组合中包含关键字检索密码协议。 
输入到输入部112的确定信息PI和检索用关键字KWt被输入到识别符确定部114a。识别符确定部114a按照对通过该确定信息PI确定的每个协议或者该协议的组合的每一个所决定的规则(参照图23以及图24等),对每个该协议或者该协议的组合的每一个确定与检索用关键字KWt对应的识别符ID(h),并输出已确定的一种以上的该识别符ID(h)(步骤S212)。 
从识别符确定部114a输出的一种以上的识别符ID(h)被输入到属性信息设定部114b。属性信息设定部114b使用在存储部111b中存储的属性信息表(参照图8、图9等),设定对一种该识别符ID(h)或者两种以上的该识别符ID(h)的组合所决定的一个属性信息ATT,并输出已设定的该属性信息ATT(步骤S213)。 
从属性信息设定部114b输出的属性信息ATT被输入到密钥生成处理部214d。密钥生成处理部214d将属性信息ATT从通信部115经由网络140而发送到密钥生成装置130,委托生成与属性信息ATT对应的密钥信息SKt(步骤S214)。 
在本方式的密钥信息生成处理中,首先,密钥生成装置130(图4)的通信部135接收上述的属性信息ATT(步骤S231)。由通信部135接收的属性信息ATT被输入到密钥生成部134。密钥生成部134从存储部131b读出主秘密信息MSK,将主秘密信息MSK和属性信息ATT输入到谓语密码方式的密钥生成函数,生成并输出与属性信息ATT对应的密钥信息SKt(步骤S232)。另外,密钥生成函数的一例是式(50)的函数。生成的密钥信息SKt被送到通信部135,通信部135将该密钥信息SKt经由网络140发送到发送者装置210(步骤S233)。 
发送者装置210(图20)的通信部115接收密钥信息SKt,并将其送到密钥生成处理部214d。密钥生成处理部214d将该密钥信息SKt存储到存储部211d(步骤S215)。接着,从存储部211d读出的、与检索用关键字KWt对应的密钥信息SKt(第1信息)被送到通信部115,且从通信部115经由网络140被发送到接收者装置220(步骤S216)。 
[检索处理] 
在本方式的检索处理中,首先,接收者装置220(图21)的通信部125 接收所发送的与检索用关键字KWt对应的密钥信息SKt(第1信息),并存储到存储部221b(步骤S221)。 
以此为契机,识别符确定部124a对与在前述的接收者装置220中预先决定的逻辑式对应的每个协议或者该协议的组合的每一个,按照对每个该协议或者该协议的组合的每一个所决定的规则,确定对应于与各个检索对象信息Mr分别对应的各个关键字KWr的一种以上的识别符ID’(h)(步骤S222)。另外,该规则与在发送者装置210的识别符确定部114a中用于确定识别符ID(h)的规则相同。 
通过识别符确定部124a对每个关键字KWr所确定的一种以上的识别符ID’(h)被输入到多项式生成部124b。多项式生成部124b对各个关键字KWr分别使用对应的识别符ID’(h),决定用于构成前述的接收者装置220中预先决定的逻辑式的识别符ID’(h)的值,生成与由此决定的逻辑式对应的多项式f(x0,...,xH-1),并输出生成的多项式f(x0,...,xH-1)(步骤S223)。 
从多项式生成部124b输出的各多项式f(x0,...,xH-1)被输入到谓语信息生成部124c。谓语信息生成部124c对于各个关键字KWr,分别生成将输入的多项式f(x0,...,xH-1)的各项的系数分量作为各个元素的向量w(w0,...,wn-1)作为谓语信息PRE,并输出该谓语信息PRE(步骤S224)。 
从谓语信息生成部124c输出的对于各个关键字KWr的各个谓语信息PRE被输入到加密部224d。加密部224d从存储部111c读出明文True,将对于各个关键字KWr的各个谓语信息PRE和明文True分别输入到谓语密码方式的加密函数,对各个关键字KWr,分别生成明文True的密码文Cr(KWr,True)(第2信息),由此更新与加密DB的各个关键字对应的各个密码文,更新加密DB(步骤S225)。另外,谓语密码方式的加密函数的一例是前述的式(51)(46)。 
接着,在步骤S221中通信部125接收的与检索用关键字KWt对应的密钥信息SKt(第1信息)、以及从存储部221c读出的加密DB的某个密码文Cr(KWr,True)(第2信息)被输入到解密部124e。解密部124e将密钥信息SKt(第1信息)和密码文Cr(KWr,True)(第2信息)输入到谓语密码方式的解密函数而执行解密处理,并输出由此得到的解密结果Mr=“True”或Not(步骤S226)。另外,解密函数的一例是式(47)~(49)。 
这里,在对应于信息SKt(第1信息)的属性信息ATT和对应于密码文 Cr(KWr,True)(第2信息)的谓语信息PRE输入到预先决定的函数时的函数值成为预先决定的值的情况下(例如,该属性信息ATT和该谓语信息PRE的内积成为0的情况),得到正确的解密结果,解密结果Mr=明文True(例如,参照式(48)(49))。另一方面,在该属性信息ATT和该谓语信息PRE输入到预先决定的函数时的函数值没有成为预先决定的值的情况下(例如,该属性信息ATT和该谓语信息PRE的内积没有成为0的情况),无法得到正确的解密结果。并且,在得到正确的解密结果的情况下,与该密码文Cr(KWr,True)相关联的检索对象信息Mr的密码文C(Mr)作为检索结果被提取。这样的步骤S226的处理对构成加密DB的所有的密码文Cr(KWr,True)分别执行。 
对应于检索用关键字KWt的密钥信息SKt(第1信息)与在接收者装置220中预先决定的协议和/或该协议的组合和/或关键字所构成的条件一致时,对应于与该检索用关键字KWt相同的关键字KW的检索对象信息Mr的密码文C(Mr)作为检索结果被提取。 
另一方面,对应于检索用关键字KWt的密钥信息SKt(第1信息)与在接收者装置220中预先决定的协议和/或该协议的组合和/或关键字所构成的条件不一致时,无法实现正确的解密,因此对应于与检索用关键字KWt相同的关键字KW的检索对象信息Mr的密码文C(Mr)不会被提取。即,实质上无法执行加密DB的检索。 
如上所述,在本方式中,能够选择发送者装置210使用的协议或协议的组合或关键字,并且能够设定可在接收者装置220中进行加密DB的检索的密钥信息SKt(第1信息)的协议或协议的组合或关键字的条件。并且,实质上,只有在发送者装置210中选择的协议或协议的组合或关键字与接收者装置220所设定的条件一致的情况下,接收者装置220执行加密DB的检索。 
[第2实施方式的变形例] 
在第2实施方式中,也可以对属性信息ATT和谓语信息PRE设置如在第1实施方式的变形例1和2中说明的那样的预备区域。 
此外,在本方式中,作为第1信息是对应于属性信息ATT的密钥信息,第2信息是对应于谓语信息PRE的密码文时的一例,例示了执行将关键字检索密码协议作为基本的协议的情况。但是,本发明不限于此。 
[第3实施方式] 
第3实施方式是可实现与第1实施方式和第2实施方式的切换的方式。 即,是如下的方式:发送者装置根据由确定信息PI所确定的协议,切换是将属性信息ATT输入到谓语密码方式的加密函数还是输入到密钥生成函数,接收者装置根据由确定信息PI所确定的协议,切换是将谓语信息输入到谓语密码方式的密钥生成函数还是输入到加密函数。以下,以与第1实施方式的不同点为中心进行说明,关于与第1实施方式相同的部分省略说明。 
<结构> 
图28是用于说明第3实施方式的函数密码应用系统3的整体结构的方框图。如图28所示,本方式的函数密码应用系统3具有连接到网络140的发送者装置310(信息输出装置)、接收者装置320(信息处理装置)以及密钥生成装置130。另外,为了便于说明,图28中各标记了一个发送者装置310、接收者装置320和密钥生成装置130,但也可以存在两个以上的发送者装置310或接收者装置320或密钥生成装置130。 
[发送者装置310(信息输出装置)] 
图29是用于说明图28的发送者装置310的结构的方框图。另外,在本方式中,关于与第1、第2实施方式相同的部分附加与第1、第2实施方式相同的标号,并省略说明(以下,同样)。 
如图29所示,本方式的发送者装置310具有临时存储器111a、存储部111b、111c、211d、输入部112、控制部113、识别符确定部114a、属性信息设定部114b、加密部114c、密钥生成处理部214d、切换部314、通信部115。 
发送者装置310例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,切换部314是通过CPU执行规定的程序而构成的处理部或集成电路等。 
[接收者装置320(信息处理装置)] 
图30是用于说明图28的接收者装置320的结构的方框图。 
如图30所示,本方式的接收者装置320具有临时存储器121a、存储部121b、221c、控制部123、识别符确定部124a、多项式生成部124b、谓语信息生成部124c、密钥生成处理部124d、加密部224d、解密部124e、切换部324a、324b、通信部125。另外,为了便于说明,在图30中标记了两个表示通信部125的块,但这并非表示需要两个单独的通信部125。 
接收者装置320例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,切换部 324a、324b是通过CPU执行规定的程序而构成的处理部或集成电路等。 
<预先处理> 
与第1、第2实施方式相同,因此省略说明。 
<处理> 
图31A是用于说明第3实施方式的发送者装置3 10的处理的流程图。图31B是用于说明第3实施方式的接收者装置320的处理的流程图。以下,使用这些图来说明本方式的处理。 
在本方式的发送者装置310的处理中,首先,用于确定应用了要执行的谓语密码方式的一种以上的协议的确定信息PI被输入到发送者装置310(图29)的输入部112(步骤S311)。 
这里,当通过确定信息PI确定的协议或者协议的组合为,如第1实施方式那样的将属性信息ATT输入到谓语密码方式的加密函数而生成密码文的加密处理的情况下,在切换部314的控制下执行第1实施方式的步骤S111~S115的加密处理。其中,本方式的发送者装置310将密码文Ct和确定信息PI一同发送到接收者装置320。 
另一方面,当通过确定信息PI确定的协议或者协议的组合为,如第2实施方式那样的将属性信息ATT输入到谓语密码方式的密钥生成函数而生成密钥信息的检索委托处理以及密钥信息生成处理的情况下,在切换部314的控制下执行第2实施方式的步骤S211~S216、S231~S233的检索委托处理以及密钥信息生成处理。其中,本方式的发送者装置310将密钥信息SKt和确定信息PI一同发送到接收者装置320。 
在本方式的接收者装置320的处理中,首先,接收者装置320(图30)的通信部125接收从发送者装置310发送的密码文Ct和确定信息PI的组、或者密钥信息SKt和确定信息PI的组(步骤S311)。 
这里,当通过确定信息PI确定的协议或者协议的组合为,如第1实施方式那样的将谓语信息PRE输入到谓语密码方式的密钥生成函数而生成密钥信息的解密处理以及密钥信息生成处理的情况下,在切换部324a、324b的控制下执行第1实施方式的步骤S121~S127、S131~S133的解密处理以及密钥信息生成处理。 
另一方面,当通过确定信息PI确定的协议或者协议的组合为,如第2实施方式那样的将谓语信息PRE输入到谓语密码方式的加密函数而生成密码文 的检索处理的情况下,在切换部324a、324b的控制下执行第2实施方式的步骤S221~S226的检索处理。 
[第1~第3实施方式的其他变形例] 
另外,本发明不限于上述的第1~第3实施方式。例如,在前述的基本结构例1、2中例示的密码文C2是利用n+1维的基向量而构成(式(45)(51)),但也可以利用相互正交的n+2维的基向量b1,...,bn+ξ而构成密码文C2。例如,也可以生成以下的式(54)(55)的密码文C2。另外,ξ是2以上的整数,υξ+1是常数或变量(随机数等)等。 
C2=υ1·(∑μ=1 nvμ·bμ)+υ2·bn+1+…+υξ+1·bn+ξ∈G1 n+ξ     …(54) 
C2=υ1·(∑μ=1 nwμ·bμ)+υ2·bn+1+…+υξ+1·bn+ξ∈G1 n+ξ     …(55) 
此外,也可以代替式(44)而使用式(56)或者式(57)。 
D*=α·(∑μ=1 nwμ·bμ *)+υn+1·bn+1 *∈G2 n+1                    …(56) 
D*=α·(∑μ=1 nwμ·bμ *)+∑ι=n+1 n+ξυι·bι *∈G2 n+ξ        …(57) 
此外,也可以代替式(50)而使用式(58)或者式(59)。 
D*=α·(∑μ=1 nvμ·bμ *)+υn+1· bn+1 *∈G2 n+1                   …(58) 
D*=α·(∑μ=1 nvμ·bμ *)+∑ι=n+1 n+ξυι·bι *∈G2 n+ξ        …(59) 
其中,υι是常数或变量(随机数等)等。此外,在式(57)(59)的情况下,也可以选择各个υι,使得∑ι=n+1 n+ξυι成为常数。例如,也可以随机选择各个υι,使得下式成立。 
ι=n+1 n+ξυι=0F             …(60) 
此外,也可以将上述的在有限域Fq上定义的各个运算置换为在位数q的有限环Zq上定义的运算。将在有限域Fq上定义的各个运算置换为在有限环Zq上定义的运算的方法的一例是,容许素数或其幂乘值以外的q的方法。此外,也可以不是KEM方式,而是使用如参考文献9的内积谓语密码那样通过内积谓语密码直接对明文M进行加密的方式。另外,由于参考文献9的内积谓语密码方式的具体结构在参考文献9的P24-25等中公开,因此在这里省略说明,但参考文献9的内积谓语密码方式也是在作为维互相相等的向量的谓语信息和属性信息的内积为0时会被正确解密的方式。此外,使用任何谓语密码方式都可以。 
此外,在第1~第3实施方式中,在发送者装置和接收者装置的外部设置了密钥生成装置,但也可以由发送者装置和接收者装置具备密钥生成装置的 功能。这样的发送者装置和接收者装置能够自行生成密钥信息而不用依靠密钥生成装置来生成密钥信息。 
此外,在第1~第3实施方式中,在接收者装置接收到从发送者装置发送的密码文或者密钥信息之后,由接收者装置决定了谓语信息PRE。但是,根据协议,有时也能够在接收者装置接收从发送者装置发送的密码文或者密钥信息之前,由接收者装置决定谓语信息PRE。这时,接收者装置可以在接收从发送者装置发送的密码文或者密钥信息之前决定谓语信息PRE,并且生成与该谓语信息PRE对应的密钥信息或者密码文。 
此外,也可以代替属性信息ATT而使用谓语信息PRE,代替谓语信息PRE而使用属性信息ATT。即,也可以是谓语信息PRE相当于第1对应信息,属性信息ATT相当于第2对应信息。 
此外,在第1~第3实施方式中,各个装置通过网络进行了信息的交换。但是,各个装置也可以通过USB存储器等的可移动型记录介质进行信息的交换。 
此外,上述的各种处理不仅可以根据记载以时间序列执行,也可以根据执行处理的装置的处理能力或者需要而并行或者单独地执行。除此之外,在不脱离本发明的宗旨的范围内能够进行适当变更是不言而喻的。 
[第4~第6实施方式中的定义] 
下面,定义在第4~第6实施方式中使用的用语和记号。 
矩阵:“矩阵”表示以矩形排列了定义了运算的集合的元。不仅是以环的元作为元素的形式,以群的元作为元素的形式也表现为“矩阵”。 
(·)T:(·)T表示·的转置矩阵。 
(·)-1:(·)-1表示·的逆矩阵。 
∧:∧是表示逻辑与(AND)的逻辑记号。 
∨:∨是表示逻辑或(OR)的逻辑记号。 
是表示逻辑非(NOT)的逻辑记号。 
命题变量:命题变量是以命题的“真”、“假”(“false”,“true”)作为元素的集合{真,假}上的变量。将命题变量以及命题变量的逻辑非统称为直接量(literal)。 
逻辑式:逻辑式意味着表示数理逻辑学中的命题的具有形式语法的式。具体地说,“真”和“假”为逻辑式,命题变量为逻辑式,逻辑式的逻辑非为逻辑式,逻辑式和逻辑式的逻辑与为逻辑式,逻辑式与逻辑式的逻辑或为逻辑式。
Z:Z表示整数集合。 
sce:sec表示安全参数(sec∈Z,sec>0)。 
0*:0*表示由*个的0构成的列。 
1*:1*表示由*个的1构成的列。 
Fq:Fq表示位数q的有限域。位数q是1以上的整数,例如将素数或者素数的幂乘值设为位数q。即,有限域Fq的例子为素域或以素域为基础域的扩张域。另外,有限域Fq为素域时的运算例如能够通过以位数q作为除数的余数运算而容易构成。此外,有限域Fq为扩张域时的运算例如能够通过以不可约多项式作为除数的余数运算而容易构成。有限域Fq的具体的构成方法例如在参考文献1“ISO/IEC 18033-2:Information technology–Security techniques–Encryption algorithms–part 2:Asymmetric ciphers”中公开。 
0F:0F表示有限域Fq的加法单位元。 
1F:1F表示有限域Fq的乘法单位元。 
δ(i,j):δ(i,j)表示克罗内克(Kronecker)的δ函数。i=j时满足δ(i,j)=1F,i≠j时满足δ(i,j)=0F。 
E:E表示在有限域Fq上定义的椭圆曲线。E被定义为在对由仿射(affine)坐标版的满足Weierstrass方程式 
  y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6
(其中,a1,a2,a3,a4,a6∈Fq)的x,y∈Fq组成的点(x,y)的集合附加了被称为无限远点的特别的点O的集合。能够对椭圆曲线E上的任意两点定义被称为椭圆加法运算的两项运算+、以及对椭圆曲线E上的任意一点定义被称为椭圆逆元的单项运算-。此外,已熟知由椭圆曲线E上的有理点组成为有限集合关于椭圆加法运算构成群、使用椭圆加法运算能够定义被称为椭圆标量(scalar)倍算的运算、以及计算机上的椭圆加法运算等的椭圆运算的具体的运算方法(例如,参照参考文献1、参考文献2“RFC 5091:Identity-Based cryptography Standard(IBCS)#1:Supersingular Curve Implementations of the BF and BB1 Cryptosystems”、参考文献3“イアン·F·ブラケ、ガデイエル·セロツシ、ナイジエル·P·スマ一ト=著、“楕円曲線暗号”、出版=ピアソン·エデユケ一シヨン、ISBN4-89471-431-0”等)。 
此外,由椭圆曲线E上的有理点组成为有限集合具有位数p(p≥1)的部分群。例如,在将由椭圆曲线E上的有理点组成为有限集合的元素数目设为#E,将p设为整除#E的大的素数的情况下,由椭圆曲线E的p等分点组成的有限集合E[p]构成由椭圆曲线E上的有理点组成为有限集合的部分群。另外,椭圆曲线E的p等分点是指,椭圆曲线E上的点A中,椭圆曲线E上的椭圆标量倍算值p·A满足p·A=O的点。 
G1,G2,GT:G1,G2,GT表示位数q的循环群。循环群G1,G2的具体例为由椭圆曲线E的p等分点组成的有限集合E[p]或其部分群。可以是G1=G2,也可以是G1≠G2。此外,循环群GT的具体例为构成以有限域Fq作为基础域的扩张域的有限集合。其一例是,由有限域Fq的代数闭包中的1的p次方根组成的有限集合。通过将循环群G1,G2,GT的位数和有限域Fq的位数设为相同,从而安全性提高。 
另外,在本方式中,以加法方式表现在循环群G1,G2上定义的运算,以乘法方式表现在循环群GT上定义的运算。即,对于χ∈Fq以及Ω∈G1的χ·Ω∈G1表示,对Ω∈G1实施χ次在循环群G1上定义的运算,对于Ω1,Ω2∈G1的Ω12∈G1表示,将Ω1∈G1和Ω2∈G1作为被运算符而进行在循环群G1上定义的运算。同样地,对于χ∈Fq以及Ω∈G2的χ·Ω∈G2表示,对Ω∈G2实施χ次在循环群G2上定义的运算,对于Ω1,Ω2∈G2的Ω12∈G2表示,将Ω1∈G2和Ω2∈G2作为被运算符而进行在循环群G2上定义的运算。另一方面,对于χ∈Fq以及Ω∈GT的Ωχ∈GT表示,对Ω∈GT实施χ次在循环群GT上定义的运算,对于Ω1,Ω2∈GT的Ω1·Ω2∈GT表示,将Ω1∈GT和Ω2∈GT作为被运算符而进行在循环群GT上定义的运算。 
ψ:ψ表示1以上的整数。 
表示0以上且ψ以下的整数 
λ:λ表示1以上且ψ以下的整数λ=1,...,ψ。 
表示1以上的整数。 
表示0以上的整数。 
表示 个的循环群G1的直积。 
表示 个的循环群G2的直积。 
g1,g2,gT:g1,g2,gT表示循环群G,G1,G2,GT的生成元。 
表示由 个循环群G1的直积组成的 维的向 量空间。 
表示由 个循环群G2的直积组成的 维的向量空间。 
表示将直积 和直积 的直积 映射到循环群GT的非退化的双线性映射(bilinear map)。双线性映射 将循环群G1的 个元 和循环群G2的 个元  作为输入,输出循环群GT的一个元。 
双线性映射 满足以下的性质。 
[双线性性]关于所有的 以及ν,κ∈Fq满足以下的关系。 
Eψ(ν·「1,κ·「2)=eψ(「1,「2)ν·κ    …(62) 
[非退化性]并非是将所有的 映射到循环群GT的单位元的映射。 
[可计算性]存在能够关于所有的 
高效地计算 的算法。 
在本方式中,利用将循环群G1和循环群G2的直积G1×G2映射到循环群GT的非退化的双线性映射 
Pair:G1×G2→GT    ...(64) 
来构成双线性映射 本方式的双线性映射 对由循环群G1的 个元 组成的 维向量 和由循环群G2的 个元 组成的 维向量 的输入,输出循环群GT的一个元。 
另外,双线性映射Pair将循环群G1的一个元和循环群G2的一个元的组作为输入,输出循环群GT的一个元。双线性映射Pair满足以下的性质。 
[双线性性]关于所有的Ω1∈G1,Ω2∈G2以及ν,κ∈Fq满足以下的关系。 
Pair(ν·Ω1,κ·Ω2)=Pair(Ω1,Ω2)ν·κ    ...(66) 
[非退化性]并非是将所有的 
Ω1∈G1,Ω2∈G2    ...(67) 
映射到循环群GT的单位元的映射。 
[可计算性]存在关于所有的Ω1∈G1,Ω2∈G2高效地计算Pair(Ω1,Ω2)的算法。 
双线性映射Pair的具体例为用于进行Weil配对和Tate配对等配对运算的函数(例如,参照参考文献4“Alfred.J.Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,KLUWER ACADEMIC PUBLISHERS,ISBNO-7923-9368-6,pp.61-81”等)。此外,也可以根据椭圆曲线E的种类,将对用于进行Tate配对等配对运算的函数和规定的函数phi进行了组合的变更配对函数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)作为双线性映射Pair来使用(例如,参照参考文献2等)。此外,作为用于在计算机上进行配对运算的算法,存在公知的Miller的算法(参考文献5“V.S.Miller,“Short Programs for functions on Curves,”1986,互联网<http://crypto.stanford.edu/miller/miller.pdf>”)等。此外,用于高效地进行配对运算的椭圆曲线和循环群的构成方法已熟知(例如,参照参考文献2、参考文献6“A.Miyaji,M.Nakabayashi,S.Takano,“New explicit conditions of elliptic curve Traces for FR-Reduction,”IEICE Trans.Fundamentals,vol.E84-A,no05,pp.1234-1243,May 2001”、参考文献7“P.S.L.M.Barreto,B.Lynn,M.Scott,“Constructing elliptic curves with prescribed embedding degrees,”Proc.SCN’2002,LNCS 2576,pp.257-267,Springer-Verlag.2003”、参考文献8“R.Dupont,A.Enge,F.Morain,“Building curves with arbitrary small MOV degree over finite prime fields,”http://eprint.iacr.org/2002/094”等)。 
表示以循环群G1的 个元作为元素的 维的基向量。基向量 的一例是,将κ1·g1∈G1作为第i维的元素,将剩余的 个元素作为循环群G1的单位元(以加法方式表现为“0”)的 维的基向量。这时,若将 维的基向量 的各个元素分别列举表现,则成为如下。 
a1(ψ)=(κ1·g1,0,0,...,0) 
a2(ψ)=(0,κ1·g1,0,...,0)    …(68) 
an(ψ)+ζ(ψ)(ψ)=(0,0,0,...,κ1· g1
这里,κ1是由加法单位元0F以外的有限域Fq的元组成为常数,κ1∈Fq的具体例是κ1=1F。基向量 是正交基,以循环群G1的 个元作为元 素的所有的 维向量通过 维的基向量 的线性和来表示。即, 维的基向量 扩展前述的向量空间 
表示以循环群G2的 个元作为元素的 维的基向量。基向量 的一例是,将κ2·g2∈G2作为第i维的元素,将剩余的 个元素作为循环群G2的单位元(以加法方式表现为“0”)的 维的基向量。这时,若将基向量 的各个元素分别列举表现,则成为如下。 
a1 *(ψ)=(κ2·g2,0,0,...,0) 
a2 *(ψ)=(0,κ2·g2,0,...,0)    …(69) 
an(ψ)+ζ(ψ) *(ψ)=(0,0,0,...,κ2·g2
这里,κ2是由加法单位元0F以外的有限域Fq的元组成为常数,κ2∈Fq的具体例是κ2=1F。基向量 是正交基,以循环群G2的 个元作为元素的所有的 维向量通过 维的基向量 的线性和来表示。即, 维的基向量 扩展前述的向量空间 
另外,基向量 和基向量 是指,关于除0F以外的有限域Fq的元τ=κ1·κ2,满足下式。 
eψ(ai(ψ),aj *(ψ))=gT τ·δ(i,j)    …(70) 
即,i=j时,根据式(65)(66)的关系,满足下式。 
eψ(ai(ψ),aj *(ψ)) 
=Pair(κ1·g1,κ2·g2)·Pair(0,0)·...·Pair(0,0) 
=Pair(g1,g2)κ1·κ2·Pair(g1,g2)0·0·...·Pair(g1,g2)0·0
=Pair(g1,g2)κ1·κ2=gT τ
另外,上标κ1,κ2分别表示κ1,κ2。另一方面,  在i≠j时, 的右边不包含Pair(κ1·g1,κ2·g2),成为Pair(κ1·g1,0)和Pair(0,κ2·g2)和Pair(0,0)的积。进而,根据式(66)的关系而满足Pair(g1,0)=Pair(0,g2)=Pair(g1,g2)0。因此,在i≠j时,满足下式。 
eψ(ai(ψ),aj *(ψ))=eψ(g1,g2)0=gT 0
尤其,在τ=κ1·κ2=1F时(例如,κ1=κ2=1F时),满足下式。 
e(ai(ψ),aj *(ψ))=gT δ(i,j)    …(71) 
这里,gT 0=1是循环群GT的单位元,gT 1=gT是循环群GT的生成元。这时,基向量 和基向量 是对偶标准正交基,向量空间 和向量空间 是能够构成双线性映射的对偶向量空间[对偶配对向量空间(DPVS:Dual Paring Vector space)]。 
表示以基向量 作为元素的 行 列的矩阵。例如,在通过式(68)表示基向量 时,矩阵 成为下式。 
[数12] 
表示以基向量 作为元素的 行 列的矩阵。例如,在通过式(69)表示基向量 时,矩阵 成为下式。 
[数13] 
表示以有限域Fq的元作为元素的 行 列的矩阵。矩阵 用于基向量 的坐标变换。若将矩阵 的i行j列 的元素设为 则矩阵 成为下式。 
[数14] 
另外,将矩阵 的各个元素 称为变换系数。 
和矩阵 满足的 关系。其中,τ’∈Fq是属于有限域Fq的任意的常数,例如τ’=1F。 用于基向量 的坐标变换。若将矩阵 的i行j列的元素设为 则矩阵 成为下式。 
[数15] 
另外,将矩阵 的各个元素 称为变换系数。 
这时,若将 行 列的单位矩阵设为 则满足 即,对于单位矩阵 
[数16] 
满足下式。 
[数17] 
这里,定义 维向量。 
χi (ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ))       …(78) 
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ))    …(79) 
于是,根据式(77)的关系, 维向量 和 的内积成为下式。 
χi (ψ)·χj →*(ψ)=τ’·δ(i,j)    …(80) 
表示将循环群G1的 个元作为元素的 维的基向量。 可通过利用矩阵 并对基向量 进行坐标变换而得到。具体地说,基向量 可通过 
bi(ψ)=∑j=1 n(ψ)+ζ(ψ)χi,j(ψ)·aj(ψ)    …(81) 
的运算而得到。例如,在通过式(69)表现基向量 时,若将基向量 的各个元素分别列举表现,则成为如下。 
bi(ψ)=(χi,1(ψ)·κ1·g1,χi,2(ψ)·κ1·g1, 
         ...,χi,n(ψ)+ζ(ψ)(ψ)·κ1·g1)   …(82) 
以循环群G1的 个元作为元素的所有的 维向量,通过 维的基向量 的线性和表示。即, 维的基向量 扩展前述的向量空间 
表示循环群G2的 个元作为元素的 维的基向量。 可通过利用矩阵 并对基向量 进行坐标变换而得到。具体地说,基向量 可通过 
bi *(ψ)=∑j=1 n(ψ)+ζ(ψ)χi,j *(ψ)·aj *(ψ)    …(83) 
的运算而得到。例如,在通过式(69)表现基向量 时,若将基向量 的各个元素分别列举表现,则成为如下。 
bi *(ψ)=(χi,1 *(ψ)·κ2·g2,χi,2 *(ψ)·κ2·g2, 
         ...,χi,n(ψ)+ζ(ψ) *(ψ)·κ2·g2)    …(84) 
以循环群G2的 个元作为元素的所有的 维向量,通过 维的基向量 的线性和表示。即, 维的基向量 扩展前述的向量空间 
另外,基向量 和基向量 是指,关于除0F以外的有限域Fq的元τ=κ1·κ2,满足下式。 
eψ(bi(ψ),bj *(ψ))=gT τ·τ’·δ(i,j)        …(85) 
即,根据式(65)(80)(82)(84)的关系,满足下式。 
[数18] 
e &psi; ( b i ( &psi; ) , b j * ( &psi; ) ) = &Pi; &beta; = 1 n ( &psi; ) + &zeta; ( &psi; ) Pair ( &chi; i , &beta; ( &psi; ) &CenterDot; &kappa; 1 &CenterDot; g 1 , &chi; j , &beta; * ( &psi; ) &CenterDot; &kappa; 2 &CenterDot; g 2 )
= Pair ( g 1 , g 2 ) &kappa; 1 &CenterDot; &kappa; 2 &CenterDot; &chi; i &RightArrow; ( &psi; ) &CenterDot; &chi; j &RightArrow; * ( &psi; )
= Pair ( g 1 , g 2 ) &tau; &CenterDot; &tau; &prime; &CenterDot; &delta; ( i , j ) = g T &tau; &CenterDot; &tau; &prime; &CenterDot; &delta; ( i , j )
尤其,在τ=κ1·κ2=1F(例如,κ1=κ2=1F)以及τ’=1F时,满足下式。 
eψ(bi(ψ),bj *(ψ))=gT δ(i,j)    …(86) 
这时,基向量 和基向量 是对偶配对向量空间(向量空间 和向 量空间 )的对偶标准正交基。 
另外,只要是满足式(85)的关系,则也可以使用在式(68)(69)中例示的以外的基向量 和 在式(81)(83)中例示的以外的基向量 和 
表示以基向量 作为元素的 行 列的矩阵。满足 例如,在通过式(82)表现基向量 时,矩阵 成为如下。 
[数19] 
表示以基向量 作为元素的 行 列的矩阵。满足 例如,在通过式(84)表现基向量 时,矩阵 成为如下。 
[数20] 
v(λ):v(λ)表示以有限域Fq的元作为元素的(λ)维向量。 
v(λ)=(v1(λ),...,vn(λ)(λ))∈Fq n(λ)    …(89) 
vμ(λ):vμ(λ)表示n(λ)维向量v(λ)的第μ(μ=1,...,n(λ))个元素。 
w(λ):w(λ)表示以有限域Fq的元作为元素的n(λ)维向量。 
w(λ)=(w1(λ),...,wn(λ)(λ))∈Fq n(λ)    …(90) 
wμ(λ):wμ(λ)表示n(λ)维向量w(λ)的第μ(μ=1,...,n(λ))个元素。 
Enc:Enc是表示公共密钥密码方式的加密处理的公共密钥密码函数。 
Enck(M):Enck(M)表示使用公共密钥K,按照公共密钥密码函数Enc对 明文M进行加密而得到的密码文。 
Dec:Dec表示公共密钥密码方式的解密处理的公共密钥解密函数。 
Deck(C):Deck(C)表示使用公共密钥K,按照公共密钥解密函数Dec对密码文C进行解密而得到的解密结果。 
[函数密码方式] 
下面,说明第4~第6实施方式中的函数密码方式的基本结构。 
函数密码方式是在通过条件信息和属性信息的组合决定的逻辑式的真值为“真”时密码文被解密的方式。“条件信息”和“属性信息”的一个被嵌入密码文,另一个被嵌入密钥信息。例如,在““Predicate Encryption Supporting Disjunctions,Polynomial Equations,and Inner Products,”with Amit Sahai and Brent Waters One of 4 Papers form Eurocrypt 2008 invited to the Journal of Cryptology”(参考文献9)中公开的谓语密码方式为函数密码方式的一种。 
除此之外也存在各种公知的函数密码方式,但在以下说明未公开的新的函数密码方式。在以下说明的新的函数密码方式中,相应于秘密信息的值以相应于规定的逻辑式的方式分级地秘密分散。规定的逻辑式包含通过条件信息和属性信息的组合来决定真值的命题变量,并且根据需要还包括逻辑记号∧,∨, 中的一个或者全部。并且,当通过确定各个命题变量的真值而决定的该规定的逻辑式的真值成为“真”时,还原相应于秘密信息的值,并且基于此对密码文进行解密。 
<逻辑式和分级的秘密分散的关系> 
说明上述的规定的逻辑式和分级的秘密分散的关系。 
秘密分散是指将秘密信息分散为N(N≥2)个共享(share)信息,使得只有在得到阈值Kt(Kt≥1)个以上的共享信息时还原秘密信息。将满足Kt=N的秘密分散的方式(SSS:Secret Sharing Scheme)称为N-out-of-N分散方式(或者,“N-out-of-N阈值分散方式”),将满足Kt<N的秘密分散的方式称为Kt-out-of-N分散方式(或者,“Kt-out-of-N阈值分散方式”)(例如,参照参考文献11“黒沢馨、尾形わかは、“現代暗号の基礎数理(電子情報通信レクチヤ一シリ一ズ)”、コロナ社、2004年3月、p.116-119”、参考文献12“A.Shamir,“How to Share a Secret”,Communications of the ACM,November 1979,Volume22,Number 11,pp.612-613.”等)。 
N-out-of-N分散方式是若提供所有的共享信息share(1),...,share(N)则能够 还原秘密信息SE,但即使提供任意的N-1个共享信息share(φ1),...,share(φN-1)也全然无法得到秘密信息SE的方式。以下,表示其一例。 
·随机选择SH1,...,SHN-1。 
·进行SHN=SE-(SH1+...+SHN-1)的计算。 
·将SH1,...,SHN设为各个共享信息share(1),...,share(N)。 
·若提供所有的共享信息share(1),...,share(N),则可通过下式的还原处理来实现秘密信息SE的还原。 
SE=share(1)+...+share(N)    ...(91) 
Kt-out-of-N分散方式是若提供任意不同的Kt个共享信息share(φ1),...,share(φKt)则能够还原秘密信息SE,但即使提供任意的Kt-1个共享信息share(φ1),...,share(φKt-1)也全然无法得到秘密信息SE的方式。另外,下标Kt表示Kt。以下,表示Kt-out-of-N分散方式的一例。 
·随机选择满足f(0)=SE的Kt-1次多项式f(x)=ξ01·x+ξ2·x2+...+ξKt-1·xKt-1。即,设ξ0=SE,随机选择ξ1,...,ξKt-1。将共享信息设为share(ρ)=(ρ,f(ρ))(ρ=1,...,N)。另外,(ρ,f(ρ))是可分别提取ρ以及f(ρ)的值的信息,例如是ρ和f(ρ)的比特结合值。 
·在得到了任意不同的Kt个共享信息share(φ1),...,share(φKt时,例如使用拉格朗日(Lagrange)的插补公式,通过如下的还原处理能够实现秘密信息SE的还原。 
SE=f(0)=LA1·f(φ1)+...+LAKt·f(φKt)    …(92) 
[数21] 
LA &rho; ( x ) = ( x - &phi; 1 ) &CenterDot; &CenterDot; &CenterDot; v &rho; &CenterDot; &CenterDot; &CenterDot; ( x - &phi; K t ) ( &phi; &rho; - &phi; 1 ) &CenterDot; &CenterDot; &CenterDot; v &rho; &CenterDot; &CenterDot; &CenterDot; ( &phi; &rho; - &phi; K t ) &Element; F q &CenterDot; &CenterDot; &CenterDot; ( 93 )
另外, 表示从开头起第ρ个被运算符[分母的元素(φρρ)、分子的元素(x-φρ)]不存在。即,式(93)的分母如下 
ρ1)·...·(φρρ-1)·(φρρ+1)·...·(φρKt
式(93)的分子如下。 
(x-φ1)·...·(x-φρ-1)·(x-φρ+1)·...·(x-φKt
上述的各个秘密分散在域上也可执行。此外,还能够将这些扩张从而将相应于秘密信息SE的值秘密分散为相应于共享信息share的值。相应于秘密 信息SE的值是指秘密信息SE本身或秘密信息SE的函数值,相应于共享信息share的值是指共享信息share本身或共享信息的函数值。例如,还能够将相应于有限域Fq的元即秘密信息SE∈Fq的循环群GT的元gT SE∈GT秘密分散为相应于秘密信息SE的各个共享信息share(1),share(2)的循环群GT的元gT share(1),gT share(2)∈GT。此外,上述的秘密信息SE成为共享信息share的线性结合(式(91)(92))。将这样秘密信息SE成为共享信息share的线性结合的秘密分散方式称为线性秘密分散方式。 
上述的规定的逻辑式可通过将秘密信息分级地秘密分散而得到的树结构数据来表现。即,根据莫尔更(De Morgan)的规律,上述的规定的逻辑式可通过由直接量(literal)组成的逻辑式,或者,由逻辑记号∧,∨的至少一部分和直接量组成的逻辑式(将这些称为“标准形逻辑式”)来表现,该标准形逻辑式可通过将秘密信息分级地秘密分散而得到的树结构数据来表现。 
表现标准形逻辑式的树结构数据包含多个节点,至少一部分节点被设为一个以上的子节点的母节点,母节点的一个被设为根节点,子节点的至少一部分被设为叶节点。不存在根节点的母节点和叶节点的子节点。根节点中对应与秘密信息相应的值,各个母节点的子节点中对应与将对应于该母节点的值秘密分散后的共享信息相应的值。各个节点中的秘密分散形态(秘密分散方式和阈值)根据标准形逻辑式来决定。此外,各个叶节点中对应构成标准形逻辑式的各个直接量,该各个直接量由条件信息和属性信息的组合来决定。 
这里,设为可得到与真值成为真的直接量对应的叶节点所对应的相应于共享信息的值,但无法得到与真值成为假的直接量对应的叶节点所对应的相应于共享信息的值。此外,根据上述的秘密分散的性质,与母节点对应的相应于共享信息的值(若该母节点为根节点则为相应于秘密信息的值),只有在与其子节点对应的相应于共享信息的值得到了与该母节点对应的阈值以上的个数时被还原。因此,根据与哪个叶节点对应的直接量的真值成为真以及树结构数据的结构(包含各个节点中的秘密分散的形态),最终决定是否能够还原与根节点对应的相应于秘密信息的值。并且,当树结构数据构成为,只有在与各个叶节点对应的各个直接量的真值使标准形逻辑式的真值成为真的情况下能够最终还原与根节点对应的相应于秘密信息的值时,这样的树结构数据表现标准形逻辑式。这样的表现标准形逻辑式的树结构数据能够容易设定。以下,表示具体例。 
图32是例示用于表现包含命题变量PRO(1),PRO(2)、命题变量PRO(3)的逻辑非 以及逻辑记号∧,∨的标准形逻辑式 的树结构数据的图。图32中例示的树结构数据包含多个节点N1,...,N5。节点N1设为节点N2,N5的母节点,节点N2设为节点N3,N4的母节点,母节点的一个节点N1设为根节点,作为子节点的一部分的节点N3,N4,N5设为叶节点。节点N1中对应与秘密信息SE相应的值,在节点N1的子节点N2,N5中分别对应与相应于秘密信息SE的值以1-out-of-2分散方式秘密分散后的各个共享信息SE,SE相应的值。节点N2的子节点N3,N4中分别对应与相应于共享信息SE的值以2-out-of-2分散方式秘密分散后的各个共享信息SE-SH1,SH1相应的值。即,在叶节点N3中对应与共享信息share(1)=SH1相应的值,在叶节点N4中对应与共享信息share(2)=SE相应的值,在叶节点N5中对应与共享信息share(3)=SE相应的值。此外,在叶节点N3,N4,N5中分别对应构成标准形逻辑式 的各个直接量PRO(1)、PRO(2)、 该各个直接量PRO(1)、PRO(2)、 的真值通过条件信息和属性信息的组合来决定。这里,可得到与真值成为真的直接量对应的叶节点所对应的相应于共享信息的值,但无法得到与真值成为假的直接量对应的叶节点所对应的相应于共享信息的值。这时,只有在条件信息和属性信息的组合使标准形逻辑式 的真值成为真的情况下,还原与秘密信息SE相应的值。 
图33是例示用于表现包含命题变量PRO(1),PRO(2),PRO(3),PRO(6),PRO(7)、命题变量PRO(4),PRO(5)的逻辑非 以及逻辑记号∧,∨的标准形逻辑式  的树结构数据的图。 
图33中例示的树结构数据包含多个节点N1,...,N11。节点N1设为节点N2,N6,N7的母节点,节点N2设为节点N3,N4,N5的母节点,节点N7设为节点N8,N11的母节点,节点N8设为节点N9,N10的母节点,母节点的一个的节点N1设为根节点,节点N3,N4,N5,N6,N9,N10,N11设为叶节点。节点N1中对应与秘密信息SE相应的值,在节点N1的子节点N2,N6,N7中分别对应与相应于秘密信息SE的值以1-out-of-3分散方式秘密分散后的各个共享信息SE,SE,SE相应的值。节点N2的子节点N3,N4,N5中分别对应与相应于共享信息SE的值以2-out-of-3分散方式秘密分散后的各个共享信息(1,f(1)),(2,f(2)),(3,f(3))相应的 值。节点N7的子节点N8,N11中分别对应与相应于共享信息SE的值以2-out-of-2分散方式秘密分散后的各个共享信息SH4,SE-SH4相应的值。节点N8的子节点N9,N10中分别对应与相应于共享信息SH4的值以1-out-of-2分散方式秘密分散后的各个共享信息SH4,SH4相应的值。即,在叶节点N3中对应与共享信息share(1)=(1,f(1))相应的值,在叶节点N4中对应与共享信息share(2)=(2,f(2))相应的值,在叶节点N5中对应与共享信息share(3)=(3,f(3))相应的值,在叶节点N6中对应与共享信息share(4)=SE相应的值,在叶节点N9中对应与共享信息share(5)=SH4相应的值,在叶节点N10中对应与共享信息share(6)=SH4相应的值,在叶节点N11中对应与共享信息share(7)=SE-SH4相应的值。此外,在作为叶节点的节点N3,N4,N5,N6,N9,N10,N11中分别对应构成标准型逻辑式  的各个直接量PRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3), PRO(6),PRO(7),各个直接量PRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3), PRO(6),PRO(7)的真值根据条件信息和属性信息的组合来决定。这里,可得到与真值成为真的直接量对应的叶节点所对应的相应于共享信息的值,但无法得到与真值成为假的直接量对应的叶节点所对应的相应于共享信息的值。这时,只有在条件信息和属性信息的组合使标准形逻辑式  的真值成为真的情况下,还原与秘密信息SE相应的值。 
<访问结构> 
在如上所述那样通过将秘密信息分级地秘密分散而得到的树结构数据来表现了规定的逻辑式的情况下,根据相对于条件信息和属性信息的组合所得到的叶节点中的相应于共享信息的值是否能够还原相应于秘密信息的值,由此能够判定通过条件信息和属性信息的组合决定的逻辑式的真值成为“真”还是“假”。以下,将在通过条件信息和属性信息的组合决定的逻辑式的真值成为“真”的情况下接受条件信息和属性信息的组合,在成为“假”的情况下拒绝条件信息和属性信息的组合的构造称为访问结构。 
将如上所述那样表现了规定的逻辑式的树结构数据的叶节点的总数设为ψ,将与各个叶节点对应的识别符设为λ=1,...,ψ。将与各个叶节点对应的n(λ)维向量v(λ)的集合{v(λ)}λ=1,...,ψ设为条件信息,将n(λ)维向量w(λ)的集合 {w(λ)}λ=1,...,ψ设为属性信息。此外,将上述的树结构数据作为附带标签的矩阵LMT(MT,LAB)来加载。 
附带标签的矩阵LMT(MT,LAB)包含ψ行COL列(COL≥1)的矩阵 
[数22] 
和与矩阵MT的各行λ=1,...,ψ相关联的标签LAB(λ)。 
矩阵MT的各个元素mtλ,col(col=1,...,COL)满足以下的两个要件。第1,在如上所述那样表现了规定的逻辑式的树结构数据的根节点中对应与秘密信息SE∈Fq相应的值的情况下,对于将预先决定的有限域Fq的元作为元素的COL维向量 
GV=(gv1,...,gvCOL)∈Fq COL      …(95) 
和将相应于秘密信息SE的有限域Fq的元作为元素的COL维向量 
CV=(cv1,...,cvCOL)∈Fq COL    …(96) 
下式成立。 
SE=GV·(CV)T                 …(97) 
COL维向量GV的具体例为 
GV=(1F,...,1F)∈Fq COL        …(98) 
但也可以是GV=(1F,0F,...,0F)∈Fq COL等的其他的COL维向量。第2,在与识别符λ对应的叶节点中对应与共享信息share(λ)∈Fq相应的值的情况下,下式成立。 
(share(1),...,share(ψ))T=MT·(CV)T    …(99) 
若决定如上述那样表现了规定的逻辑式的树结构数据,则容易选择满足这两个要件的矩阵MT。此外,即使秘密信息SE或共享信息share(λ)为变量,也容易选择满足这两个要件的矩阵MT。即,也可以在决定了矩阵MT之后决定秘密信息SE或共享信息share(λ)的值。 
此外,与矩阵MT的各行λ=1,...,ψ相关联的标签LAB(λ)对应于与识别符λ对应的叶节点所对应的直接量(PRO(λ)或 )。这里,作为命题变量PRO(λ)的真值为“真”的情况与条件信息VSET2={λ,v(λ)|λ=1,...,ψ}包含的v(λ)和属性信息VSET1={λ,w(λ)|λ=1,...,ψ}包含的w(λ)的内积 v(λ)·w(λ)成为0的情况等价来进行处理,并作为命题变量PRO(λ)的真值为“假”的情况与内积v(λ)·w(λ)不成为0的情况等价来进行处理。并且,假设与PRO(λ)对应的标签LAB(λ)表示v(λ),与 对应的标签LAB(λ)表示 另外, 是表示v(λ)的逻辑非的逻辑式,根据 能够确定v(λ)。此外,将LAB(λ)表示v(λ)的情况记为“LAB(λ)=v(λ)”,将LAB(λ)表示 的情况记为 此外,将LAB(λ)(λ=1,...,ψ)的集合{LAB(λ)}λ=1,...,ψ记为LAB。 
进而,定义ψ维向量。 
TFV=(tfv(1),...,tfv(ψ))    …(100) 
元素tfv(λ)在内积v(λ)·w(λ)为0时成为tfv(λ)=1,在0以外时成为tfv(λ)=0。 
tfv(λ)=1  (PRO(λ)为真)  如果v(λ)·w(λ)=0    ...(101) 
tfv(λ)=0  (PRO(λ)为假)  如果v(λ)·w(λ)≠0    ...(102) 
进而,当逻辑式 
的真值成为“真”时记为LIT(λ)=1,成为“假”时记为LIT(λ)=0。即,当与识别符λ对应的叶节点所对应的直接量的真值为“真”时记为LIT(λ)=1,成为“假”时记为LIT(λ)=0。于是,仅由矩阵MT包含的行向量中成为LIT(λ)=1的行向量mtλ =(mtλ,1,...,mtλ,COL)组成的部分矩阵MTTFV能够如下标记。 
MTTFV=(MT)LIT(λ)=1    ...(104) 
当上述的秘密分散方式为线性秘密分散方式时,能够根据与识别符λ对应的相应于共享信息share(λ)的值来还原相应于秘密信息SE的值的情况等价于,COL维向量GV属于由与识别符λ对应的向量mtλ 所展开的向量空间。即,通过判定COL维向量GV是否属于由与识别符λ对应的向量mtλ 所展开的向量空间,从而能够判定是否可根据与识别符λ对应的相应于共享信息share(λ)的值来还原相应于秘密信息SE的值。另外,由行向量mtλ 所展开的向量空间意味着能够用行向量mtλ 的线性结合表示的向量空间。 
这里,在COL维向量GV属于由上述的部分行矩阵MTTFV的各个行向量mtλ 所展开的向量空间span<MTTFV>时接受条件信息和属性信息的组合,否则拒绝条件信息和属性信息的组合。由此,上述的访问结构被具体化。另外,在如上所述那样附带标签的矩阵LMT(MT,LAB)对应于条件信息的情况下,将访问结构接受条件信息和属性信息的组合的情况称为“访问结构接受 属性信息”,将访问结构不接受条件信息和属性信息的组合的情况称为“访问结构拒绝属性信息”。 
接受  if GV∈span<MTTFV
拒绝 
此外,在GV∈span<MTTFV>时,存在满足 
SE=∑μ∈SETConst(μ)·share(μ)    …(105) 
{const(μ)∈Fq|μ∈SET}, SET &SubsetEqual; { 1 , . . . , &lambda; | LIT ( &lambda; ) = 1 }
的系数const(μ),这样的系数const(μ)能够通过矩阵MT的大小的多项式时间来求得。 
<使用了访问结构的函数密码方式的基本结构> 
以下,例示通过使用了访问结构的函数密码方式来构成密钥封装结构KEM(Key Encapsulation Mechanisms)时的基本结构。该结构包含Setup(1sec,(ψ;n(1),...,n(ψ)))、GenKey(PK,MSK,LMT(MT,LAB))、Enc(PK,M,{λ,v(λ)|λ=1,...,ψ})(v1(λ)=1F)、Dec(PK,SKS,C)。此外,属性信息VSET1={λ,w(λ)|λ=1,...,ψ}的第1个元素w1(λ)被设为1F。 
[Setup(1sec,(ψ;n(1),...,n(ψ))):设置] 
-输入:1sec、(ψ;n(1),...,n(ψ)) 
-输出:主秘密信息MSK、公开参数PK 
Setup中关于各个 执行以下的处理。 
(Setup-1)以1sec为输入生成安全参数sec下的位数q、椭圆曲线E、循环群G1,G2,GT、双线性映射 
(Setup-2)选择τ’∈Fq,选择满足 的矩阵 
(Setup-3)基向量 按照式(81)进行坐标变换,生成 维的基向量 生成以基向量 作为元素的 行 列的矩阵 
(Setup-4)基向量 按照式(83)进行坐标变换,生成 维的基向量 生成以基向量 作为元素的 行 列的矩阵 
(Setup-5)将 的集合 设为主秘密信息 此外,将 的集合 和1sec和param设为公开参数PK。其中, 是矩阵 或者其部分矩阵, 是矩阵 或者其部分矩阵。此外,集合 至少包含b1 *(0),b1 *(λ)...,bn(λ) *(λ)(λ=1,...,ψ)。此外,集合 至少包含b1(0),b1(λ)...,bn(λ)(λ)(λ=1,...,ψ)。以下,表示一例。 
·n(0)+ζ(0)≥5,ζ(λ)=3·n(λ) 
·B(0)^=(b1(0)b3(0)b5(0))T
·B(λ)^=(b1(λ)…bn(λ)(λ)b3·n(λ)+1(λ)…b4·n(λ)(λ))T
(λ=1,...,ψ) 
·B*(0)^=(b1 *(0) b3 *(0) b4 *(0))T
·B*(λ)^=(b1 *(λ)… bn(λ) *(λ)b2·n(λ)+1 *(λ)…b3·n(λ) *(λ))T
(λ=1,...,ψ) 
[GenKey(PK,MSK,LMT(MT,LAB)):密钥信息生成] 
-输入:公开参数PK、主秘密信息MSK、对应于条件信息VSET2={λ,v(λ)|λ=1,...,ψ}的附带标签的矩阵LMT(MT,LAB) 
-输出:密钥信息SKS 
(GenKey-1)对于满足式(95)-(99)的秘密信息SE执行以下的处理。 
D*(0)=-SE·b1 *(0)+∑ι=2 Icoefι(0)·bι *(0)    …(106) 
其中,I是2以上且n(0)+ζ(0)以下的常数。coefι(0)∈Fq是常数或者随机数。“随机数”表示本性随机数或伪随机数。以下表示D*(0)的一例。另外,式(107)的coef4(0)为随机数。 
D*(0)=-SE·b1 *(0)+b3 *(0)+coef4(0)·b4 *(0)    …(107) 
(GenKey-2)对于满足式(95)-(99)的share(λ)(λ=1,...,ψ)执行以下的处理。 
对于成为LAB(λ)=v(λ)的λ,生成 
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1 *(λ) 
        +∑ι=2 n(λ)coef(λ)·vι(λ)·bι *(λ) 
        +∑ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι *(λ)    …(108) 
对于成为 的λ,生成 
D*(λ)=share(λ)·∑ι=1 n(λ)vι(λ)· bι *(λ) 
        +∑ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι *(λ)    …(109) 
其中coef(λ),coefι(λ)∈Fq是常数或者随机数。以下表示一例。 
对于成为LAB(λ)=v(λ)的λ,生成 
D*(λ)=(share(λ)+coef(λ)· v1(λ))·b1 *(λ) 
        +∑ι=2 n(λ)coef(λ)·vι(λ)·bι *(λ) 
        +∑ι=2·n(λ)+1 3·n(λ)coefι(λ)·bι *(λ)    …(110) 
对于成为 的λ,生成 
D*(λ)=share(λ)·∑ι=1 n(λ)vι(λ)· bι *(λ) 
        +∑ι=2·n(λ)+1 3·n(λ)coefι(λ)·bι *(λ)     …(111) 
另外,式(110)(111)的coef(λ)以及coefι(λ)是随机数。 
(GenKey-3)生成密钥信息。 
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(ψ))             …(112) 
[Enc(PK,M,VSET1):加密] 
-输入:公开参数PK、明文M、属性信息VSET1={λ,w(λ)|λ=1,...,ψ}(w1(λ)=1F
-输出:密码文C 
(Enc-1)通过以下的处理来生成公共密钥K的密码文 
C(0)=υ· b1(0)+∑ι=2 1υι(0)·bι(0)    …(113) 
C(λ)=υ·∑ι=1 n(λ)wι(λ)·bι(λ)+∑ι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ)…(114) 
其中, 是常数或者随机数,且满足下式。 
(coef2(0),...,coef1(0))·(υ2(0),...,υ1(0))=υ’    …(115) 
coefι(λ)·υι(λ)=0F(ι=n(λ)+1,...,n(λ)+ζ(λ))  …(116) 
υ’例子是υ2(0),...,υ1(0)中的一个。例如,υ,υ3(0),υ5(0),υ3·n(λ)+1(λ),...,υ4·n(λ)(λ)为随机数,ζ(λ)=3·n(λ)、I=5,且满足下式。 
2(0),...,υ1(0))=(0F,υ3(0),0F,υ5(0)) 
υ’=υ3(0) 
n(λ)+1(λ),...,υ3·n(λ)(λ))=(0F,...,0F
(Enc-2)生成公共密钥。 
K=gT τ·τ·υ’∈GT                      …(117) 
例如,在τ=τ’=1F时,满足下式。 
K=gT υ’∈GT                    …(118) 
(Enc-3)使用公共密钥K来生成明文M的密码文。 
C(ψ+1)=EncK(M)    …(119) 
另外,公共密钥密码方式Enc例如可以是使用公共密钥K而可加密地构成的Camellia(注册商标)或AES或公共密钥和明文的“异或”等,但作为其他的简单例子,也可以如下生成EncK(M)。其中,在式(120)的例子中设为M∈GT。 
C(ψ+1)=gT υ′·M    …(120) 
(Enc-4)生成密码文。 
C=(VSET1,C(0),{C(λ)}(λ,w(λ)→)∈VSET1,C(ψ+1))    …(121) 
其中,下标的“w(λ)→”表示“w(λ)”。 
[Dec(PK,SKS,C):解密] 
-输入:公开参数PK、密钥信息SKS、密码文C 
-输出:明文M’ 
(Dec-1)对于λ=1,...,ψ,判定作为密钥信息SKS包含的附带标签的矩阵LMT(MT,LAB)的各个标签LAB(λ)的n(λ)维向量v(λ)和密码文C的VSET1包含的n(λ)维向量w(λ)的内积v(λ)·w(λ)是否成为0,并通过该判断和LMT(MT,LAB)的各个标签LAB(λ)来判定是否为GV∈span<MTTFV>(式(100)-(105))。若不是GV∈span<MTTFV>则拒绝密码文C,若是GV∈span<MTTFV>则接受密码文C。 
(Dec-2)若接受密码文C,则计算 和满足式(105)的系数const(μ)(μ∈SET)。 
(Dec-3)生成公共密钥。 
[数23] 
这里,根据式(66)(85)(115),满足下式。 
[数24] 
e 0 ( C ( 0 ) , D * ( 0 ) )
= e 0 ( &upsi; &CenterDot; b 1 ( 0 ) + &Sigma; &iota; = 2 I &upsi; &iota; ( 0 ) &CenterDot; b &iota; ( 0 ) , - SE &CenterDot; b 1 * ( 0 ) + &Sigma; &iota; = 2 I coef &iota; ( 0 ) &CenterDot; b &iota; * ( 0 ) )
= e 0 ( &upsi; &CenterDot; b 1 ( 0 ) , - SE &CenterDot; b 1 * ( 0 ) ) &CenterDot; &Pi; &iota; = 2 I e 0 ( &upsi; &iota; ( 0 ) &CenterDot; b &iota; ( 0 ) , coef &iota; ( 0 ) &CenterDot; b &iota; * ( 0 ) ) )
= e 0 ( b 1 ( 0 ) , b 1 * ( 0 ) ) - SE &CenterDot; &upsi; &CenterDot; &Pi; &iota; = 2 I e 0 ( b &iota; ( 0 ) , b &iota; * ( 0 ) ) &upsi; &iota; ( 0 ) &CenterDot; coef &iota; ( 0 ) )
= g T &tau; &CenterDot; &tau; &prime; &CenterDot; &delta; ( 1,1 ) &CenterDot; ( - SE &CenterDot; &upsi; ) &CenterDot; &Pi; &iota; = 2 I g T &tau; &CenterDot; &tau; &prime; &CenterDot; &delta; ( &iota; , &iota; ) &CenterDot; &upsi; &iota; ( 0 ) &CenterDot; coef &iota; ( 0 )
= g T &tau; &CenterDot; &tau; &prime; &CenterDot; ( - SE &CenterDot; &upsi; + &upsi; &prime; ) &CenterDot; &CenterDot; &CenterDot; ( 123 )
此外,根据式(66)(85)(101)(108)(114)(116)以及w1(λ)=1F,满足下式。 
[数25] 
此外,根据式(66)(85)(102)(109)(114)(116),满足下式。 
[数26] 
因此,根据式(105)(123)-(125),满足下式。 
[数27] 
例如,在τ=τ’=1F时,满足下式。 
K=gT υ’∈GT         …(127) 
(Dec-4)使用公共密钥K来生成明文。 
M’=Deck(C(ψ+1))    ...(128) 
例如,在式(120)例示的公共密钥密码方式的情况下,通过下式来生成明文M’。 
M’=C(ψ+1)/K        …(129) 
[(Dec-1)的处理的具体例] 
以下说明(Dec-1)的处理的具体例。另外,以下为了简化说明,例示使用式(98)的COL维向量GV的情况。但是,这并非是要限定本发明,也可以在使用如式(96)那样一般化了的COL维向量GV的情况下扩展应用以下的处理。 
如图34例示的那样,首先解密部使用与附带标签的矩阵LMT(MT,LAB)对应的条件信息VSET2={λ,v(λ)|λ=1,...,ψ}、密码文C1’包含的属性信息VSET1’={λ,w(λ)|λ=1,...,ψ}、以及LMT(MT,LAB)的各个标签LAB(λ),生成式(101)-(104)所示的部分矩阵MTTFV。这里,如下表现MTTFV。 
[数28] 
其中,式(130)的MTTFV是ω行COL列的矩阵,ω是1以上的整数,ROW(1),...,ROW(ω)分别是LIT(ROW(1))=1,...,LIT(ROW(ω))=1的矩阵MT(式(94))的行号码 ROW ( 1 ) , . . . , ROW ( &omega; ) &Subset; { 1 , . . . , &psi; } (步骤S401)。 
接着,解密部进行MTTFV的每个行向量mtλ’ =(mtλ’,1,...,mtλ’,COL)(λ’=ROW(1),...,ROW(ω))的运算和MTTFV的行向量mtλ’ 之间的运算,从而将以对角分量作为乘法单位元1F的Ω×Ω的上三角矩阵设为从1行1列到Ω行Ω列的部分矩阵,当存在Ω+1行以后的行向量mtλ’ 时,生成将Ω+1行以后的行向量mtλ’ 的全部元素作为加法单位元0F的上三角矩阵MTTFV’。其中,Ω为1以上且部分矩阵MTTFV的行数以及列数以下的整数。MTTFV’例如成为如下。 
[数29] 
其中,也有可能不存在Ω+1行以后的各个元素,并且,也有可能不存在Ω+1列以后的各个元素。 
这样的上三角矩阵MTTFV’例如能够通过使用高斯的消除法而生成。即,例如,首先将用mt1,1除部分矩阵MTTFV的第1行的行向量mt1 =(mt1,1,...,mt1,COL)后的结果设为MTTFV’的第1行的行向量。接着,将用mt2,2”除从部分矩阵MTTFV的第2行的行向量mt2 =(mt2,1,...,mt2,COL)减去 MTTFV’的第  1行的行向量的mt2,1倍的行向量所得的行向量(0F,mt2,2”,...,mt2,COL”)所得到的结果设为MTTFV’的第2行的行向量。同样地,使用已经生成的MTTFV’的各个行向量来加工行号更大的行向量,由此能够生成上三角矩阵MTTFV’。另外,用于生成上三角矩阵MTTFV’的运算是行向量单位的运算和行向量之间的运算,不允许对同一行向量的不同元素进行不同的运算。此外,在用于进行除法运算的除数成为加法单位元0F的情况下,重新选择加工对象的行向量。此外,当部分矩阵MTTFV包含互相非线性独立的多个行向量(即,一次从属的行向量)的情况下,代表这样的行向量的一个行向量成为包含Ω×Ω的上三角矩阵的元素的行向量,其他的行向量成为只将加法单位元0F作为元素的行向量(步骤S402)。 
接着,解密部设定为λ’=2(步骤S403)。解密部将 
(mt1,1’...mt1,COL’)-(mt1,λ’-1F)·(mtλ’,1’...mtλ’,COL’)…(132) 
作为新的(mt1,1’,...,mt1,COL’),更新上三角矩阵MTTFV’的第1行的行向量(mt1,1’...,mt1,COL’)。另外,(mtλ’,1’,...,mtλ’,COL’)表示上三角矩阵MTTFV’的第λ’行的行向量。解密部判定是否为λ’=Ω(步骤S405),若不是λ’=Ω则将λ’+1设为新的λ’(步骤S406),并返回到步骤S404的处理。另一方面,若是λ’=Ω则解密部判定是否满足 
(mt1,1’...mt1,COL’)=(1F,...,1F)    …(133) 
(步骤S407),若满足则设为能够进行K’的解密(步骤S408),若不满足则设为不能进行K’的解密(步骤S409)。 
另外,将用于生成步骤S402的上三角矩阵MTTFV’的所有的运算内容和步骤S404中的所有的运算内容存储到存储部,并且能够将通过对以部分矩阵MTTFV的各个元素作为不定元的矩阵实施这些运算而得到的第1行的元素的系数设为满足式(105)的系数const(ind)。即,能够将通过对以部分矩阵MTTFV的各个元素作为不定元的矩阵实施这些运算而得到的、将与矩阵MT的第ind行的行向量对应的部分矩阵MTTFV的行向量所对应的不定元作为元素的第1行的行向量的系数,设为系数const(ind)(参照式(97)(99)的关系)。 
[变形例] 
另外,也可以取代将gT作为GT的生成元,而将gT τ或gT τ’或gT τ·τ’作为GT的生成元来处理。此外,也可以使用用于确定密钥信息SKS的λ和密码文的λ的确定对应关系的映射来确定C(λ)和D*(λ)的组合,并执行[Dec(PK,SKS,C): 解密]的处理。此外,不仅是属性信息VSET1={λ,w(λ)|λ=1,...,ψ}的第1个元素w1(λ)被设为1F,也可以是条件信息VSET2={λ,v(λ)|λ=1,...,ψ}的第n(λ)个元素vn(λ)(λ)被设为1F。此外,在元素w1(λ)不是1F时可以代替w(λ)而使用w(λ)/w1(λ),当元素vn(λ)(λ)不是1F时可以代替v(λ)而使用v(λ)/vn(λ)(λ)。 
此外,将如上所述那样属性信息VSET1对应于密码文,条件信息VSET2对应于密钥信息的方式称为密钥策略(KP)方式。相对于此,也可以使用属性信息VSET1对应于密钥信息,条件信息VSET2对应于密码文的密码文(cipher txet)(CP)方式。即,可以代替条件信息VSET2={λ,v(λ)|λ=1,...,ψ}而使用属性信息VSET1={λ,w(λ)|λ=1,...,ψ},代替属性信息VSET1={λ,w(λ)|λ=1,...,ψ}而使用条件信息VSET2={λ,v(λ)|λ=1,...,ψ}。 
在CP方式的情况下条件信息VSET2={λ,v(λ)|λ=1,...,ψ}的第1个元素v1(λ)被设为1F,与PRO(λ)对应的标签LAB(λ)表示w(λ),与 对应的标签LAB(λ)表示 此外,在CP方式的情况下,代替式(108)(109), 
对成为LAB(λ)=w(λ)的λ,生成 
D*(λ)=(share(λ)+coef(λ)·w1(λ))· b1 *(λ) 
        +∑ι=2 n(λ)coef(λ)·wι(λ)·bι *(λ) 
        +∑ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)· bι *(λ)    …(134) 
对成为 的λ,生成 
D*(λ)=share(λ)·∑ι=1 n(λ)wι(λ)·bι *(λ) 
        +∑ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι *(λ)     …(135) 
此外,在CP方式的情况下,代替式(114),生成 
C(λ)=υ·∑ι=1 n(λ)vι(λ)· bι(λ)+∑ι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ) 
                                                           …(136) 
代替式(121),生成 
C=(VSET2,C(0),{C(λ)}(λ,ν(λ)→)∈VSET2,C(ψ+1))    …(137) 
其中,下标的“v(λ)→”表示“v(λ)”。 
[第4~第6实施方式的原理] 
下面,说明第4~第6实施方式的原理。 
在第4~第6实施方式中使用利用了前述的访问结构的函数密码方式。第4~第6实施方式的函数密码应用系统包括发送者装置(信息输出装置)和接 收者装置(信息处理装置),执行应用了在与属性信息VSET1(第1对应信息)和条件信息VSET2(第2对应信息)的组合对应的逻辑式的真值为真的情况下密码文被正确解密的函数密码方式的协议(按照函数密码方式的协议)。 
首先,对发送者装置的识别符确定部输入用于确定应用了要执行的函数密码方式的一种以上的协议的确定信息。识别符确定部按照对通过该确定信息所确定的每个协议或者该协议的组合的每一个决定的规则,对每个该协议或者该协议的组合的每一个确定识别符,并输出所确定的一种以上的该识别符。第4~第6实施方式中的识别符为向量。 
另外,在应用了函数密码方式的协议中,分别决定了应在其中使用的属性信息VSET1的类别(换言之,属性信息VSET1的性质)。该规则确定识别符,该识别符决定应在通过确定信息所确定的每个协议或者该协议的组合中使用的类别的属性信息VSET1。例如,在该协议为定时释放密码协议时的该规则是,将用于确定在第1信息的生成时刻以后的时刻的信息作为识别符的规则,在该协议为前向安全密码协议或者密钥隔离密码协议时的该规则分别是,将用于确定包含第1信息的生成时刻的时间区间或者在第1信息的生成时刻以后的时间区间的信息作为识别符的规则,在该协议为CCA2安全密码协议时的该规则是,将用于确定在每次生成第1信息时所新设定的一次性信息的信息作为识别符的规则,在该协议为关键字检索密码协议时的规则是,将用于确定数据库的检索用关键字的信息作为识别符的规则。 
通过识别符确定部确定的1种以上的识别符被输入到发送者装置的属性信息设定部。属性信息设定部设定对一种的该识别符或者两种以上的该识别符的组合决定的一个属性信息VSET1(特定的第1对应信息),并输出设定的该属性信息VSET1。并且,发送者装置的输出部输出与从属性信息设定部输出的属性信息VSET1对应的函数密码方式的密码文或者密钥信息即第1信息。 
接收者装置的解密部中被输入第1信息和从存储部读出的第2信息。另外,第2信息是函数密码方式的密钥信息或者密码文,当第1信息是对应于属性信息VSET1的密码文时,第2信息是对应于条件信息VSET2(特定的第2对应信息)的密钥信息,当第1信息是对应于属性信息VSET1的密钥信息时,第2信息是对应于条件信息VSET2(特定的第2对应信息)的密码文。 
如前述那样,属性信息VSET1(第1对应信息)包含一个或者多个向量w(λ)(第1部分对应信息),条件信息VSET2(第2对应信息)包含一个或者多个向量v(λ)(第2部分对应信息)。在向量w(λ)和向量v(λ)被输入到用于计算它们的内积的函数(预先决定的函数)时,根据向量w(λ)的值以及向量v(λ)的值的组合,它们的内积成为0(预先决定的值)或者成为0以外的值。对向量w(λ)和向量v(λ)的每个组合,决定将它们的内积成为0(预先决定的值)的情况设为向量w(λ)以及向量v(λ)的组合为真,或者,将它们的内积不成为0的情况设为向量w(λ)以及向量v(λ)的组合为真(式(101)(102))。 
接收者装置的解密部将该第1信息和该第2信息输入到函数密码方式的解密函数从而执行解密处理,并输出由此得到的解密结果。如前述那样,使用了访问结构的函数密码方式的解密函数是,当成为真的向量w(λ)以及向量v(λ)的组合的集合满足了预先决定的条件时,生成正确的解密结果的函数。详细地说,对向量w(λ)分别关联或者对向量v(λ)分别关联了向量(mtλ,1,...,mtλ,COL)(附带标签的矩阵LMT(MT,LAB),参照式(34))。即,KP方式的情况下,向量v(λ)关联向量(mtλ,1,...,mtλ,COL)(LIT(λ)=1),在CP方式的情况下,向量w(λ)关联向量(mtλ,1,...,mtλ,COL)(LIT(λ)=1)。如前述那样,使用了访问结构的函数密码方式的解密函数是,在由成为真的向量w(λ)以及向量v(λ)的组合分别包含的、向量w(λ)或者向量v(λ)所关联的向量(mtλ,1,...,mtλ,COL)(LIT(λ)=1)扩展的向量空间内存在特定的向量GV时(GV∈span<MTTFV>)时,生成正确的解密结果。如前述那样,在由向量(mtλ,1,...,mtλ,COL)(LIT(λ)=1)扩展的向量空间内存在特定的向量GV的情况等价于与对应于第1信息的属性信息VSET1和对应于第2信息的条件信息VSET2的组合对应的逻辑式的真值成为真。即,在该函数密码方式中,当与属性信息VSET1和条件信息VSET2的组合对应的逻辑式的真值为真的情况下密码文被正确解密。 
此外,属性信息VSET1是对一种识别符或者两种以上的该识别符的组合决定的信息,当条件信息VSET2和任一个属性信息VSET1被输入到解密函数的情况下,取对于属性信息VSET1取的多个种类的值可分别得到正确的解密结果的值。即,在第4~第6实施方式中,对一种以上的第1信息共享相同的第2信息,能够进行正确的解密。因此,即使在发送者装置选择一种识别 符或者两种以上的该识别符的组合,并根据选择的识别符来切换协议从而生成第1信息的情况下,接收者装置也不需要对被切换的每个协议单独生成第2信息。即,即使接收者装置的存储部中仅存储了与一种条件信息VSET2对应的一种第2信息,接收者装置也能够应对对于所选择的一种以上的协议或者协议的组合的第1信息。其结果,在本方式中,不需要烦杂的处理,且能够根据所选择的识别符来切换协议。 
此外,在识别符确定部中输入了用于确定两种以上的协议的确定信息时,还能够构成两种以上的协议的组合、即兼具了两种以上的协议的特征的新协议。 
此外,在第4~第6实施方式中,使用函数密码方式,因此协议的组合方法的自由度高。即,在第4~第5实施方式中,当对应于第1信息的属性信息VSET1和对应于第2信息的条件信息VSET2的组合使逻辑式的真值成为值的情况下,生成正确的解密结果。两种以上的协议的组合对应于识别符的组合,该识别符的组合对应于属性信息VSET1,但只要是该逻辑式的真值成为真,则该识别符的组合方法不受限制。 
相对于此,在使用了应用基于ID的密码方式的分级型基于ID的密码方式(例如,参考文献10“C.Gentry,A.Silverberg,“Hierarchical ID-based cryptography,”Proceedings of ASIACRYPT 2002,Lecture Notes in Computer Science,Springer-Verlag,2002.”等)的情况下,协议的组合方法受限。即,在分级型基于ID的密码方式中,与多个协议分别对应的多个识别符的组合方法受限。即,在分级型基于ID的密码方式中,通过多个识别符的组合而生成的新的识别符需要构成树结构,新的识别符必须包含它的母识别符。例如,在将识别符ID1和识别符ID2的组合ID1|ID2设为新的识别符的情况下,此后,例如可以将识别符ID1和识别符ID2和识别符ID3的组合设为新的识别符ID1|ID2|ID3,但无法将识别符ID1和识别符ID3的组合设为新的识别符ID1|ID3。 
此外,也可以是发送者装置还具有第1切换部,该第1切换部根据由确定信息所确定的协议,切换是将属性信息VSET1与函数密码方式的加密函数相对应,还是将属性信息VSET1与函数密码方式的密钥生成函数相对应,接收者装置还具有第2切换部,该第2切换部根据由确定信息所确定的协议,切换是将条件信息VSET2与函数密码方式的密钥生成函数相对应,还是将条 件信息VSET2与函数密码方式的加密函数相对应。由此,协议的选择幅度变宽。 
此外,也可以将属性信息VSET1以及条件信息VSET2的一部分区域设为尚未决定用途的预备区域。例如,属性信息VSET1包含的至少一部分向量w(λ)(第1部分对应信息)的值被预先固定,条件信息VSET2(第2对应信息)包含的至少一部分向量v(λ)(第2部分对应信息)的值被预先固定,可以将这些值被固定的向量设为预备区域。例如,作为值被预先固定的向量w(λ)的第1部分对应信息和作为值被预先固定的向量v(λ)的第2部分对应信息的内积可以被设定为0(零元素),而与一种识别符或者多种识别符的组合无关。由此,即使在以后需要增加可选择的协议,或者增加构成逻辑式的命题变量或逻辑记号的情况下,只要将这些增加部分分配给预备区域,则能够进行这些增加而不用变更系统的设定。 
此外,在将作为预备区域的向量w(λ)(第1部分对应信息)设为其所有元素为零元素的向量(零向量)的情况下,与包含该预备区域的属性信息VSET1对应的第1信息,相对于在该预备区域中输入了任一值而更新后的第1信息具有向上兼容性。即,即使对属性信息VSET1或条件信息VSET2的预备区域提供某些值而更新了属性信息VSET1或条件信息VSET2,只要在更新前进行了正确的解密,则通过对应于更新前的属性信息VSET1的第1信息和对应于更新后的条件信息VSET2的第2信息,进行正确的解密。这是因为与更新后的条件信息VSET2的预备区域中所输入的值无关地,属性信息VSET1以及条件信息VSET2的预备区域之间的内积成为0。根据同样的理由,在将作为预备区域的向量v(λ)(第2部分对应信息)设为其所有元素为零元素的向量(零向量)的情况下,与包含该预备区域的条件信息VSET2对应的第2信息,相对于在该预备区域中输入了任一值而更新后的第2信息具有向上兼容性。 
将作为属性信息VSET1的预备区域的向量w(λ)设为零向量,并且,将作为条件信息VSET2的预备区域的向量v(λ)设为包含零元素以外的元素的向量的情况下,与包含该预备区域的属性信息VSET1对应的第1信息,相对于在该预备区域中输入了任一值的更新后的第1信息具有向上兼容性,但与包含该预备区域的条件信息VSET2对应的第2信息,相对于在该预备区域中输入了任一值的更新后的第2信息不具有向上兼容性。相反,将作为条件信 息VSET2的预备区域的向量v(λ)设为零向量,并且,将作为属性信息VSET1的预备区域的向量w(λ)设为包含零元素以外的元素的向量的情况下,与包含该预备区域的条件信息VSET2对应的第2信息,相对于在该预备区域中输入了任一值的更新后的第2信息具有向上兼容性,但与包含该预备区域的属性信息VSET1对应的第1信息,相对于在该预备区域中输入了任一值的更新后的第1信息不具有向上兼容性。这样,能够根据如何设定预备区域的值来改变更新前后的向上兼容性。 
[第4实施方式] 
下面,说明本发明的第4实施方式。第4实施方式是第1信息为与属性信息VSET1对应的密码文,第2信息为与条件信息VSET2对应的密钥信息,发送者装置进行加密,接收者装置进行解密的方式。这样的方式例如在应用了函数密码方式的协议为定时释放密码协议、前向安全密码协议、密钥隔离密码协议或者CCA2安全密码协议、或者其组合的情况下等可适用。此外,在本方式中使用KP方式。 
<结构> 
图35是用于说明第4实施方式的函数密码应用系统4的整体结构的方框图。如图35所示,本方式的函数密码应用系统4具有连接到网络140的发送者装置410(信息输出装置)、接收者装置420(信息处理装置)以及密钥生成装置430。另外,为了便于说明,图35中各标记了一个发送者装置410、接收者装置420和密钥生成装置430,但也可以存在两个以上的发送者装置410或接收者装置420或密钥生成装置430。 
[发送者装置410(信息输出装置)] 
图36是用于说明图35的发送者装置410的结构的方框图。 
如图36所示,本方式的发送者装置410具有临时存储器111a、存储部111c、输入部112、控制部113、识别符确定部414a、属性信息设定部414b(对应信息设定部)、加密部414c、通信部115。 
发送者装置410例如是通过在具备CPU(中央处理单元)、RAM(随机存取存储器)、ROM(只读存储器)等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。即,控制部113、识别符确定部414a、属性信息设定部414b以及加密部414c例如是通过CPU执行规定的程序而构成的处理部。此外,发送者装置410的处理部的至少一部分也可以是集成电 路。此外,临时存储器111a、存储部111c例如是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。此外,输入部112例如是键盘、鼠标、输入端口等,通信部115例如是调制解调器、LAN卡等的通信装置。 
此外,发送者装置410在控制部113的控制下执行各个处理。此外,在以下省略说明,从发送者装置410的各个处理部输出的数据或由通信部115接收的数据逐一存储到临时存储器111a。临时存储器111a中存储的数据根据需要而读出,并输入到发送者装置410的各个处理部后用于其处理。 
[接收者装置420(信息处理装置)] 
图37是用于说明图35的接收者装置420的结构的方框图。 
如图37所示,本方式的接收者装置420具有临时存储器121a、存储部421b、控制部123、识别符确定部424a、条件信息生成部424c、密钥生成处理部424d、解密部424e、通信部125。另外,为了便于附图标记,图37中标出了两个表示通信部125的块,但这并不表示需要两个单独的通信部125。 
接收者装置420例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。即,控制部123、识别符确定部424a、条件信息生成部424c、密钥生成处理部424d以及解密部424e例如是通过CPU执行规定的程序而构成的处理部。此外,接收者装置420的处理部的至少一部分也可以是集成电路。此外,临时存储器121a和存储部421b例如是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。此外,通信部115例如是调制解调器、LAN卡等的通信装置。 
此外,接收者装置420在控制部123的控制下执行各个处理。此外,在以下省略说明,从接收者装置420的各个处理部输出的数据或由通信部125接收的数据逐一存储到临时存储器121a。临时存储器121a中存储的数据根据需要而读出,并输入到接收者装置420的各个处理部后用于其处理。 
[密钥生成装置430] 
图38是用于说明图35的密钥生成装置430的结构的方框图。 
如图38所示,本方式的密钥生成装置430具有临时存储器131a、存储部431b、控制部133、密钥生成部434、通信部135。 
密钥生成装置430例如是通过在具备CPU、RAM、ROM等的公知或者 专用的计算机中读取特别的程序后执行而构成的特别的装置。即,控制部133以及密钥生成部434例如是通过CPU执行规定的程序而构成的处理部。此外,密钥生成装置430的处理部的至少一部分也可以是集成电路。此外,临时存储器131a和存储部431b例如是RAM、寄存器、缓冲存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。此外,通信部135例如是调制解调器、LAN卡等的通信装置。 
此外,密钥生成装置430在控制部133的控制下执行各个处理。此外,在以下省略说明,从密钥生成装置430的各个处理部输出的数据或由通信部135接收的数据逐一存储到临时存储器131a。临时存储器131a中存储的数据根据需要而读出,并输入到密钥生成装置430的各个处理部后用于其处理。 
<预先设定> 
下面,说明本方式的函数密码应用系统4的预先设定。 
[确定信息] 
图39A以及图39B是例示了第4实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
在图39A的例子中,对每个协议分配了确定信息PI。即,在该例子中,对于确定信息PI=0分配了定时释放密码协议,对于确定信息PI=1分配了前向安全密码协议,对于确定信息PI=2分配了密钥隔离密码协议,对于确定信息PI=3分配了CCA2安全密码协议。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议分别对应的确定信息PI的组合。 
另一方面,在图39B的例子中,除了对每个协议分配了确定信息PI之外,对于两种以上的协议的组合也分配了确定信息PI。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议对应的确定信息PI。 
另外,图39所示的确定信息PI是一例,也可以通过其他方法来确定与一种以上的协议对应的确定信息PI。 
[识别符] 
图40A、图40B以及图41是用于说明在第4实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。另外,本方式的识别符ID(λ)是以有限域Fq的元作为元素的n(λ)维向量。 
在图40A的例子中,对可选择的每个协议分配识别符ID(λ)。 
在对所选择的协议分配的识别符ID(λ)中,输入按照对该协议决定的规则的值。例如,在选择了定时释放密码协议时,确定未来的时刻的信息(与日期时间或计数值等对应的n(λ)维向量)被输入到识别符ID(1)。另外,“未来的时刻”的一例是第1信息的生成时刻以后的时刻。此外,例如在选择了前向安全密码协议或密钥隔离密码协议时,通过接收者装置420或其用户的固有识别符(邮件地址、电话号码、MAC地址等)与包含当前时刻的时间区间(日期时间区间或计数值区间等)的组合所决定的值(n(λ)维向量)被输入到识别符ID(2)或识别符ID(3)。另外,“当前时刻”的一例是第1信息的生成时刻。此外,例如,在选择了CCA2安全密码协议时,作为n(λ)维向量的一次性信息(将随机值作为元素的随机向量)被输入到识别符ID(4)。 
另一方面,在对没有被选择的协议所分配的识别符ID(λ)中输入作为n(λ)维向量的常数(const.)。例如,在仅选择了定时释放密码协议时,用于确定未来的时刻的信息被输入到识别符ID(1),在其他的识别符ID(2),ID(3),ID(4)中输入常数(const.)。另外,常数(const.)的例子是n(λ)维的零向量。另外,输入到各个识别符ID(λ)的常数(const.)可以是同一值,也可以是不同的值。 
此外,在选择了多个协议的组合的情况下,作为选择了构成该组合的多个协议而决定识别符ID(λ)的值。例如,在选择了前向安全密码协议和CCA2安全密码协议的情况下,通过接收者装置420或其用户的固有识别符与包含当前时刻的时间区间的组合所决定的值被输入到识别符ID(2),一次性信息被输入到识别符ID(4),其他的识别符ID(1),ID(3)中输入常数(const.)。 
在图40B的例子中,仅对所选择的协议分配识别符ID(λ)。例如,在仅选择了定时释放密码协议的情况下,仅分配表示用于确定未来的时刻的信息的识别符ID(1)。此外,例如,在选择了前向安全密码协议和CCA2安全密码协议的组合的情况下,仅分配表示通过接收者装置420或其用户的固有识别符与包含当前时刻的时间区间的组合所决定的值的识别符ID(2)、以及表示一次性信息的识别符ID(4)。 
在图41的例子中,对可选择的每个协议或者协议的组合的每一个分配识别符ID(λ)。在对选择的协议以及协议的组合所分配的识别符ID(λ)中,输入按照对所选择的协议或者构成组合的各个协议决定的各个规则的值,在对没有被选择的协议或组合所分配的识别符ID(λ)中输入常数(const.)。例如,在 选择了前向安全密码协议和CCA2安全密码协议的组合的情况下,通过接收者装置420或其用户的固有识别符、包含当前时刻的时间区间、以及一次性信息的组合所决定的值被输入到识别符ID(6),其他的识别符ID(λ)中输入常数(const.)。 
此外,上述的识别符的决定方法只不过是一例,也可以通过其他的方法来确定识别符。例如,作为图41的例子的变形,也可以仅对所选择的协议以及协议的组合分配识别符ID(λ)。此外,也可以根据如上所述那样得到的各个识别符ID(λ)的组合(例如比特结合)来构成一个识别符。 
[属性信息(第1对应信息)] 
图42A是用于说明属性信息VSET1的数据结构的图。 
在本方式中,将各个识别符ID(λ)设为n(λ)维向量w(λ)(第1部分对应信息)(w(λ)=ID(λ)),将n(λ)维向量w(λ)(λ=1,...,ψ)的集合{w(λ)}λ=1,...,ψ设为属性信息VSET1。 
[条件信息(第2对应信息)] 
图42B是用于说明条件信息VSET2的数据结构的图。 
在本方式中,将各个识别符ID’(λ)设为n(λ)维向量v(λ)(第2部分对应信息)(v(λ)=ID’(λ)),将n(λ)维向量v(λ)(λ=1,...,ψ)的集合{v(λ)}λ=1,...,ψ设为条件信息VSET2。 
识别符ID’(λ)是与在接收者装置420侧设想的规定值的识别符ID(λ)对应的n(λ)维向量。即,决定识别符ID’(λ)的值,使得识别符ID’(λ)和所设想的规定值的识别符ID(λ)的内积成为0。例如,在通过图40A的例子来设定识别符ID(λ)时,对于按照图40A的规则决定的所设想的规定值的识别符ID(1),ID(2),ID(3),ID(4),决定内积  ID(1)·ID’(1)=0,ID(2)·ID’(2)=0,ID(3)·ID’(3)=0,ID(4)·ID’(4)=0的识别符ID’(λ)。 
另外,“所设想的规定值”对应于由在接收者装置420侧设想的协议和/或该协议的组合所构成的条件。具体地说,“所设想的规定值”对应于在接收者装置420侧设想的标准形逻辑式的直接量。例如,在将与标准形逻辑式的λ=1对应的直接量设为“识别符ID(1)取与可在规定时刻进行解密的定时释放密码协议对应的值”的命题的命题变量PRO(1)或者其逻辑非 的情况下,对于与可在规定时刻进行解密的定时释放密码协议对应的值的识别符ID(1),设定内积ID(1)·ID’(1)=0的识别符ID’(1)。例如,在将与标准形逻辑式 的λ=2对应的直接量设为“识别符ID(2)取与没有选择前向安全密码协议的情况对应的值”的命题的命题变量PRO(2)或者其逻辑非 的情况下,对于与没有选择前向安全密码协议的情况对应的识别符ID(2)=const.,设定内积ID(2)·ID’(2)=0的识别符ID’(2)。这样的用于确定各个识别符ID’(λ)的规则预先决定,设定在接收者装置420的识别符确定部424a中。此外,如前述那样,能够通过附带标签的矩阵LMT(MT,LAB)的标签LAB(λ)来指定在内积ID(λ)·ID’(λ)为0时设为标准形逻辑式的直接量成为真还是成为假、即将直接量设为命题变量PRO(λ)还是其逻辑非 
[接收者装置420中预先决定的逻辑式] 
在本方式中,对接收者装置420的密钥生成处理部424d以及解密部424e,预先设定了与由几个协议和/或该协议的组合构成的条件对应的标准形逻辑式(例如, )。换言之,与该标准形逻辑式对应的附带标签的矩阵LMT(MT,LAB)预先在密钥生成处理部424d以及解密部424e中决定。但是,作为标准形逻辑式的直接量的PRO(λ)、确定 的PRO(λ)、确定标签LAB(λ)的n(λ)维向量v(λ)的值没有决定。即,预先决定了标签是LAB(λ)=v(λ)还是 但没有决定n(λ)维向量v(λ)的值。通过决定与识别符ID’(λ)对应的n(λ)维向量v(λ),从而决定PRO(λ)和确定标签LAB(λ)的n(λ)维向量v(λ)的值,能够确定标准形逻辑式和附带标签的矩阵LMT(MT,LAB)。 
[明文] 
在本方式中,在发送者装置410的存储部111c存储加密对象的明文Mt。 
[主秘密信息] 
在本方式的密钥生成装置430的存储部431b中存储函数密码方式的主秘密信息MSK(参照[Setup(1sec,(ψ;n(1),...,n(ψ))):设置])。 
<处理> 
图43A是用于说明第4实施方式的加密处理的流程图。图43B是用于说明第4实施方式的密钥信息生成处理的流程图。此外,图44是用于说明第4实施方式的解密处理的流程图。以下,使用这些图来说明本方式的处理。 
[加密处理] 
在本方式的加密处理中,首先,用于确定应用了要执行的函数密码方式的一种以上的协议的确定信息PI被输入到发送者装置410(图36)的输入部 112(步骤S411)。例如,若如图39A那样决定确定信息PI,则与用户所选择的一种协议对应的确定信息PI、或者,与用户所选择的两种以上的协议分别对应的确定信息PI的组合被输入到输入部112。此外,例如,若如图39B那样决定确定信息PI,则与用户所选择的一种协议或者两种以上的协议对应的确定信息PI被输入到输入部112。 
输入到输入部112的确定信息PI被输入到识别符确定部414a。识别符确定部414a按照对通过该确定信息PI确定的每个协议或者该协议的组合的每一个所决定的规则(参照图40A、图40B以及图41等),对每个该协议或者该协议的组合的每一个确定识别符ID(λ),并输出已确定的一种以上的该识别符ID(λ)(步骤S412)。 
从识别符确定部414a输出的一种以上的识别符ID(λ)被输入到属性信息设定部414b。属性信息设定部414b设定对一种该识别符ID(λ)或者两种以上的该识别符ID(λ)的组合所决定的一个属性信息VSET1={w(λ)}λ=1,...,ψ(特定的第1对应信息),并输出已设定的该属性信息VSET1(步骤S413)。 
从属性信息设定部414b输出的属性信息VSET1被输入到加密部414c。加密部414c从存储部111c读出明文Mt,将属性信息VSET1和明文Mt输入到函数密码方式的加密函数,并生成明文Mt的密码文Ct(步骤S414)。函数密码方式的加密函数的一例是由前述的式(113)(114)(119)所确定的式(121)(C=Ct,M=Mt)。 
生成的密码文Ct被送到通信部115。通信部115(输出部)经由网络140将该密码文Ct(第1信息)发送到接收者装置420(步骤S415)。 
[解密处理/密钥信息生成处理] 
在本方式的解密处理中,首先,接收者装置420(图37)的通信部125接收密码文Ct(第1信息)(步骤S421)。 
以此为契机,识别符确定部424a对每个协议或者该协议的组合的每一个,按照对每个该协议或者该协议的组合的每一个所决定的规则,确定在前述的接收者装置420中预先决定的标准形逻辑式中使用的一种以上的识别符ID’(λ)(步骤S422)。 
通过识别符确定部424a确定的一种以上的识别符ID’(λ)被输入到条件信息生成部424c。条件信息生成部424c设为 
v(λ)=ID’(λ)    ...(138) 
并且将n(λ)维向量v(λ)(λ=1,...,ψ)集合{v(λ)}λ=1,...,ψ设为条件信息VSET2(特定的第2对应信息),并输出该条件信息VSET2(步骤S423)。 
从条件信息生成部424c输出的条件信息VSET2被输入到密钥生成处理部424d。密钥生成处理部424d使用条件信息VSET2包含的n(λ)维向量v(λ)来确定标签LAB(λ),决定附带标签的矩阵LMT(MT,LAB)(步骤S424)。确定了标签LAB(λ)的附带标签的矩阵LMT(MT,LAB)被送到通信部125。通信部125经由网络140将该附带标签的矩阵LMT(MT,LAB)发送到密钥生成装置430,委托生成与该附带标签的矩阵LMT(MT,LAB)对应的密钥信息SKS(步骤S425)。 
在本方式的密钥信息生成处理中,首先,密钥生成装置430(图38)的通信部135接收与上述的条件信息VSET2对应的附带标签的矩阵LMT(MT,LAB)(步骤S431)。由通信部135接收的附带标签的矩阵LMT(MT,LAB)被输入到密钥生成部434。密钥生成部434从存储部431b读出主秘密信息MSK,利用主秘密信息MSK和附带标签的矩阵LMT(MT,LAB),生成与附带标签的矩阵LMT(MT,LAB)对应的密钥信息SKS并输出(步骤S432)。例如,密钥生成部434生成并输出通过式(95)-(99)(106)(108)(109)所确定的式(122)的密钥信息SKS。例如,密钥生成部434任意选择将有限域Fq的元作为元素的COL维向量CV∈Fq COL(式(36)),利用矩阵MT(式(94))和COL维向量CV,按照式(99)计算共享信息share(λ)∈Fq(λ=1,...,ψ),利用COL维向量CV并按照式(97)生成秘密信息SE,按照式(106)生成密钥信息D*(0),密钥生成部434利用标签信息LAB(λ)(λ=1,...,ψ)并按照式(108)(109)生成密钥信息D*(λ)(λ=1,...,ψ),按照式(112)生成密钥信息SKS。生成的密钥信息SKS被送到通信部135,通信部135将该密钥信息SKS经由网络140发送到接收者装置420(步骤S433)。 
接收者装置420(图37)的通信部125接收所发送的密钥信息SKS,并将其送到密钥生成处理部424d。密钥生成处理部424d将该密钥信息SKS(第2信息)存储到存储部421b(步骤S426)。 
接着,在步骤S421中通信部125接收到的密码文Ct(第1信息)和从存储部421b读出的密钥信息SKS(第2信息)被输入到解密部424e。解密部424e将密码文Ct(第1信息)和密钥信息SKS(第2信息)输入到函数密码方式的解密函数从而执行解密处理,并输出由此得到的解密结果Mr(步 骤S427)。例如,解密部424e利用C=Ct(式(121))以及密钥信息SKS(式(112)),进行按照前述的(Dec-1)-(Dec-4)的处理(式(122)(128))。 
这里,在对应于密码文Ct(第1信息)的属性信息VSET1和对应于密钥信息SKS(第2信息)的条件信息VSET2使密钥生成处理部424d中设定的标准形逻辑式的真值成为真的情况下,成为GV∈span<MTTFV>,得到正确的解密结果,成为解密结果Mr=Mt(Mt=M’=M)。另一方面,在该属性信息VSET1和该条件信息VSET2使密钥生成处理部424d中设定的标准形逻辑式的真值成为假的情况下,不成为GV∈span<MTTFV>,无法得到正确的解密结果。这表示只有与在接收者装置420中预先决定的协议和/或该协议的组合所构成的条件一致的密码文Ct会被正确解密。 
如上所述,在本方式中,能够选择发送者装置410使用的协议或协议的组合,并且能够设定可在接收者装置420中解密的密码文的协议或协议的组合的条件。并且,只有在发送者装置410中选择的协议或协议的组合与接收者装置420所设定的条件一致的情况下,接收者装置420能够对所发送的密码文正确解密。此外,可在接收者装置420中解密的密码文的协议或协议的组合的条件,能够通过对逻辑或和逻辑与和逻辑非进行自由组合而设定。尤其,若接收者装置420中设定了包含逻辑或的条件,则接收者装置420不需要根据发送者装置410中选择的协议等来区别使用密钥信息。 
[第4实施方式的变形例1] 
如前述那样,也可以将属性信息VSET1和条件信息VSET2的一部分区域设为预备区域。即,可以将属性信息VSET1包含的向量(第1部分对应信息)以及条件信息VSET2包含的向量(第2部分对应信息)的至少一部分设为预备区域。由此,即使在以后需要增加可选择的协议,或者增加表示逻辑式的多项式的项的情况下,只要将这些增加部分分配给预备区域,则能够进行这些增加而不用变更系统的设定。 
图45A和图45B是用于说明将属性信息VSET1和条件信息VSET2的一部分区域设为预备区域的例子的图。 
在图45A和图45B中,属性信息VSET1包含的向量v(ψ-s),...,v(ψ)以及条件信息VSET2包含的向量w(ψ-s),...,w(ψ)被设为预备区域。另外,s是1以上且小于ψ的整常数。在该例子中,与确定信息PI的值无关地,向量v(ψ-s),...,v(ψ)分别被设为由常数元素构成的常数向量 const.(ψ-s),...,const.(ψ),向量w(ψ-s),...,w(ψ)分别被设为由常数元素构成的常数向量const.’(ψ-s),...,const.’(ψ)。这些预备区域被设定为,预备区域的向量w(λ)和预备区域的向量v(λ)的内积与确定信息PI的值无关地成为0。例如,可以是常数向量const.(ψ-s),...,const.(ψ)都为零向量,也可以是常数向量const.’(ψ-s),...,const.’(ψ)都为零向量。此外,也可以是常数向量const.(ψ-s),...,const.(ψ)都为零向量且常数向量const.’(ψ-s),...,const.’(ψ)的一部分为零向量以外。此外,也可以是常数向量const.’(ψ-s),...,const.’(ψ)都为零向量且常数向量const.(ψ-s),...,const.(ψ)的至少一部分为零向量以外。也可以是常数向量const.(ψ-s),...,const.(ψ)的至少一部分为零向量以外且常数向量const.’(ψ-s),...,const.’(ψ)的一部分为零向量以外,并且,预备区域的向量w(λ)和预备区域的向量v(λ)的内积成为0。与预备区域对应的λ处的标签为LAB(λ)=v(λ)的情况下,与确定信息PI的值无关地成为LIT(λ)=1,与预备区域对应的λ处的标签为 的情况下,与确定信息PI的值无关地成为LIT(λ)=0(式(101)-(103))。 
[第5实施方式] 
下面,说明本发明的第5实施方式。 
第5实施方式是,第1信息为对应于属性信息VSET1的密钥信息,第2信息为对应于条件信息VSET2的密码文,发送者装置输出密钥信息,接收者装置中存储的密码文被解密的方式。这样的方式在应用了函数密码方式的协议例如为关键字检索密码协议时,或者,关键字检索密码协议和前向安全密码协议、密钥隔离密码协议或者CCA2安全密码协议的组合的情况下等可适用。此外,在本方式中使用CP方式。以下,以与第4实施方式的不同点为中心进行说明,关于与第4实施方式相同的事项简化说明。 
<结构> 
如图35所示,本方式的函数密码应用系统5具有连接到网络140的发送者装置510(信息输出装置)、接收者装置520(信息处理装置)以及密钥生成装置430。另外,为了便于说明,图35中各标记了一个发送者装置510、接收者装置520和密钥生成装置430,但也可以存在两个以上的发送者装置510或接收者装置520或密钥生成装置430。 
[发送者装置510(信息输出装置)] 
图46是用于说明本方式的发送者装置510的结构的方框图。另外,在本 方式中,关于与第4实施方式相同的部分附加与第4实施方式相同的标号,并省略说明(以下,同样)。 
如图46所示,本方式的发送者装置510具有临时存储器111a、存储部511d、输入部112、控制部113、识别符确定部414a、属性信息设定部414b、密钥生成处理部514d、通信部115。 
发送者装置510例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,密钥生成处理部514d是通过CPU执行规定的程序而构成的处理部或集成电路等,存储部511d是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。 
[接收者装置520(信息处理装置)] 
图47是用于说明本方式的接收者装置520的结构的方框图。 
如图47所示,本方式的接收者装置520具有临时存储器121a、存储部421b、521c、控制部123、识别符确定部524a、条件信息生成部524c、加密部524d、解密部524e、通信部125。 
接收者装置520例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,加密部524d是通过CPU执行规定的程序而构成的处理部或集成电路等,存储部421b、521c是RAM、寄存器、闪速存储器、集成电路内的元件或者硬盘等辅助存储装置,或者,由这些的至少一部分的结合所构成的存储区域。 
<预先设定> 
下面,说明本方式的函数密码应用系统5的预先设定。 
[确定信息] 
图48A以及图48B是例示了第5实施方式中的用于确定一种以上的协议的确定信息PI和协议的对应关系的图。 
在图48A的例子中,对每个协议分配了确定信息PI。即,在该例子中,对于确定信息PI=0分配了关键字检索密码协议,对于确定信息PI=1分配了前向安全密码协议,对于确定信息PI=2分配了密钥隔离密码协议,对于确定信息PI=3分配了CCA2安全密码协议。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议分别对应的确定信息PI的组合。 
另一方面,在图48B的例子中,除了对每个协议分配了确定信息PI之外,对于两种以上的协议的组合也分配了确定信息PI。在该例子中,在单独选择某个协议时,确定与选择的协议对应的一个确定信息PI,在选择两种以上的协议的组合时,确定与选择的两种以上的协议的组合对应的确定信息PI。 
另外,图48A以及图48B所示的确定信息PI是一例,也可以通过其他方法来确定与一种以上的协议对应的确定信息PI。 
[识别符] 
图49A、图49B以及图50是用于说明在第5实施方式中对每个协议或者该协议的组合的每一个所决定的、用于确定识别符ID(λ)的规则的一例的图。另外,本方式的识别符ID(λ)是以有限域Fq的元作为元素的n(λ)维向量。 
在图49A的例子中,对可选择的每个协议分配识别符ID(λ)。在对所选择的协议分配的识别符ID(λ)中,输入按照对该协议决定的规则的值。例如,在选择了关键字检索密码协议时,与检索用关键字对应的n(λ)维向量被输入到识别符ID(1)。另一方面,在对没有被选择的协议所分配的识别符ID(λ)中输入作为n(λ)维向量的常数(const.)。此外,在选择了多个协议的组合的情况下,作为选择了构成该组合的多个协议而决定识别符ID(λ)的值。例如,在选择了关键字检索密码协议和CCA2安全密码协议的组合的情况下,与检索用关键字对应的n(λ)维向量被输入到识别符ID(1),作为n(λ)维向量的一次性信息被输入到识别符ID(4),其他的识别符ID(2),ID(3)中输入作为n(λ)维向量的常数(const.)。 
在图49B的例子中,仅对所选择的协议分配识别符ID(λ)。例如,在选择了关键字检索密码协议的情况下,仅分配表示检索用关键字的n(λ)维向量即识别符ID(1)。此外,例如,在选择了关键字检索密码协议和CCA2安全密码协议的组合的情况下,仅分配表示检索用关键字的n(λ)维向量的识别符ID(1)、以及作为n(λ)维向量的表示一次性信息的识别符ID(3)。 
在图50的例子中,对可选择的每个协议或者协议的组合的每一个分配识别符ID(λ)。在对选择的协议以及协议的组合所分配的识别符ID(λ)中,输入按照对所选择的协议或者构成组合的各个协议决定的各个规则的值,在对没有被选择的协议或组合所分配的识别符ID(λ)中输入作为n(λ)维向量的常数(const.)。例如,在选择了关键字检索密码协议和CCA2安全密码协议的组合的情况下,通过检索用关键字和一次性信息的组合所决定的n(λ)维向量被 输入到识别符ID(4),其他的识别符ID(λ)中输入作为n(λ)维向量的常数(const.)。 
此外,上述的识别符的决定方法只不过是一例,也可以通过其他的方法来确定识别符。例如,作为图50的例子的变形,也可以仅对所选择的协议以及协议的组合分配识别符ID(λ)。 
[属性信息(第1对应信息)] 
与第4实施方式相同,因此省略说明。 
[条件信息(第2对应信息)] 
在本方式中,也将各个识别符ID’(λ)设为n(λ)维向量v(λ)(第2部分对应信息)(v(λ)=ID’(λ)),将n(λ)维向量v(λ)(λ=1,...,ψ)的集合{v(λ)}λ=1,...,ψ设为条件信息VSET2。 
识别符ID’(λ)是与所设想的规定值的识别符ID(λ)对应的n(λ)维向量。即,决定识别符ID’(λ)的值,使得识别符ID’(λ)和所设想的规定值的识别符ID(λ)的内积成为0。例如,在通过图49A的例子来设定识别符ID(λ)时,对于按照图49A的规则决定的所设想的规定值的识别符ID(1),ID(2),ID(3),ID(4),决定内积ID(1)·ID’(1)=0,ID(2)·ID’(2)=0,ID(3)·ID’(3)=0,ID(4)·ID’(4)=0的识别符ID’(λ)。 
另外,“所设想的规定值”对应于由在接收者装置520侧设想的协议和/或该协议的组合和/或关键字所构成的条件。具体地说,“所设想的规定值”对应于在接收者装置520侧设想的标准形逻辑式的直接量。例如,在将与标准形逻辑式的λ=1对应的直接量设为“识别符ID(1)取与关键字KWr对应的值”的命题的命题变量PRO(1)的情况下,对于与关键字KWr对应的识别符ID(1),设定内积ID(1)·ID’(1)=0的识别符ID’(1)。这样的用于确定各个识别符ID’(λ)的规则预先决定,设定在接收者装置520的识别符确定部524a中。 
[加密数据库(DB)] 
图51是用于说明第5实施方式的加密DB的一例的图。 
图51中的Mr1~Mr99分别是文档等检索对象信息,KWr1~KWr9分别为单词等关键字,True是表示“真”的“1”等的数据。此外,C(Mr1),...,C(Mr99)分别是检索对象信息Mr1~Mr99的密码文。密码文C(Mr1),...,C(Mr99)的加密方式可以是公共密钥密码方式、公开密钥密码方式、ID基础密码方式、函数密码方式等的任一种。此外,Cr(KWr1,True),...,Cr(KWr9,True)分别是将条件 信息VSET2和明文True输入到函数密码方式的加密函数而得到的函数密码方式的密码文(第2信息)。密码文Cr(KWr1,True),...,Cr(KWr9,True)分别使用对应于与关键字KWr1~KWr9分别对应的各个属性信息VSET1的密钥信息,可正确解密。即,例如,与关键字KWr1对应的属性信息VSET1和用于对密码文Cr(KWr1,True)进行加密的条件信息VSET2使逻辑式的真值成为真。 
加密DB对于检索对象信息(统称为“Mr”)的密码文C(Mr1),...,C(Mr99),分别关联了与对应的关键字对应的密码文Cr(KWr1,True),...,Cr(KWr9,True)。例如,与检索对象信息Mr1对应的关键字为KWr1、KWr2、KWr3、KWr4时,将检索对象信息Mr1的密码文C(Mr1)和与关键字KWr1、KWr2、KWr3、KWr4对应的密码文Cr(KWr1,True)、Cr(KWr2,True)、Cr(KWr3,True)、Cr(KWr4,True)相关联。由此,例如,根据利用与对应于关键字KWr1的属性信息VSET1对应的密钥信息能够对密码文Cr(KWr1,True)正确解密的情况,不用对检索对象信息Mr1的密码文C(Mr1)进行解密,就可知关键字KWr1与检索对象信息Mr1相对应。 
在本方式中,这样的加密DB存储在接收者装置520的存储部521c,存储部521c中存储各个关键字(统称为“KWr”)和明文True。此外,与构成加密DB的各个关键字KWr对应的各个密码文Cr(KWr,True)如后述那样依次被更新。 
[发送者装置510中预先决定的逻辑式] 
在本方式中,对发送者装置510的密钥生成处理部514d以及接收者装置520的解密部524e,预先设定了与由几个协议和/或该协议的组合和/或关键字构成的条件对应的标准形逻辑式(例如, )。换言之,与该标准形逻辑式对应的附带标签的矩阵LMT(MT,LAB)预先在密钥生成处理部514d以及解密部524e中决定。但是,作为标准形逻辑式的直接量的PRO(λ)、确定 的PRO(λ),和确定标签LAB(λ)的n(λ)维向量w(λ)的值没有决定。即,预先决定了标签是LAB(λ)=w(λ)还是 但没有决定n(λ)维向量w(λ)的值。另外,与检索用关键字对应的n(λ)维向量w(λ)所对应的标签(在图49的例子中λ=1的标签)是LAB(λ)=w(λ)。通过决定与识别符ID(λ)对应的n(λ)维向量w(λ),从而决定PRO(λ)和确定标签LAB(λ)的n(λ)维向量v(λ)的值,能够确定标准形逻辑式和附带标签的矩阵LMT(MT,LAB)。 
[主秘密信息] 
在本方式的密钥生成装置430的存储部431b中存储函数密码方式的主秘密信息MSK(参照[Setup(1sec,(ψ;n(1),...,n(ψ))):设置])。 
<处理> 
图52是用于说明第5实施方式的检索委托处理的流程图。图53A是用于说明第5实施方式的密钥信息生成处理的流程图。此外,图53B是用于说明第5实施方式的检索处理的流程图。以下,使用这些图来说明本方式的处理。 
[检索委托处理/密钥信息生成处理] 
在本方式的加密处理中,首先,用于确定应用了要执行的函数密码方式的一种以上的协议的确定信息PI和检索用关键字KWt被输入到发送者装置510(图46)的输入部112(步骤S511)。例如,若如图48A那样决定确定信息PI,则与用户所选择的一种协议对应的确定信息PI,或者,与用户所选择的两种以上的协议分别对应的确定信息PI的组合被输入到输入部112。此外,例如,若如图48B那样决定确定信息PI,则与用户所选择的一种协议或者两种以上的协议对应的确定信息PI被输入到输入部112。另外,在本方式中,假设在所选择的协议或者协议的组合中包含关键字检索密码协议。 
输入到输入部112的确定信息PI和检索用关键字KWt被输入到识别符确定部414a。识别符确定部414a按照对通过该确定信息PI确定的每个协议或者该协议的组合的每一个所决定的规则(参照图49A、图49B以及图50等),对每个该协议或者该协议的组合的每一个确定与检索用关键字KWt对应的识别符ID(λ),并输出已确定的一种以上的该识别符ID(λ)(步骤S512)。 
从识别符确定部414a输出的一种以上的识别符ID(λ)被输入到属性信息设定部414b。属性信息设定部414b设为 
w(λ)=ID(λ)    ...(139) 
并且将n(λ)维向量w(λ)(λ=1,...,ψ)集合{w(λ)}λ=1,...,ψ设为属性信息VSET1(特定的第1对应信息),并输出该属性信息VSET1(步骤S513)。 
从属性信息设定部414b输出的属性信息VSET1被输入到密钥生成处理部514d。密钥生成处理部514d使用属性信息VSET1包含的n(λ)维向量w(λ)来确定标签LAB(λ),决定附带标签的矩阵LMT(MT,LAB)(步骤S514)。确定了标签LAB(λ)的附带标签的矩阵LMT(MT,LAB)被送到通信部115。通信 部115经由网络140将该附带标签的矩阵LMT(MT,LAB)发送到密钥生成装置430,委托生成与该附带标签的矩阵LMT(MT,LAB)对应的密钥信息SKS(与检索用关键字KWt对应的密钥信息SKS)(步骤S515)。 
在本方式的密钥信息生成处理中,首先,密钥生成装置430(图38)的通信部135接收上述的与属性信息VSET1对应的附带标签的矩阵LMT(MT,LAB)(步骤S531)。由通信部135接收的附带标签的矩阵LMT(MT,LAB)被输入到密钥生成部434。密钥生成部434从存储部431b读出主秘密信息MSK,使用主秘密信息MSK和附带标签的矩阵LMT(MT,LAB),生成并输出与附带标签的矩阵LMT(MT,LAB)对应的密钥信息SKS(步骤S532)。具体的生产步骤例如可以是,除了代替v(λ)而使用w(λ)之外,与第4实施方式相同。生成的密钥信息SKS被送到通信部135,通信部135将该密钥信息SKS经由网络140发送到发送者装置510(步骤S533)。 
发送者装置510(图46)的通信部115接收密钥信息SKS,并将其送到密钥生成处理部514d。密钥生成处理部514d将该密钥信息SKS存储到存储部5111d(步骤S516)。接着,从存储部511d读出的、与检索用关键字KWt对应的密钥信息SKS(第1信息)被送到通信部115,从那里经由网络140发送到接收者装置520(步骤S517)。 
[检索处理] 
在本方式的检索处理中,首先,接收者装置520(图47)的通信部125接收所发送的与检索用关键字KWt对应的密钥信息SKS(第1信息),并存储到存储部421b(步骤S521)。 
以此为契机,识别符确定部524a按照对每个协议或者该协议的组合的每一个所决定的规则,确定对应于与各个检索对象信息Mr分别对应的各个关键字KWr的一种以上的识别符ID’(λ)(步骤S522)。 
通过识别符确定部524a对每个关键字KWr所确定的一种以上的识别符ID’(λ)被输入到条件信息生成部524c。条件信息生成部524c对各个关键字KWr,分别设为 
v(λ)=ID’(λ)    ...(140) 
并且将n(λ)维向量v(λ)(λ=1,...,ψ)的集合{v(λ)}λ=1,...,ψ设为条件信息VSET2(特定的第2对应信息),并输出与各个关键字KWr分别对应的各个条件信息VSET2(步骤S523)。 
从条件信息生成部524c输出的对于各个关键字KWr的各个条件信息VSET2被输入到加密部524d。加密部524d从存储部111c读出明文True,将对于各个关键字KWr的各个条件信息VSET2和明文True分别输入到函数密码方式的加密函数,对各个关键字KWr,分别生成明文True的密码文Cr(KWr,True)(第2信息),由此更新与加密DB的各个关键字对应的各个密码文,更新加密DB(步骤S524)。另外,函数密码方式的加密函数的一例是通过前述的式(113)(136)确定的式(137)(C=Cr(KWr,True),M=KWr)。 
接着,在步骤S521中通信部125接收的与检索用关键字KWt对应的密钥信息SKS(第1信息)、以及从存储部521c读出的加密DB的某个密码文Cr(KWr,True)(第2信息)被输入到解密部524e。解密部524e将密钥信息SKS(第1信息)和密码文Cr(KWr,True)(第2信息)输入到函数密码方式的解密函数而执行解密处理,并输出由此得到的解密结果Mr=“True”或Not(步骤S525)。例如,解密部524e使用C=Cr(KWr,True)(式(137))以及密钥信息SKS(式(112)),进行代替前述的(Dec-1)-(Dec-4)的处理中的条件信息VSET2={λ,v(λ)|λ=1,...,ψ}而使用属性信息VSET1={λ,w(λ)|λ=1,...,ψ},代替属性信息VSET1={λ,w(λ)|λ=1,...,ψ}而使用条件信息VSET2={λ,v(λ)|λ=1,...,ψ}的处理(式(122)(128))。 
这里,在对应于信息SKS(第1信息)的属性信息VSET1和对应于密码文Cr(KWr,True)(第2信息)的条件信息VSET2使密钥生成处理部514d以及解密部524e中设定的标准形逻辑式的真值成为真的情况下,成为GV∈span<MTTFV>,得到正确的解密结果,成为解密结果Mr=明文True。另一方面,在该属性信息VSET1和该条件信息VSET2使密钥生成处理部514d以及解密部524e中设定的标准形逻辑式的真值成为假的情况下,不成为GV∈span<MTTFV>,无法得到正确的解密结果。在得到正确的解密结果的情况下,与该密码文Cr(KWr,True)相关联的检索对象信息Mr的密码文C(Mr)作为检索结果被提取。这样的步骤S525的处理对构成加密DB的所有的密码文Cr(KWr,True)分别执行。 
对应于检索用关键字KWt的密钥信息SKS(第1信息)与在接收者装置520侧所设想的协议和/或该协议的组合和/或关键字所构成的条件一致时,对应于与该检索用关键字KWt相同的关键字KW的检索对象信息Mr的密码文C(Mr)作为检索结果被提取。 
另一方面,对应于检索用关键字KWt的密钥信息SKS(第1信息)与在接收者装置520中预先决定的协议和/或该协议的组合和/或关键字所构成的条件不一致时,无法实现正确的解密,因此对应于与检索用关键字KWt相同的关键字KW的检索对象信息Mr的密码文C(Mr)不会被提取。即,实质上无法执行加密DB的检索。 
如上所述,在本方式中,能够选择发送者装置510使用的协议或协议的组合或关键字,并且能够设定可在接收者装置520中进行加密DB的检索的密钥信息SKS(第1信息)的协议或协议的组合或关键字的条件。并且,实质上,只有在发送者装置510中选择的协议或协议的组合或关键字与接收者装置520所设定的条件一致的情况下,接收者装置520执行加密DB的检索。 
[第5实施方式的变形例] 
在第5实施方式中,也可以对属性信息VSET1和条件信息VSET2设置如在第4实施方式的变形例1中说明的那样的预备区域。 
此外,在本方式中,作为第1信息是对应于属性信息VSET1的密钥信息,第2信息是对应于条件信息VSET2的密码文时的一例,例示了执行将关键字检索密码协议作为基本的协议的情况。但是,本发明不限于此。 
[第6实施方式] 
第6实施方式是可实现与第4实施方式和第5实施方式的切换的方式。即,是如下的方式:本方式的发送者装置根据由确定信息PI所确定的协议,切换是生成对应于属性信息VSET1的密码文还是生成对应于属性信息VSET1的密钥信息。此外,本方式的接收者装置根据由确定信息PI所确定的协议,切换是生成对应于条件信息的密钥信息还是生成对应于条件信息的密码文。以下,以与第4实施方式的不同点为中心进行说明,关于与第4实施方式相同的部分省略说明。 
<结构> 
如图35所示,本方式的函数密码应用系统6具有连接到网络140的发送者装置610(信息输出装置)、接收者装置620(信息处理装置)以及密钥生成装置430。另外,为了便于说明,图35中各标记了一个发送者装置610、接收者装置620和密钥生成装置430,但也可以存在两个以上的发送者装置610或接收者装置620或密钥生成装置430。 
[发送者装置610(信息输出装置)] 
图54是用于说明本方式的发送者装置610的结构的方框图。另外,在本方式中,关于与前述的实施方式相同的部分附加与前述的实施方式相同的标号,并省略说明(以下,同样)。 
如图54所示,本方式的发送者装置610具有临时存储器111a、存储部111c、511d、输入部112、控制部113、识别符确定部414a、属性信息设定部414b、加密部414c、密钥生成处理部514d、切换部614、通信部115。 
发送者装置610例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,切换部614是通过CPU执行规定的程序而构成的处理部或集成电路等。 
[接收者装置620(信息处理装置)] 
图55是用于说明本方式的接收者装置620的结构的方框图。 
如图55所示,本方式的接收者装置620具有临时存储器121a、存储部421b、521c、控制部123、识别符确定部624a、条件信息生成部624c、密钥生成处理部424d、加密部524d、解密部624e、切换部624a、624b、通信部125。切换部624a具备前述的识别符确定部424a以及524a双方的功能。条件信息生成部624c具备前述的条件信息生成部424c以及524c双方的功能。解密部624e具备前述的解密部424e以及524e双方的功能。另外,为了便于说明,在图55中标记了两个表示通信部125的块,但这并非表示需要两个单独的通信部125。 
接收者装置620例如是通过在具备CPU、RAM、ROM等的公知或者专用的计算机中读取特别的程序后执行而构成的特别的装置。例如,切换部624a、624b是通过CPU执行规定的程序而构成的处理部或集成电路等。 
<预先处理> 
与第4、第5实施方式相同,因此省略说明。 
<处理> 
图56A是用于说明第6实施方式的发送者装置610的处理的流程图。图56B是用于说明第6实施方式的接收者装置620的处理的流程图。以下,使用这些图来说明本方式的处理。 
在本方式的发送者装置610的处理中,首先,用于确定应用了要执行的函数密码方式的一种以上的协议的确定信息PI被输入到发送者装置610(图54)的输入部112(步骤S611)。 
这里,当通过确定信息PI确定的协议或者协议的组合为,如第4实施方式那样的生成对应于属性信息VSET1的密码文的加密处理的情况下,在切换部614的控制下执行第4实施方式的步骤S411~S415的加密处理。其中,本方式的发送者装置610将密码文Ct和确定信息PI一同发送到接收者装置620。 
另一方面,当通过确定信息PI确定的协议或者协议的组合为,如第5实施方式那样的生成对应于属性信息VSET1的密钥信息的检索委托处理以及密钥信息生成处理的情况下,在切换部614的控制下执行第5实施方式的步骤S511~S517、S531~S533的检索委托处理以及密钥信息生成处理。其中,本方式的发送者装置610将密钥信息SKS和确定信息PI一同发送到接收者装置620。 
在本方式的接收者装置620的处理中,首先,接收者装置620(图55)的通信部125接收从发送者装置610发送的密码文Ct和确定信息PI的组、或者密钥信息SKS和确定信息PI的组(步骤S621)。 
这里,当通过确定信息PI确定的协议或者协议的组合为,如第4实施方式那样的生成对应于条件信息VSET2的密钥信息的解密处理以及密钥信息生成处理的情况下,在切换部624a、624b的控制下执行第4实施方式的步骤S421~S427、S431~S433的解密处理以及密钥信息生成处理。 
另一方面,当通过确定信息PI确定的协议或者协议的组合为,如第5实施方式那样的生成对应于条件信息VSET2的密码文的检索处理的情况下,在切换部624a、624b的控制下执行第5实施方式的步骤S521~S525的检索处理。 
[第4~第6实施方式的其他变形例] 
另外,本发明不限于上述的第4~第6实施方式。例如,也可以将上述的在有限域Fq上定义的各个运算置换为在位数q的有限环Zq上定义的运算。将在有限域Fq上定义的各个运算置换为在有限环Zq上定义的运算的方法的一例是,容许素数或其幂乘值以外的q的方法。 
此外,在第4~第6实施方式中,在发送者装置和接收者装置的外部设置了密钥生成装置,但也可以由发送者装置和接收者装置具备密钥生成装置的功能。这样的发送者装置和接收者装置能够自行生成密钥信息而不用依靠密钥生成装置来生成密钥信息。 
此外,在第4~第6实施方式中,在接收者装置接收到从发送者装置发送的密码文或者密钥信息之后,由接收者装置决定了条件信息VSET2。但是, 根据协议,有时也能够在接收者装置接收从发送者装置发送的密码文或者密钥信息之前,由接收者装置决定条件信息VSET2。这时,接收者装置可以在接收从发送者装置发送的密码文或者密钥信息之前决定条件信息VSET2,并且生成与该条件信息VSET2对应的密钥信息或者密码文。 
此外,也可以代替属性信息VSET1而使用条件信息VSET2,代替条件信息VSET2而使用属性信息VSET1。即,也可以是条件信息VSET2相当于第1对应信息,属性信息VSET1相当于第2对应信息。 
此外,在第4~第6实施方式中,各个装置通过网络进行了信息的交换。但是,各个装置也可以通过USB存储器等的可移动型记录介质进行信息的交换。 
此外,上述的各种处理不仅可以根据记载以时间序列执行,也可以根据执行处理的装置的处理能力或者需要而并行或者单独地执行。除此之外,在不脱离本发明的宗旨的范围内能够进行适当变更是不言而喻的。 
[程序以及记录介质] 
此外,在通过计算机来实现上述的第1~第6实施方式的结构的情况下,通过程序来记述各个装置应具有的功能的处理内容。并且,通过由计算机来执行该程序,从而在计算机上实现上述处理功能。 
记述了该处理内容的程序可以预先记录到计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等的任一种。 
此外,该程序的流通例如通过对记录了该程序的DVD、CD-ROM等可移动型记录介质进行销售、转让、出借等而进行。进而,也可以设为通过将该程序存储到服务器计算机的存储装置中,并经由网络从服务器计算机将该程序转发给其他计算机,从而使该程序流通的结构。 
执行这样的程序的计算机,例如首先将可移动型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储到自身的存储装置中。然后,该计算机在执行处理时读取在自身的记录介质中存储的程序,并按照所读取的程序来执行处理。此外,作为该程序的其他实施方式,可以是计算机从可移动型记录介质直接读取程序并按照该程序执行处理,进而,也可以是每当从服务器计算机对该计算机转发程序时,依次按照所获取的程序而执行处理。此外,也可以设为以下结构,即不从服务器计算机对该计算机转发程序,而是 通过仅凭其执行指示和结果取得来实现处理功能的、所谓的ASP(应用服务供应商)型的服务来实现上述的处理。另外,假设在本方式中的程序中,包含供电子计算机的处理所使用的信息且符合程序的内容(虽然不是对计算机的直接指令,但具有用于规定计算机的处理的性质的数据等)。 
此外,在该方式中,设为通过在计算机上执行规定的程序而构成本装置,但也可以设为将这些处理内容的至少一部分通过硬件方式来实现。 
标号说明 
1~3函数密码应用系统 
110,210,310发送者装置(信息输出装置) 
120,220,320接收者装置(信息处理装置) 
130密钥生成装置 

Claims (42)

1.一种函数密码应用系统,其具有:
信息输出装置;以及
信息处理装置,
其中,所述信息输出装置包括:
识别符确定部,根据对按照函数密码方式的每个协议决定的规则、或者对按照所述函数密码方式的协议的组合的每一个决定的规则,确定与按照所述函数密码方式的特定的协议对应的、或者与按照所述函数密码方式的特定的协议的组合对应的一种识别符或者多种识别符,其中,所述函数密码方式是在与第1对应信息以及第2对应信息的组合对应的逻辑式的真值为真的情况下密码文被正确解密的方式;
对应信息设定部,设定与所述一种识别符或者所述多种识别符的组合对应的特定的第1对应信息;以及
输出部,输出第1信息,所述第一信息是与所述特定的第1对应信息对应的函数密码方式的密码文或者密钥信息,
所述信息处理装置包括:
解密部,将所述第1信息、以及与特定的第2对应信息对应的作为函数密码方式的密钥信息或者密码文的第2信息输入到函数密码方式的解密函数,并且在与对应于所述第1信息的所述特定的第1对应信息以及对应于所述第2信息的所述特定的第2对应信息的组合对应的逻辑式的真值为真的情况下生成解密结果,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的一种值或者多种值分别能够得到解密结果的值,
当所述第1信息为对应于所述特定的第1对应信息的密码文时,所述第2信息是对应于所述特定的第2对应信息的密钥信息,当所述第1信息为对应于所述特定的第1对应信息的密钥信息时,所述第2信息是对应于所述特定的第2对应信息的密码文,
所述协议是从包含定时释放密码协议、前向安全密码协议、密钥隔离密码协议、ccA2安全密码协议、关键字检索密码协议中的至少一个的集合中选择的协议,
所述协议为定时释放密码协议时的所述规则为,将用于确定所述第1信息的生成时刻以后的时刻的信息设为所述识别符的规则,
所述协议为前向安全密码协议或者密钥隔离密码协议时的所述规则分别是,将包含所述第1信息的生成时刻的时间区间或者用于确定所述第1信息的生成时刻以后的时间区间的信息设为所述识别符的规则,
所述协议为CCA2安全密码协议时的所述规则为,将用于确定每当生成所述第1信息时新设定的一次性信息的信息设为所述识别符的规则,
所述协议为关键字检索密码协议时的所述规则为,将用于确定数据库的检索用关键字的信息设为所述识别符的规则。
2.如权利要求1所述的函数密码应用系统,其中,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的多种值分别能够得到解密结果的值。
3.如权利要求1或2所述的函数密码应用系统,其中,
所述识别符确定部确定与所述特定的协议的组合对应的所述一种识别符或者多种识别符,
所述特定的协议的组合是由按照所述函数密码方式的多种协议构成的组合。
4.如权利要求3所述的函数密码应用系统,其中,
所述信息输出装置还包括:
第1切换部,根据所述特定的协议,切换所述第1信息是密码文还是密钥信息,
所述信息处理装置还包括:
第2切换部,根据所述特定的协议,切换所述第2信息是密钥信息还是密码文。
5.如权利要求1或2所述的函数密码应用系统,其中,
所述信息输出装置还包括:
第1切换部,根据所述特定的协议,切换所述第1信息是密码文还是密钥信息,
所述信息处理装置还包括:
第2切换部,根据所述特定的协议,切换所述第2信息是密钥信息还是密码文。
6.如权利要求1所述的函数密码应用系统,其中,
在所述第2对应信息和所述第1对应信息输入到预先决定的函数时,相对于所述第1对应信息所取的一种或者多种值,该第2对应信息使该函数的函数值成为预先决定的值,
所述解密函数是,在对应于所述第1信息的所述特定的第1对应信息和对应于所述第2信息的所述特定的第2对应信息输入到所述预先决定的函数时的函数值成为所述预先决定的值的情况下,生成正确的解密结果的函数。
7.如权利要求6所述的函数密码应用系统,其中,
在所述第2对应信息和所述第1对应信息输入到预先决定的函数时,相对于所述第1对应信息所取的多种值,该第2对应信息使该函数的函数值成为所述预先决定的值。
8.如权利要求7所述的函数密码应用系统,其中,
所述第1对应信息以及所述第2对应信息是向量,
所述预先决定的函数是计算所述第1对应信息和所述第2对应信息的内积的函数,所述预先决定的值为0。
9.如权利要求8所述的函数密码应用系统,其中,
至少一部分的所述第1对应信息是,作为一部分元素的第1预备区域的值被预先固定的向量,
至少一部分的所述第2对应信息是,作为一部分元素的第2预备区域的值被预先固定的向量,
包含所述第1预备区域的所述第1对应信息的该第1预备区域的位置与所述第2对应信息的所述第2预备区域的位置互相相等,
构成包含所述第1预备区域的所述第1对应信息的该第1预备区域的向量与构成所述第2对应信息的所述第2预备区域的向量的内积为0,而与所述一种识别符或者所述多种识别符的组合无关。
10.如权利要求9所述的函数密码应用系统,其中,
所述第1预备区域的值都为0。
11.如权利要求9所述的函数密码应用系统,其中,
所述第2预备区域的值都为0。
12.如权利要求10所述的函数密码应用系统,其中,
所述第2预备区域的至少一部分的值为0以外。
13.如权利要求11所述的函数密码应用系统,其中,
所述第1预备区域的至少一部分的值为0以外。
14.如权利要求8至13的任一项所述的函数密码应用系统,其中,
所述第1对应信息是,将对用于表示包含逻辑或和/或逻辑与的逻辑式的多项式的各项的不定元分量代入了所述识别符后的值作为各个元素的向量,
所述第2对应信息是,将表示所述逻辑式的多项式的各项的系数分量作为各个元素的向量,
表示所述逻辑式的多项式是如下的多项式:通过取不定元和常数的差的多项式来表现该不定元为该常数的命题,通过分别表现命题的多项式的积来表现该命题的逻辑或,通过分别表现命题或者命题的逻辑或的多项式的线性和来表现该命题或者命题的逻辑或的逻辑与,并由此表现了所述逻辑式,
表示所述逻辑式的多项式与所述第1对应信息和所述第2对应信息的内积相等,所述逻辑式为真的情况等价于表示所述逻辑式的多项式为0。
15.如权利要求14所述的函数密码应用系统,其中,
所述第1对应信息以及所述第2对应信息对应于,在一部分中包含与所述一种识别符或者所述多种识别符的组合无关地被预先设定为真的命题的逻辑与的所述逻辑式。
16.如权利要求1所述的函数密码应用系统,其中,
所述第1对应信息包含一个或者多个第1部分对应信息,所述第2对应信息包含一个或者多个第2部分对应信息,
在所述第1部分对应信息以及所述第2部分对应信息输入到预先决定的函数时,根据所述第1部分对应信息的值以及所述第2部分对应信息的值的组合,该函数的函数值成为预先决定的值或者成为该预先决定的值以外的值,
对所述第1部分对应信息以及所述第2部分对应信息的组合的每一个,决定是将所述函数的函数值成为所述预先决定的值的情况设为所述第1部分对应信息以及所述第2部分对应信息的组合为真,还是将所述函数的函数值不成为所述预先决定的值的情况设为所述第1部分对应信息以及所述第2部分对应信息的组合为真,
所述解密函数是,在成为真的所述第1部分对应信息以及所述第2部分对应信息的组合的集合满足了预先决定的条件时,生成正确的解密结果的函数。
17.如权利要求16所述的函数密码应用系统,其中,
对所述第1部分对应信息分别关联向量或者对所述第2部分对应信息分别关联向量,
所述解密函数是,在由成为真的所述第1部分对应信息以及所述第2部分对应信息的组合分别包含的、所述第1部分对应信息或者所述第2部分对应信息所相关联的向量扩展的向量空间内存在特定的向量时,生成正确的解密结果的函数。
18.如权利要求16或17所述的函数密码应用系统,其中,
所述第1部分对应信息以及所述第2部分对应信息是向量,
所述预先决定的函数是计算所述第1部分对应信息和所述第2部分对应信息的内积的函数,所述预先决定的值为0。
19.如权利要求18所述的函数密码应用系统,其中,
至少一部分的所述第1部分对应信息是值被预先固定的向量,
至少一部分的所述第2部分对应信息是值被预先固定的向量,
作为值被预先固定的向量的所述第1部分对应信息与作为值被预先固定的向量的所述第2部分对应信息的内积为0,而与所述一种识别符或者所述多种识别符的组合无关。
20.如权利要求19所述的函数密码应用系统,其中,
作为值被预先固定的向量的所述第1部分对应信息是,所有元素为0的向量。
21.如权利要求19所述的函数密码应用系统,其中,
作为值被预先固定的向量的所述第2部分对应信息是,所有元素为0的向量。
22.如权利要求20所述的函数密码应用系统,其中,
作为值被预先固定的向量的所述第2部分对应信息是包含0以外的元素的向量。
23.如权利要求21所述的函数密码应用系统,其中,
作为值被预先固定的向量的所述第1部分对应信息是包含0以外的元素的向量。
24.如权利要求1所述的函数密码应用系统,其中,
所述信息处理装置存储与一种所述特定的第2对应信息对应的一种所述第2信息。
25.如权利要求1所述的函数密码应用系统,其中,
决定应对按照所述函数密码方式的协议或者按照所述函数密码方式的协议的组合使用的第1对应信息的类别,所述规则是确定用于决定应对所述特定的协议或者所述特定的协议的组合使用的类别的所述特定的第1对应信息的所述一种识别符或者所述多种识别符的组合的规则。
26.一种信息输出装置,包括:
识别符确定部,根据对按照函数密码方式的每个协议决定的规则、或者对按照所述函数密码方式的协议的组合的每一个决定的规则,确定与按照所述函数密码方式的特定的协议对应的、或者与按照所述函数密码方式的特定的协议的组合对应的一种识别符或者多种识别符,其中,所述函数密码方式是在与第1对应信息以及第2对应信息的组合对应的逻辑式的真值为真的情况下密码文被正确解密的方式;
对应信息设定部,设定与所述一种识别符或者所述多种识别符的组合对应的特定的第1对应信息;以及
输出部,输出第1信息,所述第1信息是与所述特定的第1对应信息对应的函数密码方式的密码文或者密钥信息,
所述协议是从包含定时释放密码协议、前向安全密码协议、密钥隔离密码协议、ccA2安全密码协议、关键字检索密码协议中的至少一个的集合中选择的协议,
所述协议为定时释放密码协议时的所述规则为,将用于确定所述第1信息的生成时刻以后的时刻的信息设为所述识别符的规则,
所述协议为前向安全密码协议或者密钥隔离密码协议时的所述规则分别是,将包含所述第1信息的生成时刻的时间区间或者用于确定所述第1信息的生成时刻以后的时间区间的信息设为所述识别符的规则,
所述协议为CCA2安全密码协议时的所述规则为,将用于确定每当生成所述第1信息时新设定的一次性信息的信息设为所述识别符的规则,
所述协议为关键字检索密码协议时的所述规则为,将用于确定数据库的检索用关键字的信息设为所述识别符的规则。
27.如权利要求26所述的信息输出装置,其中,
所述识别符确定部确定与所述特定的协议的组合对应的所述一种识别符或者多种识别符,
所述特定的协议的组合是由按照所述函数密码方式的多种协议构成的组合。
28.如权利要求26或27所述的信息输出装置,还包括:
第1切换部,根据所述特定的协议,切换所述第1信息是密码文还是密钥信息。
29.一种信息处理装置,包括:
解密部,将与特定的第1对应信息对应的作为函数密码方式的密码文或者密钥信息的第1信息、以及与特定的第2对应信息对应的作为所述函数密码方式的密钥信息或者密码文的第2信息输入到函数密码方式的解密函数,并且在与对应于所述第1信息的特定的第1对应信息以及对应于所述第2信息的所述特定的第2对应信息的组合对应的逻辑式的真值为真的情况下生成解密结果,其中,所述特定的第1对应信息与一种识别符或者多种识别符的组合对应,该一种识别符或者多种识别符的组合根据对按照所述函数密码方式的每个协议决定的规则、或者对按照所述函数密码方式的协议的组合的每一个决定的规则而决定,所述函数密码方式是在与所述第1对应信息以及所述第2对应信息的组合对应的逻辑式的真值为真的情况下密码文被正确解密的方式,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的一种值或者多种值分别能够得到解密结果的值,
当所述第1信息为对应于所述特定的第1对应信息的密码文时,所述第2信息是对应于所述特定的第2对应信息的密钥信息,当所述第1信息为对应于所述特定的第1对应信息的密钥信息时,所述第2信息是对应于所述特定的第2对应信息的密码文,
所述协议是从包含定时释放密码协议、前向安全密码协议、密钥隔离密码协议、ccA2安全密码协议、关键字检索密码协议中的至少一个的集合中选择的协议,
所述协议为定时释放密码协议时的所述规则为,将用于确定所述第1信息的生成时刻以后的时刻的信息设为所述识别符的规则,
所述协议为前向安全密码协议或者密钥隔离密码协议时的所述规则分别是,将包含所述第1信息的生成时刻的时间区间或者用于确定所述第1信息的生成时刻以后的时间区间的信息设为所述识别符的规则,
所述协议为CCA2安全密码协议时的所述规则为,将用于确定每当生成所述第1信息时新设定的一次性信息的信息设为所述识别符的规则,
所述协议为关键字检索密码协议时的所述规则为,将用于确定数据库的检索用关键字的信息设为所述识别符的规则。
30.如权利要求29所述的信息处理装置,其中,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的多种值分别能够得到解密结果的值。
31.如权利要求29或30所述的信息处理装置,其中,
所述识别符确定部确定与所述特定的协议的组合对应的所述一种识别符或者多种识别符,
所述特定的协议的组合是由按照所述函数密码方式的多种协议构成的组合。
32.如权利要求31所述的信息处理装置,还包括:
第2切换部,根据所述特定的协议,切换所述第2信息是密钥信息还是密码文。
33.如权利要求29或30所述的信息处理装置,还包括:
第2切换部,根据所述特定的协议,切换所述第2信息是密钥信息还是密码文。
34.一种密码协议执行方法,包括以下步骤:
识别符确定步骤,信息输出装置根据对按照函数密码方式的每个协议决定的规则、或者对按照所述函数密码方式的协议的组合的每一个决定的规则,确定与按照所述函数密码方式的特定的协议对应的、或者与按照所述函数密码方式的特定的协议的组合对应的一种识别符或者多种识别符,其中,所述函数密码方式是在与第1对应信息以及第2对应信息的组合对应的逻辑式的真值为真的情况下密码文被正确解密的方式;
对应信息设定步骤,所述信息输出装置设定与所述一种识别符或者所述多种识别符的组合对应的特定的第1对应信息;
输出步骤,所述信息输出装置输出第1信息,所述第1信息是与所述特定的第1对应信息对应的函数密码方式的密码文或者密钥信息;以及
解密步骤,信息处理装置将所述第1信息、以及与特定的第2对应信息对应的作为函数密码方式的密钥信息或者密码文的第2信息输入到函数密码方式的解密函数,并且在与对应于所述第1信息的所述特定的第1对应信息以及对应于所述第2信息的所述特定的第2对应信息的组合对应的逻辑式的真值为真的情况下生成解密结果,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的一种值或者多种值能够分别得到解密结果的值,
当所述第1信息为对应于所述特定的第1对应信息的密码文时,所述第2信息是对应于所述特定的第2对应信息的密钥信息,当所述第1信息为对应于所述特定的第1对应信息的密钥信息时,所述第2信息是对应于所述特定的第2对应信息的密码文,
所述协议是从包含定时释放密码协议、前向安全密码协议、密钥隔离密码协议、ccA2安全密码协议、关键字检索密码协议中的至少一个的集合中选择的协议,
所述协议为定时释放密码协议时的所述规则为,将用于确定所述第1信息的生成时刻以后的时刻的信息设为所述识别符的规则,
所述协议为前向安全密码协议或者密钥隔离密码协议时的所述规则分别是,将包含所述第1信息的生成时刻的时间区间或者用于确定所述第1信息的生成时刻以后的时间区间的信息设为所述识别符的规则,
所述协议为CCA2安全密码协议时的所述规则为,将用于确定每当生成所述第1信息时新设定的一次性信息的信息设为所述识别符的规则,
所述协议为关键字检索密码协议时的所述规则为,将用于确定数据库的检索用关键字的信息设为所述识别符的规则。
35.一种信息输出方法,包括:
识别符确定步骤,识别符确定部根据对按照函数密码方式的每个协议决定的规则、或者对按照所述函数密码方式的协议的组合的每一个决定的规则,确定与按照所述函数密码方式的特定的协议对应的、或者与按照所述函数密码方式的特定的协议的组合对应的一种识别符或者多种识别符,其中,所述函数密码方式是在与第1对应信息以及第2对应信息的组合对应的逻辑式的真值为真的情况下密码文被正确解密的方式;
对应信息设定步骤,对应信息设定部设定与所述一种识别符或者所述多种识别符的组合对应的特定的第1对应信息;以及
输出步骤,输出部输出第1信息,所述第1信息是与所述特定的第1对应信息对应的函数密码方式的密码文或者密钥信息,
所述协议是从包含定时释放密码协议、前向安全密码协议、密钥隔离密码协议、ccA2安全密码协议、关键字检索密码协议中的至少一个的集合中选择的协议,
所述协议为定时释放密码协议时的所述规则为,将用于确定所述第1信息的生成时刻以后的时刻的信息设为所述识别符的规则,
所述协议为前向安全密码协议或者密钥隔离密码协议时的所述规则分别是,将包含所述第1信息的生成时刻的时间区间或者用于确定所述第1信息的生成时刻以后的时间区间的信息设为所述识别符的规则,
所述协议为CCA2安全密码协议时的所述规则为,将用于确定每当生成所述第1信息时新设定的一次性信息的信息设为所述识别符的规则,
所述协议为关键字检索密码协议时的所述规则为,将用于确定数据库的检索用关键字的信息设为所述识别符的规则。
36.如权利要求35所述的信息输出方法,其中,
所述识别符确定步骤是确定与所述特定的协议的组合对应的所述一种识别符或者多种识别符的步骤,
所述特定的协议的组合是由按照所述函数密码方式的多种协议构成的组合。
37.如权利要求35或36所述的信息输出方法,还包括:
切换步骤,切换部根据所述特定的协议,切换所述第1信息是密码文还是密钥信息。
38.一种信息处理方法,包括:
解密步骤,解密部将与特定的第1对应信息对应的作为函数密码方式的密码文或者密钥信息的第1信息、以及与特定的第2对应信息对应的作为所述函数密码方式的密钥信息或者密码文的第2信息输入到函数密码方式的解密函数,并且在与对应于所述第1信息的特定的第1对应信息以及对应于所述第2信息的所述特定的第2对应信息的组合对应的逻辑式的真值为真的情况下生成解密结果,其中,所述特定的第1对应信息与一种识别符或者多种识别符的组合对应,该一种识别符或者多种识别符的组合根据对按照所述函数密码方式的每个协议决定的规则、或者对按照所述函数密码方式的协议的组合的每一个决定的规则而决定,所述函数密码方式是在与所述第1对应信息以及所述第2对应信息的组合对应的逻辑式的真值为真的情况下密码文被正确解密的方式,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的一种值或者多种值分别能够得到解密结果的值,
当所述第1信息为对应于所述特定的第1对应信息的密码文时,所述第2信息是对应于所述特定的第2对应信息的密钥信息,当所述第1信息为对应于所述特定的第1对应信息的密钥信息时,所述第2信息是对应于所述特定的第2对应信息的密码文,
所述协议是从包含定时释放密码协议、前向安全密码协议、密钥隔离密码协议、ccA2安全密码协议、关键字检索密码协议中的至少一个的集合中选择的协议,
所述协议为定时释放密码协议时的所述规则为,将用于确定所述第1信息的生成时刻以后的时刻的信息设为所述识别符的规则,
所述协议为前向安全密码协议或者密钥隔离密码协议时的所述规则分别是,将包含所述第1信息的生成时刻的时间区间或者用于确定所述第1信息的生成时刻以后的时间区间的信息设为所述识别符的规则,
所述协议为CCA2安全密码协议时的所述规则为,将用于确定每当生成所述第1信息时新设定的一次性信息的信息设为所述识别符的规则,
所述协议为关键字检索密码协议时的所述规则为,将用于确定数据库的检索用关键字的信息设为所述识别符的规则。
39.如权利要求38所述的信息处理方法,其中,
在对应于所述特定的第1对应信息的所述第1信息、以及对应于所述特定的第2对应信息的所述第2信息输入到所述解密函数时,所述特定的第2对应信息取相对于所述特定的第1对应信息所取的多种值分别能够得到解密结果的值。
40.如权利要求38或39所述的信息处理方法,其中,
所述一种识别符或者多种识别符与所述特定的协议的组合对应,所述特定的协议的组合是由按照所述函数密码方式的多种协议构成的组合。
41.如权利要求40所述的信息处理方法,还包括:
切换步骤,切换部根据所述特定的协议,切换所述第2信息是密钥信息还是密码文。
42.如权利要求38或39所述的信息处理方法,还包括:
切换步骤,切换部根据所述特定的协议,切换所述第2信息是密钥信息还是密码文。
CN201080033976.9A 2009-08-03 2010-07-30 函数密码应用系统及方法 Active CN102484586B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009-180493 2009-08-03
JP2009180493 2009-08-03
PCT/JP2010/062948 WO2011016401A1 (ja) 2009-08-03 2010-07-30 関数暗号応用システム及び方法

Publications (2)

Publication Number Publication Date
CN102484586A CN102484586A (zh) 2012-05-30
CN102484586B true CN102484586B (zh) 2014-12-03

Family

ID=43544296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080033976.9A Active CN102484586B (zh) 2009-08-03 2010-07-30 函数密码应用系统及方法

Country Status (6)

Country Link
US (1) US8938068B2 (zh)
EP (1) EP2464051B1 (zh)
JP (1) JP5285778B2 (zh)
KR (1) KR101362443B1 (zh)
CN (1) CN102484586B (zh)
WO (1) WO2011016401A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1775880A1 (en) * 2005-10-11 2007-04-18 STMicroelectronics S.r.l. Method of processing information to be confidentially transmitted
CN103004129B (zh) * 2010-07-23 2015-04-08 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、程序及记录介质
US9237013B2 (en) * 2011-12-20 2016-01-12 Mitsubishi Electric Corporation Encrypted data management device, encrypted data management method, and encrypted data management program
US8566601B1 (en) 2012-09-12 2013-10-22 Zeutro Llc Systems and methods for functional encryption using a string of arbitrary length
JP5852551B2 (ja) * 2012-11-12 2016-02-03 日本電信電話株式会社 関数型暗号システム、鍵生成装置、暗号化装置、復号装置、関数型暗号方法、およびプログラム
WO2014092105A1 (ja) * 2012-12-12 2014-06-19 日本電気株式会社 データベース検索装置、データベース検索方法及びプログラム
CA2906232C (en) * 2013-03-15 2023-09-19 Locus Analytics, Llc Domain-specific syntax tagging in a functional information system
JP6244728B2 (ja) * 2013-08-07 2017-12-13 富士通株式会社 情報処理方法及びプログラム
JP6144992B2 (ja) * 2013-08-08 2017-06-07 株式会社日立製作所 検索可能暗号処理システム及び方法
WO2015194117A1 (ja) * 2014-06-16 2015-12-23 日本電気株式会社 条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体
JP6104469B2 (ja) * 2014-07-02 2017-03-29 三菱電機株式会社 行列生成装置及び行列生成方法及び行列生成プログラム
CN107251479B (zh) * 2015-02-20 2020-08-11 三菱电机株式会社 数据保管装置和数据处理方法
US9209974B1 (en) * 2015-05-03 2015-12-08 Zeutro, Llc Functional encryption key management
CN106452770B (zh) * 2015-08-12 2020-10-13 深圳市腾讯计算机系统有限公司 一种数据加密方法、解密方法、装置和系统
WO2018070932A1 (en) * 2016-10-14 2018-04-19 Huawei International Pte. Ltd. System and method for querying an encrypted database for documents satisfying an expressive keyword access structure
US11818254B2 (en) * 2017-08-22 2023-11-14 Nippon Telegraph And Telephone Corporation Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium
CN108733802B (zh) * 2018-05-17 2023-03-24 腾讯科技(深圳)有限公司 识别码生成及解析方法、装置、存储介质和电子设备
US11228432B2 (en) * 2019-03-04 2022-01-18 Siavash Bayat-Sarmadi Quantum-resistant cryptoprocessing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864171A (zh) * 2003-08-08 2006-11-15 皇家飞利浦电子股份有限公司 处理数据的系统及其方法
CN101222321A (zh) * 2007-01-10 2008-07-16 株式会社东芝 内容分发系统和跟踪系统

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL113259A (en) * 1995-04-05 2001-03-19 Diversinet Corp A device and method for a secure interface for secure communication and data transfer
US5751811A (en) * 1995-08-30 1998-05-12 Magnotti; Joseph C. 32N +D bit key encryption-decryption system using chaos
US6259789B1 (en) * 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6937728B1 (en) * 1999-05-19 2005-08-30 Nippon Telegraph And Telephone Corporation Verifiable anonymous channel
US7184549B2 (en) * 2000-01-14 2007-02-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
EP1278331A4 (en) * 2000-03-30 2006-06-07 Sanyo Electric Co CONTENTS DATA STORAGE
US20040073790A1 (en) * 2001-07-13 2004-04-15 Giuseppe Ateniese Intermediated delivery scheme for asymmetric fair exchange of electronic items
US20030053625A1 (en) * 2001-09-10 2003-03-20 The Titan Corporation Self-synchronizing, stream-oriented data encryption technique
US7139918B2 (en) * 2002-01-31 2006-11-21 International Business Machines Corporation Multiple secure socket layer keyfiles for client login support
US7349538B2 (en) * 2002-03-21 2008-03-25 Ntt Docomo Inc. Hierarchical identity-based encryption and signature schemes
US7549147B2 (en) * 2002-04-15 2009-06-16 Core Sdi, Incorporated Security framework for protecting rights in computer software
EP1520369B1 (en) * 2002-05-31 2006-10-18 Scientific Generics Limited Biometric authentication system
JP2004015667A (ja) * 2002-06-10 2004-01-15 Takeshi Sakamura Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード
KR100886551B1 (ko) * 2003-02-21 2009-03-02 삼성전자주식회사 이동통신시스템에서 인터넷 프로토콜 버전에 따른 트래픽플로우 탬플릿 패킷 필터링 장치 및 방법
US7200226B2 (en) * 2003-09-04 2007-04-03 Intel Corporation Cipher block chaining decryption
GB0321335D0 (en) * 2003-09-11 2003-10-15 Rogers Paul J Method and apparatus for use in security
ATE552709T1 (de) * 2003-09-26 2012-04-15 Ericsson Telefon Ab L M Verbesserter sicherheitsentwurf für die kryptographie in mobilkommunikationssystemen
US8086536B2 (en) * 2004-09-16 2011-12-27 Microsoft Corporation Location based licensing
US20060075220A1 (en) * 2004-10-01 2006-04-06 Baugher Mark J System and method to authorize a device to receive a content work based on device capabilities and content-work permissions
US20060126841A1 (en) * 2004-12-14 2006-06-15 Tata Consultancy Services Ltd. Method and apparatus for a security system for wireless networks
US7634085B1 (en) * 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US7546460B2 (en) * 2005-03-30 2009-06-09 Oracle International Corporation Secure communications across multiple protocols
JP2006333095A (ja) * 2005-05-26 2006-12-07 Hiromi Fukaya 暗号通信方法、暗号通信システム、暗号通信装置及び暗号通信プログラム
JP2007036364A (ja) * 2005-07-22 2007-02-08 Nec Corp タイム装置、暗号化装置、復号化装置、暗号化/復号化システム
EP1758337B1 (fr) * 2005-08-23 2012-08-01 Alcatel Lucent Procédé de transmission securisée de données, via des reseaux, par échange d'informations d'encryptage, et dispositif d'encryptage/decryptage correspondant
US20070223703A1 (en) * 2005-10-07 2007-09-27 Sanjeev Verma Method and apparatus for providing service keys within multiple broadcast networks
EP1855223A1 (en) * 2006-05-12 2007-11-14 Telefonaktiebolaget LM Ericsson (publ) Extending the DRM realm to external devices
WO2008066671A2 (en) 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
US8958562B2 (en) * 2007-01-16 2015-02-17 Voltage Security, Inc. Format-preserving cryptographic systems
EP2120227B1 (en) * 2007-01-19 2015-04-15 Mitsubishi Electric Corporation Cryptogram generating device, cryptogram communication system, and group parameter generating device
US20080304664A1 (en) * 2007-06-07 2008-12-11 Shanmugathasan Suthaharan System and a method for securing information
US8291231B2 (en) * 2007-11-07 2012-10-16 Nippon Telegraph And Telephone Corporation Common key setting method, relay apparatus, and program
US20090132423A1 (en) * 2007-11-15 2009-05-21 Ebay Inc. Send money plug in for web mails
US8964982B2 (en) * 2009-04-24 2015-02-24 Nippon Telegraph And Telephone Corporation Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
KR101246241B1 (ko) * 2009-04-24 2013-03-22 니뽄 덴신 덴와 가부시키가이샤 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체
JP5454673B2 (ja) * 2010-03-17 2014-03-26 富士通株式会社 通信装置、プログラムおよび方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864171A (zh) * 2003-08-08 2006-11-15 皇家飞利浦电子股份有限公司 处理数据的系统及其方法
CN101222321A (zh) * 2007-01-10 2008-07-16 株式会社东芝 内容分发系统和跟踪系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products》;Katz,J等;《Cryptology Eprint Archive:Report 2007/404》;20070708;第3页第2节-第17页第5.3节 *
Katz,J等.《Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products》.《Cryptology Eprint Archive:Report 2007/404》.2007,第3页第2节-第17页第5.3节. *

Also Published As

Publication number Publication date
WO2011016401A1 (ja) 2011-02-10
EP2464051B1 (en) 2015-05-27
KR101362443B1 (ko) 2014-02-11
JP5285778B2 (ja) 2013-09-11
EP2464051A4 (en) 2013-05-22
CN102484586A (zh) 2012-05-30
EP2464051A1 (en) 2012-06-13
US20120163588A1 (en) 2012-06-28
KR20120042901A (ko) 2012-05-03
JPWO2011016401A1 (ja) 2013-01-10
US8938068B2 (en) 2015-01-20

Similar Documents

Publication Publication Date Title
CN102484586B (zh) 函数密码应用系统及方法
CN102396012B (zh) 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
JP5379914B2 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
CN102396011B (zh) 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质
CN103444126B (zh) 密码处理系统、密钥生成装置、加密装置、解密装置以及密码处理方法
KR101336349B1 (ko) 암호 처리 시스템, 키 생성 장치, 키 위양 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
Wang et al. Fuzzy matching and direct revocation: a new CP-ABE scheme from multilinear maps
CN104718566A (zh) 密码系统
Seo et al. Revocable hierarchical identity-based encryption
Lee et al. Anonymous HIBE with short ciphertexts: full security in prime order groups
JP6259402B2 (ja) 鍵配送管理装置、端末装置、鍵配送システム、およびプログラム
Liu et al. Efficient Revocable Attribute-Based Encryption from R-LWE in Cloud Storage
Ding et al. Ciphertext retrieval via attribute-based FHE in cloud computing
Yong et al. An Efficient Anonymous IBE Scheme based on a Probabilistic Mapping Technique.
Zhang et al. Leakage-resilient anonymous identity-based broadcast encryption in the standard model
Chun et al. Comments on “Identity-Based Revocation From Subset Difference Methods Under Simple Assumptions”

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