CN102396012B - 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 - Google Patents
秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 Download PDFInfo
- Publication number
- CN102396012B CN102396012B CN201080016595.XA CN201080016595A CN102396012B CN 102396012 B CN102396012 B CN 102396012B CN 201080016595 A CN201080016595 A CN 201080016595A CN 102396012 B CN102396012 B CN 102396012B
- Authority
- CN
- China
- Prior art keywords
- secret
- information
- unit
- value
- dispersion
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
Abstract
实现安全的秘密分散方式。按各个子集合SUB(α)独立地对秘密信息进行秘密分散从而生成分散信息SH(α,h(α)),分散管理装置PA(α,h(α))使用包含由各个子集合SUB(α)共享的共享值σ(α)的共同信息和分散信息SH(α,h(α)),通过共同运算来生成分散秘密值DSH(α,h(α)),取得装置使用与相同的子集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),使用秘密复原值SUBSK(α)来生成生成信息SK。
Description
技术领域
本发明涉及秘密分散技术。
背景技术
在保管秘密信息时,存在秘密信息的遗失或破坏的风险和被盗的风险。能够通过保管多个秘密信息来降低遗失或破坏的风险。但是,这种情况下被盗的风险增加。作为一起解决这些风险的方法之一,存在秘密分散法(SSS:Secret Sharing Scheme)(例如,参照非专利文献1、2)。
秘密分散法是如下的方式:根据秘密信息MSK生成多个分散信息(share information)SH(1),...,SH(N),并将这些分散信息分散到多个分散管理装置PA(1),...,PA(N)而进行管理,并且仅在这些分散信息SH(1),...,SH(N)中能够取得规定数目以上的分散信息的情况下,能够复原秘密信息MSK。以下,表示秘密分散法的代表性的方式。
[(N,N)阈值秘密分散法]
(N,N)阈值秘密分散法是如下的方式:如果提供所有的分散信息SH(1),...,SH(N),则能够复原秘密信息MSK,但是,即使提供任意的N-1个分散信息 也无法完全得到秘密信息MSK的信息。以下,表示其一例。
■随机选择SH1,...,SHN-1。
■进行SHN=MSK-(SH1+...+SHN-1)的计算。
■将各分散信息SH1,...,SHN分散到多个分散管理装置PA(1),...,PA(N)而进行管理。
■如果提供全部的分散信息SH1,...,SHN,则能够通过MSK=SH1+...+SHN的复原处理来复原秘密信息MSK。
另外,用于从分散信息SH1,...,SHN复原秘密信息MSK的运算MSK=SH1+...+SHN是线型的。因此,在将各分散信息SH(1),...,SH(N)和值σ 作为被运算符而对各个分散信息进行相同的线型运算CALC,并将该计算结果作为各分散信息SH′(1),...,SH′(N)而进行了复原处理的情况下,得到将秘密信息MSK和值σ作为被运算符而进行了该线型运算CALC的结果。例如,在将SH′(1)=σ·SH(1),..,SH′(N)=σ·SH(N)作为各分散信息SH′(1),...,SH′(N)而执行了复原处理的情况下,得到式(1)。
σ·SH(1)+...+σ·SH(N)
=σ·(SH(1)+...+SH(N))
=σ·MSK ...(1)
另一方面,在将各分散信息SH(1),...,SH(N)和互相独立的值σ(1),...,σ(N)作为被运算符而对各个分散信息进行相同的线型运算CALC,并将其结果作为各分散信息SH′(1),...,SH′(N)而执行了复原处理的情况下,通常无法得到将秘密信息MSK作为被运算符的运算结果。例如,将SH′(1)=σ(1)·SH(1),..,SH′(N)=σ(N)·SH(N)作为各分散信息SH′(1),...,SH′(N)而执行了复原处理的情况下,得到式(2)。
σ(1)·SH(1)+...+σ(N)·SH(N) ...(2)
[(K,N)阈值秘密分散法]
■随机选择满足f(0)=MSK的K-1次多项式f(x)=ξ0+ξ1·x+ξ2·x2+...+ξK-1·xK-1。即,设为ξ0=MSK,并随机选择ξ1,...,ξK-1。将分散信息设为SHρ=(ρ,f(ρ))(ρ=1,...,N)。
■在得到了不相同的任意K个分散信息 的情况下,例如使用Lagrange的内插公式,能够通过如下的复原处理来复原秘密信息MSK。
[数1]
其中,“ρ”
,式(4)的分子为
。这些关系在本质上也成立。
此外,式(3)的运算是线型的。因此,将各分散信息 和值σ作为被运算符对各个分散信息进行相同的线型运算CALC,并将其结果作为各分散信息 而进行了复原的值、与将秘密信息MSK和值σ作为被运算符进行了线型运算CALC的结果相等。另一方面,在将各分散信息 和互相独立的值 作为被运算符而对各个分散信息进行相同的线型运算CALC,并将其结果作为各分散信息 而执行了复原处理的情况下,通常无法得到将秘密信息MSK作为被运算符的运算结果。
现有技术文献:
非专利文献1:黒沢馨、尾形わかは、“現代暗号の基礎数理(電子情報通信レクチヤ一シリ一ズ)”、コロナ社、2004年3月、p.116-119。
非专利文献2:A.Shamir,″How to Share a Secret″,Communications of the ACM,November 1979,Volume 22,Number 11,pp.612-613。
发明内容
发明要解决的课题
设想满足以下条件的方式。
(条件1)分散装置对秘密信息MSK进行秘密分散而生成多个分散信息SH(1),...,SH(N),将这些分散信息分散到多个分散管理装置PA(1),...,PA(N)而进行管理。
(条件2)各分散管理装置PA(1),...,PA(N)分别执行一些运算。
(条件3)取得装置虽然无法得到秘密信息MSK,但是,在提供了由规定数以上的分散管理装置生成的运算结果的情况下,能够得到与在被运算符中包含秘密信息MSK和任意的值σ的运算结果相同的生成信息SK。
但是,实现这样的方式不是容易的。即,如果各分散管理装置PA(1),...,PA(N)分别使用相互独立的值σ(1),...,σ(N)而执行运算,则取得装置无法通过将各分散管理装置的运算结果作为分散信息的复原处理来生成生成信息SK。另一方面,值σ可能成为用于估计生成信息SK的信息,因此从安全性的观点看,所有的分散管理装置PA(1),...,PA(N)对值σ本身进行共享不是理想的。
本发明鉴于这样的点而完成,其目的在于,安全地实现满足上述条件1~3的方式。
用于解决课题的手段
在本发明中,首先,分散装置按各个子集合SUB(α)独立地对秘密信息进行秘密分散从而生成分散信息SH(α,h(α)),并且输出该分散信息SH(α,h(α)),其中,该子集合SUB(α)由属于由∑α=1 Lh(α)个分散管理装置PA(α,h(α))(α=1,...,L,L≥2,h(α)=1,...,H(α),H(α)≥2)构成的集合的H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成。接着,分散管理装置PA(α,h(α))使用包含由各个子集合SUB(α)共享的共享值σ(α)的共同信息和、分散信息SH(α,h(α)),进行共同运算从而生成分散秘密值DSH(α,h(α)),并且输出该分散秘密值DSH(α,h(α))。其中,由在属于相同的所述子集合SUB(α)的分散管理装置PA(α,h(α))的分散秘密值生成单元分别使用的共同信息互相相同,由属于相同的子集合SUB(α)的分散管理装置PA(α,h(α))的分散秘密值生成单元分别进行的共同运算互相相同。
接着,取得装置使用与相同的子集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),并输出该各个子集合SUB(α)的秘密复原值SUBSK(α)。然后,取得装置使用秘密复原值SUBSK(α)来生成生成信息SK,并输出该生成信息SK。
这里,在本发明中,按各个子集合SUB(α)独立地对秘密信息进行秘密分散,并使用包含由各个子集合SUB(α)共享的共享值σ(α)的共同信息来生成分散秘密值DSH(α,h(α))。这时,通过各个子集合SUB(α)的复原处理而得到的秘密复原值SUBSK(α),与将秘密信息和、包含共享值σ(α)的共同信息包含在被运算符的运算结果相同。因此,使用复原后的秘密复原值SUBSK(α)而生成的生成信息SK与将秘密信息和任意的值σ包含在被运算符的运算结果相同。 此外,在本发明中,所有的分散管理装置PA(α,h(α))不共享该任意的值σ,因此安全性高。
发明的效果
如上所述,在本发明中能够安全地实现满足上述条件1~3的方式。
附图说明
图1是用于说明第一实施方式的秘密分散系统的整体结构的方框图。
图2是用于说明图1的分散装置的结构的方框图。
图3A是用于说明第一实施方式的分散管理装置的结构的方框图。图3B是用于说明第一实施方式的共享值生成装置的结构的方框图。
图4是用于说明第一实施方式的取得装置的结构的方框图。
图5A是用于说明图2的秘密分散单元的细节的方框图。图5B是用于说明图3A的分散秘密值生成单元的细节的方框图。
图6是用于说明图4的复原单元的细节的方框图。
图7是用于说明第一实施方式的秘密分散处理的整体的图。
图8A是用于例示第一实施方式的分散装置的处理的图。图8B是用于例示步骤S112的处理的细节的图。
图9A是用于例示第一实施方式的分散管理装置的处理的图。图9B是用于例示步骤S124的处理的细节的图。
图10A是用于例示第一实施方式的取得装置的处理的图。图10B是用于例示步骤S134的处理的图。
图11A是用于说明第一实施方式的变形例1的秘密分散单元的结构的图。图11B是用于说明第一实施方式的变形例1的分散秘密值生成单元的结构的图。
图12A是用于说明第一实施方式的变形例2的分散秘密值生成单元的结构的图。图12B是用于说明第一实施方式的变形例2的复原单元的结构的图。
图13A是用于说明第一实施方式的变形例3的秘密分散单元的结构的图。图13B是用于说明第一实施方式的变形例3的分散秘密值生成单元的结构的图。图13C是用于说明第一实施方式的变形例3的复原单元的结构的图。
图14A是用于说明第一实施方式的变形例4的秘密分散单元的结构的图。图14B是用于说明第一实施方式的变形例4的分散秘密值生成单元的结 构的图。图14C是用于说明第一实施方式的变形例4的复原单元的结构的图。
图15是用于说明第二实施方式的分散装置的结构的方框图。
图16是用于说明第二实施方式的分散管理装置的结构的方框图。
图17是用于说明第二实施方式的取得装置的结构的方框图。
图18是用于说明图17的合成单元的结构的方框图。
图19是用于说明第二实施方式的秘密分散处理的整体的图。
图20是用于例示第二实施方式的分散装置的处理的图。
图21是用于例示第二实施方式的分散管理装置的处理的图。
图22是用于例示第二实施方式的取得装置的处理的图。
具体实施方式
以下,参照附图来说明本发明的实施方式。
【第一实施方式】
首先,说明本发明的第一实施方式。
[定义]
首先,对在本方式中使用的用语和标号进行定义。
Fq:Fq表示位数q的有限域。位数q为1以上的整数,例如将质数或质数的幂乘值作为位数q。即,有限域Fq的例子是质数域、或者将其作为基础域的扩展域。另外,例如通过将位数q作为除数的余数运算,从而能够容易地构成在有限域Fq为质数域时的运算。此外,例如通过将不可约多项式作为除数的余数运算,从而能够容易地构成在有限域Fq为扩展域时的运算。有限域Fq的具体的构成方法,例如公开于参考文献1“ISO/IEC 18033-2:Information technology-Security techniques-Encryption algorithms-Part 2:Asymmetric ciphers”。
0F:0F表示有限域Fq的加法单位元。
1F:1F表示有限域Fq的乘法单位元。
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上的任意2点定义被称 作椭圆加算的二项运算+,对椭圆曲线E上的任意1点定义被称作椭圆逆元的单项运算-。此外,由椭圆曲线E上的有理点构成的有限集合关于椭圆加算而组成群、使用椭圆加算能够定义被称为椭圆标量倍算的运算、以及计算机上的椭圆加算等椭圆运算的具体的运算方法被众所周知(例如,参照参考文献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的点。
G:G表示巡回群。巡回群G的具体例子是,由椭圆曲线E的p等分点构成的有限集合E[p]、其子群、余数群等。另外,在本方式中,用加法表现在巡回群G上定义的运算。即,对于χ∈Fq和Ω∈G的χ·Ω∈G意味着,对Ω∈G实施χ次在巡回群G中定义的运算,对于Ω1、Ω2∈G的Ω1+Ω2∈G意味着,将Ω1∈G和Ω2∈G作为被运算符进行在巡回群G中定义的运算。
g:g表示巡回群G的生成元。
<整体结构>
图1是用于说明第一实施方式的秘密分散系统1的整体结构的方框图。
如图1所例示,本发明的秘密分散系统1具有分散装置110、∑α=1 Lh(α)个分散管理装置〔PA(α,h(α))(α=1,...,L,L≥2,h(α)=1,...,H(α),H(α)≥2)〕120-α-h(α)、取得装置130、以及共享值生成装置140-1~L,并且这些装置构成为通过网络150可进行通信。另外,为了简化说明,在本方式中例示了存在1个分散装置110和1个取得装置130的结构,但也可以是分散装置110和/或取得装置存在2个以上的结构。根据同样的理由,在本方式中,例示了仅存在1个由∑α=1 Lh(α)个分散管理装置〔PA(α,h(α))〕120-α-h(α)构成的集合的结构,但是这样的集合也可以存在多个。
如图1所例示,由∑α=1 Lh(α)个分散管理装置〔PA(α,h(α))〕120-α-h(α)构成的集合被区分为由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成的多个子集合SUB(α)的各个。用于生成在各子集合SUB(α)中共享的共享值σ(α)的共享值生成装置140-α分别对应于各子集合SUB(α)。
<分散装置110>
图2是用于说明图1的分散装置110的结构的方框图。此外,图5A是用于说明图2的秘密分散单元114-α的细节的方框图。
如图2所例示,本方式的分散装置110具有临时存储单元111、存储单元112、控制单元113、秘密分散单元114-α(α=1,...,L)、以及发送单元115。此外,如图5A所例示,本方式的秘密分散单元114-α具有函数选择单元114a-α、索引生成单元114b-α、以及分散处理单元114c-α。
本方式的分散装置110是,例如包括具备了CPU(Central Processing Unit,中央处理单元)、RAM(Random Access Memory,随机存取存储器)、ROM(Read-Only Memory,只读存储器)等的公知或专用的计算机和、特别的程序的特别的装置。具体地,临时存储单元111和存储单元112是,例如由RAM、寄存器、高速缓冲存储器、集成电路中的元件或者硬盘等辅助存储装置、或者其至少一部分的组合构成的存储区域。此外,控制单元113和秘密分散单元114-α(α=1,...,L)是,例如通过CPU执行规定的程序而构成的处理单元。另外,控制单元113和秘密分散单元114-α(α=1,...,L)的至少一部分也可以由特别的集成电路构成。此外,发送单元115是,例如调制解调器、LAN(Local Area Network,局域网)卡等通信装置。
此外,分散装置110在控制单元113的控制下执行各种处理。此外,以下,虽然简化说明,但是从各处理单元输出的数据依次被存储到临时存储单元111或存储单元112。存储到临时存储单元111或存储单元112的数据根据需要被读取,并输入到各处理单元,从而利用于该处理。
<分散管理装置〔PA(α,h(α))〕120-α-h(α)>
图3A是用于说明第一实施方式的分散管理装置〔PA(α,h(α))〕120-α-h(α)的结构的方框图。此外,图5B是用于说明图3A的分散秘密值生成单元124-α-h(α)的细节的方框图。
如图3A所例示,本方式的分散管理装置〔PA(α,h(α))〕120-α-h(α)具有临时存储单元121-α-h(α)、存储单元122-α-h(α)、控制单元123 -α-h(α)、分散秘密值生成单元124-α-h(α)、发送单元125-α-h(α)、以及接收单元126-α-h(α)。此外,如图5B所例示,分散秘密值生成单元124-α-h(α)具有线型运算单元124a-α-h(α)和分散秘密值合成单元124b-α-h(α)。
分散管理装置〔PA(α,h(α))〕120-α-h(α)是,例如包括具备了CPU、RAM、ROM等的公知或专用的计算机和、特别的程序的特别的装置。具体地,临时存储单元121-α-h(α)和存储单元122-α-h(α)是,例如由RAM、寄存器、高速缓冲存储器、集成电路中的元件或者硬盘等辅助存储装置、或者其至少一部分的组合构成的存储区域。此外,控制单元123-α-h(α)和分散秘密值生成单元124-α-h(α)是,例如通过CPU执行规定的程序而构成的处理单元。另外,控制单元123-α-h(α)和分散秘密值生成单元124-α-h(α)的至少一部分也可以由特别的集成电路构成。此外,发送单元125-α-h(α)和接收单元126-α-h(α)是,例如调制解调器、LAN卡等通信装置。
此外,分散管理装置〔PA(α,h(α))〕120-α-h(α)在控制单元123-α-h(α)的控制下执行各种处理。此外,以下,虽然简化说明,但是从各处理单元输出的数据依次被存储到临时存储单元121-α-h(α)或存储单元122-α-h(α)。存储到临时存储单元121-α-h(α)或存储单元122-α-h(α)的数据根据需要被读取,并输入到各处理单元,从而利用于该处理。
<共享值生成装置140-α>
图3B是用于说明第一实施方式的共享值生成装置140-α的结构的方框图。
如图3B所例示,本方式的共享值生成装置140-α具有随机数生成单元141-α和发送单元142-α。本方式的共享值生成装置140-α是例如包括具备了CPU、RAM、ROM等的公知或专用的计算机和、特别的程序的特别的装置,但是随机数生成单元141-α也可以由特别的集成电路构成。
<取得装置130>
图4是用于说明第一实施方式的取得装置130的结构的方框图。此外,图6是用于说明图4的复原单元134-α的细节的方框图。
如图4所例示,本方式的取得装置130具有临时存储单元131、存储单元132、控制单元133、复原单元134-α(α=1,...,L)、合成单元137、发送单 元135、接收单元136。此外,如图6所例示,复原单元134-α具有系数计算单元134a-α和多项式运算单元134b-α。
本方式的取得装置130是,例如包括具备了CPU、RAM、ROM等的公知或专用的计算机和、特别的程序的特别的装置。具体地,临时存储单元131和存储单元132是,例如由RAM、寄存器、高速缓冲存储器、集成电路中的元件或者硬盘等辅助存储装置、或者其至少一部分的组合构成的存储区域。此外,控制单元133和复原单元134-α(α=1,...,L)和合成单元137是,例如通过CPU执行规定的程序而构成的处理单元。另外,控制单元133和复原单元134-α(α=1,...,L)和合成单元137的至少一部分也可以由特别的集成电路构成。此外,发送单元135和接收单元136是,例如调制解调器、LAN卡等通信装置。
此外,取得装置130在控制单元133的控制下执行各种处理。此外,以下,虽然简化说明,但是从各处理单元输出的数据依次被存储到临时存储单元131或存储单元132。存储到临时存储单元131或存储单元132的数据根据需要被读取,并输入到各处理单元,从而利用于该处理。
<秘密分散处理>
以下,说明本方式的秘密分散处理。
[事前处理]
作为本方式的秘密分散处理的事前处理,在分散装置110的存储单元112中存储用于确定秘密信息θ·g∈G的信息θ∈Fq。
[秘密分散处理的整体]
图7是用于说明第一实施方式的秘密分散处理的整体的图。以下,使用图7来说明本方式的秘密分散处理的整体。
在本方式中,首先,分散装置110(图1)按各个子集合SUB(α)独立地对秘密信息θ·g∈G进行秘密分散从而生成分散信息SH(α,h(α)),并且输出该分散信息SH(α,h(α))(步骤S11)。各分散信息SH(α,h(α))分别经由网络150而分散发送到各分散管理装置〔PA(α,h(α))〕120-α-h(α)。
被发送各分散信息SH(α,h(α))的各分散管理装置〔PA(α,h(α))〕120-α-h(α)分别使用该分散信息SH(α,h(α))和、包含由各个子集合SUB(α)所共享的共享值σ(α)的共同信息来进行规定的共同运算,从而生成分散秘密值DSH(α,h(α)),并且输出该分散秘密值DSH(α,h(α))(步骤S12)。
在本方式的情况下,在互相不同的子集合SUB(α)中分别共享的共享值σ(α)互相独立。此外,由属于同一子集合SUB(α)的分散管理装置〔PA(α,h(α))〕120-α-h(α)分别使用的“共同信息”互相相同。特别地,在本方式中例示的“共同信息”包含共享值σ(α)、从取得装置130提供的在所有的分散管理装置〔PA(α,h(α))〕120-α-h(α)中共同的提供信息w。此外,由属于同一子集合SUB(α)的分散管理装置〔PA(α,h(α))〕120-α-h(α)分别进行的“共同运算”互相相同。在本方式中,设为所有的“共同运算”相同。此外,本方式的“共同运算”是具有线型特性的运算。
从各分散管理装置〔PA(α,h(α))〕120-α-h(α)输出的各分散秘密值DSH(α,h(α))分别经由网络150而发送到取得装置130。取得装置130使用与相同的子集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α)(步骤S13)。
接着,取得装置130使用对各子集合SUB(α)分别生成的秘密复原值SUBSK(α)来生成生成信息SK,并输出该生成信息SK(步骤S14)。另外,在本方式中,取得装置130对秘密复原值SUBSK(α)进行线型结合而得到生成信息SK。
[分散装置的处理(步骤S11)]
图8A是用于例示第一实施方式的分散装置的处理的图,图8B是用于例示步骤S112的处理的细节的图。以下,使用这些图来说明分散装置110的处理的细节。
首先,由分散装置110(图2)的控制单元113设定为α=1,并将该设定内容存储到临时存储单元111(步骤S111)。接着,从存储单元112读取用于确定秘密信息θ·g∈G的信息θ∈Fq,并输入到秘密分散单元114-α。秘密分散单元114-α使用信息θ∈Fq来对秘密信息θ·g进行秘密分散,生成对于子集合SUB(α)的H(α)个分散信息SH(α,1),...,SH(α,H(α))并进行输出(步骤S112)。
《步骤S112的细节》
本方式的秘密分散单元114-α对各子集合SUB(α),使用(R(α),H(α))阈值秘密分散法(其中,R(α)是满足2≤R(α)<H(α)的常数),生成对秘密信息进行了秘密分散的分散信息SH(α,h(α))。
如图8B所例示,首先,秘密分散单元114-α(图5A)的函数选择单元 114a-α随机选择对于预先决定的有限域Fq的元ω∈Fq满足f(α,ω)=θ的R(α)-1次的多项式f(α,x)∈Fq,并进行输出(步骤S112a)。另外,x是由有限域Fq的元构成的变量,元ω∈Fq的一例是0F。
接着,控制单元113判定在临时存储单元111中存储的α是否为L(步骤S113)。这里,在判定为不是α=L的情况下,控制单元113将α+1设为新的α,将该设定内容存储到临时存储单元111(步骤S114),并使根据新的α来执行步骤S112的处理。另一方面,在步骤S113中判定为是α=L的情况下,从各秘密分散单元114-α输出的各分散信息SH(α,h(α))被送到发送单元115。发送单元115分别经由网络150将各分散信息SH(α,h(α))发送到分散管理装置〔PA(α,h(α))〕120-α-h(α)(步骤S115)。即,分散信息SH(1,1)被发送到分散管理装置〔PA(1,1)〕120-1-1,分散信息SH(1,2)被发送到分散管理装置〔PA(1,2)〕120-1-2,...分散信息SH(L,H(L))被发送到分散管理装置〔PA(L,H(L))〕120-L-H(L)。
[共享值生成装置的处理]
各共享值生成装置140-α(图3B)生成由构成与自身对应的子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕120-α-h(α)所共享的共享值σ(α)。在本方式中,将随机数生成单元141-α所生成的随机数设为共享值σ(α),发送单元142-α将共享值σ(α)发送到构成子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕120-α-h(α)。
[分散管理装置的处理(步骤S12)]
图9A是用于例示第一实施方式的分散管理装置〔PA(α,h(α))〕120-α-h(α)的处理的图,图9B是用于例示步骤S124的处理的细节的图。以下,使用这些图来说明本方式的分散管理装置〔PA(α,h(α))〕120-α-h(α)的处 理。
首先,分散管理装置〔PA(α,h(α))〕120-α-h(α)(图3A)的接收单元126-α-h(α)接收所发送的分散信息SH(α,h(α)),并将其存储到存储单元122-α-h(α)(步骤S121)。另外,如果步骤S121的处理过去被执行,从而分散信息SH(α,h(α))已经被存储到分散管理装置〔PA(α,h(α))〕120-α-h(α)的存储单元122-α-h(α),则也可以省略步骤S121的处理。
此外,分散管理装置〔PA(α,h(α))〕120-α-h(α)的接收单元126-α-h(α)接收从共享值生成装置140-α发送的共享值σ(α),并将其存储到存储单元122-α-h(α)(步骤S122)。
此外,在本方式中,由发送单元135经由网络150将从取得装置130(图4)的存储单元132读取的提供信息w发送到各分散管理装置〔PA(α,h(α))〕120-α-h(α)。在所有的分散管理装置中PA(α,h(α))120-α-h(α),该提供信息w是共同的。提供信息w由分散管理装置PA〔(α,h(α))〕120-α-h(α)(图3A)的接收单元126-α-h(α)接收,并存储到存储单元122-α-h(α)(步骤S123)。
接着,分散秘密值生成单元124-α-h(α)从存储单元122-α-h(α)读取分散信息SH(α,h(α))和共享值σ(α)和提供信息w。分散秘密值生成单元124-α-h(α)使用包含共享值σ(α)和提供信息w的共同信息、以及分散信息SH(α,h(α)),进行共同运算FNC1从而生成分散秘密值DSH(α,h(α)),并输出该分散秘密值DSH(α,h(α))(步骤S124)。
《步骤S124的细节》
由属于相同的子集合SUB(α)的分散管理装置PA(α,h(α))120-α-h(α)的分散秘密值生成单元124-α-h(α)分别使用的共同信息互相相同,由属于相同的子集合SUB(α)的分散管理装置PA(α,h(α))120-α-h(α)的分散秘密值生成单元124-α-h(α)分别进行的共同运算互相相同。此外,本方式的分散信息如式(5)所示。
如图9B所例示,首先,对本方式的分散秘密值生成单元124-α-h(α)的线型运算单元124a-α-h(α)输入共享值σ(α)和提供信息w和分散信息 的 线型运算单元124a-α-h(α)进行式(6)的运算,并输出其运算结果 (步骤S124a)。
所输出的运算结果 被输入到分散秘密值合成单元124b-α-h(α)。对分散秘密值合成单元124b-α-h(α)还输入分散信息 的索引 分散秘密值合成单元124b-α-h(α)通过式(7)的运算来生成分散秘密值DSH(α,h(α)),并进行输出(步骤S124b/《步骤S124的细节》的说明结束)。
所生成的分散秘密值DSH(α,h(α))被送到发送单元125-α-h(α)。发送单元125-α-h(α)经由网络150将分散秘密值DSH(α,h(α))发送到取得装置130(步骤S125)。
[取得装置的处理(步骤S13、步骤S14)]
图10A是用于例示第一实施方式的取得装置的处理的图,图10B是用于例示步骤S134的处理的图。
由取得装置130(图4)的接收单元136接收从各分散管理装置PA(α,h(α))120-α-h(α)发送的分散秘密值DSH(α,h(α)),并存储到存储单元132(步骤S131)。
接着,控制单元133判定在存储单元132中是否存储了必要数目以上的分散秘密值DSH(α,h(α))(步骤S132)。在本方式的情况下,对各α=1,...,L分别判定在存储单元132中是否存储了不同的R(α)(2≤R(α)<H(α))个以上的分散秘密值DSH(α,h(α))。这里,在判定为在存储单元132中没有存储必要数目以上的分散秘密值DSH(α,h(α))的情况下,返回到步骤S131的处理。
另一方面,在判定为在存储单元132中存储了必要数目以上的分散秘密值DSH(α,h(α))的情况下,控制单元133设定为α=1,并将该设定内容存储到临时存储单元131(步骤S133)。接着,从存储单元132读取与子集合SUB(α)对应的必要数目量的分散秘密值DSH(α,h(α)),并输入到复原单元134-α。复原单元134-α使用所输入的分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),并输出该各个子集合SUB(α)的秘密复原值SUBSK(α)(步骤S134)。
《步骤S134的细节》
本方式的分散秘密值DSH(α,h(α))如式(7)所示。此外,对复原单元134-α(图6),输入对于各个α不同的R(α)个分散秘密值DSH(α,h(α))。以 下,如下表现对复原单元134-α输入的、与各α对应的分散秘密值DSH(α,h(α))。
… ...(8)
其中,
首先,如图10B所例示,对系数计算单元134a-α输入式(8)所示的 的各索引 系数计算单元134a-α对各ρ=1,...,R(α)分别进行式(11)的运算,生成各系数λρ(x)(ρ=1,...,R(α))并进行输出(步骤S 134a)。
[数2]
接着,对多项式运算单元134b-α输入所生成的各系数λρ(x)和式(8)所示的 的dsh1(α),...,dshR(α)(α)。多项式运算单元134b-α通过式(12)的运算,生成子集合SUB(α)的秘密复原值SUBSK(α)并进行输出(步骤S134b/《步骤S134的细节》的说明结束)。
SUBSK(α)=λ1(ω)·dsh1(α)+...+λR(α)(ω)·dshR(α)(α)∈G ...(12)
接着,控制单元133判定在临时存储单元131中存储的α是否为L(步骤S135)。这里,在判定为不是α=L的情况下,控制单元133将α+1设为新的α,将该设定内容存储到临时存储单元131(步骤S136),并使根据新的α来执行步骤S134的处理。
另一方面,在步骤S135中判定为是α=L的情况下,从各复原单元134-α输出的各秘密复原值SUBSK(α)被送到合成单元137。合成单元137使用对各子集合SUB(α)分别生成的各秘密复原值SUBSK(α)来生成式(13)的生成信息,并输出该生成信息SK(步骤S141)。
SK=FNC2(SUBSK(1),...,SUBSK(L)) ...(13)
《步骤S141的细节》
以下,表示式(13)的具体例。
具体例1:SK=SUBSK(1)+...+SUBSK(L)∈G ...(14)
具体例2:SK=CE1·SUBSK(1)+...+CEL·SUBSK(L)∈G ...(15)
其中,CEα∈Fq是系数,该一例是L的乘法逆元(L)-1∈Fq。此外,也可以将系数CE1,...,CEL的其中一部分设为0F。该情况下,仅使用SUBSK(1)+...+SUBSK(L)的一部分来生成生成信息SK。此外,这时,合成单元137也可以随机选择在系数CE1,...,CEL中设为0F的系数。由此提高安全性。此外,合成单元137也可以是能够自由设定系数CE1,...,CEL的结构。由此,取得装置130能够不使用可靠性低的与子集合SUB(α′)对应的秘密复原值SUBSK(α′)来生成生成信息SK(《步骤S141的细节》的说明结束)。
<第一实施方式的特征>
在本方式中,分散装置110按各个子集合SUB(α)独立地对秘密信息θ·g∈G进行秘密分散从而生成分散信息SH(α,h(α)),各分散管理装置PA(α,h(α))120-α-h(α)使用包含共享值σ(α)和提供信息w的共同信息和分散信息SH(α,h(α)),通过共同运算来生成分散秘密值DSH(α,h(α)),取得装置13使用与相同的子集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),并使用该秘密复原值SUBSK(α)来生成生成信息SK。
由于如此使用在各个子集合SUB(α)中共享的共享值σ(α),并对各个子集合SUB(α)进行秘密分散、共同运算、复原处理,因此能够执行这些处理。此外,由于不是所有的分散管理装置PA(α,h(α))120-α-h(α)对值σ进行共享,在各个子集合SUB(α)中独立地共享共享值σ(α),因此安全性高。尤其,在本方式中,设为在互相不同的子集合SUB(α)中分别共享的共享值σ(α)互相独立。由此,能够确保高的安全性。
此外,在本方式中,分散管理装置PA(α,h(α))120-α-h(α)(α=1,...,L)都进行相同的共同运算FNC1。此外,本方式的共同运算FNC1是具有线型性的运算。因此,在本方式中,能够通过对秘密复原值SUBSK(α)进行线型结合来生成生成信息SK,从而使得使用各秘密复原值SUBSK(α)来生成的生成信息SK与将秘密信息θ·g和某值σ作为被运算符而进行共同运算FNC1的结果相同。
此外,在本方式中,对于各个子集合SUB(α),使用(R(α),H(α))阈值秘 密分散法来对秘密信息θ·g∈G进行了秘密分散。该结构例如通过设为分散信息SH(α,h(α))包括巡回群G的元 的结构来实现,其中,将由有限域Fq的元构成的变量设为x,将对预先决定的有限域Fq的元ω∈Fq满足f(α,ω)=θ的R(α)-1次的多项式设为f(α,x)∈Fq,将与h(α)对应的索引设为 通过如此对作为巡回群的元的秘密信息θ·g∈G进行秘密分散,从而,即使从分散信息SH(α,h(α))复原的秘密信息θ·g泄露到外部,在巡回群G中的离散对数问题的求解困难的前提下,θ也不会泄露到外部。由此能够确保高的安全性。
【第一实施方式的变形例1】
以下,说明第一实施方式的变形例1。
在第一实施方式中,将巡回群G的元设为秘密信息θ·g∈G,并对其进行了秘密分散。但是,也可以对有限域Fq的元θ∈Fq进行秘密分散。在这种情况下,使用(R(α),H(α))阈值秘密分散法进行了秘密分散的分散信息SH(α,h(α))包括有限域Fq的元 其中,将由有限域Fq的元构成的变量设为x,将对预先决定的有限域Fq的元ω∈Fq满足f(α,ω)=θ的R(α)-1次的多项式设为f(α,x)∈Fq,将与h(α)对应的索引设为
图11A是用于说明第一实施方式的变形例1的秘密分散单元214-α的结构的图,图11B是用于说明第一实施方式的变形例1的分散秘密值生成单元224-α-h(α)的结构的图。另外,在这些图中,对与第一实施方式共同的部分附加了与第一实施方式相同的标号。
在第一实施方式的变形例1中,图5A的秘密分散单元114-α被置换为秘密分散单元214-α,图5B的分散秘密值生成单元124-α-h(α)被置换为分散秘密值生成单元224-α-h(α)。其他的结构与第一实施方式相同。
《第一实施方式的变形例1中的步骤S112的变形》
在第一实施方式的变形例1中,图8B所示的步骤S112的处理变形成如下。
首先,执行图8B所示的步骤S112a和步骤S112b。接着,代替步骤S112c,秘密分散单元214-α的分散处理单元214c-α(图11A)使用多项式f(α,x)∈Fq和索引 来生成式(16)的分散信息,并进行输出(《第一实施方式的变形例1中的步骤S112的变形》的说明结束)。
《第一实施方式的变形例1中的步骤S124的变形》
在第一实施方式的变形例1中,图9B所示的步骤S124的处理变形成如下。
首先,代替步骤S124a,对线型运算单元224a-α-h(α)(图11B)输入共享值σ(α)和提供信息w和分散信息 的 线型运算单元224a-α-h(α)进行式(17)的运算,并输出运算结果 运算结果 成为分散秘密值DSH(α,h(α))的一部分信息。之后,执行图9B所示的步骤S124b的处理(《第一实施方式的变形例1中的步骤S124的变形》的说明结束)。其他的处理与第一实施方式相同。
【第一实施方式的变形例2】
以下,说明第一实施方式的变形例2。
图12A是用于说明第一实施方式的变形例2的分散秘密值生成单元324-α-h(α)的结构的图,图12B是用于说明第一实施方式的变形例2的复原单元334-α的结构的图。另外,在这些图中,对与第一实施方式共同的部分附加与第一实施方式相同的标号。
在第一实施方式的变形例2中,图5B的分散秘密值生成单元124-α-h(α)被置换为分散秘密值生成单元324-α-h(α),图6的复原单元134-α被置换为复原单元334-α。此外,与第一实施方式的变形例1相同地,图5A的分散处理单元114c-α被置换为分散处理单元214c-α。其他结构与第一实施方式相同。
《第一实施方式的变形例2中的步骤S112的变形》
与第一实施方式的变形例1中的步骤S112的变形相同。
《第一实施方式的变形例2中的步骤S124的变形》
在第一实施方式的变形例2中,图9B所示的步骤S124的处理变形成如下。
首先,代替步骤S124a,对线型运算单元324a-α-h(α)(图12A)输入共享值σ(α)和提供信息w和分散信息 的 线型运算单元324a-α-h(α)进行式(18)的运算,并输出运算结果 运算结果 成为分散秘密值DSH(α,h(α))的一部分信息。之后,执行图9B所示的步骤S124b的处理。
《第一实施方式的变形例2中的步骤S134的变形》
首先,执行图10B所示的步骤S134a的处理。接着,代替图10B所示的步骤S134b的处理,对多项式运算单元334b-α(图12B)输入各系数λρ(x)和式(8)所示的 的dsh1(α),...,dshR(α)(α),多项式运算单元334b-α通过式(19)的运算来生成子集合SUB(α)的秘密复原值SUBSK(α),并进行输出(《第一实施方式的变形例2中的步骤S134的变形》的说明结束)。其他的处理与第一实施方式相同。
SUBSK(α)={λ1(ω)·dsh1(α)+...+λR(α)(ω)·dshR(α)(α)}·g∈G ...(19)
【第一实施方式的变形例3】
第一实施方式的变形例3是,代替(R(α),H(α))阈值秘密分散法而使用(H(α),H(α))阈值秘密分散法来对秘密信息进行秘密分散的变形例。
图13A是用于说明第一实施方式的变形例3的秘密分散单元414-α的结构的图,图13B是用于说明第一实施方式的变形例3的分散秘密值生成单元424-α-h(α)的结构的图,图13C是用于说明第一实施方式的变形例3的复原单元434-α的结构的说明图。
在第一实施方式的变形例3中,图5A的秘密分散单元114-α被置换为秘密分散单元414-α,图5B的分散秘密值生成单元124-α-h(α)被置换为分散秘密值生成单元424-α-h(α),图6的复原单元134-α被置换为复原单元434-α。其他的结构与第一实施方式相同。
《第一实施方式的变形例3中的步骤S112的变形》
在第一实施方式的变形例3中,图8B所示的步骤S112的处理变形成如下。
首先,秘密分散单元414-α(图13A)的随机数生成单元414a-α随机选择式(20)的H(α)-1个巡回群G的元,并将其输出。
SH(α,1),...,SH(α,H(α)-1)∈G ...(20)
接着,对逆元运算单元414b-α输入秘密信息θ·g∈G和H(α)-1个巡回群G的元SH(α,1),...,SH(α,H(α)-1)∈G。逆元运算单元414b-α通过式(21)的运算来生成SH(α,h(α)),并进行输出。
SH(α,h(α))=θ·g-{SH(α,1)+...+SH(α,H(α)-1)}∈G ...(21)
然后,秘密分散单元414-α作为子集合SUB(α)的分散信息而输出SH(α,1),...,SH(α,H(α))∈G。这些分散信息满足式(22)(《第一实施方式的变形例3中的步骤S112的变形》的说明结束)。
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ·g∈G ...(22)
《第一实施方式的变形例3中的步骤S124的变形》
在第一实施方式的变形例3中,图9B所示的步骤S124的处理变形成如下。
首先,对分散秘密值生成单元424-α-h(α)(图13B)输入共享值σ(α)和提供信息w和分散信息SH(α,1),...,SH(α,H(α))。分散秘密值生成单元424-α-h(α)通过式(23)的运算来生成分散秘密值DSH(α,h(α)),并进行输出(《第一实施方式的变形例3中的步骤S124的变形》的说明结束)。
DSH(α,h(α))=σ(α)·w·SH(α,h(α))∈G ...(23)
《第一实施方式的变形例3中的步骤S132的变形》
在第一实施方式的变形例3中,图10A所示的步骤S132的处理变形成如下。
在该变形例3中,控制单元133也判定在存储单元132中是否存储了必要数目以上的分散秘密值DSH(α,h(α)),但变形例3中的“必要数目”为H(α)个。即,在该变形例3的情况下,对各α=1,...,L,分别判定在存储单元132中是否存储了所有的分散秘密值DSH(α,h(α))。
《第一实施方式的变形例3中的步骤S134的变形》
在第一实施方式的变形例3中,图10B所示的步骤S134的处理变形成如下。
该变形例3的分散秘密值DSH(α,h(α))如式(23)所示。此外,对复原单元434-α(图13C)输入与α对应的所有的分散秘密值DSH(α,h(α))(h(α)=1,...,H(α))。然后,复原单元434-α通过式(24)的运算来生成子集合SUB(α)的秘密复原值SUBSK(α),并进行输出(《第一实施方式的变形例3中的步骤S134的变形》的说明结束)。其他的处理与第一实施方式相同。
SUBSK(α)=DSH(α,1)+...+DSH(α,H(α))∈G ...(24)
【第一实施方式的变形例4】
第一实施方式的变形例4也是,代替(R(α),H(α))阈值秘密分散法而使用(H(α),H(α))阈值分散法来对秘密信息进行秘密分散的变形例。与变形例3的不同点在于,对作为有限域Fq的元的秘密信息θ∈Fq进行秘密分散。
图14A是用于说明第一实施方式的变形例4的秘密分散单元514-α的结构的图,图14B是用于说明第一实施方式的变形例4的分散秘密值生成单元524-α-h(α)的结构的图,图14C是用于说明第一实施方式的变形例4的复原单元534-α的结构的图。
在第一实施方式的变形例4中,图5A的秘密分散单元114-α被置换为秘密分散单元514-α,图5B的分散秘密值生成单元124-α-h(α)被置换为分散秘密值生成单元524-α-h(α),图6的复原单元134-α被置换为复原单元534-α。其他的结构与第一实施方式相同。
《第一实施方式的变形例4中的步骤S112的变形》
在第一实施方式的变形例4中,图8B所示的步骤S112的处理变形成如下。
首先,秘密分散单元514-α(图14A)的随机数生成单元514a-α随机选择式(25)的H(α)-1个有限域Fq的元,并将其输出。
SH(α,1),...,SH(α,H(α)-1)∈Fq ...(25)
接着,对逆元运算单元514b-α输入秘密信息θ∈Fq和H(α)-1个有限域Fq的元SH(α,1),...,SH(α,H(α)-1)∈Fq。逆元运算单元514b-α通过式(26)的运算来生成SH(α,h(α)),并进行输出。
SH(α,h(α))=θ-{SH(α,1)+...+SH(α,H(α)-1)}∈Fq ...(26)
然后,秘密分散单元514-α作为子集合SUB(α)的分散信息而输出
SH(α,1),...,SH(α,H(α))∈Fq ...(27)
。这些分散信息满足式(28)(《第一实施方式的变形例4中的步骤S112的变形》的说明结束)。
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ∈Fq ...(28)
《第一实施方式的变形例4中的步骤S124的变形》
在第一实施方式的变形例4中,图9B所示的步骤S124的处理变形成如下。
首先,对分散秘密值生成单元524-α-h(α)(图14B)输入共享值σ(α)和提供信息w和分散信息SH(α,1),...,SH(α,H(α))。分散秘密值生成单元524-α-h(α)通过式(29)的运算来生成分散秘密值DSH(α,h(α)),并进行输出(《第一实施方式的变形例4中的步骤S124的变形》的说明结束)。
DSH(α,h(α))=σ(α)·w·SH(α,h(α))∈Fq ...(29)
《第一实施方式的变形例4中的步骤S132的变形》
与第一实施方式的变形例3相同。
《第一实施方式的变形例4中的步骤S134的变形》
在第一实施方式的变形例4中,图10B所示的步骤S134的处理变形成如下。
该变形例4的分散秘密值DSH(α,h(α))如式(29)所示。此外,对复原单元534-α(图14C)输入与α对应的所有的分散秘密值DSH(α,h(α))(h(α)=1,...,H(α))。然后,复原单元534-α通过式(30)的运算来生成子集合SUB(α)的秘密复原值SUBSK(α),并进行输出(《第一实施方式的变形例4中的步骤S134的变形》的说明结束)。其他的处理与第一实施方式相同。
SUBSK(α)={DSH(α,1)+...+DSH(α,H(α))}·g∈G ...(30)
【第一实施方式的其他的变形例】
此外,在不脱离本发明的宗旨的范围下,能够进行适当变更。例如,可以代替第一实施方式的变形例4的式(29)而进行式(31)的运算,也可以代替式(30)而进行式(24)的运算。此外,也可以是秘密复原值SUBSK(α)成为有限域Fq的元的结构。
DSH(α,h(α))=σ(α)·w·SH(α,h(α))∈Fq ...(31)
此外,在本方式中,对各子集合SUB(α)分别使用相同的秘密分散法来进行了秘密分散,但也可以对互相不同的各子集合SUB使用互相不同的秘密分散法。
此外,在本方式中,对各子集合SUB(α)的每一个设置了共享值生成装置140-α,但也可以是各子集合SUB(α)的某个分散管理装置具有共享值生成装置的功能。在该情况下,不需要共享值生成装置140-α。
此外,在本方式中,使用包含共享值σ(α)和提供信息w的共同信息、分散信息SH(α,h(α))来进行共同运算FNC1,从而生成了分散秘密值DSH(α,h(α))。但是,也可以不使用提供信息w,而将共享值σ(α)作为共同信 息来生成分散秘密值DSH(α,h(α))。此外,共同信息也可以包含共享值σ(α)和提供信息w和其他的信息。
此外,用于求分散秘密值DSH(α,h(α))的共同运算需要在各个子集合SUB(α)中统一,但无需进行在互相不同的子集合SUB(α)之间相同的共同运算。
【第二实施方式】
下面,说明本发明的第二实施方式。本方式是在内积术语密码的密钥生成中应用了第一实施方式的方式。
[定义]
首先,对在本方式中使用的用语和标号进行定义。
矩阵:“矩阵”表示将定义了运算的集合的元以矩形排列的集合。不仅把将环的元作为元素的集合表现为“矩阵”,也把将群的元作为元素的集合表现为“矩阵”。
(·)T:(·)T表示·的转置矩阵。
(·)-1:(·)-1表示·的逆矩阵。
∧:∧表示逻辑积。
∨:∨表示逻辑和。
Z:Z表示整数集合。
k:k表示安全参数(k∈Z,k>0)。
Fq:Fq表示位数q的有限域。位数q为1以上的整数,例如将质数或质数的幂乘值作为位数q。即,有限域Fq的例子是质数域、或者将其作为基础域的扩展域。
0F:0F表示有限域Fq的加法单位元。
1F:1F表示有限域Fq的乘法单位元。
δ(i,j):δ(i,j)表示Kronecker的δ函数。在i=j时满足δ(i,j)=1F,在i≠j时满足δ(i,j)=0F。
E:E表示在有限域Fq上定义的椭圆曲线。
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的χ·Ω∈G1意味着,对Ω∈G1实施χ次在巡回群G1中定义的运算,对于Ω1、Ω2∈G1的Ω1+Ω2∈G1意味着,将Ω1∈G1和Ω2∈G1作为被运算符进行在巡回群G1中定义的运算。同样地,对于χ∈Fq和Ω∈G2的χ·Ω∈G2意味着,对Ω∈G2实施χ次在巡回群G2中定义的运算,对于Ω1、Ω2∈G2的Ω1+Ω2∈G2意味着,将Ω1∈G2和Ω2∈G2作为被运算符进行在巡回群G2中定义的运算。另一方面,对于χ∈Fq和Ω∈GT的Ωχ∈GT意味着,对Ω∈GT实施χ次在巡回群GT中定义的运算,对于Ω1、Ω2∈GT的Ω1+Ω2∈GT意味着,将Ω1∈GT和Ω2∈GT作为被运算符进行在巡回群GT中定义的运算。
n:n表示1以上的整数。
ζ:ζ表示1以上的整数。ζ的一例是2或者3。
G1 n+ζ:G1 n+ζ表示n+ζ个巡回群G1的直积。
G2 n+ζ:G2 n+ζ表示n+ζ个巡回群G2的直积。
g1、g2、gT:g1、g2、gT表示巡回群G1、G2、GT的生成元。
V:V表示由n+ζ个巡回群G1的直积构成的n+ζ维的向量空间。
V*:V*表示由n+ζ个巡回群G2的直积构成的n+ζ维的向量空间。
e:e表示用于计算将直积G1 n+ζ和直积G2 n+ζ的直积G1 n+ζ×G2 n+ζ映射到巡回群GT的非退化的双线型映射(bilinear map)的函数(称为“双线型函数”)。双线型函数e将巡回群G1的n+ζ个元γβ(β=1,...,n+ζ)和巡回群G2的n+ζ个元γβ *(β=1,...,n+ζ)作为输入,输出巡回群GT的1个元。
e:G1 n+ζ×G2 n+ζ→GT ...(32)
双线型函数e满足以下的性质。
[双线型性]对所有的Γ1∈G1 n+ζ、Γ2∈G2 n+ζ和ν,κ∈Fq,满足以下的关系。
e(ν·Γ1,κ·Γ2)=e(Γ1,Γ2)ν·κ ...(33)
[非退化性]不是将所有的Γ1∈G1 n+ζ、Γ2∈G2 n+ζ映射到巡回群GT的单位元的函数。
[可计算性]存在对所有的
Γ1∈G1 n+ζ、Γ2∈G2 n+ζ ...(34)
有效率地计算e(Γ1,Γ2)的算法。
在本方式中,使用用于计算将巡回群G1和巡回群G2的直积G1×G2映射到巡回群GT的非退化的双线型映射的函数
Pair:G1×G2→GT ...(35)
,来构成双线型函数e。本方式的双线型函数e是,对于由巡回群G1的n+ζ个元γβ(β=1,...,n+ζ)构成的n+ζ维向量(γ1,...,γn+ζ)、由巡回群G2的n+ζ个元γβ *(β=1,...,n+ζ)构成的n+ζ维向量(γ1 *,...,γn+ζ *)的输入,输出巡回群GT的一个元
e=∏β=1 n+ζPair(γβ,γβ *) ...(36)
的函数。
另外,双线型函数Pair是将巡回群G1的1个元和巡回群G2的1个元的组合作为输入,输出巡回群GT的1个元的函数,满足以下的性质。
[双线型性]对所有的Ω1∈G1、Ω2∈G2和ν,κ∈Fq,满足以下的关系。
Pair(ν·Ω1,κ·Ω2)=Pair(Ω1,Ω2)ν·κ ...(37)
[非退化性]不是将所有的
Ω1∈G1,Ω2∈G2 ...(38)
映射到巡回群GT的单位元的函数。
[可计算性]存在对所有的Ω1∈G1、Ω2∈G2有效率地计算Pair(Ω1,Ω2)的算法。
另外,双线型函数Pair的具体例子是,用于进行Weil-Pairing或Tate-Pairing等配对运算的函数(例如,参照参考文献4“Alfred.J.Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,KLUWER ACADEMIC PUBLISHERS,ISBN0-7923-9368-6,pp.61-81”等)。此外,根据椭圆曲线E的种类,也可以将组合了用于进行Tate-Pairing等配对运算的函数与规定的函数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+ζ):ai表示将巡回群G1的n+ζ个元作为元素的n+ζ维的基底向量。基底向量ai的一例是,将κ1·g1∈G1作为第i维的元素,将剩余的n个元素设为巡回群G1的单位元(加法上表现为“0”)的n+ζ维的基底向量。这种情况下,分别列举并表现n+ζ维的基底向量ai(i=1,...,n+ζ)的各元素,则成为如下。
a1=(κ1·g1,0,0,...,0)
a2(0,κ1·g1,0,..,0) ...(39)
an+ζ=(0,0,0,...,κ1·g1)
这里,κ1是由加法单位元0F以外的有限域Fq的元构成的常数,κ1∈Fq的具体例子是κ1=1F。基底向量ai是正交基底,将巡回群G1的n+ζ个元作为元素的所有的n+ζ维向量,通过n+ζ维的基底向量ai(i=1,...,n+ζ)的线型和来表现。即,n+ζ维的基底向量ai展开上述的向量空间V。
ai *(i=1,...,n+ζ):表示将巡回群G2的n+ζ个元作为元素的n+ζ维的基底向量。基底向量ai *的一例是,将κ2·g2∈G2作为第i维的元素,将剩余的n个元素设为巡回群G2的单位元(加法上表现为“0”)的n+ζ维的基底向量。这种情况下,分别列举并表现基底向量ai *(i=1,...,n+ζ)的各元素,则成为如下。
a1 *=(κ2·g2,0,0,...,0)
a2 *=(0,κ2·g2,0,...,0) ...(40)
an+ζ *=(0,0,0,...,κ2·g2)
这里,κ2是由加法单位元0F以外的有限域Fq的元构成的常数,κ2∈Fq的具体例子是κ2=1F。基底向量ai *是正交基底,将巡回群G2的n+ζ个元作为元素的所有的n+ζ维向量,通过n+ζ维的基底向量ai *(i=1,...,n+ζ)的线型和来表现。即,n+ζ维的基底向量ai *展开上述的向量空间V*。
另外,关于除了0F的有限域Fq的元τ=κ1·κ2,基底向量ai和基底向量ai *满足式(41)。
e(ai,aj *)=gT τ·δ(i,j) ...(41)
即,i=j时,根据式(36)(37)的关系,满足
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 *)=∏i=1 n+ζPair(ai,aj *)的右边不包括Pair(κ1·g1,κ2·g2),成为Pair(κ1·g1,0)与Pair(0,κ2·g2)与Pair(0,0)的积。而且,根据式(37)的关系而满足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时),满足式(42)。这里,gT 0=1是巡回群GT的单位元,gT 1=gT是巡回群GT的生成元。这种情况下,基底向量ai和基底向量ai *是双对正规正交基底,向量空间V和向量空间V*是可构成双线型映射的双对向量空间[双配对向量空间(DPVS:Dual Paring Vector space)]。
e(ai,aj *)=gT δ(i,j) ...(42)
A:表示将基底向量ai(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵。例如,通过式(39)表现基底向量ai(i=1,...,n+ζ)的情况下,矩阵A成为数3。
[数3]
A*:表示将基底向量ai *(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵。例如,通过式(40)表现基底向量ai *(i=1,...,n+ζ)的情况下,矩阵A*成为数4。
[数4]
X:表示将有限域Fq的元作为元素的n+ζ行n+ζ列的矩阵。矩阵X使用 于基底向量ai的坐标变换。如果将矩阵X的i行i列(i=1,...,n+ζ,j=1,...,n+ζ)的元素设为χi,j∈Fq,则矩阵X成为数5。另外,将矩阵X的各元素χi,j称为变换系数。
[数5]
X*:X*表示矩阵X的逆矩阵的转置矩阵X*=(X-1)T。矩阵X*使用于基底向量ai *的坐标变换。如果将矩阵X*的i行i列的元素设为χi,j *∈Fq,则矩阵X*成为数6。另外,将矩阵X*的各元素χi,j *称为变换系数。
[数6]
这种情况下,如果将n+ζ行n+ζ列的单位矩阵设为I,则满足X·(X*)T=I。即,对于如数7的单位矩阵,满足数8。
[数7]
[数8]
这里,定义n+ζ维向量。
χi →=(χi,1,...,χi,n+ζ) ...(49)
χj →*=(χj,1 *,...,χj,n+ζ *) ...(50)
则根据式(48)的关系,n+ζ维向量χi →和χj →*的内积成为式(51)。
χi →·χj →*=δ(i,j) ...(51)
bi:bi表示将巡回群G1的n+ζ个元作为元素的n+ζ维的基底向量。通过使用矩阵X来对基底向量ai(i=1,...,n+ζ)进行坐标变换,从而得到基底向量bi。具体地,通过式(52)的运算获得基底向量bi。
bi=∑j=1 n+ζχi,j·aj ...(52)
例如,通过式(39)表现基底向量aj(j=1,...,n+ζ)的情况下,如果分别列举基底向量bi的各元素而表现,则成为如下。
bi=(χi,1·κ1·g1,χi,2·κ1·g1,...,χi,n+ζ·κ1·g1) ...(53)
将巡回群G1的n+ζ个元作为元素的所有的n+ζ维向量,通过n+ζ维的基底向量bi(i=1,...,n+ζ)的线型和来表现。即,n+ζ维的基底向量bi展开上述的向量空间V。
bi *:bi *表示将巡回群G2的n+ζ个元作为元素的n+ζ维的基底向量。通过使用矩阵X*来对基底向量ai *(i=1,...,n+ζ)进行坐标变换来得到。具体地,通过式(54)的运算获得基底向量bi *。
bi *=∑j=1 n+ζχi,j *·aj * ...(54)
例如,通过式(40)表现基底向量aj *(j=1,...,n+ζ)的情况下,如果分别列举基底向量bi *的各元素而表现,则成为如下。
bi *=(χi,1 *·κ2·g2,χi,2 *·κ2·g2,...,χi,n+ζ *·κ2·g2) ...(55)
将巡回群G2的n+ζ个元作为元素的所有的n+ζ维向量,通过n+ζ维的基 底向量bi *(i=1,...,n+ζ)的线型和来表现。即,n+ζ维的基底向量bi *展开上述的向量空间V*。
另外,关于除了0F的有限域Fq的元τ=κ1·κ2,基底向量bi和基底向量bi *满足式(56)。
e(bi,bj *)=gT τ·δ(1,j) ...(56)
即,根据式(36)(51)(53)(55)的关系,满足数9。
[数9]
尤其,在τ=κ1·κ2=1F时(例如,κ1=κ2=1F时),满足式(57)。这种情况下,基底向量bi和基底向量bi *是双配对向量空间(向量空间V和向量空间V*)的双对正规正交基底。
e(bi,bj *)=gT δ(i,j) ...(57)
另外,如果满足式(56)的关系,则可以使用式(39)(40)所例示的向量以外的基底向量ai和ai *、式(52)(54)所例示的向量以外的基底向量bi和bi *。
B:B表示将基底向量bi(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵。满足B=X·A。例如,通过式(53)表现基底向量bi的情况下,矩阵B成为数10。
[数10]
B*:B*表示将基底向量bi *(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵。满足B*=X*·A*。例如,通过式(55)表现基底向量bi *的情况下,矩阵B*成为数11。
[数11]
w→:w→表示将有限域Fq的元作为元素的n维向量。
w→=(w1,...,wn)∈Fq n ...(60)
wμ:wμ表示n维向量的第μ(μ=1,...,n)个元素。
v→:v→表示将有限域Fq的元作为元素的n维向量。
v→=(v1,...,vn)∈Fq n ...(61)
vμ:vμ表示n维向量的第μ(μ=1,...,n)个元素。
[内积术语密码]
下面,对内积术语密码的基本结构进行说明。
<术语密码>
术语密码(有时也称为“函数密码”)是,在被称为“属性信息”的信息与 被称为“术语信息”的信息的组合使规定的逻辑式为“真”的情况下,能够对密码文进行解密的方式。“属性信息”和“术语信息”的一方嵌入到密码文,另一方嵌入到密钥信息。以往的术语密码的结构,例如公开于参考文献9“″Predicate Encryption Supporting Disjunctions,Polynomial Equations,and Inner Products,″with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Joumal of Cryptology”等。
<内积术语密码>
内积术语密码是作为属性信息和术语信息使用向量,并且在其内积成为0的情况下能够对密码文进行解密的术语密码。在内积术语密码中,内积为0与逻辑式为“真”是等价的。
[逻辑式与多项式的关系]
在内积术语密码中,通过多项式来表现由逻辑和与逻辑积构成的逻辑式。
首先,通过式(62)的多项式来表现“x为η1”的命题1和“x为η2”的命题2的逻辑和(x=η1)∨(x=η2)。
(x-η1)·(x-η2) ...(62)
则各真理值与式(62)的函数值的关系成为如下。
[表1]
从[表1]可知,在逻辑和(x=η1)∨(x=η2)为真的情况下,式(62)的函数值为0,在逻辑和(x=η1)∨(x=η2)为假的情况下,式(62)的函数值为0以外的值。即,逻辑和(x=η1)∨(x=η2)为真与式(62)的函数值为0是等价的。因此,能够通过式(62)来表现逻辑和。
此外,通过式(63)的多项式来表现“x为η1”的命题1和“x为η2”的命题2的逻辑积(x=η1)∧(x=η2)。
ι1·(x-η1)+ι2·(x-η2) ...(63)
其中,ι1和ι2是随机数。则,真理值与式(63)的函数值成为以下的关系。
[表2]
从[表2]可知,在逻辑积(x=η1)∧(x=η2)为真的情况下,式(63)的函数值为0,在逻辑积(x=η1)∧(x=η2)为假的情况下,式(63)的函数值为0以外的值。即,逻辑积(x=η1)∧(x=η2)为真与式(63)的函数值为0是等价的。因此,能够通过式(63)来表现逻辑积。
如以上那样,使用式(62)和式(63),从而能够通过多项式f(x)来表现由逻辑和和逻辑积构成的逻辑式。例如,能够通过式(64)的多项式来表现逻辑式{(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)。
f(x)=ι1·{(x-η1)·(x-η2)·(x-η3)}+ι2·(x-η4)+ι3·(x-η5) ...(64)
另外,在式(62)中,使用1个不定元x来表现了逻辑和,但也可以使用多个不定元来表现逻辑和。例如,可以使用2个不定元x0和x1,从而通过多项式(x0-η0)·(x1-η1)来表现“x0为η0”的命题1与“x1为η1”的命题2的逻辑和(x0=η0)∨(x1=η1),也可以使用3个以上的不定元,通过多项式来表现逻辑和。
此外,在式(63)中,使用1个不定元x来表现了逻辑积,但也可以使用多个不定元来表现逻辑积。例如,此外,通过多项式ι0·(x0-η0)+ι1·(x1-η1)来表现“x0为η0”的命题1与“x1为η1”的命题2的逻辑积(x0=η0)∧(x1=η1),也可以使用3个以上的不定元,通过多项式来表现逻辑积。
将使用H(H≥1)种类的不定元x0,...,xH-1来表现了包括逻辑和以及/或者逻辑积的逻辑式的多项式,表现为f(x0,...,xH-1)。此外,将与各不定元x0,...,xH-1对应的命题设为“xh为ηh”。其中,ηh(h=0,...H-1)是对各个命题设定的常数。这种情况下,通过取不定元xh与常数ηh的差的多项式来表现该不定元xh为该常数ηh的命题,通过分别表现命题的多项式的积来表现该命题的逻辑和,通过分别表现命题或者命题的逻辑和的多项式的线型和来表现该命题或者命题的逻辑和的逻辑积,由此,表示该逻辑式的多项式f(x0,...,xH-1)成为表现了逻辑式的多项式。例如,使用5个不定元x0,...,x4,通过多项式表现逻辑式 {(x0=η0)∨(x1=η1)∨(x2=η2)}∧(x3=η3)∧(x4=η4),则成为如下。
f(x0,...,x4)
=ι0·{(x0-η0)·(x1-η1)·(x2-η2)}+ι1·(x3-η3)+ι2·(x4-η4)
[多项式与内积的关系]
表示逻辑式的多项式f(x0,...,xH-1),可以通过2个n维向量的内积来表现。即,多项式f(x0,...,xH-1)等于,将该多项式f(x0,...,xH-1)的各项的不定元分量作为各元素的向量v→=(v1,...,vn)和将该多项式f(x0,...,xH-1)的各项的系数分量作为各元素的向量w→=(w1,...,wn)的内积f(x0,...,xH-1)=w→·v→。即,表示逻辑式的多项式f(x0,...,xH-1)是否为0等价于,将多项式f(x0,...,xH-1)的各项的不定元分量作为各元素的向量v→与将多项式f(x0,...,xH-1)的各项的系数分量作为各元素的向量w→的内积是否为0。
f(x0,...,xH-1)=0←→w→·v→=0
例如,可以通过2个n维向量
w→=(w1,...,wn)=(θ0,...,θn-1) ....(65)
v→=(v1,...,vn)=(x0 ,...,xn-1) ...(66)
的内积
f(x)=w→·v→ ...(67)
,表现由1个不定元x表现的多项式f(x)=θ0·x0+θ1·x+...+θn-1·xn-1。即,表示逻辑式的多项式f(x)是否为0与式(67)的内积是否为0等价。
f(x)=0←→w→·v→=0 ...(68)
此外,即使将以多项式f(x0,...,xH-1)的各项的不定元分量作为各元素的向量设为w→=(w1,...,wn),将以多项式f(x0,...,xH-1)的各项的系数分量作为各元素的向量设为v→=(v1,...,vn),表示逻辑的多项式f(x0,...,xH-1)是否为0也等价于向量w→与向量v→的内积是否为0。
例如,代替式(65)(66),而设为
w→=(w1,...,wn)=(x0 ,...,xn-1) ...(69)
v→=(v1,...,vn)=(θ0,...,θn-1) ...(70)
,表示逻辑式的多项式f(x)是否为0也与式(67)的内积是否为0等价。
在内积术语密码中,将向量v→=(v0,...,vn-1)和w→=(w0,...,wn-1)的其中一方作为属性信息,将另一方作为术语信息,并且属性信息和术语信息的一方嵌入到密码文,另一方嵌入到密钥信息。例如,将n维向量(θ0,...,θn-1)作为术语信息, 将n维向量(x0 ,...,xn-1)作为属性信息,属性信息和术语信息的一方嵌入到密码文,另一方嵌入到密钥信息。另外,以下,将被嵌入到密钥信息的n维向量设为w→=(w1,...,wn),将被嵌入到密码文的n维向量设为v→=(v1,...,vn)。例如,
术语信息:w→=(w1,...,wn)=(θ0,...,θn-1)
属性信息:v→=(v1,...,vn)=(x0 ,...,xn-1)
,或者,
术语信息:v→=(v1,...,vn)=(θ0,...,θn-1)
属性信息:w→=(w1,...,wn)=(x0 ,...,xn-1)。
[内积术语密码的基本结构]
以下,对使用内积术语密码来构成密钥封装机制KEM(Key Encapsulation Mechanisms)时的基本结构进行例示。该结构包括Setup(1k)、GenKey(MSK,w→)、Enc(PA,v→)、Dec(SKw,C2)。
《Setup(1k):设置》
-输入:安全参数k
-输出:主密钥信息MSK、公开参数PK
Setup(1k)的一例中,首先,将安全参数k设为n,并且选择将n+ζ维的基底向量ai(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵A、将基底向量ai *(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵A*、用于坐标变换的n+ζ行n+ζ列的矩阵X、X*。接着,计算按照式(52)进行了坐标变换的n+ζ维的基底向量bi(i=1,...,n+ζ),并且计算按照式(54)进行了坐标变换的n+ζ维的基底向量bi *(i=1,...,n+ζ)。然后,以基底向量bi *(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵B*作为主密钥信息MSK输出,并且作为公开参数PK来输出向量空间V,V*、以基底向量bi(i=1,...,n+ζ)作为元素的n+ζ行n+ζ列的矩阵B、安全参数k、有限域Fq、椭圆曲线E、巡回群G1,G2,GT、生成元g1,g2,gT、双线型函数e等。
《GenKey(MSK,w→):密钥信息生成》
-输入:主密钥信息MSK、向量w→
-输出:与向量w→对应的密钥信息D*
在GenKey(MSK,w→)的一例中,首先,从有限域Fq选择元σ∈Fq。然后,使用作为主密钥信息MSK的矩阵B*来生成与向量w→对应的密钥信息
D*=σ·(∑μ=1 nwμ·bμ *)+bn+1 *∈G2 n+1 ...(71)
,并进行输出。另外,在巡回群G2上的离散对数问题的求解困难的情况下,难以从密钥信息D*分离提取bμ *的分量。
《Enc(PA,v→):加密》
-输入:公开参数PK、向量v→
-输出:密码文C2、共同密钥K
在Enc(PA,v→)的一例中,首先,生成作为共同密钥K与有限域Fq的元的随机数υ0。然后,使用矩阵B等的公开参数PK、有限域Fq的元υ1,...,υζ、向量v→、随机数υ0,生成式(72)的密码文。
C2=υ0·(∑μ=1 nvμ·bμ)+∑μ=n+1 n+ζυμ-n·bμ∈G1 n+ζ ...(72)
然后,输出密码文C2和共同密钥K。共同密钥K的一例是K=gT τ·υ1∈GT。这里,上标字符υ1意味着υ1。此外,如上所述,τ的一例是τ=1F。另外,在巡回群G1上的离散对数问题的求解困难的情况下,难以从密码文C2分离提取bμ的分量。
《Dec(SKw,C2):解密/密钥共享》
-输入:与向量w→对应的密钥信息D1 *、密码文C2
-输出:共同密钥K
在Dec(SKw,C2)的一例中,首先,密码文C2和密钥信息D1 *被输入到式(32)的双线型函数e。则根据式(33)(56)的性质,满足数12。
[数12]
这里,如果是内积w→·v→0,则式(73)能够变形为数13。从该结果,生成并输出共同密钥K。共同密钥K的一例是K=gT τ·υ1∈GT。
[数13]
<整体结构>
图15是用于说明第二实施方式的分散装置810的结构的方框图。此外,图16是用于说明第二实施方式的分散管理装置〔PA(α,h(α))〕820-α-h(α)的结构的方框图。图17是用于说明第二实施方式的取得装置830的结构的方框图。图18是用于说明图17的合成单元835的结构的方框图。另外,对于在这些图中与第一实施方式共同的部分,附加与第一实施方式相同的标号并简化说明。
在本方式的秘密分散系统中,图1的分散装置110被置换为分散装置810,分散管理装置〔PA(α,h(α))〕120-α-h(α)被置换为分散管理装置〔PA(α,h(α))〕820-α-h(α),取得装置130被置换为取得装置830。
<分散装置810>
如图15所例示,本方式的分散装置810具有临时存储单元111、存储单元112、控制单元113、秘密分散单元814-α(α=1,...,L)、以及发送单元115。另外,例如通过使具备CPU、RAM、ROM等的公知的计算机读取并执行规定的程序,从而构成本方式的分散装置810。
<分散管理装置〔PA(α,h(α))〕820-α-h(α)>
如图16所例示,本方式的分散管理装置〔PA(α,h(α))〕820-α-h(α)具有临时存储单元121-α-h(α)、存储单元122-α-h(α)、控制单元123-α-h(α)、分散秘密值生成单元824-α-h(α)、发送单元125-α-h(α)、以及接收单元126-α-h(α)。另外,例如通过使具备CPU、RAM、ROM等的公知的计算机读取并执行规定的程序,从而构成本方式的分散管理装置〔PA(α,h(α))〕820-α-h(α)。
<共享值生成装置140-α>
与第一实施方式相同。
<取得装置830>
如图17所例示,本方式的取得装置830具备临时存储单元131、存储单元132、控制单元133、复原单元834-α(α=1,...,L)、合成单元835、发送单元135、以及接收单元136。此外,如图18所例示,合成单元835具有第一运算单元835a和第二运算单元835b。另外,例如通过使具备CPU、RAM、ROM等的公知的计算机读取并执行规定的程序,从而构成本方式的取得装置830。
<秘密分散处理>
下面,说明本方式的秘密分散处理。
在本方式中,应用第一实施方式,对作为内积术语密码的主密钥信息MSK的矩阵B*(式(59))进行秘密分散,复原如式(71)所例示的密钥信息D*。以下,将式(71)的密钥信息D*一般化为如式(75)的生成信息来进行说明。式(71)是ζ=1的例子。
SK=σ(α)·{∑μ=1 nwμ·bμ *}+∑μ=n+1 n+ζbμ *∈Gn+ζ ...(75)
首先,将式(55)所示的构成矩阵B*的各元素
χi,β·κ2·g2∈G2(i=1,...,n+ζ,β=1,...,n+ζ) ...(76)
表现为
θ(i,β)·g2∈G2 ...(77)
θ(i,β)=χi,β·κ2∈Fq ...(78)
。即,将式(55)的基底向量bi *表现为
bi *=(θ(i,1)·g2,...,θ(i,n+ζ)·g2)∈G2 n+ζ ...(79)。
则可知,可通过将第一实施方式或者其变形例扩展到多维,从而执行矩阵B*的秘密分散和生成信息SK的复原。
以下,以与第一实施方式及其变形例的不同点为中心进行说明,对于共同的部分省略说明。
[事前处理]
作为本方式的秘密分散处理的事前处理,在分散装置810的存储单元112中存储用于确定作为各基底向量bi *的元素的秘密信息θ(i,β)·g2∈G2(i=1,...,n+ζ,β=1,...,n+ζ)的信息θ(i,β)∈Fq。
[秘密分散处理的整体]
图19是用于说明第二实施方式的秘密分散处理的整体的图。以下,使用图19来说明本方式的秘密分散处理的整体。
在本方式中,首先,分散装置810(图15)按各个子集合SUB(α)独立地对作为各基底向量bi *的元素的秘密信息θ(i,β)·g2∈G2进行秘密分散从而生成分散信息SH(i,β,α,h(α)),并且输出该分散信息SH(i,β,α,h(α))(步骤S81)。其中,秘密分散的具体方法与第一实施方式相同。此外,将分散信息SH(i,β,α,h(α))∈G2(i=1,...,n+ζ,β=1,...,n+ζ)的集合称为分散信息SH(α,h(α))。各分散信息SH(α,h(α))分别经由网络150而分散发送到各分散管理装置 〔PA(α,h(α))〕820-α-h(α)。
被发送各分散信息SH(α,h(α))的各分散管理装置〔PA(α,h(α))〕820-α-h(α)分别使用构成分散信息SH(α,h(α))的分散信息SH(i,β,α,h(α))、由各个子集合SUB(α)所共享的共享值σ(α)、以及将有限域Fq的元作为元素wμ(μ=1,...,n)的n维向量w→=(w1,...,wn),生成分散秘密值DSH(α,h(α))(步骤S82)。本方式的分散秘密值DSH(α,h(α))是对于如式(80)的将n+ζ个分散信息SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))作为元素的n+ζ维的分散基底向量的、如式(81)的分散秘密值。在本方式的情况下,在互相不同的子集合SUB(α)中分别共享的共享值σ(α)互相独立。
SHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζ ...(80)
DSH(α,h(α))
=σ(α)·{∑μ=1 nwμ·SHbμ *(α,h(α))}+∑μ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζ ...(81)
从各分散管理装置〔PA(α,h(α))〕820-α-h(α)输出的各分散秘密值DSH(α,h(α))分别经由网络150而发送到取得装置830。取得装置830使用与相同的子集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成如式(82)的秘密复原值SUBSK(α)(步骤S83)。该处理能够通过对分散秘密值DSH(α,h(α))的各个维μ执行在第一实施方式或者其变形例中所示的复原处理来实现。
SUBSK(α)=σ(α)·{∑μ=1 nwμ·bμ *}+∑μ=n+1 n+ζbμ *∈Gn+ζ ...(82)
接着,取得装置830使用对各子集合SUB(α)分别生成的秘密复原值SUBSK(α)来生成生成信息SK,并输出该生成信息SK(步骤S84)。
另外,在本方式中,取得装置830对秘密复原值SUBSK(α)进行线型结合而得到生成信息SK。生成信息的具体例子是,
SK={(σ(1)+...+σ(L))/L}·{∑μ=1 nwμ·bμ *}+∑μ=n+1 n+ζbμ *∈Gn+ζ ...(83)。
[分散装置的处理(步骤S81)]
图20是用于例示第二实施方式的分散装置的处理的图。以下,使用该图来说明分散装置810的处理的细节。
首先,由分散装置810(图15)的控制单元113设定为α=1、β=1,并将该设定内容存储到临时存储单元111(步骤S811)。接着,由分散装置810的控制单元113设定为i=1,并将该设定内容存储到临时存储单元111(步骤S812)。
接着,从存储单元112分别读取用于确定秘密信息θ(i,β)·g2∈G2(i=1,...,n+ζ,β=1,...,n+ζ)的信息θ(i,β)∈Fq,并输入到秘密分散单元814-α。秘密分散单元814-α使用各个信息θ(i,β)∈Fq来对各个秘密信息θ(i,β)·g2进行秘密分散,生成并输出如式(84)的对于子集合SUB(α)的H(α)个分散信息(步骤S813)。该处理可以通过与第一实施方式的步骤S112或者其变形相同的方法来执行。
SH(i,β,α,1),...,SH(i,β,α,H(α)) ...(84)
接着,控制单元113判定在临时存储单元111中存储的β是否为n+ζ(步骤S814)。这里,在判定为不是β=n+ζ的情况下,控制单元113将β+1设为新的β,将该设定内容存储到临时存储单元111(步骤S815),并使根据新的β来执行步骤S813的处理。
另一方面,在步骤S814中判定为是β=n+ζ的情况下,控制单元113设定为β=1,并将该设定内容存储到临时存储单元111(步骤S816)。然后,控制单元113判定在临时存储单元111中存储的i是否为n+ζ(步骤S817)。这里,在判定为不是i=n+ζ的情况下,控制单元113将i+1设定为新的i,并将该设定内容存储到临时存储单元111(步骤S818),并使根据新的i来执行步骤S813的处理。
另一方面,在步骤S817中判定为是i=n+ζ的情况下,控制单元113判定在临时存储单元111中存储的α是否为L(步骤S113)。这里,在判定为不是α=L的情况下,控制单元113将α+1设定为新的α,并将该设定内容存储到临时存储单元111(步骤S114),并使根据新的α来执行步骤S812的处理。
另一方面,在步骤S113中判定为是α=L的情况下,从各秘密分散单元814-α输出的各分散信息SH(α,h(α))被送到发送单元115。发送单元115分别经由网络150将如式(85)的(n+ζ)2个的分散信息发送到分散管理装置〔PA(α,h(α))〕820-α-h(α)(步骤S819)。即,由(n+ζ)2个分散信息SH(i,β,1,1)(i=1,...,n+ζ,β=1,...,n+ζ)构成的分散信息SH(1,1)被发送到分散管理装置〔PA(1,1)〕820-1-1,由(n+ζ)2个分散信息SH(i,β,1,2)(i=1,...,n+ζ,β=1,...,n+ζ)构成的分散信息SH(1,2)被发送到分散管理装置〔PA(1,2)〕820-1-2,...由(n+ζ)2个分散信息SH(i,β,L,H(L))(i=1,...,n+ζ,β=1,...,n+ζ)构成的分散信息SH(L,H(L))被发送到分散管理装置〔PA(L,H(L))〕820-L-H(L)。
SH(i,β,α,h(α))(i=1,...,n+ζ,β=1,...,n+ζ) ...(85)
[共享值生成装置的处理]
各共享值生成装置140-α(图3B)生成由构成与自身对应的子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕820-α-h(α)所共享的共享值σ(α)。在本方式中,将随机数生成单元141-α所生成的随机数设为共享值σ(α),发送单元142-α将共享值σ(α)发送到构成子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕820-α-h(α)。
[分散管理装置的处理(步骤S82)]
图21是用于例示第二实施方式的分散管理装置〔PA(α,h(α))〕820-α-h(α)的处理的图。以下,使用该图来说明本方式的分散管理装置〔PA(α,h(α))〕820-α-h(α)的处理。
首先,分散管理装置〔PA(α,h(α))〕820-α-h(α)(图16)的接收单元126-α-h(α)接收由所发送的(n+ζ)2个分散信息SH(i,β,α,h(α))(i=1,...,n+ζ,β=1,...,n+ζ)构成的分散信息SH(α,h(α)),并将其存储到存储单元122-α-h(α)(步骤S821)。另外,如果步骤S821的处理过去被执行,从而分散信息SH(α,h(α))已经被存储到分散管理装置〔PA(α,h(α))〕820-α-h(α)的存储单元122-α-h(α),则也可以省略步骤S821的处理。
此外,分散管理装置〔PA(α,h(α))〕820-α-h(α)的接收单元126-α-h(α)接收从共享值生成装置140-α发送的共享值σ(α),并将其存储到存储单元122-α-h(α)(步骤S122)。
此外,在本方式中,由发送单元135经由网络150将从取得装置830(图7)的存储单元132读取的提供信息即n维向量w→=(w1,...,wn)发送到各分散管理装置〔PA(α,h(α))〕820-α-h(α)。在所有的分散管理装置PA(α,h(α))820-α-h(α)中,该n维向量w→=(w1,...,wn)是共同的。n维向量w→=(w1,...,wn)由分散管理装置PA〔(α,h(α))〕820-α-h(α)(图16)的接收单元126-α-h(α)接收,并存储到存储单元122-α-h(α)(步骤S823)。
接着,分散秘密值生成单元824-α-h(α)从存储单元122-α-h(α)读取分散信息SH(α,h(α))和共享值σ(α)和n维向量w→=(w1,...,wn)。分散秘密值生成单元824-α-h(α)使用包含共享值σ(α)和w→=(w1,...,wn)的共同信息、以及分散信息SH(α,h(α)),生成式(81)所示的分散秘密值DSH(α,h(α)),并输出该分散秘密值DSH(α,h(α))(步骤S824)。
所生成的分散秘密值DSH(α,h(α))被送到发送单元125-α-h(α)。发 送单元125-α-h(α)经由网络150将分散秘密值DSH(α,h(α))发送到取得装置830(步骤S125)。
[取得装置的处理(步骤S83、S84)]
图22是用于例示第二实施方式的取得装置的处理的图。
由取得装置830(图17)的接收单元136接收从各分散管理装置PA(α,h(α))820-α-h(α)发送的分散秘密值DSH(α,h(α)),并存储到存储单元132(步骤S131)。
接着,控制单元133判定在存储单元132中是否存储了必要数目以上的分散秘密值DSH(α,h(α))(步骤S132)。这里,在判定为在存储单元132中没有存储必要数目以上的分散秘密值DSH(α,h(α))的情况下,返回到步骤S131的处理。
另一方面,在判定为在存储单元132中存储了必要数目以上的分散秘密值DSH(α,h(α))的情况下,控制单元133设定为α=1,并将该设定内容存储到临时存储单元131(步骤S133)。接着,从存储单元132读取与子集合SUB(α)对应的必要数目量的分散秘密值DSH(α,h(α)),并输入到复原单元834-α。复原单元834-α使用所输入的分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成式(82)所示的秘密复原值SUBSK(α),并输出该各个子集合SUB(α)的秘密复原值SUBSK(α)(步骤S834)。
接着,控制单元133判定在临时存储单元131中存储的α是否为L(步骤S135)。这里,在判定为不是α=L的情况下,控制单元133将α+1设为新的α,将该设定内容存储到临时存储单元131(步骤S136),并使根据新的α来执行步骤S834的处理。
另一方面,在步骤S135中判定为是α=L的情况下,从各复原单元134-α输出的各秘密复原值SUBSK(α)被送到合成单元835。合成单元835的第一运算单元835a(图18)生成并输出式(86)的线型和(步骤S841)。
SUBSK(1)+...+SUBSK(L)
=(σ(1)+...+σ(L))·{∑μ=1 nwμ·bμ *}+L·∑μ=n+1 n+ζbμ *∈Gn+ζ ...(86)
线型和SUBSK(1)+...+SUBSK(L)被输入到第二运算单元835b。第二运算单元835b生成如式(87)的生成信息,并输出该生成信息SK(步骤S842)。
SK={(σ(1)+...+σ(L))/L}·{∑μ=1 nwμ·bμ *}+∑μ=n+1 n+ζbμ *∈Gn+ζ ...(87)
<第二实施方式的变形例>
在本方式中,也能够应用第一实施方式的各变形例。
【其他的变形例等】
本发明不限定于上述的各实施方式。例如,可以将上述的在有限域Fq上定义的各运算置换为在位数q的有限环Zq上定义的运算。将在有限域Fq上定义的各运算置换为在有限环Zq上定义的运算的方法的一例是,容许质数或质数的幂乘值以外的q的方法。
此外,代替式(71)也可以使用D*=σ·(∑μ=1 nwμ·bμ *)+∑ι=n+1 n+ζυι·bι *∈G2 n+ζ。其中,υι是常数或变量(随机数等)等。此外,上述的各种处理不限定于按照记载以时间序列执行,也可以根据执行处理的装置的处理能力或者根据需要来并行地或者单独地执行。此外,在不脱离本发明的宗旨的范围内能够进行适当的变更是不言而喻的。
此外,通过计算机实现上述结构的情况下,通过程序记述各装置应具有的功能的处理内容。而且,通过由计算机执行该程序,从而在计算机上实现上述处理功能。
记述了该处理内容的程序能够记录在可由计算机读取的记录介质。作为可由计算机读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等。
此外,例如通过对记录了程序的DVD、CD-ROM等可移动记录介质进行贩卖、转让、租借等,从而进行该程序的流通。而且,也可以是如下的结构:将该程序存储到服务器计算机的存储装置,并经由网络从服务器计算机对其他的计算机转发该程序,从而使该程序流通。
执行这样的程序的计算机例如,首先将在可移动性记录介质中记录的程序或从服务器计算机转发的程序临时存储到自身的存储装置。然后,在执行处理时,该计算机读取在自身的存储介质中存储的程序,并执行按照所读取的程序的处理。此外,作为该程序的其他的实施方式,也可以是由计算机从可移动性记录介质直接读取程序,并执行按照该程序的处理,进一步也可以是,每当从服务器计算机对该计算机转发程序时,依次执行按照所获得的程序的处理。此外,也可以是,不从服务器计算机对该计算机转发程序,而是仅通过该执行指示与结果取得来实现处理功能的结构,即通过所谓的ASP(Application Service Provider,应用服务提供商)型的服务来执行上述的处理的结构。另外,假设在本方式的程序中包含用于电子计算机的处理的信息且 在程序中参照的信息(虽然不是对于计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。
此外,在该方式中,通过使计算机执行规定的程序来构成本装置,但是也可以通过硬件来实现这些处理内容的至少一部分。
标号说明
1秘密分散系统
110、810分散装置
120、820分散管理装置
130、830取得装置
140共享值生成装置
Claims (30)
1.一种秘密分散系统,具有分散装置、Σα=1 Lh(α)个分散管理装置PA(α,h(α))、以及取得装置,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2,其中,
所述分散装置包括:
秘密分散单元,使用某一秘密分散方式,按各个子集合SUB(α)独立地对秘密信息进行秘密分散从而生成分散信息SH(α,h(α)),并且输出该分散信息SH(α,h(α)),其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,
所述分散管理装置PA(α,h(α))包括:
分散秘密值生成单元,使用包含由各个所述子集合SUB(α)共享的共享值σ(α)的共同信息、以及所述分散信息SH(α,h(α)),通过共同运算来生成分散秘密值DSH(α,h(α)),并且输出该分散秘密值DSH(α,h(α)),
由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别使用的所述共同信息互相相同,
由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别进行的所述共同运算互相相同,
所述取得装置包括:
复原单元,使用与相同的所述子集合SUB(α)对应的多个所述分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),得到该各个子集合SUB(α)的所述秘密复原值SUBSK(α),其中所述复原处理是按照所述秘密分散方式的处理;以及
合成单元,使用所述秘密复原值SUBSK(α)来生成生成信息SK,并且输出该生成信息SK。
2.如权利要求1所述的秘密分散系统,其中,
在互相不同的所述子集合SUB(α)中分别共享的所述共享值σ(α)互相独立。
3.如权利要求1或2所述的秘密分散系统,其中,
由所述分散管理装置PA(α,h(α))的所述分散秘密值生成单元分别进行的所述共同运算全部相同,其中α=1,...,L。
4.如权利要求3所述的秘密分散系统,其中,
所述共同运算是具有线型性的运算,
所述合成单元对所述秘密复原值SUBSK(α)进行线型结合来生成所述生成信息SK。
5.如权利要求1所述的秘密分散系统,其中,
所述共同信息包含所述共享值σ(α)、以及从所述取得装置提供的在所有的所述分散管理装置PA(α,h(α))中共同的提供信息。
6.如权利要求1所述的秘密分散系统,其中,
所述合成单元对所述秘密复原值SUBSK(α)进行线型结合来生成所述生成信息SK。
7.如权利要求1所述的秘密分散系统,其中,
所述共同运算是具有线型性的运算。
8.如权利要求1所述的秘密分散系统,其中,
所述秘密分散单元对至少一部分所述子集合SUB(α),使用(R(α),H(α))阈值秘密分散法,生成对所述秘密信息进行了秘密分散的分散信息SH(α,h(α)),其中,2≦R(α)<H(α),
所述复原单元使用与相同的所述子集合SUB(α)对应的R(α)个以上的所述分散秘密值DSH(α,h(α)),生成该各个子集合SUB(α)的秘密复原值SUBSK(α)。
11.如权利要求1所述的秘密分散系统,其中,
所述秘密分散单元对至少一部分所述子集合SUB(α),使用(H(α),H(α))阈值秘密分散法,生成对所述秘密信息进行了秘密分散的分散信息SH(α,h(α)),
所述复原单元使用与相同的所述子集合SUB(α)对应的H(α)个所述分散秘密值DSH(α,h(α)),生成该各个子集合SUB(α)的秘密复原值SUBSK(α)。
12.如权利要求11所述的秘密分散系统,其中,
所述秘密信息包括:在将g设为巡回群G的生成元,将θ设为有限域Fq的元的情况下的、所述巡回群G的元θ·g∈G,
使用(H(α),H(α))阈值秘密分散法而进行了秘密分散后的所述分散信息SH(α,h(α))是满足SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ·g∈G的所述巡回群G的元。
13.如权利要求11所述的秘密分散系统,其中,
所述秘密信息包括有限域Fq的元θ,
使用(H(α),H(α))阈值秘密分散法而进行了秘密分散后的所述分散信息SH(α,h(α))是满足SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ∈Fq的所述有限域Fq的元。
14.如权利要求5至13的任一项所述的秘密分散系统,其中,
所述秘密信息是在将巡回群G的生成元设为g,将θ(i,β)设为有限域Fq的元,将以所述巡回群G的n+ζ个元作为元素的n+ζ维基底向量设为bi *=(θ(i,1)·g,...,θ(i,n+ζ)·g)∈Gn+ζ的情况下的、该基底向量bi *的集合(b1 *,...,bn+ζ *),其中i=1,...,n+ζ,β=1,...,n+ζ,n≧1,ζ≧1,
所述秘密分散单元生成按各个所述子集合SUB(α)独立地分别对各基底向量bi *的元素θ(i,β)·g∈G进行了秘密分散的分散信息SH(i,β,α,h(α))∈G,所述分散信息SH(α,h(α))是所述分散信息SH(i,β,α,h(α))∈G的集合,其中i=1,...,n+ζ,β=1,...,n+ζ,
所述提供信息是以所述有限域Fq的元作为元素wμ的n维向量w→=(w1,...,wn),其中μ=1,...,n,
所述分散秘密值生成单元使用所述分散信息SH(i,β,α,h(α))、所述共享值 σ(α)以及所述n维向量w→来生成所述分散秘密值DSH(α,h(α)),所述分散秘密值DSH(α,h(α))是对于以n+ζ个分散信息SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))作为元素的n+ζ维的分散基底向量SHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζ的、DSH(α,h(α))=σ(α)·{Σμ=1 nwμ·SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζ,其中i=1,...,n+ζ,β=1,...,n+ζ,
所述秘密复原值SUBSK(α)是SUBSK(α)=σ(α)·{Σμ=1 nwμ·bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζ。
15.如权利要求14所述的秘密分散系统,其中,
所述合成单元计算所述生成信息SK={(σ(1)+...+σ(L))/L}·{Σμ=1 nwμ·bμ *}+Σμ=n+1 n+ζbμ *。
16.一种分散装置,具有:
秘密分散单元,将秘密信息作为输入,按各个子集合SUB(α)独立地对所述秘密信息进行秘密分散从而生成分散信息SH(α,h(α)),并且输出该分散信息SH(α,h(α)),其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2,
所述秘密分散单元对至少一部分所述子集合SUB(α),使用(R(α),H(α))阈值秘密分散法,生成对所述秘密信息进行了秘密分散的分散信息SH(α,h(α)),其中,2≦R(α)<H(α),
所述秘密信息包括:在将g设为巡回群G的生成元,将θ设为有限域Fq的元的情况下的、所述巡回群G的元θ·g∈G,
用于确定所述秘密信息的信息是θ∈Fq,
17.一种分散装置,具有:
秘密分散单元,将秘密信息作为输入,按各个子集合SUB(α)独立地对所述秘密信息进行秘密分散从而生成分散信息SH(α,h(α)),并且输出该分散信息SH(α,h(α)),其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2,
所述秘密信息是在将巡回群G的生成元设为g,将θ(i,β)设为有限域Fq的元,将以所述巡回群G的n+ζ个元作为元素的n+ζ维基底向量设为bi *=(θ(i,1)·g,...,θ(i,n+ζ)·g)∈Gn+ζ的情况下的、该基底向量bi *的集合(b1 *,...,bn+ζ *),其中i=1,...,n+ζ,β=1,...,n+ζ,n≧1,ζ≧1,
所述秘密分散单元生成按各个所述子集合SUB(α)独立地分别对各基底向量bi *的元素θ(i,β)·g∈G进行了秘密分散的分散信息SH(i,β,α,h(α))∈G,所述分散信息SH(α,h(α))是所述分散信息SH(i,β,α,h(α))∈G的集合,其中i=1,...,n+ζ,β=1,...,n+ζ。
18.一种分散管理装置,具有:
分散秘密值生成单元,使用包含由各个子集合SUB(α)共享的共享值σ(α)的共同信息、以及按各个所述子集合SUB(α)独立地对秘密信息进行秘密分散而得到的分散信息SH(α,h(α)),通过共同运算来生成分散秘密值DSH(α,h(α)),并且输出该分散秘密值DSH(α,h(α)),其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2,
由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别使用的所述共同信息互相相同,
由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别进行的所述共同运算互相相同。
19.如权利要求18所述的分散管理装置,其中,
在互相不同的所述子集合SUB(α)中分别共享的所述共享值σ(α)互相独立。
20.如权利要求18或19所述的分散管理装置,其中,
由所述分散管理装置PA(α,h(α))的所述分散秘密值生成单元分别进行的所述共同运算全部相同,其中α=1,...,L。
21.如权利要求18所述的分散管理装置,其中,
所述共同信息包含所述共享值σ(α)、以及从取得装置提供的在所有的所述分散管理装置PA(α,h(α))中共同的提供信息。
22.如权利要求21所述的分散管理装置,其中,
所述提供信息是以有限域Fq的元作为元素wμ的n维向量w→=(w1,...,wn),其中μ=1,...,n,
所述分散秘密值生成单元使用所述分散信息SH(i,β,α,h(α))、所述共享值σ(α)以及所述n维向量w→来生成所述分散秘密值DSH(α,h(α)),所述分散秘密值DSH(α,h(α))是对于以n+ζ个分散信息SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))作为元素的n+ζ维的分散基底向量SHbi *(α,h(α))=(SH(i,1,α,h(α)),...,SH(i,n+ζ,α,h(α))∈Gn+ζ的、DSH(α,h(α))=σ(α)·{Σμ=1 nwμ·SHbμ *(α,h(α))}+Σμ=n+1 n+ζSHbμ *(α,h(α))∈Gn+ζ,其中ζ≧1。
23.一种取得装置,具有:
复原单元,使用在将由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成的子集合设为SUB(α)的情况下的、与相同的所述子集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过该各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),得到该各个子集合SUB(α)的所述秘密复原值SUBSK(α),其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2,其中所述复原处理是按照某一秘密分散方式的处理,其中所述多个分散秘密值DSH(α,h(α))是通过使用包含由各个所述子集合SUB(α)共享的共享值σ(α)的共同信息、以及按各个所述子集合SUB(α)独立地对秘密信息进行秘密分散而得到的分散信息SH(α,h(α)),进行共同运算而生成的;以及
合成单元,使用所述秘密复原值SUBSK(α)来生成生成信息SK,并且输出该生成信息SK。
24.如权利要求23所述的取得装置,还具有:
输出单元,输出以有限域Fq的元作为元素wμ的n维向量w→=(w1,...,wn),其中μ=1,...,n,
所述秘密复原值SUBSK(α)是在将由各个所述子集合SUB(α)共享的共享值设为σ(α),将巡回群G的生成元设为g,将θ(i,β)(i=1,...,n+ζ,β=1,...,n+ζ,n≧1,ζ≧1)设为有限域Fq的元,将以所述巡回群G的n+ζ个元作为元素的n+ζ维的基底向量设为bi *=(θ(i,1)·g,...,θ(i,n+ζ)·g)∈Gn+ζ的情况下的、SUBSK(α)=σ(α)·{Σμ=1 nwμ·bμ *}+Σμ=n+1 n+ζbμ *∈Gn+ζ。
25.如权利要求24所述的取得装置,其中,
所述合成单元计算所述生成信息SK={(σ(1)+...+σ(L))/L}·{Σμ=1 nwμ·bμ *}+Σμ=n+1 n+ζbμ *。
26.一种秘密分散方法,具有:
步骤(a),分散装置使用某一秘密分散方式,按各个子集合SUB(α)独立 地对秘密信息进行秘密分散从而生成分散信息SH(α,h(α)),并且输出该分散信息SH(α,h(α)),其中,该子集合SUB(α)由属于由Σα=1 Lh(α)个分散管理装置PA(α,h(α))构成的集合的H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2;以及
步骤(b),所述分散管理装置PA(α,h(α))使用所述分散信息SH(α,h(α))、以及包含由各个所述子集合SUB(α)共享的共享值σ(α)的共同信息,通过共同运算来生成分散秘密值DSH(α,h(α)),并且输出该分散秘密值DSH(α,h(α));
步骤(c),取得装置使用与相同的所述子集合SUB(α)对应的多个所述分散秘密值DSH(α,h(α)),通过各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),得到该各个子集合SUB(α)的所述秘密复原值SUBSK(α),其中所述复原处理是按照所述秘密分散方式的处理;以及
步骤(d),所述取得装置使用所述秘密复原值SUBSK(α)来生成生成信息SK,并且输出该生成信息SK,
在所述步骤(b)中,由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别使用的所述共同信息互相相同,由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别进行的所述共同运算互相相同。
27.一种分散装置的处理方法,具有:
步骤(a),将秘密信息输入到分散装置的步骤;
步骤(b),所述分散装置的第一部件按各个子集合SUB(α)独立地对所述秘密信息进行秘密分散从而生成分散信息SH(α,h(α))的步骤,其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2;以及
步骤(c),所述分散装置的第二部件输出所述分散信息SH(α,h(α))的步骤,
所述步骤(b)是,对至少一部分所述子集合SUB(α),使用(R(α),H(α))阈值秘密分散法,生成对所述秘密信息进行了秘密分散的分散信息SH(α,h(α))的步骤,其中2≦R(α)<H(α),
所述秘密信息包括:在将g设为巡回群G的生成元,将θ设为有限域Fq的元的情况下的、所述巡回群G的元θ·g∈G,
用于确定所述秘密信息的信息是θ∈Fq,
28.一种分散装置的处理方法,具有:
步骤(a),将秘密信息输入到分散装置的步骤;
步骤(b),所述分散装置的第一部件按各个子集合SUB(α)独立地对所述秘密信息进行秘密分散从而生成分散信息SH(α,h(α))的步骤,其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2;以及
步骤(c),所述分散装置的第二部件输出所述分散信息SH(α,h(α))的步骤,
所述秘密信息是在将巡回群G的生成元设为g,将θ(i,β)设为有限域Fq的元,将以所述巡回群G的n+ζ个元作为元素的n+ζ维基底向量设为bi *=(θ(i,1)·g,...,θ(i,n+ζ)·g)∈Gn+ζ的情况下的、该基底向量bi *的集合(b1 *,...,bn+ζ *),其中i=1,...,n+ζ,β=1,...,n+ζ,n≧1,ζ≧1,
所述步骤(b)是,生成按各个所述子集合SUB(α)独立地分别对各基底向量bi *的元素θ(i,β)·g∈G进行了秘密分散的分散信息SH(i,β,α,h(α))∈G的步骤,所述分散信息SH(α,h(α))是所述分散信息SH(i,β,α,h(α))∈G的集合,其中i=1,...,n+ζ,β=1,...,n+ζ。
29.一种分散管理装置的处理方法,具有:
所述分散管理装置的第一部件使用包含由各个子集合SUB(α)共享的共享值σ(α)的共同信息、以及按各个所述子集合SUB(α)独立地对秘密信息进行秘密分散而得到的分散信息SH(α,h(α)),通过共同运算来生成分散秘密值DSH(α,h(α))的步骤,其中,该子集合SUB(α)由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2;以及
所述分散管理装置的第二部件输出所述分散秘密值DSH(α,h(α))的步骤,
由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别使用的所述共同信息互相相同,由属于相同的所述子集合SUB(α)的所述分散管理装置PA(α,h(α))分别进行的所述共同运算互相相同。
30.一种取得装置的处理方法,具有:
所述取得装置的第一部件使用在将由H(α)个分散管理装置PA(α,1),...,PA(α,H(α))构成的子集合设为SUB(α)的情况下的、与相同的所述子 集合SUB(α)对应的多个分散秘密值DSH(α,h(α)),通过该各个子集合SUB(α)的复原处理来生成秘密复原值SUBSK(α),得到该各个子集合SUB(α)的所述秘密复原值SUBSK(α)的步骤,其中所述复原处理是按照某一秘密分散方式的处理,其中α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2;以及
所述取得装置的第二部件使用所述秘密复原值SUBSK(α)来生成生成信息SK,并且输出该生成信息SK。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-106031 | 2009-04-24 | ||
JP2009106031 | 2009-04-24 | ||
PCT/JP2010/057274 WO2010123114A1 (ja) | 2009-04-24 | 2010-04-23 | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102396012A CN102396012A (zh) | 2012-03-28 |
CN102396012B true CN102396012B (zh) | 2014-05-07 |
Family
ID=43011228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080016595.XA Active CN102396012B (zh) | 2009-04-24 | 2010-04-23 | 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8549290B2 (zh) |
EP (1) | EP2423904B1 (zh) |
JP (2) | JP5337238B2 (zh) |
KR (1) | KR101344353B1 (zh) |
CN (1) | CN102396012B (zh) |
ES (1) | ES2532332T3 (zh) |
WO (1) | WO2010123114A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602005010039D1 (de) * | 2004-12-23 | 2008-11-13 | Hewlett Packard Development Co | Verbesserungen in der Anwendung von bilinearen Abbildungen bei kryptographischen Anwendungen |
EP2242032B1 (en) * | 2008-01-21 | 2013-10-02 | Nippon Telegraph and Telephone Corporation | Secure computing system, secure computing method, secure computing apparatus and program therefor |
JP5424974B2 (ja) | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
KR101456579B1 (ko) * | 2010-07-23 | 2014-10-31 | 니폰 덴신 덴와 가부시끼가이샤 | 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체 |
US9432188B2 (en) * | 2012-07-05 | 2016-08-30 | Nippon Telegraph And Telephone Corporation | Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program |
CN104412539B (zh) * | 2012-07-05 | 2017-05-24 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置、以及秘密分散方法 |
KR101379848B1 (ko) * | 2013-02-15 | 2014-04-04 | 서울대학교산학협력단 | 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법 |
JP6009697B2 (ja) * | 2014-01-17 | 2016-10-19 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、ソート装置及びプログラム |
US10013682B2 (en) | 2015-02-13 | 2018-07-03 | International Business Machines Corporation | Storage and recovery of digital data based on social network |
JP5968484B1 (ja) * | 2015-03-18 | 2016-08-10 | 日本電信電話株式会社 | シェア復旧システム、シェア復旧方法、およびプログラム |
EP3675090B1 (en) * | 2017-08-22 | 2023-04-26 | Nippon Telegraph And Telephone Corporation | Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium |
FR3080927B1 (fr) * | 2018-05-03 | 2024-02-02 | Proton World Int Nv | Authentification d'un circuit electronique |
TWI667909B (zh) * | 2018-07-31 | 2019-08-01 | 國立高雄科技大學 | 數值資料保護方法與電腦程式產品 |
CN114981864A (zh) * | 2020-01-20 | 2022-08-30 | 日本电信电话株式会社 | 秘密选择积计算系统、秘密选择积计算方法、秘密计算装置以及程序 |
US11362816B2 (en) | 2020-09-11 | 2022-06-14 | Seagate Technology Llc | Layered secret sharing with flexible access structures |
US11316673B2 (en) | 2020-09-11 | 2022-04-26 | Seagate Technology Llc | Privacy preserving secret sharing from novel combinatorial objects |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334080A (ja) * | 1994-06-13 | 1995-12-22 | Nippon Telegr & Teleph Corp <Ntt> | ディジタル情報保護装置及びその方法 |
US6363481B1 (en) * | 1998-08-03 | 2002-03-26 | Nortel Networks Limited | Method and apparatus for secure data storage using distributed databases |
CN1531241A (zh) * | 2003-03-13 | 2004-09-22 | ͬ�Ϳ�ҵ��ʽ���� | 密码重构方法、分散密码重构装置及密码重构系统 |
JP2004287333A (ja) * | 2003-03-25 | 2004-10-14 | Oki Electric Ind Co Ltd | 分散計算装置及び分散計算システム |
JP2006129340A (ja) * | 2004-11-01 | 2006-05-18 | Oki Electric Ind Co Ltd | 秘密情報管理装置、秘密情報管理システム、及び秘密情報管理方法 |
JP2008250931A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 分散情報復元システム、情報利用装置、および、検証装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653199B2 (en) * | 2004-07-29 | 2010-01-26 | Stc. Unm | Quantum key distribution |
WO2006118092A1 (ja) * | 2005-04-27 | 2006-11-09 | Matsushita Electric Industrial Co., Ltd. | 情報セキュリティ装置及び楕円曲線演算装置 |
US7983415B2 (en) * | 2006-12-19 | 2011-07-19 | King Fahd University Of Petroleum And Minerals | Method for performing iterative scalar multiplication which is protected against address bit attack |
-
2010
- 2010-04-23 ES ES10767169.5T patent/ES2532332T3/es active Active
- 2010-04-23 WO PCT/JP2010/057274 patent/WO2010123114A1/ja active Application Filing
- 2010-04-23 EP EP10767169.5A patent/EP2423904B1/en active Active
- 2010-04-23 KR KR1020117023961A patent/KR101344353B1/ko active IP Right Grant
- 2010-04-23 US US13/264,445 patent/US8549290B2/en active Active
- 2010-04-23 JP JP2011510381A patent/JP5337238B2/ja active Active
- 2010-04-23 CN CN201080016595.XA patent/CN102396012B/zh active Active
-
2013
- 2013-06-26 JP JP2013133392A patent/JP5562475B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334080A (ja) * | 1994-06-13 | 1995-12-22 | Nippon Telegr & Teleph Corp <Ntt> | ディジタル情報保護装置及びその方法 |
US6363481B1 (en) * | 1998-08-03 | 2002-03-26 | Nortel Networks Limited | Method and apparatus for secure data storage using distributed databases |
CN1531241A (zh) * | 2003-03-13 | 2004-09-22 | ͬ�Ϳ�ҵ��ʽ���� | 密码重构方法、分散密码重构装置及密码重构系统 |
JP2004287333A (ja) * | 2003-03-25 | 2004-10-14 | Oki Electric Ind Co Ltd | 分散計算装置及び分散計算システム |
JP2006129340A (ja) * | 2004-11-01 | 2006-05-18 | Oki Electric Ind Co Ltd | 秘密情報管理装置、秘密情報管理システム、及び秘密情報管理方法 |
JP2008250931A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 分散情報復元システム、情報利用装置、および、検証装置 |
Non-Patent Citations (2)
Title |
---|
Hachiro FUJITA等.Sharing Multilevel Secrets among Groups Using Concatenation of Reed-Solomon Codes.《The Institute of Electronics,Information and Communication Engineers Gijutsu Hokoku》.2009,第108卷65-70. |
Sharing Multilevel Secrets among Groups Using Concatenation of Reed-Solomon Codes;Hachiro FUJITA等;《The Institute of Electronics,Information and Communication Engineers Gijutsu Hokoku》;20090302;第108卷;65-70 * |
Also Published As
Publication number | Publication date |
---|---|
US8549290B2 (en) | 2013-10-01 |
EP2423904A4 (en) | 2013-06-26 |
EP2423904A1 (en) | 2012-02-29 |
US20120030464A1 (en) | 2012-02-02 |
JPWO2010123114A1 (ja) | 2012-10-25 |
EP2423904B1 (en) | 2015-01-07 |
JP5337238B2 (ja) | 2013-11-06 |
ES2532332T3 (es) | 2015-03-26 |
CN102396012A (zh) | 2012-03-28 |
WO2010123114A1 (ja) | 2010-10-28 |
KR101344353B1 (ko) | 2013-12-24 |
KR20120034156A (ko) | 2012-04-10 |
JP5562475B2 (ja) | 2014-07-30 |
JP2013178589A (ja) | 2013-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102396012B (zh) | 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 | |
US8938068B2 (en) | Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium | |
US8897442B2 (en) | Encryption device, decryption device, encryption method, decryption method, program, and recording medium | |
US8515060B2 (en) | Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium | |
EP2582086B1 (en) | Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium | |
CN103003857B (zh) | 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法 | |
Lee et al. | Anonymous HIBE with short ciphertexts: full security in prime order groups | |
Wang et al. | Cloud-aided online/offline ciphertext-policy attribute-based encryption in the standard model | |
Ding et al. | Ciphertext retrieval via attribute-based FHE in cloud computing |
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 |