CN103003857A - 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法、程序及记录介质 - Google Patents
秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法、程序及记录介质 Download PDFInfo
- Publication number
- CN103003857A CN103003857A CN2011800353116A CN201180035311A CN103003857A CN 103003857 A CN103003857 A CN 103003857A CN 2011800353116 A CN2011800353116 A CN 2011800353116A CN 201180035311 A CN201180035311 A CN 201180035311A CN 103003857 A CN103003857 A CN 103003857A
- Authority
- CN
- China
- Prior art keywords
- secret
- coef
- value
- information
- shb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
分散装置将与基底向量bi *(ψ)的各要素θ(ψ,i,β)·g2相应的值分别独立地秘密分散到由H(α)个分散管理装置PA(α,1),…,PA(α,H(α))构成的每个子集合SUB(α)中,生成与各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))。分散管理装置PA(α,h(α))对按每个子集合SUB(α)所共享的共同信息和共享信息SH(ψ,i,β,α,h(α)),进行按每个子集合SUB(α)的共同运算,生成分散秘密值DSH(ψ,α,h(α))。取得装置通过每个子集合SUB(α)的恢复处理,生成秘密恢复值SUBSK(ψ,α),使用秘密恢复值SUBSK(ψ,α),生成生成信息D*(ψ)。
Description
技术领域
本发明涉及秘密分散技术。
背景技术
在保管秘密信息的情况下,有秘密信息的丢失或破坏的危险和被盗的危险。丢失或破坏的危险可通过事先保管多个秘密信息来降低。但是,在该情况下,被盗的危险增加。作为同时解决这些危险的方法之一,具有秘密分散法(SSS:Secret Sharing Scheme)(例如,参照非专利文献1、2)。
秘密分散法是如下方式,即,利用秘密信息MSK生成多个共享信息SH(1),…,SH(N),并使这些信息分散到多个分散管理装置PA(1),…,PA(N)中而进行管理,并且,仅在能够得到这些共享信息SH(1),…,SH(N)中规定数以上的共享信息的情况下,可恢复秘密信息MSK。下面,表示秘密分散法代表性的方式。
(N,N)阈值秘密分散方式:
在(N,N)阈值秘密分散方式(有时也称为“N-out-of-N分散方式”或“N-out-of-N阈值分散方式”))中,只要提供所有的共享信息SH(1),…,SH(N),就可恢复秘密信息MSK,但即使提供任意N-1个共享信息 也不能完全得到秘密信息MSK的信息。下面,表示(N,N)阈值秘密分散方式的一个例子。
·随机选择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)执行恢复处理的情况下,得到下面的值。
σ·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),执行恢复处理的情况下,得到下面的值。
σ(1)·SH(1)+…+σ(N)·SH(N) …(2)
(Kt,N)阈值秘密分散方式:
在(Kt,N)阈值秘密分散方式(有时也称为“Kt-out-of-N分散方式”或“Kt-out-of-N阈值分散方式”)中,只要提供任意不同的Kt个共享信息 就可恢复秘密信息MSK,但即使提供任意Kt-1个共享信息也不能完全得到秘密信息MSK的信息。下标的Kt表示Kt。下面,表示(Kt,N)阈值秘密分散方式的一个例子。
·随机挑选满足f(0)=MSK的Kt-1次的多项式f(x)=ξ0+ξ1·x+ξ2·x2+…+ξKt-1·xKt-1。即,设为ξ0=MSK,随机挑选ξ1,…,ξKt-1。将共享信息设为SHρ=(ρ,f(ρ))(ρ=1,…,N)。
[数1]
式(4)的分子如下。
它们的关系即使在域上也成立。
式(3)的运算是线性的。因此,以各共享信息和值σ为被运算符,且将每个共享信息进行相同线性运算CALC的结果作为各共享信息恢复的值与以秘密信息MSK和值σ为被运算符进行线性运算CALC的结果相等。另一方面,在以各共享信息 和相互独立的值为被运算符,且将每个共享信息进行相同线性运算CALC的结果作为各共享信息 执行恢复处理的情况下,通常,不能得到以秘密信息MSK为被运算符的运算结果。
现有技术文献
非专利文献
非专利文献1:黑泽馨、尾形わかは、“現代暗号の基礎数理(電子情報通信レクチヤシリ一ズ)”、コロナ社、2004年3月、p.116-119
非专利文献2:A.Shamir,"How to Share a Secret",Communications ofthe ACM,November1979,Volume22,Number11,pp.612-613.
发明内容
发明要解决的课题
假定满足下面的条件的方式。
(条件1)分散装置对秘密信息MSK进行秘密分散,生成多个共享信息SH(1),…,SH(N),并将这些共享信息分散到多个分散管理装置PA(1),…,PA(N)中而进行管理。
(条件2)各分散管理装置PA(1),…,PA(N)分别执行一些运算。
(条件3)取得装置虽然不能得到秘密信息MSK,但在提供由规定数以上的分散管理装置生成的运算结果的情况下,能够得到与被运算符中包含秘密信息MSK和任意值σ的运算结果对应的生成信息。
但是,实现这种方式是不容易的。即,若各分散管理装置PA(1),…,PA(N)分别使用相互独立的值σ(1),…,σ(N)执行运算的话,取得装置不能正确地执行以各分散管理装置的运算结果为共享信息的恢复处理,得不到希望的生成信息。另一方面,值σ可以成为用于推测生成信息的信息,因此所有的分散管理装置PA(1),…,PA(N)共享值σ其本身,从安全性的观点来看,不优选。
本发明就是鉴于这种点而提出的,其目的在于,安全地实现满足上述条件1~3的方式。
用于解决课题的手段
在本发明中,通过分散装置、Σα=1 Lh(α)个分散管理装置PA(α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)和取得装置,执行秘密分散处理。分散装置将Ψ设为1以上的整数、将ψ设为0以上Ψ以下的整数ψ=0,…,Ψ、将n(ψ)设为1以上的整数、将ζ(ψ)设为0以上的整数、将巡回群G2的生成元设为g2、将以相对于θ(ψ,i,β)(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ),n(ψ)≧1,ζ(ψ)≧1)的巡回群G2的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量设为bi *(ψ)=(θ(ψ,i,1)·g2,…,θ(ψ,i,n(ψ)+ζ(ψ))·g2)∈G2 n(ψ)+ζ(ψ)的情况下的基底向量bi *(ψ)的各要素θ(ψ,i,β)·g2相应的值,通过规定的秘密分散方式,分别独立地秘密分散到每个由H(α)个分散管理装置PA(α,1),…,PA(α,H(α))构成的子集合SUB(α)中,生成各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α))。分散管理装置PA(α,h(α))相对于每个子集合SUB(α)所共享的共同信息和共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α)),在每个子集合SUB(α)进行共同的共同运算,生成分散秘密值DSH(ψ,α,h(α))。取得装置使用与相同子集合SUB(α)对应的多个分散秘密值DSH(ψ,α,h(α)),通过每个根据所述秘密分散方式的子集合SUB(α)的恢复处理,生成每个该子集合SUB(α)的秘密恢复值SUBSK(ψ,α),使用秘密恢复值SUBSK(ψ,α),生成生成信息D*(ψ)。
在本发明中,在每个子集合SUB(α)中独立地对秘密信息即基底向量bi *(ψ)进行秘密分散,使用每个子集合SUB(α)所共享的共同信息,生成分散秘密值DSH(ψ,α,h(α))。在该情况下,以子集合SUB(α)为单位,能够正确地执行以分散秘密值DSH(ψ,α,h(α))为共享信息的恢复处理。共同信息在每个子集合SUB(α)中共享,未在所有的分散管理装置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是用于说明第二实施方式的分散装置的构成的方框图。
图19A是用于说明第二实施方式的共享值生成装置的构成的方框图,图19B是用于说明第二实施方式的共享值生成装置的构成的方框图。
图20是是用于说明第二实施方式的分散管理装置的构成的方框图。
图21是用于说明第二实施方式的取得装置的构成的方框图。
图22是用于说明第二实施方式的秘密分散处理的整体的图。
图23是用于说明第二实施方式的秘密分散处理的整体的图。
图24是用于示例第二实施方式的分散装置的处理的图。
图25是用于示例第二实施方式的分散管理装置的处理的图。
图26是用于示例第二实施方式的取得装置的处理的图。
图27是用于示例第二实施方式的变形例1的分散管理装置的处理的图。
图28是用于示例第二实施方式的变形例1的分散管理装置的处理的图。
具体实施方式
下面,参照附图对本发明的实施方式进行说明。
〔第一实施方式〕
首先,说明本发明的第一实施方式。
〔定义〕
定义本方式中使用的用语及记号。
Fq:Fq表示位数q的有限域。位数q为1以上的整数,例如,将质数或质数的幂乘值设为位数q。即,有限域Fq的例子是质数域或将其作为基础域的扩展域。有限域Fq为质数域时的运算可通过例如以位数q为除数的余数运算容易地构成。有限域Fq为扩展域时的运算可通过例如以不可约多项式为除数的余数运算容易地构成。有限域Fq的具体的构成方法,例如公开于参考文献1“ISO/IEC18033-2:Information technology-Security techniques-Encryptionalgorithms-Part2:Asymmetric ciphers”。
0F:0F表示有限域Fq的加法单位元。
1F:1F表示有限域Fq的乘法单位元。
E:E表示在有限域Fq上定义的椭圆曲线。椭圆曲线E是包含由满足下面表示的仿射(affine)坐标上的Weierstrass方程式的x,y∈Fq构成的点(x,y)的集合和称为无限远点的特别的点O的集合。
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6
其中,满足a1,a2,a3,a4,a6∈Fq。
对椭圆曲线E上的任意两点定义称为椭圆加算的二项运算+,对椭圆曲线E上的任意1点定义称为逆元运算的单项运算-。由椭圆曲线E上的有理点构成的有限集合关于椭圆加算而组成群、使用椭圆加算可定义称为椭圆标量倍算的运算及计算机上的椭圆加算等椭圆运算的具体的运算方法被众所周知(例如,参照参考文献1、参考文献2“RFC5091:Identity-Based CryptographyStandard(IBCS)#1:Supersingular 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的点。
G:G表示巡回群。巡回群G的具体例是,由椭圆曲线E的p等分点构成的有限集合E[p]、其子群、余数群等。在本方式中,用加法表示在巡回群G上定义的运算。即,对于χ∈Fq及Ω∈G的χ·Ω∈G意思是对Ω∈G1实施χ次在巡回群G定义的运算,对Ω1、Ω2∈G的Ω1+Ω2∈G意思是以Ω1∈G和Ω2∈G为被运算符,进行在巡回群G定义的运算。
g:g表示巡回群G的生成元。
<整体构成>
图1是用于说明第一实施方式的秘密分散系统的整体构成的方框图。
如图1所示例,本方式的秘密分散系统1具有:分散装置110、Σα=1 Lh(α)个分散管理装置〔PA(α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)〕120-α-h(α)、取得装置130、共享值生成装置140-1~L,它们可以通过网络150进行通信。为了简化说明,在本方式中,示例各存在一个分散装置110及取得装置130的构成,但也可以存在两个以上的分散装置110及/或取得装置130。根据同样的理由,在本方式中,示例只存在一个由Σα=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 AreaNetwork)卡等通信装置。
分散装置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所示例,本方式的取得装置13具有:临时存储部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(α))(h(α)=1,…,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(α)中共同的提供信息v。属于相同子集合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(α))(h(α)=1,…,H(α))。
如图8B所示例,首先,秘密分散部114-α(图5A)的函数选择部114a-α随机选择f(α,x)∈Fq来输出对于预先确定的有限域Fq的元ω∈Fq满足f(α,ω)=θ的R(α)-1次的多项式(步骤S112a)。另外,x是由有限域Fq的元构成的变量,元ω∈Fq的一个例子为0F。
分散处理部114c-α输出共享信息SH(α,h(α))(步骤S112c/《步骤S112的详情》的说明结束)。
接着,控制部113判定存储于临时存储部111的α是否为L(步骤S113)。在此,在判定为不是α=L的情况下,控制部113将α+1设为新的α,将其设定内容存储在临时存储部111(步骤S114),并通过新的α执行步骤S112的处理。另一方面,在步骤S113中判定为α=L的情况下,从各秘密分散部114-α输出的各共享信息SH(α,h(α))(α=1,…,L)发送到发送部115。发送部115分别经由网络150将各共享信息SH(α,h(α))(α=1,…,L),发送到分散管理装置〔PA(α,h(α))〕120-α-h(α)(α=1,…,L)(步骤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)。
在本方式中,从取得装置130(图4)的存储部132读出的提供信息v经由网络150,从发送部135发送到各分散管理装置〔PA(α,h(α))〕120-α-h(α)。该提供信息v在所有的分散管理装置PA(α,h(α))120-α-h(α)中是共同的。提供信息v由分散管理装置〔PA(α,h(α))〕120-α-h(α)(图3A)的接收部126-α-h(α)接收,并存储在存储部122-α-h(α)(步骤S123)。
接着,分散秘密值生成部124-α-h(α)从存储部122-α-h(α)读入共享信息SH(α,h(α))、共享值σ(α)和提供信息v。分散秘密值生成部124-α-h(α)使用包含共享值σ(α)和提供信息v的共同信息、共享信息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(α),输入共享值σ(α)、提供信息v和共享信息的线性运算部124a-α-h(α)进行下面的运算,并输出其运算结果 (步骤S124a)。
输出的运算结果输入于分散秘密值合成部124b-α-h(α)。对分散秘密值合成部124b-α-h(α),进一步输入共享信息 的索引分散秘密值合成部124b-α-h(α)通过下面的运算,生成分散秘密值DSH(α,h(α))。
分散秘密值合成部124b-α-h(α)输出分散秘密值DSH(α,h(α))(步骤S124b/《步骤S124的详情》的说明结束)。
生成的分散秘密值DSH(α,h(α))发送到发送部125-α-h(α)。发送部125-α-h(α)将分散秘密值DSH(α,h(α))经由网络150,发送到取得装置130(步骤S125)。
[取得装置的处理(步骤S13、S14)]
图10A是用于示例第一实施方式的取得装置的处理的图,图10B是用于示例步骤S134的处理的图。
从各分散管理装置PA(α,h(α))120-α-h(α)发送的分散秘密值DSH(α,h(α))由取得装置130(图4)的接收部136接收,并存储于存储部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(α)),通过根据在上述步骤S112中使用的秘密分散方式的每个子集合SUB(α)的恢复处理,生成秘密恢复值SUBSK(α),并输出该每个子集合SUB(α)的秘密恢复值SUBSK(α)(步骤S134)。
《步骤S134的详情》
本方式的分散秘密值DSH(α,h(α))如式(7)所示。对恢复部134-α(图6)对于每个α各输入R(α)个不同的分散秘密值DSH(α,h(α))。下面中,如下表示与输入于恢复部134-α的各α对应的分散秘密值DSH(α,h(α))。
其中,满足下面。
如图10B所示例,向系数算出部134a-α输入式(8)所示的 的各索引系数算出部134a-α对各ρ=1,…,R(α)分别进行下面的运算,生成输出各系数λρ(x)(ρ=1,…,R(α))(步骤S134a)。
[数2]
向多项式运算部134b-α输入生成的各系数λρ(x)和式(8)所示的 的dsh1(α),…,dshR(α)(α)。多项式运算部134b-α通过下面的运算,生成子集合SUB(α)的秘密恢复值SUBSK(α)。
SUBSK(α)=λ1(ω)·dsh1(α)+…+λR(α)(ω)·dshR(α)(α)∈G …(12)
多项式运算部134b-α输出秘密恢复值SUBSK(α)(步骤S134b/《步骤S134的详情》的说明结束)。
控制部133判定存储于临时存储部131的α是否为L(步骤S135)。在此,在判定为不是α=L的情况下,控制部133将α+1设为新的α,并将该设定内容存储于临时存储部131(步骤S136),并利用新的α执行步骤S134的处理。
另一方面,在步骤S135中判定为α=L的情况下,从各恢复部134-α输出的各秘密恢复值SUBSK(α)发送到合成部137。合成部137使用对各子集合SUB(α)分别生成的各秘密恢复值SUBSK(α),生成下面的生成信息SK,并输出该生成信息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(α)使用包含共享值σ(α)和提供信息v的共同信息、共享信息SH(α,h(α)),进行共同运算,生成分散秘密值DSH(α,h(α)),取得装置130使用与相同的子集合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的结果相同。
在本方式中,使用(R(α),H(α))阈值秘密分散方式,在每个子集合SUB(α)中对秘密信息θ·g∈G进行秘密分散。该构成可以设为,例如共享信息SH(α,h(α))在将由有限域Fq的元构成的变量设为x、将相对于预先确定的有限域Fq的元ω∈Fq满足f(α,ω)=θ的R(α)-1次多项式设为f(α,x)∈Fq、将与h(α)对应的索引设为的情况下的包含巡回群G的元的构成。这样,通过对巡回群的元即秘密信息θ·g∈G进行秘密分散,即使从共享信息SH(α,h(α))恢复的秘密信息θ·g泄露到外部,在巡回群G中的离散对数问题的求解困难的前提下,θ也不会泄露到外部。由此,可确保高的安全性。
〔第一实施方式的变形例1〕
接着,对第一实施方式的变形例1进行说明。
在第一实施方式中,将巡回群G的元设为秘密信息θ·g∈G,并对其进行秘密分散。但是,也可以对有限域Fq的元θ∈Fq进行秘密分散。在该情况下,使用(R(α),H(α))阈值秘密分散方式进行了秘密分散的共享信息SH(α,h(α))包含将由有限域Fq的元构成的变量设为x、将对于预先确定的有限域Fq的元ω∈Fq满足f(α,ω)=θ的R(α)-1次多项式设为f(α,x)∈Fq、将与h(α)对应的索引设为的情况下的有限域Fq的元
图11A是用于说明第一实施方式的变形例1的秘密分散部214-α的构成的图,图11B是用于说明第一实施方式的变形例1的分散秘密值生成部224-α-h(α)的构成的图。另外,在这些图中,对与第一实施方式共同的部分标注与第一实施方式相同的符号。
第一实施方式的变形例1的秘密分散系统2的分散装置110置换成分散装置210,分散管理装置120-α-h(α)(α=1,…,L)置换成分散管理装置220-α-h(α)(α=1,…,L)。秘密分散部114-α(α=1,…,L)置换成图11A所示那样的秘密分散部214-α(α=1,…,L),分散秘密值生成部124-α-h(α)(α=1,…,L)置换成图11B所示那样的分散秘密值生成部224-α-h(α)(α=1,…,L)。其它构成与第一实施方式相同。
《第一实施方式的变形例1的步骤S112的变形》
在第一实施方式的变形例1中,如下变形图8B所示的步骤S112的处理。
首先,执行图8B所示的步骤S112a及S112b。接着,代替步骤S112c,秘密分散部214-α的分散处理部214c-α(图11A)使用多项式f(α,x)∈Fq和索引生成输出下面的共享信息SH(α,h(α))。
《第一实施方式的变形例1的步骤S124的变形》
在第一实施方式的变形例1中,如下变形图9B所示的步骤S124的处理。
〔第一实施方式的变形例2〕
接着,对第一实施方式的变形例2进行说明。
图12A是用于说明第一实施方式的变形例2的分散秘密值生成部324-α-h(α)的构成的图,图12B是用于说明第一实施方式的变形例2的恢复部334-α的构成的图。另外,在这些图中,对与第一实施方式共同的部分标注与第一实施方式相同的符号。
第一实施方式的变形例2的秘密分散系统3的分散装置110置换成分散装置210,分散管理装置120-α-h(α)(α=1,…,L)置换成分散管理装置320-α-h(α)(α=1,…,L),取得装置130置换成取得装置330。另外,分散秘密值生成部124-α-h(α)(α=1,…,L)置换成图12A所示那样的分散秘密值生成部324-α-h(α)(α=1,…,L),恢复部134-α(α=1,…,L)置换成图12B所示那样的恢复部334-α(α=1,…,L)。其它构成与第一实施方式相同。
《第一实施方式的变形例2的步骤S112的变形》
与第一实施方式的变形例1的步骤S112的变形相同。
《第一实施方式的变形例2的步骤S124的变形》
在第一实施方式的变形例2中,如下变形图9B所示的步骤S124的处理。
《第一实施方式的变形例2的步骤S134的变形》
首先,执行图10B所示的步骤S134a的处理。接着,代替10B所示的步骤S134b的处理,向多项式运算部334b-α(图12B)输入各系数λρ(x)和式(8)所示的的 多项式运算部334b-α通过下面的运算,生成子集合SUB(α)的秘密恢复值SUBSK(α)。
SUBSK(α)={λ1(ω)·dsh1(α)+…+λR(α)(ω)·dshR(α)(α)}·g∈G
…(19)
多项式运算部334b-α输出子集合SUB(α)的秘密恢复值SUBSK(α)(《第一实施方式的变形例2的步骤S134的变形》的说明结束)。其它处理与第一实施方式相同。
〔第一实施方式的变形例3〕
第一实施方式的变形例3是代替(R(α),H(α))阈值秘密分散方式,使用(H(α),H(α))阈值秘密分散方式,对秘密信息进行秘密分散的变形例。
图13A是用于说明第一实施方式的变形例3的秘密分散部414-α的构成的图,图13B是用于说明第一实施方式的变形例3的分散秘密值生成部424-α-h(α)的构成的图,图13C是用于说明第一实施方式的变形例3的恢复部434-α的构成的图。
第一实施方式的变形例3的秘密分散系统4的分散装置110置换成分散装置410,分散管理装置120-α-h(α)(α=1,…,L)置换成分散管理装置420-α-h(α)(α=1,…,L),取得装置130置换成取得装置430。秘密分散部114-α(α=1,…,L)置换成图13A所示那样的秘密分散部414-α(α=1,…,L),分散秘密值生成部124-α-h(α)(α=1,…,L)置换成图13B所示那样的分散秘密值生成部424-α-h(α)(α=1,…,L),恢复部134-α(α=1,…,L)置换成图13C所示那样的恢复部434-α(α=1,…,L)。其它构成与第一实施方式相同。
《第一实施方式的变形例3的步骤S112的变形》
在第一实施方式的变形例3中,如下变形图8B所示的步骤S112的处理。
首先,在秘密分散部414-α(图13A)的随机数生成部414a-α中,随机选择下面的H(α)-1个巡回群G的元,并将其输出。
SH(α,1),…,SH(α,H(α)-1)∈G …(20)
接着,向逆元运算部414b-α输入秘密信息θ·g∈G和H(α)-1个巡回群G的元SH(α,1),…,SH(α,H(α)-1)∈G。逆元运算部414b-α通过下面的运算,生成输出SH(α,h(α))。
SH(α,h(α))=θ·g-{SH(α,1)+…+SH(α,H(α)-1)}∈G…(21)
秘密分散部414-α将下面作为子集合SUB(α)的共享信息进行输出。
SH(α,1),…,SH(α,H(α))∈G
这些共享信息满足下面的关系。
SH(α,1)+SH(α,2)+…+SH(α,H(α))=θ·g∈G …(22)
《第一实施方式的变形例3的步骤S124的变形》
在第一实施方式的变形例3中,如下变形图9B所示的步骤S124的处理。
首先,向分散秘密值生成部424-α-h(α)(图13B)输入共享值σ(α)、提供信息v和共享信息SH(α,1),…,SH(α,H(α))。分散秘密值生成部424-α-h(α)通过下面的运算,生成输出分散秘密值DSH(α,h(α))。
DSH(α,h(α))=σ(α)·v·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-α通过下面的运算,生成输出子集合SUB(α)的秘密恢复值SUBSK(α)。
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的秘密分散系统5的分散装置110置换成分散装置510,分散管理装置120-α-h(α)(α=1,…,L)置换成分散管理装置520-α-h(α)(α=1,…,L),取得装置130置换成取得装置530。秘密分散部114-α(α=1,…,L)置换成图14A所示那样的秘密分散部514-α(α=1,…,L),分散秘密值生成部124-α-h(α)(α=1,…,L)置换成图14B所示那样的分散秘密值生成部524-α-h(α)(α=1,…,L),恢复部134-α(α=1,…,L)置换成图14C所示那样的恢复部534-α(α=1,…,L)。其它构成与第一实施方式相同。
《第一实施方式的变形例4的步骤S112的变形》
在第一实施方式的变形例4中,如下变形图8B所示的步骤S112的处理。
首先,在秘密分散部514-α(图14A)的随机数生成部514a-α中,随机选择下面的H(α)-1个有限域Fq的元,并将其输出。
SH(α,1),…,SH(α,H(α)-1)∈Fq …(25)
接着,向逆元运算部514b-α输入秘密信息θ∈Fq和H(α)-1个有限域Fq的元SH(α,1),…,SH(α,H(α)-1)∈Fq。逆元运算部514b-α通过下面的运算,生成输出SH(α,h(α))。
SH(α,h(α))=θ-{SH(α,1)+…+SH(α,H(α)-1)}∈Fq …(26)
秘密分散部514-α将下面作为子集合SUB(α)的共享信息进行输出。
SH(α,1),…,SH(α,H(α))∈Fq …(27)
这些共享信息满足下面的关系。
SH(α,1)+SH(α,2)+…+SH(α,H(α))=θ∈Fq …(28)
《第一实施方式的变形例4的步骤S124的变形》
在第一实施方式的变形例4中,如下变形图9B所示的步骤S124的处理。
首先,向分散秘密值生成部524-α-h(α)(图14B)输入共享值σ(α)、提供信息v和共享信息SH(α,1),…,SH(α,H(α))。分散秘密值生成部524-α-h(α)通过下面的运算,生成输出分散秘密值DSH(α,h(α))。
DSH(α,h(α))=σ(α)·v·SH(α,h(α))∈Fq …(29)
《第一实施方式的变形例4的步骤S132的变形》
与第一实施方式的变形例3相同。
《第一实施方式的变形例4的步骤S134的变形》
在第一实施方式的变形例4中,如下变形图10B所示的步骤S134的处理。
该变形例4的分散秘密值DSH(α,h(α))如式(29)所示。向恢复部534-α(图14C)输入与α对应的所有的分散秘密值DSH(α,h(α))(h(α)=1,…,H(α))。恢复部534-α通过下面的运算,生成输出子集合SUB(α)的秘密恢复值SUBSK(α)。
SUBSK(α)={DSH(α,1)+…+DSH(α,H(α))}·g∈G …(30)
其它处理与第一实施方式相同。
〔第一实施方式的其它变形例〕
另外,在不脱离本发明的宗旨的范围内可以适当变更。例如,代替第一实施方式的变形例4的式(29),进行下面的式(31)的运算,也可以代替式(30),进行式(24)的运算。
DSH(α,h(α))=σ(α)·v·SH(α,h(α))∈Fq …(31)
也可以是秘密恢复值SUBSK(α)成为有限域Fq的元的构成。
在本方式中,对各子集合SUB(α),分别使用相同的秘密分散方式进行了秘密分散,但也可以对相互不同的各子集合SUB,使用相互不同的秘密分散方式。
在本方式中,在每个各子集合SUB(α)中设有共享值生成装置140-α,但也可以是各子集合SUB(α)的某个分散管理装置具有共享值生成装置的功能。在该情况下,不需要共享值生成装置140-α。
在本方式中,使用包含共享值σ(α)和提供信息v的共同信息、共享信息SH(α,h(α)),进行共同运算FNC1,生成分散秘密值DSH(α,h(α))。但是,也可以不使用提供信息v,以共享值σ(α)为共同信息,生成分散秘密值DSH(α,h(α))。共同信息也可以包含共享值σ(α)、提供信息v和其它的信息。
用于求得分散秘密值DSH(α,h(α))的共同运算需要在每个子集合SUB(α)中统一,但不需要在相互不同的子集合SUB(α)之间进行相同的共同运算。
〔第二实施方式〕
接着,对本发明的第二实施方式进行说明。本方式是在函数密码的钥匙生成中应用了第一实施方式的方式。
<定义>
对本方式中使用的用语及记号进行定义。
矩阵:“矩阵”表示将定义了运算的集合的元以矩形排列的集合。不仅把将环的元作为要素,还将群的元作为要素的集合表示为“矩阵”。
(·)T:(·)T表示·的转置矩阵。
(·)-1:(·)-1表示·的逆矩阵。
∧:∧是表示逻辑积(AND)的逻辑记号。
∨:∨是表示逻辑和(OR)的逻辑记号。
命题变量:命题变量是以命题的“真”、“假”("false","true")为要素的集合{真,假}上的变量。即,命题变量的定义域是以“真”、“假”为要素的集合。将命题变量及命题变量的否定统称为字面值(literal)。
逻辑式:逻辑式意思是表示数理逻辑学的命题的式子。具体地讲,“真”及“假”为逻辑式,命题变量为逻辑式,逻辑式的否定为逻辑式,逻辑式与逻辑式的逻辑积为逻辑式,逻辑式与逻辑式的逻辑和为逻辑式。
Z:Z表示整数集合。
sec:sec表示安全参数(sec∈Z,sec>0)。
0*:0*表示由*个0构成的列。
1*:1*表示由*个1构成的列。
Fq:Fq表示位数q的有限域(与第一实施方式相同)。
0F:0F表示有限域Fq的加法单位元(与第一实施方式相同)。
1F:表示有限域Fq的乘法单位元(与第一实施方式相同)。
δ(i,j):δ(i,j)表示克罗内克δ函数。在i=j的情况下,满足δ(i,j)=1F,在i≠j的情况下,满足δ(i,j)=0F。
E:E表示在有限域Fq上定义的椭圆曲线(与第一实施方式相同)。
由椭圆曲线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的Ω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定义的运算。
Ψ:Ψ表示1以上的整数。
ψ:ψ表示0以上Ψ以下的整数ψ=0,…,Ψ。
λ:λ表示1以上Ψ以下的整数λ=1,…,Ψ。
n(ψ):n(ψ)表示1以上的整数。
ζ(ψ):ζ(ψ)表示0以上的整数。
G1 n(ψ)+ζ(ψ):G1 n(ψ)+ζ(ψ)表示n(ψ)+ζ(ψ)个巡回群G1的直积。
G2 n(ψ)+ζ(ψ):G2 n(ψ)+ζ(ψ)表示n(ψ)+ζ(ψ)个巡回群G2的直积。
g1,g2,gT:g1,g2,gT表示巡回群G,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ψ满足下面的性质。
[双线性性]双线性映像eψ对所有的Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及ν,κ∈Fq满足下面的关系。
eψ(ν·Γ1,κ·Γ2)=eψ(Γ1,Γ2)ν·κ …(33)
[非退化性]双线性映像eψ不是将所有的Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ (ψ)映射到巡回群GT的单位元的映像。
[计算可能性]存在对所有的
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(34)
有效地计算eψ(Γ1,Γ2)的算法。
在本方式中,下面那样,使用将巡回群G1和巡回群G2的直积G1×G2映射到巡回群GT的非退化的双线性映像,构成双线性映像eψ。
Pair:G1×G2→GT …(35)
本方式的双线性映像eψ对由巡回群G1的n(ψ)+ζ(ψ)个元γβ(β=1,…,n(ψ)+ζ(ψ))构成的n(ψ)+ζ(ψ)维向量(γ1,…,γn(ψ)+ζ(ψ))和由巡回群G2的n(ψ)+ζ(ψ)个元γβ *(β=1,…,n(ψ)+ζ(ψ))构成的n(ψ)+ζ(ψ)维向量(γ1 *,…,γn(ψ)+ζ(ψ)*)的输入,输出巡回群GT的1个元。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ,γβ *) …(36)
双线性映像Pair以巡回群G1的1个元和巡回群G2的1个元的组合为输入,输出巡回群GT的1个元。双线性映像Pair满足下面的性质。
[双线性性]双线性映像Pair对于所有的Ω1∈G1,Ω2∈G2及ν,κ∈Fq,满足下面的关系。
Pair(ν·Ω1,κ·Ω2)=Pair(Ω1,Ω2)ν·κ …(37)
[非退化性]双线性映像Pair不是将所有的
Ω1∈G1,Ω2∈G2 …(38)
映射到巡回群GT的单位元的映像。
[计算可能性]存在对所有的Ω1∈G1,Ω2∈G2,有效地计算Pair(Ω1,Ω2)的算法。
双线性映像Pair的具体例是用于进行Weil Pairing或Tate Pairing等配对运算的函数(例如,参照参考文献4“Alfred.J.Menezes,ELLIPTIC CURVEPUBLICKEY 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 onCurves,”1986,因特网<http://crypto.stan ford.edu/miller/miller.pdf>”等。众所周知用于有效地进行配对运算的椭圆曲线和巡回群的构成方法(例如,参照参考文献2、参考文献6“A.Miyaji,M.Nakabayashi,S.Takano,"New explicitconditions of elliptic curve Traces for FR-Reduction,"IEICE Trans.
Fundamentals,vol.E84-A,no05,pp.1234-1243,May2001”、参考文献7“P.S.L.M.Barreto,B.Lynn,M.Scott,"Constructing elliptic curves with prescribedembedding degrees,"Proc.SCN'2002,LNCS2576,pp.257-267,
Springer-Verlag.2003”、参考文献8“R.Dupont,A.Enge,F.Morain,"Buildingcurves 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(ψ)+ζ(ψ)-1个要素设为巡回群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(ψ)+ζ(ψ)):ai *(ψ)表示以巡回群G2的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量。基底向量ai *(ψ)的一例是,以κ2·g2∈G2为第i维的要素,将剩余的n(ψ)+ζ(ψ)-1个要素设为巡回群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 *(ψ)满足下面的关系。
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 τ
上标κ1,κ2分别表示κ1,κ2。
另一方面,在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的情况),满足
e(ai(ψ),aj *(ψ))=gT δ(i,j) …(42)
gT 0=1为巡回群GT的单位元,gT 1=gT为巡回群GT的生成元。基底向量ai(ψ)和基底向量ai *(ψ)是双对正规正交基底,向量空间V(ψ)和向量空间V*(ψ)是可构成双线性映像的双对向量空间〔双对配对向量空间(DPVS:DualParing Vector space)〕。
A(ψ):A(ψ)表示以基底向量ai(ψ)(i=1,…,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。例如,在通过式(39)表示基底向量ai(ψ)(i=1,…,n(ψ)+ζ(ψ))的情况下,矩阵A(ψ)如下。
[数3]
A*(ψ):A*(ψ)表示以基底向量ai *(ψ)(i=1,…,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。例如,在通过式(40)表示基底向量ai *(ψ)(i=1,…,n(ψ)+ζ(ψ))的情况下,矩阵A*(ψ)如下。
[数4]
X(ψ):X(ψ)表示以有限域Fq的元为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。矩阵X(ψ)用于基底向量ai(ψ)的坐标变换。当将矩阵X(ψ)的i行j列(i=1,…,n(ψ)+ζ(ψ),j=1,…,n(ψ)+ζ(ψ))的要素设为χi,j(ψ)∈Fq时,矩阵X(ψ)如下。
[数5]
另外,将矩阵X(ψ)的各要素χi,j(ψ)称为变换系数。
X*(ψ):矩阵X*(ψ)是满足X*(ψ)=τ'·(X(ψ)-1)T的关系的矩阵。其中,τ'∈Fq是属于有限域Fq的任意常数,例如,τ′=1F。X*(ψ)用于基底向量ai *(ψ)的坐标变换。当将矩阵X*(ψ)的i行j列的要素设为χi,j *(ψ)∈Fq时,矩阵X*(ψ)如下。
[数6]
另外,将矩阵X*(ψ)的各要素χi,j *(ψ)称为变换系数。
在该情况下,当将n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的单位矩阵设为I(ψ)时,满足X(ψ)·(X*(ψ))T=τ'·I(ψ)。即,如下定义单位矩阵。
[数7]
关于其,满足下面。
[数8]
在此,如下定义n(ψ)+ζ(ψ)维向量。
χi →(ψ)=(χi,1(ψ),…,χi,n(ψ)+ζ(ψ)(ψ)) …(49)
χj →*(ψ)=(χj,1 *(ψ),…,χj,n(ψ)+ζ(ψ) *(ψ)) …(50)
于是,利用式(48)的关系,n(ψ)+ζ(ψ)维向量χi →(ψ)和χj →*(ψ)的内积如下。
χi →(ψ)·χj →*(ψ)=τ'·δ(i,j) …(51)
bi(ψ):bi(ψ)表示以巡回群G1的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量。bi(ψ)可以使用矩阵X(ψ),对基底向量ai(ψ)(i=1,…,n(ψ)+ζ(ψ))进行坐标变换而得到。具体地讲,基底向量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(ψ)+ζ(ψ)维的基底向量。bi *(ψ)可以使用矩阵X*(ψ)对基底向量ai *(ψ)(i=1,…,n(ψ)+ζ(ψ))进行坐标变换。具体地讲,基底向量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 *(ψ)满足下面的关系。
eψ(bi(ψ),bj*(ψ))=gT τ·τ′·δ(i,j) …(56)
即,利用式(36)(51)(53)(55)的关系,满足下面的关系。
[数9]
特别是在τ=κ1·κ2=1F(例如,κ1=κ2=1F)及τ′=1F的情况下,满足下面的关系。
eψ(bi(ψ),bj*(ψ))=gT δ(i,j) …(57)
基底向量bi(ψ)和基底向量bi *(ψ)是双对配对向量空间(向量空间V(ψ)和向量空间V*(ψ))的双对正规正交基底。
如果满足式(56)的关系,则也可以使用式(39)(40)中示例的向量以外的基底向量ai(ψ)及ai *(ψ),或式(52)(54)中示例的向量以外的基底向量bi(ψ)及bi *(ψ)。
B(ψ):B(ψ)是以基底向量bi(ψ)(i=1,…,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。满足B(ψ)=X(ψ)·A(ψ)。例如,在通过式(53)表示基底向量bi(ψ)的情况下,矩阵B(ψ)成为如下。
[数10]
B*(ψ):B*(ψ)表示以基底向量bi *(ψ)(i=1,…,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵。满足B*(ψ)=X*(ψ)·A*(ψ)。例如,在通过式(55)表示基底向量bi *(ψ)(i=1,…,n(ψ)+ζ(ψ))的情况下,矩阵B*(ψ)成为如下。
[数11]
v(λ)→:v(λ)→表示以有限域Fq的元为要素的n(λ)维向量。
v(λ)→=(v1(λ),…,vn(λ)(λ))∈Fq n(λ) …(60)
vμ(λ):vμ(λ)表示n(λ)维向量v(λ)→的第μ(μ=1,…,n(λ))的要素。
w(λ)→:w(λ)→表示以有限域Fq的元为要素的n(λ)维向量。
w(λ)→=(w1(λ),…,wn(λ)(λ))∈Fq n(λ) …(61)
wμ(λ):wμ(λ)表示n(λ)维向量w(λ)→的第μ(μ=1,…,n(λ))的要素。
Enc:Enc表示对共同钥匙密码方式的密码化处理进行表示的共同钥匙密码函数。
EncK(M):EncK(M)表示使用共同钥匙K,并按照共同钥匙密码函数Enc对平文M进行密码化而得到的密码文件。
Dec:Dec表示对共同钥匙密码方式的解码处理进行表示共同钥匙解码函数。
DecK(C):DecK(C)表示使用共同钥匙K,并按照共同钥匙解码函数Dec对密码文件C进行解码而得到的解码结果。
<函数密码方式>
接着,对函数密码方式的基本的构成进行说明。
函数密码方式是,在通过组合第一信息和第二信息而确定的逻辑式的真值为“真”的情况下解码密码文件的方式。“第一信息”和“第二信息”的一方嵌入密码文件,另一方嵌入钥匙信息。例如,“″Predicate Encryption SupportingDisjunctions,Polynomial Equations,and Inner Products,"with Amit Sahai andBrent Waters One of4papers from Eurocrypt2008invited to the Journal ofCryptology”(参考文献9)所公开的术语密码方式是函数密码方式的一种。
除此之外,还存在各种各样的公知的函数密码方式,但在下面中,对未公开的新的函数密码方式进行说明。下面说明的新的函数密码方式中,与秘密信息对应的值以与规定的逻辑式对应的方式分层地秘密分散。规定的逻辑式包含通过组合第一信息和第二信息而确定真值的命题变量,根据需要,还包含逻辑记号∧、∨、的一种或全部。通过特定各命题变量的真值,在确定的该规定的逻辑式的真值为“真”的情况下,恢复与秘密信息对应的值,并基于其,解码密码文件。
<逻辑式和阶段的秘密分散的关系>
对上述的规定的逻辑式和阶段的秘密分散的关系进行说明。
如上述,在(N,N)阈值秘密分散方式中,如果提供所有的共享信息share(1),…,share(N),则可恢复秘密信息SE,但即使提供任意N-1个共享信息也不能完全得到秘密信息SE的信息。在(Kt,N)阈值秘密分散方式中,如果提供任意不同的Kt个的共享信息 则可恢复秘密信息SE,但即使提供任意Kt-1个的共享信息也不能完全得到秘密信息SE的信息。
这些秘密分散方式在域上均可以执行。也可以扩展它们,将与秘密信息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的线性结合。将秘密信息SE成为共享信息share的线性结合的秘密分散方式称为线性秘密分散方式。
上述的规定的逻辑式可通过将秘密信息分层地秘密分散而得到的树结构数据表示。即,通过德摩根定律,上述的规定的逻辑式可通过由字面值构成的逻辑式或由逻辑记号∧、∨的至少一部分和字面值构成的逻辑式(将它们称为“标准型逻辑式”)表示,该标准型逻辑式可通过将秘密信息分层地秘密分散而得到的树结构数据表示。
表示标准型逻辑式的树结构数据包含多个节点,至少一部分节点设为1个以上的子节点的父节点,一个父节点设为根节点,子节点的至少一部分设为叶节点。不存在根节点的父节点及叶节点的子节点。根节点中对应与秘密信息相应的值,各父节点的子节点中对应秘密分散与该父节点对应的值而得到的共享信息相应的值。在各节点的秘密分散方式(秘密分散方式及阈值)根据标准型逻辑式而定。另外,各叶节点中对应构成标准型逻辑式的各字面值,该各字面值的真值通过组合第一信息和第二信息而定。
在此,得到与真值成为真的字面值所对应的叶节点对应的共享信息相应的值,但得不到与真值成为假的面值所对应的叶节点对应的共享信息相应的值。另外,根据上述的秘密分散性质,与父节点对应的共享信息相应的值(如果该父节点为根节点,则与秘密信息相应的值),只在得到与该父节点对应的阈值以上的个数的与该子节点对应的共享信息相应的值的情况下被恢复。因此,根据与哪个叶节点对应的字面值的真值成为真和树结构数据的构成(包含在各节点的秘密分散的方式),最终确定是否可恢复与根节点对应的秘密信息相应的值。只在与各叶节点对应的各字面值的真值使标准型逻辑式的真值设为真的情况下,最终在以可恢复与根节点对应的秘密信息相应的值的方式构成树结构数据的情况下,这种树结构数据表示标准型逻辑式。表示这种标准型逻辑式的树结构数据可容易地设定。下面,表示具体例。
图15是对表示包含命题变量PRO(1)、PRO(2)、命题变量PRO(3)的否定和逻辑记号∧、∨的标准型逻辑式 的树结构数据进行例示的图。图15所示例的树结构数据包含多个节点N1,…,N5。节点N1设为节点N2、N5的父节点,节点N2设为节点N3、N4的父节点,父节点的1个节点N1设为根节点,子节点的一部分即节点N3、N4、N5设为叶节点。在节点N1对应秘密信息SE相应的值,在节点N1的子节点N2、N5分别对应以(1,2)阈值秘密分散方式秘密分散秘密信息SE相应的值的各共享信息SE、SE相应的值。在节点N2的子节点N3、N4分别对应以(2,2)阈值秘密分散方式秘密分散共享信息SE相应的值的各共享信息SE-SH1、SH1相应的值。即,在叶节点N3对应共享信息share(1)=SE-SH1相应的值,在叶节点N4对应共享信息share(2)=SH1相应的值,在叶节点N5对应共享信息share(3)=SE相应的值。另外,在叶节点N3、N4、N5分别对应构成标准型逻辑式的各字面值PRO(1)、PRO(2)、该各字面值PRO(1)、PRO(2)、的真值通过组合第一信息和第二信息而确定。在此,得到与真值成为真的字面值所对应的叶节点对应的共享信息相应的值,但得不到与真值成为假的字面值所对应的叶节点对应的共享信息相应的值。在该情况下,只在组合第一信息和第二信息,使标准型逻辑式的真值设为真的情况下,恢复秘密信息SE相应的值。
图16所示例的树结构数据包含多个节点N1,…,N11。节点N1设为节点N2、N6、N7的父节点,节点N2设为节点N3、N4、N5的父节点,节点N7设为节点N8、N11的父节点,节点N8设为节点N9、N10的父节点,父节点的1个即节点N1设为根节点,节点N3、N4、N5、N6、N9、N10、N11设为叶节点。在节点N1对应秘密信息SE相应的值,在节点N1的子节点N2、N6、N7分别对应以(1,3)阈值秘密分散方式秘密分散秘密信息SE相应的值的各共享信息SE、SE、SE相应的值。在节点N2的子节点N3,N4,N5分别对应以(2,3)阈值秘密分散方式秘密分散共享信息SE相应的值的各共享信息(1,f(1))、(2,f(2)),(3,f(3))相应的值。在节点N7的子节点N8、N11分别对应以(2,2)阈值秘密分散方式秘密分散共享信息SE相应的值的各共享信息SH4、SE-SH4相应的值。在节点N8的子节点N9、N10分别对应以(1,2)阈值秘密分散方式秘密分散共享信息SH4相应的值的各共享信息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)的矩阵MT和与矩阵MT的各行λ=1,…,Ψ相应的标记LAB(λ)。
[数12]
矩阵MT的各要素mtλ,col(col=1,…,COL)满足下面两个必要的条件。第一,如上述,在表示规定的逻辑式的树结构数据的根节点对应秘密信息SE∈Fq相应的值的情况下,在以预先确定的有限域Fq的元为要素的COL维向量GV→和以秘密信息SE相应的有限域Fq的元为要素的COL维向量CV→之间,下面的关系成立。
GV→=(gv1,…,gvCOL)∈Fq COL …(63)
CV→=(cv1,…,cvCOL)∈Fq COL …(64)
SE=GV→·(CV→)T …(65)
下面,表示COL维向量GV→的具体例。
GV→=(1F,…,1F)∈Fq COL …(66)
其中,GV→=(1F,0F,…,0F)∈Fq COL等其它的COL维向量也可以是GV→。
第二,在共享信息share(λ)∈Fq相应的值对应标示符λ所对应的叶节点的情况下,下面的关系成立。
(share(1),…,share(Ψ))T=MT·(CV→)T …(67)
如上述,如果确定表示规定的逻辑式的树结构数据,则选择满足这两个必要的条件的矩阵MT是容易的。另外,即使秘密信息SE及共享信息share(λ)为变量,选择满足这两个必要的条件的矩阵MT也是容易的。即,也可以在确定了矩阵MT之后,确定秘密信息SE及共享信息share(λ)的值。
另外,与矩阵MT的各行λ=1,…,Ψ相对应的标记LAB(λ)对应与标示符λ所对应的叶节点对应的字面值(PRO(λ)或¬PRO(λ))。在此,命题变量PRO(λ)的真值为“真”与第一信息VSET1={λ,v(λ)→|λ=1,…,Ψ}包含的v(λ)→和第二信息VSET2={λ,w(λ)→|λ=1,…,Ψ}包含的w(λ)→的内积v(λ)→·w(λ)→成为0是等价的处理,命题变量PRO(λ)的真值为“假”与内积v(λ)→·w(λ)→不为0不是等价的处理。与PRO(λ)对应的标记LAB(λ)表示v(λ)→,与¬PRO(λ)对应的标记LAB(λ)表示 是表示v(λ)→的否定的逻辑式,可以利用确定v(λ)→。另外,将LAB(λ)表示v(λ)→记载为“LAB(λ)=v(λ)→”,将LAB(λ)表示记载为“”。将LAB(λ)(λ=1,…,Ψ)的集合{LAB(λ)}λ=1,…,Ψ记载为LAB。
如下定义Ψ维向量TFV→。
TFV→=(tfv(1),…,tfv(Ψ)) …(68)
在内积v(λ)→·w(λ)→为0时,要素tfv(λ)成为tfv(λ)=1,在0以外时,成为tfv(λ)=0。
tfv(λ)=1(PRO(λ)为真)如果v(λ)→·w(λ)→=0 …(69)
tfv(λ)=0(PRO(λ)为假)如果v(λ)→·w(λ)→≠0 …(70)
另外,下面的逻辑式的真值成为“真”时,记载为LIT(λ)=1,成为“假”时,记载为LIT(λ)=0。
即,与标示符λ所对应的叶节点对应的字面值的真值成为“真”时,记载为LIT(λ)=1,成为“假”时,记载为LIT(λ)=0。于是,矩阵MT包含的行向量中,只由成为LIT(λ)=1的行向量mtλ →=(mtλ,1,…,mtλ,COL)构成的部分矩阵MTTFV可如下记载。
MTTFV=(MT)LIT(λ)=1 …(72)
在上述的秘密分散方式为线性秘密分散方式的情况下,利用与标示符λ对应的共享信息share(λ)相应的值可恢复秘密信息SE相应的值,和COL维向量GV→属于以与标示符λ对应的行向量mtλ →展开的向量空间是等价的。即,通过判定COL维向量GV→是否属于以与标示符λ对应的行向量mtλ →展开的向量空间,可判定利用与标示符λ对应的共享信息share(λ)相应的值,是否可恢复秘密信息SE相应的值。以行向量mtλ →展开的向量空间意思是,能够以行向量mtλ →的线性结合表示的向量空间。
在此,在COL维向量GV→属于以上述的部分矩阵MTTFV的各行向量mtλ →展开的向量空间span<MTTFV>的情况下,接收第一信息和第二信息的组合,在不是这样的情况下,拒绝第一信息和第二信息的组合。由此,具体化上述的访问构造。另外,如上述,在带标记矩阵LMT(MT,LAB)与第一信息对应的情况下,将访问构造接收第一信息和第二信息的组合称为“访问构造接收第二信息”,将访问构造未接收第一信息和第二信息的组合称为“访问构造拒绝第二信息”。
接收如果GV→∈span<MTTFV>
在GV→∈span<MTTFV>的情况下,存在满足下面的系数const(μ),这种系数const(μ)可以通过矩阵MT大小级别的多项式时间求出。
SE=Σμ∈SETconst(μ)·share(μ) …(73)
{const(μ)∈Fq|μ∈SET},SET□{1,…,λ|LIT(λ)=1}
<使用了访问构造的函数密码方式的基本方式>
下面,通过使用了访问构造的函数密码方式,示例构成密钥封装机制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)。另外,第二信息VSET2={λ,w(λ)→|λ=1,…,Ψ}的第一个要素w1(λ)设为1F。
[Setup(1sec,(Ψ;n(1),…,n(Ψ))):建立]
-输入:1sec,(Ψ;n(1),…,n(Ψ))
-输出:主要钥匙信息MSK,公开参数PK
在Setup中,对各ψ=0,…,Ψ执行下面的处理。
(Setup-1)以1sec为输入,生成安全参数sec中的位数q,椭圆曲线E,巡回群G1、G2、GT,双线性映像eψ(ψ=0,…,Ψ)的(param=(q,E,G1,G2,GT,eψ))。
(Setup-2)选择τ'∈Fq,选择满足X*(ψ)=τ'·(X(ψ)-1)T的矩阵X(ψ),X*(ψ)。
(Setup-3)基底向量ai(ψ)(i=1,…,n(ψ)+ζ(ψ))根据式(52)进行坐标变换,生成n(ψ)+ζ(ψ)维的基底向量bi(ψ)(i=1,…,n(ψ)+ζ(ψ))。生成以基底向量bi(ψ)(i=1,…,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵B(ψ)。
(Setup-4)基底向量ai *(ψ)(i=1,…,n(ψ)+ζ(ψ))根据式(54)进行坐标变换,生成n(ψ)+ζ(ψ)维的基底向量bi *(ψ)(i=1,…,n(ψ)+ζ(ψ))。生成以基底向量bi *(ψ)(i=1,…,n(ψ)+ζ(ψ))为要素的n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列的矩阵B*(ψ)。
(Setup-5)将B*(ψ)^的集合{B*(ψ)^}ψ=0,…,Ψ设为主要钥匙信息MSK={B*(ψ)^}ψ=0,…,Ψ。将B(ψ)^的集合{B(ψ)^}ψ=0,…,Ψ、1sec和param设为公开参数PK。其中,B*(ψ)^为矩阵B*(ψ)或其部分矩阵,B(ψ)^为矩阵B(ψ)或其部分矩阵。集合{B*(ψ)^}ψ=0,…,Ψ至少包含少b1 *(0),b1 *(λ)…,bn(λ) *(λ)(λ=1,…,Ψ)。集合{B(ψ)^}ψ=0,...,Ψ至少包含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、第一信息VSET1={λ,v(λ)→|λ=1,…,Ψ}对应的带标记矩阵LMT(MT,LAB)
-输出:钥匙信息SKS
对满足(GenKey-1)式(63)-(67)的秘密信息SE执行下面的处理。
D*(0)=-SE·b1 *(0)+Σι=2 Icoefι(0)·bι *(0) …(74)
其中,I是2以上n(0)+ζ(0)以下的常数。coefι(0)∈Fq是常数或随机数。“随机数”意思是真随机数或假随机数。下面,表示D*(0)的一个例子。另外,式(75)的coef4(0)为随机数。
D*(0)=-SE·b1 *(0)+b3 *(0)+coef4(0)·b4 *(0) …(75)
对满足(GenKey-2)式(63)-(67)的share(λ)(λ=1,…,Ψ)执行下面的处理。
对于成为LAB(λ)=v(λ)→的λ,生成下面的D*(λ)。
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1 *(λ)
+Σι=2 n(λ)coef(λ)·vι(λ)·bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι *(λ) …(76)
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)·bι *(λ) …(77)
其中coef(λ),coefι(λ)∈Fq为常数或随机数。下面,表示一个例子。
对于成为LAB(λ)=v(λ)→的λ,生成例如下面的D*(λ)。
D*(λ)=(share(λ)+coef(λ)·v1(λ))·b1 *(λ)
+Σι=2 n(λ)coef(λ)·vι(λ)·bι *(λ)
+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι *(λ) …(78)
D*(λ)=share(λ)·Σι=1 n(λ)vι(λ)·bι *(λ)
+Σι=2·n(λ)+1 3·n(λ)coefι(λ)·bι *(λ) …(79)
另外,式(78)(79)的coef(λ)及coefι(λ)为随机数。
(GenKey-3)生成下面的钥匙信息。
SKS=(LMT(MT,LAB),D*(0),D*(1),…,D(Ψ)) …(80)
[Enc(PK,M,VSET2):密码化]
-输入:公开参数PK、平文M、第二信息VSET2={λ,w(λ)→|λ=1,…,Ψ}(w1(λ)=1F)
-输出:密码文件C
(Enc-1)通过下面的处理,生成共同钥匙K的密码文件C(ψ)(ψ=0,…,Ψ)。
C(0)=υ·b1(0)+Σι=2 Iυι(0)·bι(0) …(81)
C(λ)=υ·Σι=1 n(λ)wι(λ)·bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)·bι(λ)…(82)
其中,υ,υι(ψ)∈Fq(ψ=0,…,Ψ)为常数或随机数,且满足下面的关系。
(coef2(0),…,coefI(0))·(υ2(0),…,υI(0))=υ' …(83)
coefι(λ)·υι(λ)=0F(ι=n(λ)+1,…,n(λ)+ζ(λ)) …(84)
υ'的例子为υ2(0),…,υI(0)的任1个。例如,υ,υ3(0),υ5(0),υ3·n (λ)+1(λ),…,υ4·n(λ)(λ)为随机数,ζ(λ)=3·n(λ),I=5,其满足下面的关系。
(υ2(0),…,υI(0))=(0F,υ3(0),0F,υ5(0))
υ′=υ3(0)
(υn(λ)+1(λ),…,υ3·n(λ)(λ))=(0F,…,0F)
(Enc-2)生成共同钥匙
K=gT τ·τ′·υ'∈GT …(85)
例如,在τ=τ′=1F的情况下,满足下面的关系。
K=gT υ′∈GT …(86)
(Enc-3)使用共同钥匙K,生成平文M的密码文件C(Ψ+1)。
C(Ψ+1)=EncK(M) …(87)
共同钥匙密码方式Enc也可以是例如使用共同钥匙K可密码化地构成的Camellia(注册商标)或AES或共同钥匙和平文的异或等,作为其它简单的例子,也可以如下生成EncK(M)。其中,在式(88)的例子中,设为M∈GT。
C(Ψ+1)=gT υ′·M …(88)
(Enc-4)生成下面的密码文件。
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(89)
其中,下标的“w(λ)→”表示“w(λ)→”。
[Dec(PK,SKS,C):解码]
-输入:公开参数PK、钥匙信息SKS、密码文件C
-输出:平文M'
对(Dec-1)λ=1,…,Ψ,判定钥匙信息SKS包含的带标记矩阵LMT(MT,LAB)的各标记LAB(λ)即n(λ)维向量v(λ)→和密码文件C的VSET2包含的n(λ)维向量w(λ)→的内积v(λ)→·w(λ)→是否成为0,通过如此和LMT(MT,LAB)的各标记LAB(λ),判定是否为GV→∈span<MTTFV>(式(69)-(73))。如果不是GV→∈span<MTTFV>,则拒绝密码文件C,如果是GV→∈span<MTTFV>,则接收密码文件C。
(Dec-3)生成下面的共同钥匙。
[数13]
由式(37)(56)(83),满足下面的关系。
[数14]
由式(37)(56)(69)(76)(82)(84)及w1(λ)=1F,满足下面的关系。
[数15]
由式(37)(56)(70)(77)(82)(84),满足下面的关系。
[数16]
由式(73)(91)-(93),满足下面的关系。
[数17]
例如,在τ=τ'=1F的情况下,满足下面的关系。
K=gT υ'∈GT …(95)
(Dec-4)使用共同钥匙K,如下生成平文M'。
M′=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(96)
例如,在式(88)所示例的共同钥匙密码方式的情况下,如下生成平文M'。
M′=C(Ψ+1)/K …(97)
也可以代替将gT设为GT的生成元,而将gT τ或gT τ′或gT τ·τ′作为GT的生成元处理。也可以将钥匙信息SKS的λ和密码文件的λ,使用特定对应关系的映像,确定C(λ)和D*(λ)的组合,并执行[Dec(PK,SKS,C):解码]的处理。不仅将第二信息VSET2={λ,w(λ)→|λ=1,…,Ψ}的第一个要素w1(λ)设为1F,而且,也可以将第一信息VSET1={λ,v(λ)→|λ=1,…,Ψ}的第n(λ)的要素vn(λ)(λ)设为1F。在要素w1(λ)不是1F的情况下,也可以代替w(λ)→,而使用w(λ)→/w1(λ),在要素vn(λ)(λ)不是1F的情况下,也可以代替v(λ)→,而使用v(λ)→/vn(λ)(λ)。也可以代替第一信息VSET1={λ,v(λ)→|λ=1,…,Ψ},而使用第二信息VSET2={λ,w(λ)→|λ=1,…,Ψ},也可以代替第二信息VSET2={λ,w(λ)→|λ=1,…,Ψ},而使用第一信息VSET1={λ,v(λ)→|λ=1,…,Ψ}。在该情况下,第一信息VSET1={λ,v(λ)→|λ=1,…,Ψ}的第一个要素v1(λ)设为1F。
<整体构成>
图17是用于说明第二实施方式的秘密分散系统的整体构成的方框图。
如图17所示例,本方式的秘密分散系统6具有:分散装置610;Σα=1 Lh(α)个分散管理装置〔PA(α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)〕620-α-h(α);取得装置630;共享值生成装置640-1~L,650,它们通过网络150可以通信。为了简化说明,在本方式中,对各存在一个分散装置610及取得装置630的构成进行例示,但也可以存在两个以上的分散装置610及/或取得装置630。根据同样的理由,在本方式中,对只存在一个由Σα=1 Lh(α)个分散管理装置〔PA(α,h(α))〕620-α-h(α)构成的集合的构成进行示例,但也可以存在多个这种集合。
如图17所示例,由Σα=1 Lh(α)个分散管理装置〔PA(α,h(α))〕620-α-h(α)构成的集合区分成由H(α)个分散管理装置PA(α,1),…,PA(α,H(α))构成的多个子集合SUB(α)各个。在各子集合SUB(α)中分别对应共享值生成装置640-α。
图18是用于说明第二实施方式的分散装置610的构成的方框图。另外,图19A及19B是用于说明共享值生成装置640-1~L,650的构成的方框图。图20是用于说明第二实施方式的分散管理装置〔PA(α,h(α))〕620-α-h(α)的构成的方框图。图21是用于说明第二实施方式的取得装置630的构成的方框图。另外,在这些图中,对与第一实施方式共同的部分,标注与第一实施方式相同的符号,并简化说明。
<分散装置610>
如图18所示例,本方式的分散装置610具有:临时存储部111;存储部112;控制部113;秘密分散部614-α(α=1,…,L);发送部115。另外,本方式的分散装置610通过例如在具备CPU、RAM、ROM等的公知的计算机中读入执行规定的程序而构成。
<共享值生成装置640-α,650>
如图19A所示例,本方式的共享值生成装置640-α具有系数设定部641-α和发送部642-α。如图19B所示例,本方式的共享值生成部650具有存储部651、逆函数运算部652、653和发送部654。
<分散管理装置〔PA(α,h(α))〕620-α-h(α)>
如图20所示例,本方式的分散管理装置〔PA(α,h(α))〕620-α-h(α)具有:临时存储部121-α-h(α);存储部122-α-h(α);控制部123-α-h(α);分散秘密值生成部621-α-h(α),622-α-h(α),623-α-h(α);选择部624-α-h(α);发送部125-α-h(α);接收部126-α-h(α)。另外,本方式的分散管理装置〔PA(α,h(α))〕620-α-h(α)通过例如在具备CPU、RAM、ROM等的公知的计算机中读入执行规定的程序而构成。
<取得装置630>
如图21所示例,本方式的取得装置630具有:临时存储部131;存储部132;控制部133;恢复部634-α,636-α(α=1,…,L);合成部635、637;接收部136。另外,本方式的取得装置630は,例如通过例如在具备CPU、RAM、ROM等的公知的计算机中读入执行规定的程序而构成。
<秘密分散处理>
接着,对本方式的秘密分散处理进行说明。
在本方式中,应用第一实施方式,对使用了访问构造的函数密码方式的主要钥匙信息即基底向量bi *(ψ)(式(55))进行秘密分散,并利用相对于它们的共享信息的运算结果,恢复钥匙信息D*(ψ)。下面中,如式(74)(76)(77),表示恢复一般化的钥匙信息D*(ψ)的例子。但是,如式(75)(78)(79),在具体化的钥匙信息D*(ψ)的情况下当然也可以应用同样的处理。
如式(99),表示构成式(55)所示的基底向量bi *(ψ)的式(98)中所示的各要素。
χi,β *(ψ)·κ2·g2∈G2(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ))
…(98)
θ(ψ,i,β)·g2∈G2 …(99)
其中,满足下面。
θ(ψ,i,β)=χi,β *(ψ)·κ2∈Fq …(100)
即,如下表示式(55)的基底向量bi *(ψ)。
bi *=(ψ,θ(i,1)·g2,…,θ(ψ,i,n(ψ)+ζ(ψ))·g2)∈G2 n(ψ)+ζ (ψ) …(101)
由该式可知,通过将第一实施方式扩展成多维,可秘密分散基底向量bi *(ψ)。秘密信息通过共享信息的线性运算而恢复,因此,也可以将对通过多维的秘密分散而得到的各维的共享信息实施了线性运算的结果看作共享信息,进行恢复处理。因此,还可知,通过将第一实施方式扩展成多维,可执行钥匙信息D*(ψ)的恢复处理。
在下面中,以与第一实施方式的不同点为中心进行说明,对与它们共同的事项省略说明。
[事前处理]
作为本方式的秘密分散处理的事前处理,在分散装置610的存储部112中存储用于确定各基底向量bi *(ψ)的要素即秘密信息θ(ψ,i,β)·g2∈G2(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ))的信息θ(ψ,i,β)∈Fq。在共享值生成装置650的存储部651中存储满足式(63)-(67)的秘密信息SE和共享信息share(λ)(λ=1,…,Ψ)。在各分散管理装置620-α-h(α)的存储部122-α-h(α)中分别存储与式(60)的n(λ)维向量v(λ)→的集合{v(λ)→}λ=1,…,Ψ即第一信息对应的带标记矩阵LMT(MT,LAB)。另外,带标记矩阵LMT(MT,LAB)对于所有的分散管理装置PA(α,h(α))620-α-h(α)共同。
[秘密分散处理的整体]
图22及图23是用于说明第二实施方式的秘密分散处理的整体的图。下面,使用图22及图23,对本方式的秘密分散处理的整体进行说明。
在本方式中,首先,分散装置610(图17)按照规定的秘密分散方式,分别在由H(α)个的分散管理装置PA(α,1),…,PA(α,H(α))构成的每个子集合SUB(α)中独立地秘密分散基底向量bi *(ψ)的各要素θ(ψ,i,β)·g2相应的值,生成各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α))。本方式中的基底向量bi *(ψ)的各要素θ(ψ,i,β)·g2相应的值为θ(ψ,i,β),秘密分散的对象为多个,除此之外,秘密分散的具体的方法与第一实施方式的变形例1、2、4的任一项相同。本方式的所有的θ(ψ,i,β)以与第一实施方式的变形例1、2、4的任一项相同的方法进行秘密分散。即,在本方式中,执行将第一实施方式的变形例1、2、4的任一项的秘密分散方法的θ置换成θ(ψ,i,β)的秘密分散方法。例如,生成下面那样的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))。
其中,满足f(α,ω)=θ(ψ,i,β),ω∈Fq为预先确定的有限域Fq的元。
各共享信息SH(ψ,i,β,α,h(α))分别经由网络150分散发送到各分散管理装置〔PA(α,h(α))〕620-α-h(α)(α=1,…,L)(步骤S61及S61’)。
发送各共享信息SH(ψ,i,β,α,h(α))的各分散管理装置〔PA(α,h(α))〕620-α-h(α)(α=1,…,L)分别对每个子集合SUB(α)所共享的共同信息和共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α)),在每个子集合SUB(α)中进行共同的共同运算,生成分散秘密值DSH(ψ,α,h(α))。在相互不同的子集合SUB(α)中分别共享的共同信息是相互独立的。共同运算是具有线性性的运算。本方式的共同信息包含:例如由秘密信息SE而得到的SE(α)(FNC2-1(SE)→SE(1),…,SE(α),…,SE(L));由共享信息share(λ)得到的share(λ,α)(FNC2’-1(share(λ))→share(λ,1),…,share(λ,α),…,share(λ,L))及常数或随机数即coefι(0,α),coef(λ,α),coefι(λ,α)∈Fq。FNC2-1表示线性运算函数FNC2的逆函数。FNC2’-1表示线性运算函数FNC2’的逆函数。线性运算函数FNC2是输出输入的L个值的线性运算结果的函数,线性运算函数FNC2的例子是输出L个值的线性结合值的函数。将哪个相对于ι的coefι(0,α)或coefι(λ,α)设为共同信息及coefι(0,α),coef(λ,α),coefι(λ,α),SE(α),share(λ,α)是常数还是随机数依赖于生成的钥匙信息D*(ψ)的构造。例如,如下,本方式的各分散管理装置〔PA(α,h(α))〕620-α-h(α)生成与ψ=0对应的分散秘密值DSH(0,α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)(FNC1)。
SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),…,SH(0,i,I,α,h(α))) …(102)
DSH(0,α,h(α))
=-SE(α)·SH b1 *(0,α,h(α))·g2+Σι=2 Icoefι(0,α)·SHbι *(0,α,h(α))·g2 …(103)
另外,例如,如下面的式(104)-(106),本方式的各分散管理装置〔PA(α,h(α))〕620-α-h(α)生成与各λ(λ=1,…,Ψ)对应的分散秘密值DSH(λ,α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)(FNC1’)。
SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),…,SH(λ,i,n(λ)+ζ(λ),α,h(α))) …(104)
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)·v1(λ))·SHb1 *(λ,α,h(α))·g2
+Σι=2 n(λ)coef(λ,α)·vι(λ)·SHbι *(λ,α,h(α))·g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι *(λ,α,h(α))·g2 …(105)
DSH(λ,α,h(α))
=share(λ,α)·Σι=1 n(λ)vι(λ)·SHb1 *(λ,α,h(α))·g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι *(λ,α,h(α))·g2 …(106)
从各分散管理装置〔PA(α,h(α))〕620-α-h(α)输出的各分散秘密值DSH(ψ,α,h(α))分别经由网络150发送到取得装置630(步骤S62及S62’)。
取得装置630使用与相同的子集合SUB(α)对应的多个分散秘密值DSH(ψ,α,h(α)),通过按照上述的步骤S61及S61’的秘密分散方式的每个子集合SUB(α)的恢复处理,生成该每个子集合SUB(α)的秘密恢复值SUBSK(ψ,α)(ψ=0,…,Ψ,α=1,…,L)。
本方式的取得装置630,例如将下面的SUBSK(0,α)设为与ψ=0对应的秘密恢复值。
SUBSK(0,α)=-SE(α)·b1 *(0)+Σι=2 Icoefι(0,α)·bι *(0) …(107)
本方式的取得装置630,例如将下面的式(108)或(109)设为与各λ=1,…,Ψ对应的秘密恢复值SUBSK(λ,α)。
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)·v1(λ))·b1 *(λ)
+Σι=2 n(λ)coef(λ,α)·vι(λ)·bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι *(λ) …(108)
SUBSK(λ,α)=share(λ,α)·Σι=1 n(λ)vι(λ)·b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι *(λ) …(109)
这些处理可通过对分散秘密值DSH(ψ,α,h(α))的各维(次数)执行第一实施方式中所示的恢复处置实现。即,各分散秘密值DSH(ψ,α,h(α))为向量,上述恢复处理可通过对它们的各维(次数)分别执行第一实施方式中所示的恢复处理(步骤S134)实现。例如,如下表示该恢复处理所利用的向量即分散秘密值DSH(ψ,α,h(α))的第ι维目要素。
...
在该情况下,进行式(11)的运算,得到各系数λρ(x)(ρ=1,…,R(α)),并通过下面的计算进行,得到与ψ对应的秘密恢复值SUBSK(ψ,α)的第ι维。
λ1(ω)·dsh1(α)+…+λR(α)(ω)·dshR(α)(α)
因此,通过对各ψ及ι分别进行同样的处理,得到秘密恢复值SUBSK(ψ,α)(步骤S63及S63’)。
取得装置630对各子集合SUB(α)分别使用生成的秘密恢复值SUBSK(ψ,α)(ψ=0,…,Ψ,α=1,…,L),生成生成信息D*(ψ)(ψ=0,…,Ψ),并输出该生成信息D*(ψ)的(D*(ψ)=FNC2(SUBSK(ψ,1),…,(SUBSK(ψ,α),…,(SUBSK(ψ,L)))。
例如,取得装置630对秘密恢复值SUBSK(ψ,α)进行线性结合,生成生成信息D*(ψ)。例如,为了满足下面的式(110-1)(110-2),如果进行了秘密分散,则取得装置630根据下面的式(111)生成D*(ψ)(ψ=0,…,Ψ)(步骤S64及S64’)。
FNC2(SUBSK(0,1),…,(SUBSK(0,α),…,(SUBSK(0,L)))
=SUBSK(0,1)+,…,+SUBSK(0,α)+,…,+SUBSK(0,L)…(110-1)
FNC2’(SUBSK(λ,1),…,(SUBSK(λ,α),…,(SUBSK(λ,L)))
=SUBSK(λ,1)+,…,+SUBSK(λ,α)+,…,+SUBSK(λ,L)…(110-2)
D*(ψ)=SUBSK(ψ,1)+,…,+SUBSK(ψ,α)+,…,+SUBSK(ψ,L) …(111)
[分散装置的处理(步骤S61及S61’)]
图24是用于示例第二实施方式的分散装置的处理的图。下面,使用该图,对分散装置610的处理的详情进行说明。
首先,分散装置610(图18)的控制部113设定为ψ=0,并将该设定内容存储在临时存储部111(步骤S6101)。控制部113设定为α=1,β=1,并将该设定内容存储在临时存储部111(步骤S6102)。接着,分散装置610的控制部113设定为i=1设定,并将该设定内容存储在临时存储部111(步骤S6103)。
接着,从存储部112分别读出用于特定秘密信息θ(ψ,i,β)·g2∈G2(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ,)+ζ(ψ,))的信息θ(ψ,i,β)∈Fq,并输入到秘密分散部614-α(α=1,…,L)。秘密分散部614-α对各信息θ(ψ,i,β)∈Fq进行秘密分散,如下,在每个信息θ(ψ,i,β)中生成输出相对于子集合SUB(α)的H(α)个共享信息(步骤S6104)。
SH(ψ,i,β,α,1),…,SH(ψ,i,β,α,H(α)) …(112)
例如,通过在信息θ(ψ,i,β)中执行第一实施方式的步骤S112的处理,来执行步骤S6104的处理。
接着,控制部113判定存储于临时存储部111的β是否为n(ψ)+ζ(ψ)(步骤S6105)。在此,在判定为不是β=n(ψ)+ζ(ψ)的情况下,控制部113将β+1设为新的β,并将该设定内容存储在临时存储部111(步骤S6105)。步骤S6105后,返回步骤S6104。
另一方面,在步骤S6105中,在判定为β=n(ψ)+ζ(ψ)的情况下,控制部113设定为β=1,并将该设定内容存储在临时存储部111(步骤S6107)。接着,控制部113判定存储于临时存储部111的i是否为n(ψ)+ζ(ψ)(步骤S6108)。在此,在判定为不是i=n(ψ)+ζ(ψ)的情况下,控制部113将i+1设为新的i,并将该设定内容存储于临时存储部111(步骤S6109)。步骤S6109之后,返回步骤S6104。
另一方面,在步骤S6108中,在判定为i=n(ψ)+ζ(ψ)的情况下,控制部113判定存储于临时存储部111的α是否为L(步骤S6110)。在此,在判定为不是α=L的情况下,控制部113将α+1设为新的α,并该设定内容存储在临时存储部111(步骤S6111)。步骤S6111之后,返回步骤S6103。
另一方面,在步骤S6110中,在判定为α=L的情况下,控制部113判定存储于临时存储部111的ψ是否为Ψ(步骤S6112)。在此,在判定为不是ψ=Ψ的情况下,控制部113将ψ+1设为新的ψ,并将该设定内容存储在临时存储部111(步骤S6113)。步骤S6113之后,返回步骤S6102。
另一方面,在步骤S6112中,在判定为ψ=Ψ的情况下,从各秘密分散部614-α输出的各SH(ψ,i,β,α,1),…,SH(ψ,i,β,α,H(α))发送到发送部115。发送部115经由网络150将下面的共享信息分别发送到分散管理装置〔PA(α,h(α))〕620-α-h(α)(α=1,…,L)(步骤S6114)。
SH(ψ,i,β,α,h(α)) (i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ)) …(113)
即,各共享信息SH(ψ,i,β,1,h(1))发送到分散管理装置〔PA(1,1)〕620-1-1,各共享信息SH(ψ,i,β,2,h(2))发送到分散管理装置〔PA(1,2)〕620-1-2,…,共享信息SH(ψ,i,β,L,H(L))发送到分散管理装置〔PA(L,H(L))〕620-L-H(L)。
[共享值生成装置的处理]
各共享值生成装置640-α(α=1,…,L)(图19A)生成在构成与自身对应的子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕620-α-h(α)(h(α)=1,…,H(α))中共享的共同信息coefι(0,α),coef(λ,α),coefι(λ,α)。在本方式中,将从共同信息生成部641-α输出的随机数或常数设为共同信息coefι(0,α),coef(λ,α),coefι(λ,α),发送部642-α将共同信息coefι(0,α),coef(λ,α),coefι(λ,α)发送到构成子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕620-α-h(α)(h(α)=1,…,H(α))。
共享值生成装置650(图19B)由秘密信息SE生成SE(α)(α=1,…,L),由共享信息share(λ)生成share(λ,α)(α=1,…,L)。在本方式中,共同信息生成部652使用存储于存储部651的秘密信息SE,生成满足下面的SE(1),…,SE(α),…,SE(L)。
FNC2-1(SE)→SE(1),…,SE(α),…,SE(L) …(114)
例如,共同信息生成部652生成满足下面的SE(1),…,SE(α),…,SE(L)。
SE=SE(1)+…+SE(α)+…+SE(L) …(115)
在本方式中,共同信息生成部653使用存储于存储部651的共享信息share(λ),如下生成share(λ,1),…,share(λ,α),…,share(λ,L)。
FNC2’-1(share(λ))→share(λ,1),…,share(λ,α),…,share(λ,L) …(116)
例如,共同信息生成部653生成满足下面的关系的share(λ,1),…,share(λ,α),…,share(λ,L)。
share(λ)=share(λ,1)+…+share(λ,α)+…,share(λ,L) …(117)
SE(α)及share(λ,α)(α=1,…,L,λ=1,…,Ψ)被发送到发送部654,发送部654将SE(α)及share(λ,α)发送到构成子集合SUB(α)的各分散管理装置〔PA(α,h(α))〕620-α-h(α)。
[分散管理装置的处理(步骤S62)]
图25是用于示例第二实施方式的分散管理装置〔PA(α,h(α))〕620-α-h(α)(α=1,…,L)的处理的图。下面,使用该图,对本方式的分散管理装置〔PA(α,h(α))〕620-α-h(α)的处理进行说明。
首先,分散管理装置〔PA(α,h(α))〕620-α-h(α)(图20)的接收部126-α-h(α)接收发送的共享信息SH(ψ,i,β,α,h(α)),并将它们存储在存储部122-α-h(α)(步骤S6201)。另外,只要在之前执行步骤S6201的处理,在分散管理装置〔PA(α,h(α))〕620-α-h(α)的存储部122-α-h(α)已经存储有共享信息SH(ψ,i,β,α,h(α)),也可以省略步骤S6201的处理。
分散管理装置〔PA(α,h(α))〕620-α-h(α)的接收部126-α-h(α)接收从共享值生成装置640-α及650发送的共同信息coefι(0,α),coef(λ,α),coefι(λ,α),SE(α)及share(λ,α),并将它们存储在存储部122-α-h(α)(步骤S6202)。
接着,分散秘密值生成部621-α-h(α)从存储部122-α-h(α)读入共享信息SH(0,i,β,α,h(α))和共同信息coefι(0,α),SE(α)。分散秘密值生成部621-α-h(α)使用这些信息,生成输出满足式(103)的分散秘密值DSH(0,α,h(α))(步骤S6203)。
接着,控制部123-α-h(α)设定为λ=1,并将该设定内容存储在临时存储部121-α-h(α)(步骤S6204)。选择部624-α-h(α)利用存储于存储部122-α-h(α)的带标记矩阵LMT(MT,LAB),参照标记LAB(λ),判定是否为LAB(λ)=v(λ)→(步骤S6205)。
在此,如果是LAB(λ)=v(λ)→,则分散秘密值生成部622-α-h(α)从存储部122-α-h(α)读入共享信息SH(λ,i,β,α,h(α));共同信息coef(λ,α),coefι(λ,α),share(α);利用标记LAB(λ)确定的n(λ)维向量v(λ)→。分散秘密值生成部622-α-h(α)使用这些信息生成输出满足式(105)的分散秘密值DSH(λ,α,h(α))(步骤S6206)。另一方面,如果是分散秘密值生成部623-α-h(α)从存储部122-α-h(α)读入共享信息SH(λ,i,β,α,h(α));共同信息coefι(λ,α),share(α);利用标记LAB(λ)确定的n(λ)维向量v(λ)→。分散秘密值生成部623-α-h(α)使用这些信息,生成输出满足式(106)的分散秘密值DSH(λ,α,h(α))(步骤S6207)。
当生成与λ对应的分散秘密值DSH(λ,α,h(α))时,控制部123-α-h(α)判定存储于临时存储部121-α-h(α)的λ是否为Ψ(步骤S6208),如果不是λ=Ψ,则将λ+1设为新的λ(步骤S6209),并转移到步骤S6205的处理。另一方面,如果λ=Ψ,则生成的各分散秘密值DSH(0,α,h(α)),DSH(λ,α,h(α))(λ=1,…,Ψ)发送到发送部125-α-h(α)。发送部125-α-h(α)将各分散秘密值DSH(0,α,h(α)),DSH(λ,α,h(α))经由网络150发送到取得装置630(步骤S6210)。
[取得装置的处理(步骤S63,S63’,S64,S64’)]
图26是用于示例第二实施方式的取得装置的处理的图。
从各分散管理装置PA(α,h(α))630-α-h(α)(α=1,…,L)发送的分散秘密值DSH(0,α,h(α)),DSH(λ,α,h(α))(λ=1,…,Ψ)被取得装置630(图21)的接收部136接收,并存储于存储部132(步骤S6301)。
接着,控制部133判定在存储部132中是否存储了恢复秘密值所需的数(下面,称为“需要数”)以上的分散秘密值DSH(0,α,h(α)),DSH(λ,α,h(α))(步骤S6302)。在此,在判定为在存储部132中未存储需要数以上的分散秘密值DSH(0,α,h(α)),DSH(λ,α,h(α))的情况下,返回步骤S6301的处理。
另一方面,在判定为在存储部132中存储有需要数以上的分散秘密值DSH(0,α,h(α)),DSH(λ,α,h(α))的情况下,控制部133设定为α=1,并该设定内容存储在临时存储部131中(步骤S6303)。接着,从存储部132取出与子集合SUB(α)对应的需要数量的分散秘密值DSH(0,α,h(α))(h(α)=1,…,H(α)),并输入到各恢复部634-α(α=1,…,L)。各恢复部634-α使用输入的分散秘密值DSH(0,α,h(α))(h(α)=1,…,H(α)),通过每个子集合SUB(α)的恢复处理,生成满足式(107)的秘密恢复值SUBSK(0,α),并输出该每个子集合SUB(α)(α=1,…,L)的秘密恢复值SUBSK(0,α)(步骤S6304)。
接着,控制部133设定为λ=1,并将该设定内容存储在临时存储部131中(步骤S6305)。接着,从存储部132读出与子集合SUB(α)对应的需要数量的分散秘密值DSH(λ,α,h(α))(h(α)=1,…,H(α)),并输入到各恢复部636-α(α=1,…,L)。各恢复部636-α使用输入的分散秘密值DSH(λ,α,h(α))(h(α)=1,…,H(α)),通过每个子集合SUB(α)的恢复处理,生成满足式(108)或(109)的秘密恢复值SUBSK(λ,α),并输出该每个子集合SUB(α)的秘密恢复值SUBSK(λ,α)(步骤S6306)。
接着,控制部133判定存储于临时存储部131的λ是否为Ψ(步骤S6307)。在此,在判定为不是λ=Ψ的情况下,控制部133将λ+1设为新的λ,并将该设定内容存储在临时存储部131(步骤S6308)。步骤S6308之后,返回步骤S6306。
另一方面,在判定为λ=Ψ的情况下,控制部133判定存储于临时存储部131的α是否为L(步骤S6309)。在此,在判定为不是α=L的情况下,控制部133将α+1设为新的α,并该设定内容存储在临时存储部131(步骤S6310)。步骤S6310之后,返回步骤S6304。
另一方面,在步骤S6309中,在判定为α=L的情况下,从各恢复部634-α(α=1,…,L)输出的各秘密恢复值SUBSK(0,α)(α=1,…,L)发送到合成部635。合成部635使用各秘密恢复值SUBSK(0,α)(α=1,…,L),生成输出下面的钥匙信息D*(0)。
D*(0)=FNC2(SUBSK(0,1),…,(SUBSK(0,α),…,(SUBSK(0,L)) …(118)
例如,根据设为ψ=0的式(111),生成输出钥匙信息D*(0)(步骤S6311)。
另外,从各恢复部634-α(α=1,…,L)输出的各秘密恢复值SUBSK(λ,α)(α=1,…,L)发送到合成部637。合成部637使用各秘密恢复值SUBSK(λ,α)(α=1,…,L),生成输出下面的钥匙信息D*(λ)(λ=1,…,Ψ)。
D*(λ)=FNC2(SUBSK(λ,1),…,(SUBSK(λ,α),…,(SUBSK(λ,L))…(119)
例如,根据设为ψ=λ(λ=1,…,Ψ)的式(111),生成输出钥匙信息D*(λ)(λ=1,…,Ψ)(步骤S6312)。
<第二实施方式的变形例1>
第二实施方式的变形例1是在第二实施方式中应用了第一实施方式的变形例1的例子。即,第二实施方式的变形例1中的基底向量bi *(ψ)的各要素θ(ψ,i,β)·g2相应的值为θ(ψ,i,β)·g2,各分散管理装置〔PA(α,h(α))〕620-α-h(α)将例如下面的DSH(0,α,h(α))设为与ψ=0对应的分散秘密值进行生成(FNC1)。
DSH(0,α,h(α))
=-SE(α)·SH b1 *(0,α,h(α))·g2+Σι=2 Icoefι(0,α)·SH bι *(0,α,h(α)) ...(120)
另外,本方式的各分散管理装置〔PA(α,h(α))〕620-α-h(α)根据例如下面的式(121)或(122),将下面的DSH(λ,α,h(α))(λ=1,…,Ψ)设为与各λ对应的分散秘密值进行生成(FNC1’)。
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)·v1(λ))·SHb1 *(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)·vι(λ)·SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι *(λ,α,h(α)) …(121)
DSH(λ,α,h(α))
=share(λ,α)·Σι=1 n(λ)vι(λ)·SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι *(λ,α,h(α)) …(122)
其它与第二实施方式相同。
第二实施方式的变形例1的秘密分散系统7的分散装置610置换成分散装置710,分散管理装置620-α-h(α)(α=1,…,L)置换成分散管理装置720-α-h(α)(α=1,…,L)。其它构成与第六实施方式相同。
在第二实施方式的变形例1中,代替步骤S6104,从存储部112分别取出信息θ(ψ,i,β)·g2∈G2(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ)),并输入到秘密分散部714-α(α=1,…,L)(图27)。秘密分散部714-α对各信息θ(ψ,i,β)·g2∈G2进行秘密分散,在每个信息θ(ψ,i,β)·g2∈G2中,生成输出相对于子集合SUB(α)的下面的H(α)个共享信息。
SH(ψ,i,β,α,1),…,SH(ψ,i,β,α,H(α)) …(123)
各信息θ(ψ,i,β)·g2∈G2的秘密分散方法与第一实施方式相同。即,在本方式中,执行将第一实施方式的秘密分散方法的θ·g置换成θ(ψ,i,β)·g2的秘密分散方法。例如,生成下面那样的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))。
其中,满足f(α,ω)=θ(ψ,i,β),ω∈Fq为预先确定的有限域Fq的元(步骤S7104)。
在第二实施方式的变形例1中,代替第二实施方式的步骤S6203,分散秘密值生成部721-α-h(α)从存储部122-α-h(α)读入共享信息SH(0,i,β,α,h(α))和共同信息coefι(0,α),SE(α)。分散秘密值生成部721-α-h(α)使用这些信息,生成输出满足式(120)的分散秘密值DSH(0,α,h(α))(步骤S7203)。
在第二实施方式的变形例1中,代替第二实施方式的步骤S6206,分散秘密值生成部722-α-h(α)从存储部122-α-h(α)读入共享信息SH(λ,i,β,α,h(α));共同信息coef(λ,α),coefι(λ,α),share(α);由标记LAB(λ)确定的n(λ)维向量v(λ)→。分散秘密值生成部622-α-h(α)使用这些信息,生成输出满足式(121)的分散秘密值DSH(λ,α,h(α))(步骤S7206)。另外,代替第二实施方式的步骤S6207,分散秘密值生成部723-α-h(α)从存储部122-α-h(α)读入共享信息SH(λ,i,β,α,h(α));共同信息coefι(λ,α),share(α);由标记LAB(λ)确定的n(λ)维向量v(λ)→。分散秘密值生成部623-α-h(α)使用这些信息,生成输出满足式(122)的分散秘密值DSH(λ,α,h(α))(步骤S7207)。
<第二实施方式的变形例2>
另外,在第二实施方式或其变形例1中,也可以以例如第一实施方式或其变形例3的方式变形秘密分散方法及恢复方法。
〔其它变形例等〕
本发明不限定于上述各实施方式。例如,也可以将在上述有限域Fq上定义的各运算置换成在位数q的有限环Zq上定义的运算。将在有限域Fq上定义的各运算置换成在有限环Zq上定义的运算的方法的一个例子是允许质数及其幂乘值以外的q的方法。另外,在第二实施方式中,作为生成信息,示例了生成函数密码的钥匙信息的处理,但也可以生成除此以外的生成信息。
不仅按照记载,时间序列地执行上述的各种处理,而且,也可以根据执行处理的装置的处理能力或需要并列地或个别地执行上述的各种处理。另外,也可以在不脱离本发明宗旨的范围内进行适当变更。
在利用计算机实现上述构成的情况下,各装置应具有的功能的处理内容按照程序描述。而且,通过利用计算机执行该程序,可利用计算机实现上述处理功能。
描述该处理内容的程序可以记录于可利用计算机读取的记录介质中。作为可利用计算机读取的记录介质,例如,也可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任一种记录介质。
例如,通过对记录了该程序的DVD、CD-ROM等可移动性记录介质进行销售、转让、借给等,从而进行该程序的流通。另外,也可以如下构成,即,将该程序存储到服务器计算机的存储装置,并经由网络,从服务器计算机对其它计算机传送该程序,从而使该程序流通。
执行这种程序的计算机例如,首先,将记录于可移动性记录介质的程序或从服务器计算机传送的程序暂时存储到自身的存储装置。而且,在执行处理时,该计算机读取存储于自身的记录介质的程序,执行按照读取的程序的处理。另外,作为执行该程序的其它执行方式,也可以是计算机从可移动性记录介质直接读取程序,并执行按照该程序的处理,还可以是,每当从服务器计算机对该计算机传送程序时,依次执行按照所获得的程序的处理。另外,也可以是,不从服务器计算机对该计算机传送程序,而是仅通过该执行指示和结果取得,实现处理功能,通过所谓的ASP(Application Service Provider)型服务,执行上述处理的构成。另外,如果在本方式的程序中包含用于电子计算机的处理的信息且在程序中参照的信息(虽然不是对计算机的直接指令,但是具有规定计算机处理的性质的数据等)。
在上述的各实施方式中,通过在计算机上执行规定的程序,实现各装置的处理内容,但也可以只通过硬件来实现这些处理内容的至少一部分。
标记说明
1~7 秘密分散系统
110、210、410、510、610、710 分散装置
120~720 分散管理装置
130、330、430、530、630 取得装置
140、640、650 共享值生成装置
Claims (33)
1.一种秘密分散系统,其中,具有:
分散装置;Σα=1 Lh(α)个分散管理装置PA(α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2);取得装置,
所述分散装置包含如下秘密分散部,即,
将Ψ设为1以上的整数、将ψ设为0以上Ψ以下的整数ψ=0,…,Ψ、将n(ψ)设为1以上的整数、将ζ(ψ)设为0以上的整数、将巡回群G2的生成元设为g2、将以相对于θ(ψ,i,β)(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ),n(ψ)≧1,ζ(ψ)≧1)的所述巡回群G2的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量设为bi*(ψ)=(θ(ψ,i,1)·g2,…,θ(ψ,i,n(ψ)+ζ(ψ))·g2)∈G2 n(ψ)+ζ(ψ)的情况下,将与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值通过规定的秘密分散方式,分别独立地秘密分散到每个由H(α)个分散管理装置PA(α,1),…,PA(α,H(α))构成的子集合SUB(α)中,生成与各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α)),
所述分散管理装置PA(α,h(α))包含如下分散秘密值生成部,即,
对按每个所述子集合SUB(α)所共享的共同信息和所述共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α)),按每个所述子集合SUB(α)进行共同的共同运算,生成分散秘密值DSH(ψ,α,h(α)),
所述取得装置包含:
使用与相同的所述子集合SUB(α)对应的多个所述分散秘密值DSH(ψ,α,h(α)),通过根据所述秘密分散方式的每个子集合SUB(α)的恢复处理,生成每个该子集合SUB(α)的秘密恢复值SUBSK(ψ,α)的恢复部;以及
使用所述秘密恢复值SUBSK(ψ,α),生成生成信息D*(ψ)的合成部。
2.如权利要求1的秘密分散系统,其中,
在相互不同的所述子集合SUB(α)分别共享的所述共同信息是相互独立的。
3.如权利要求1的秘密分散系统,其中,
所述共同运算是具有线性性的运算。
4.如权利要求2的秘密分散系统,其中,
所述共同运算是具有线性性的运算。
5.如权利要求1的秘密分散系统,其中,
所述合成部对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)。
6.如权利要求2的秘密分散系统,其中,
所述合成部对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)。
7.如权利要求3的秘密分散系统,其中,
所述合成部对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)。
8.如权利要求4的秘密分散系统,其中,
所述合成部对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)。
9.如权利要求1~8中任一项所述的秘密分散系统,其中,
与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值为θ(ψ,i,β),
所述共同信息包含将λ设为1以上Ψ下面的整数λ=1,…,Ψ的情况下的coefι(0,α),coef(λ,α),coefι(λ,α),SE(α),share(λ,α),
作为与ψ=0对应的所述分散秘密值,所述分散秘密值生成部生成设为
SHbi*(0,α,h(α))=(SH(0,i,1,α,h(α)),…,SH(0,i,I,α,h(α)))的情况下的
DSH(0,α,h(α))
=-SE(α)·SHb1*(0,α,h(α))·g2+Σι=2 Icoefι(0,α)·SHbι*(0,α,h(α))·g2,
另外,作为与各λ对应的所述分散秘密值,生成设为
SHbi*(λ,α,h(α))=(SH(λ,i,1,α,h(α)),…,SH(λ,i,n(λ)+ζ(λ),α,h(α))),并将v(λ)→(v1(λ),…,vn(λ)(λ))设为n(λ)维向量的情况下的
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)·v1(λ))·SHb1*(λ,α,h(α))·g2
+Σι=2 n(λ)coef(λ,α)·vι(λ)·SHbι*(λ,α,h(α))·g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))·g2
或,
DSH(λ,α,h(α))
=share(λ,α)·Σι=1 n(λ)vι(λ)·SHb1*(λ,α,h(α))·g2+Σι=n(λ)+1 n (λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))·g2。
10.如权利要求1~8中任一项所述的秘密分散系统,其中,
与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值为θ(ψ,i,β)·g2,
所述共同信息包含将λ设为1以上Ψ下面的整数λ=1,…,Ψ的情况下的coefι(0,α),coef(λ,α),coefι(λ,α),SE(α),share(λ,α),
作为与ψ=0对应的所述分散秘密值,所述分散秘密值生成部生成设为
SHbi*(0,α,h(α))=(SH(0,i,1,α,h(α)),…,SH(0,i,I,α,h(α)))的情况下的
DSH(0,α,h(α))
=-SE(α)·SHb1*(0,α,h(α))+Σι=2 Icoefι(0,α)·SHbι*(0,α,h(α)),
另外,作为与各λ对应的所述分散秘密值,生成设为
SHbi*(λ,α,h(α))=(SH(λ,i,1,α,h(α)),…,SH(λ,i,n(λ)+ζ(λ),α,h(α))),
并将v(λ)→=(v1(λ),…,vn(λ)(λ))设为n(λ)维向量的情况下的
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)·v1(λ))·SHb1*(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)·vι(λ)·SHbι*(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))
或,
DSH(λ,α,h(α))
=share(λ,α)·Σι=1 n(λ)vι(λ)·SHb1*(λ,α,h(α))+Σι=n(λ)+1 n(λ) +ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))。
11.如权利要求9的秘密分散系统,其中,
作为与ψ=0对应的所述秘密恢复值,所述恢复部生成
SUBSK(0,α)=-SE(α)·b1*(0)+Σι=2 Icoefι(0,α)·bι*(0),
作为与各λ对应的所述秘密恢复值,生成
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ,α)·vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)
或,
SUBSK(λ,α)=share(λ,α)·Σι=1 n(λ)vι(λ)·b1*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)。
12.如权利要求10的秘密分散系统,其中,
作为与ψ=0对应的所述秘密恢复值,所述恢复部生成
SUBSK(0,α)=-SE(α)·b1*(0)+Σι=2 Icoefι(0,α)·bι*(0),
作为与各λ对应的所述秘密恢复值,生成
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ,α)·vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)
或,
SUBSK(λ,α)=share(λ,α)·Σι=1 n(λ)vι(λ)·b1*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)。
13.一种分散装置,将Ψ设为1以上的整数、将ψ设为0以上Ψ以下的整数ψ=0,…,Ψ、将n(ψ)设为1以上的整数、将ζ(ψ)设为0以上的整数、将巡回群G2的生成元设为g2、将以相对于θ(ψ,i,β)(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ),n(ψ)≧1,ζ(ψ)≧1)的所述巡回群G2的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量设为bi*(ψ)=(θ(ψ,i,1)·g2,…,θ(ψ,i,n(ψ)+ζ(ψ))·g2)∈G2 n (ψ)+ζ(ψ)的情况下,将与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值通过规定的秘密分散方式分别独立地秘密分散到每个由H(α)(α=1,...,L,L≧2,h(α)=1,...,H(α),H(α)≧2)个分散管理装置PA(α,1),…,PA(α,H(α))构成的子集合SUB(α)中,生成与各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α))。
14.一种分散管理装置,其对按H(α)(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)个分散管理装置PA(α,1),…,PA(α,H(α))构成的每个子集合SUB(α)所共享的共同信息、以及将Ψ设为1以上的整数、将ψ设为0以上Ψ以下的整数ψ=0,…,Ψ、将n(ψ)设为1以上的整数、将ζ(ψ)设为0以上的整数、将所述巡回群G2的生成元设为g2、将以相对于θ(ψ,i,β)(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ),n(ψ)≧1,ζ(ψ)≧1)的所述巡回群G2的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量设为bi*(ψ)=(θ(ψ,i,1)·g2,…,θ(ψ,i,n(ψ)+ζ(ψ))·g2)∈G2 n(ψ)+ζ(ψ)的情况下的、将与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值分别独立地秘密分散到每个所述子集合SUB(α)中而得到的与各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α)),按每个所述子集合SUB(α)进行共同的共同运算,生成分散秘密值DSH(ψ,α,h(α))。
15.一种取得装置,其具有:
恢复部,其使用将Ψ设为1以上的整数,将ψ设为0以上Ψ下面的整数ψ=0,…,Ψ,将由H(α)(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)个分散管理装置PA(α,1),…,PA(α,H(α))构成的子集合设为SUB(α)的情况下的与相同的所述子集合SUB(α)对应的多个所述分散秘密值DSH(ψ,α,h(α)),通过根据规定的秘密分散方式的每个子集合SUB(α)的恢复处理,生成每个该子集合SUB(α)的秘密恢复值SUBSK(ψ,α);以及
合成部,其使用所述秘密恢复值SUBSK(ψ,α),生成生成信息D*(ψ)。
16.一种秘密分散方法,通过分散装置、Σα=1 Lh(α)个分散管理装置PA(α,h(α))(α=1,…,L,L≧2,h(α)=1,…,H(α),H(α)≧2)和取得装置进行,其具有:
(A)所述分散装置将Ψ设为1以上的整数、将ψ设为0以上Ψ以下的整数ψ=0,…,Ψ、将n(ψ)设为1以上的整数、将ζ(ψ)设为0以上的整数、将巡回群G2的生成元设为g2、将以相对于θ(ψ,i,β)(i=1,…,n(ψ)+ζ(ψ),β=1,…,n(ψ)+ζ(ψ),n(ψ)≧1,ζ(ψ)≧1)的所述巡回群G2的n(ψ)+ζ(ψ)个元为要素的n(ψ)+ζ(ψ)维的基底向量设为bi*(ψ)=(θ(ψ,i,1)·g2,…,θ(ψ,i,n(ψ)+ζ(ψ))·g2)∈G2 n (ψ)+ζ(ψ)的情况下,将与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值按照规定的秘密分散方式分别独立地秘密分散到每个由H(α)个分散管理装置PA(α,1),…,PA(α,H(α))构成的子集合SUB(α)中,生成与各要素θ(ψ,i,β)·g2相应的值的共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α))的步骤;
(B)所述分散管理装置PA(α,h(α))对按每个所述子集合SUB(α)所共享的共同信息和所述共享信息SH(ψ,i,β,α,h(α))(h(α)=1,…,H(α)),按每个所述子集合SUB(α)进行共同的共同运算,生成分散秘密值DSH(ψ,α,h(α))的步骤;
(C)所述取得装置使用相同的所述子集合SUB(α)所对应的多个所述分散秘密值DSH(ψ,α,h(α)),通过按照所述秘密分散方式的每个子集合SUB(α)的恢复处理,生成每个该子集合SUB(α)的秘密恢复值SUBSK(ψ,α)的步骤;以及
(D)所述取得装置使用所述秘密恢复值SUBSK(ψ,α),生成生成信息D*(ψ)的步骤。
17.如权利要求16的秘密分散方法,其中,
在相互不同的所述子集合SUB(α)中分别共享的所述共同信息是相互独立的。
18.如权利要求16的秘密分散方法,其中,
所述共同运算是具有线性性的运算。
19.如权利要求17的秘密分散方法,其中,
所述共同运算是具有线性性的运算。
20.如权利要求16的秘密分散方法,其中,
所述步骤(D)包含对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)的步骤。
21.如权利要求17的秘密分散方法,其中,
所述步骤(D)包含对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)的步骤。
22.如权利要求18的秘密分散方法,其中,
所述步骤(D)包含对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)的步骤。
23.如权利要求19的秘密分散方法,其中,
所述步骤(D)包含对所述秘密恢复值SUBSK(ψ,α)进行线性结合,生成所述生成信息D*(ψ)的步骤。
24.如权利要求16~23中任一项所述的秘密分散方法,其中,
与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值为θ(ψ,i,β),
所述共同信息包含将λ设为1以上Ψ下面的整数λ=1,…,Ψ的情况下的coefι(0,α),coef(λ,α),coefι(λ,α),SE(α),share(λ,α),
所述步骤(B)包含:
(B-1)作为与ψ=0对应的所述分散秘密值,生成设为SHbi*(0,α,h(α))=(SH(0,i,1,α,h(α)),…,SH(0,i,I,α,h(α)))的情况下的
DSH(0,α,h(α))
=-SE(α)·SHb1*(0,α,h(α))·g2+Σι=2 Icoefι(0,α)·SHbι*(0,α,h(α))·g2的步骤;以及
(B-2)作为与各λ对应的所述分散秘密值,生成设为
SHbi*(λ,α,h(α))=(SH(λ,i,1,α,h(α)),…,SH(λ,i,n(λ)+ζ(λ),α,h(α))),并将v(λ)→=(v1(λ),…,vn(λ)(λ))设为n(λ)维向量的情况下的
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)·v1(λ))·SHb1*(λ,α,h(α))·g2
+Σι=2 n(λ)coef(λ,α)·vι(λ)·SHbι*(λ,α,h(α))·g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))·g2
或,
DSH(λ,α,h(α))
=share(λ,α)·Σι=1 n(λ)vι(λ)·SHb1*(λ,α,h(α))·g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))·g2的步骤。
25.如权利要求16~23中任一项所述的秘密分散方法,其中,
与所述基底向量bi*(ψ)的各要素θ(ψ,i,β)·g2相应的值为θ(ψ,i,β)·g2,
所述共同信息包含将λ设为1以上Ψ下面的整数λ=1,…,Ψ的情况下的coefι(0,α),coef(λ,α),coefι(λ,α),SE(α),share(λ,α),
所述步骤(B)包含:
(B-1)作为与ψ=0对应的所述分散秘密值,生成设为SHbi*(0,α,h(α))=(SH(0,i,1,α,h(α)),…,SH(0,i,I,α,h(α)))的情况下的
DSH(0,α,h(α))
=-SE(α)·SHb1*(0,α,h(α))+Σι=2 Icoefι(0,α)·SHbι*(0,α,h(α))的步骤;以及
(B-2)作为与各λ对应的所述分散秘密值,生成设为SHbi*(λ,α,h(α))=(SH(λ,i,1,α,h(α)),…,SH(λ,i,n(λ)+ζ(λ),α,h(α))),并将v(λ)→(v1(λ),…,vn(λ)(λ))设为n(λ)维向量的情况下的,
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)·v1(λ))·SHb1*(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)·vι(λ)·SHbι*(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))
或,
DSH(λ,α,h(α))
=share(λ,α)·Σι=1 n(λ)vι(λ)·SHb1*(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·SHbι*(λ,α,h(α))的步骤。
26.如权利要求24的秘密分散方法,其中,
所述步骤(C)包含:
(C-1)作为与ψ=0对应的所述秘密恢复值,生成SUBSK(0,α)=-SE(α)·b1*(0)+Σι=2 Icoefι(0,α)·bι*(0)的步骤;以及
(C-2)作为与各λ对应的所述秘密恢复值,生成SUBSK(λ,α)=(share(λ,α)+coef(λ,α)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ,α)·vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)
或,
SUBSK(λ,α)=share(λ,α)·Σι=1 n(λ)vι(λ)·b1*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)的步骤。
27.如权利要求25的秘密分散方法,其中,
所述步骤(C)包含:
(C-1)作为与ψ=0对应的所述秘密恢复值,生成SUBSK(0,α)=-SE(α)·b1*(0)+Σι=2 Icoefι(0,α)·bι*(0)的步骤;以及
(C-2)作为与各λ对应的所述秘密恢复值,生成SUBSK(λ,α)=(share(λ,α)+coef(λ,α)·v1(λ))·b1*(λ)
+Σι=2 n(λ)coef(λ,α)·vι(λ)·bι*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)
或,
SUBSK(λ,α)=share(λ,α)·Σι=1 n(λ)vι(λ)·b1*(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)·bι*(λ)的步骤。
28.一种程序,用于使计算机作为权利要求13的分散装置而发挥作用。
29.一种程序,用于使计算机作为权利要求14的分散管理装置而发挥作用。
30.一种程序,用于使计算机作为权利要求15的取得装置而发挥作用。
31.一种计算机可读取的记录介质,其存储了用于使计算机作为权利要求13的分散装置而发挥作用的的程序。
32.一种计算机可读取的记录介质,其存储了用于使计算机作为权利要求14的分散管理装置而发挥作用的的程序。
33.一种计算机可读取的记录介质,其存储了用于使计算机作为权利要求15的取得装置而发挥作用的的程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166407 | 2010-07-23 | ||
JP2010-166407 | 2010-07-23 | ||
PCT/JP2011/066693 WO2012011565A1 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103003857A true CN103003857A (zh) | 2013-03-27 |
CN103003857B CN103003857B (zh) | 2015-03-11 |
Family
ID=45496983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180035311.6A Active CN103003857B (zh) | 2010-07-23 | 2011-07-22 | 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8964988B2 (zh) |
EP (1) | EP2562736B1 (zh) |
JP (1) | JP5379914B2 (zh) |
KR (1) | KR101456579B1 (zh) |
CN (1) | CN103003857B (zh) |
WO (1) | WO2012011565A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851164A (zh) * | 2015-07-27 | 2018-03-27 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法和程序 |
CN108475483A (zh) * | 2016-01-18 | 2018-08-31 | 日本电信电话株式会社 | 隐匿决定树计算系统、装置、方法以及程序 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5814880B2 (ja) * | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
CN102855422B (zh) * | 2012-08-21 | 2015-03-04 | 飞天诚信科技股份有限公司 | 一种盗版加密锁的识别方法和装置 |
KR102084733B1 (ko) * | 2013-05-09 | 2020-03-05 | 삼성전자주식회사 | 파일 분산 관리 장치 및 제어 방법 |
EP3096309B1 (en) * | 2014-01-17 | 2018-10-31 | Nippon Telegraph And Telephone Corporation | Secret calculation method, secret calculation system, sorting device, and program |
US9141814B1 (en) * | 2014-06-03 | 2015-09-22 | Zettaset, Inc. | Methods and computer systems with provisions for high availability of cryptographic keys |
JP6104469B2 (ja) * | 2014-07-02 | 2017-03-29 | 三菱電機株式会社 | 行列生成装置及び行列生成方法及び行列生成プログラム |
US10091000B2 (en) | 2014-09-24 | 2018-10-02 | Intel Corporation | Techniques for distributing secret shares |
US10097522B2 (en) * | 2015-05-21 | 2018-10-09 | Nili Philipp | Encrypted query-based access to data |
US10158651B1 (en) | 2016-04-20 | 2018-12-18 | Wells Fargo Bank, N.A. | Verifying secure transactions through distributed nodes |
AU2018295722B2 (en) * | 2017-07-05 | 2020-11-19 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation apparatus, secure computation method, program, and recording medium |
CN108712261B (zh) * | 2018-05-10 | 2021-02-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
JP7087965B2 (ja) * | 2018-11-29 | 2022-06-21 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
CN111049644B (zh) * | 2019-10-22 | 2021-03-23 | 贵州财经大学 | 一种基于混淆激励机制的理性公平秘密信息共享方法 |
JP7452676B2 (ja) * | 2020-09-08 | 2024-03-19 | 日本電信電話株式会社 | 暗号システム、方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1132429A (zh) * | 1994-07-29 | 1996-10-02 | 佳能株式会社 | 共享保密信息,产生数据签名和执行确认的方法和通信系统 |
CN1531241A (zh) * | 2003-03-13 | 2004-09-22 | ͬ�Ϳ�ҵ��ʽ���� | 密码重构方法、分散密码重构装置及密码重构系统 |
US20090144543A1 (en) * | 2007-06-26 | 2009-06-04 | Yoshihiro Fujii | Secret sharing device, method, and program |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485474A (en) * | 1988-02-25 | 1996-01-16 | The President And Fellows Of Harvard College | Scheme for information dispersal and reconstruction |
EP0695056B1 (en) * | 1994-07-29 | 2005-05-11 | Canon Kabushiki Kaisha | A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method |
US6012159A (en) * | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
JPH10198272A (ja) * | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
EP1217783B9 (en) * | 1999-09-29 | 2009-07-15 | Hitachi, Ltd. | Device, program or system for processing secret information |
US7359507B2 (en) * | 2000-03-10 | 2008-04-15 | Rsa Security Inc. | Server-assisted regeneration of a strong secret from a weak secret |
KR100518687B1 (ko) * | 2003-12-01 | 2005-10-05 | 한국전자통신연구원 | 합성수 차원을 가지는 유한체에서 정의된 타원곡선의상수배 연산 방법 및 그 프로그램을 기록한 컴퓨터로 읽을수 있는 기록매체 |
US7945784B1 (en) * | 2005-08-19 | 2011-05-17 | Adobe Systems Incorporated | Method and system to perform secret sharing |
JP2008098894A (ja) * | 2006-10-11 | 2008-04-24 | Kddi Corp | 情報管理システム、情報管理方法、情報管理プログラム |
US8422681B2 (en) * | 2008-03-06 | 2013-04-16 | International Business Machines Corporation | Non-interactive hierarchical identity-based key-agreement |
JP2010118968A (ja) * | 2008-11-13 | 2010-05-27 | Hiroshima Ichi | 秘密情報分散装置及び秘密情報復元装置 |
EP2423904B1 (en) | 2009-04-24 | 2015-01-07 | Nippon Telegraph And Telephone Corporation | Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium |
-
2011
- 2011-07-22 US US13/810,509 patent/US8964988B2/en active Active
- 2011-07-22 EP EP11809735.1A patent/EP2562736B1/en active Active
- 2011-07-22 CN CN201180035311.6A patent/CN103003857B/zh active Active
- 2011-07-22 JP JP2012525441A patent/JP5379914B2/ja active Active
- 2011-07-22 KR KR1020137000486A patent/KR101456579B1/ko active IP Right Grant
- 2011-07-22 WO PCT/JP2011/066693 patent/WO2012011565A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1132429A (zh) * | 1994-07-29 | 1996-10-02 | 佳能株式会社 | 共享保密信息,产生数据签名和执行确认的方法和通信系统 |
CN1531241A (zh) * | 2003-03-13 | 2004-09-22 | ͬ�Ϳ�ҵ��ʽ���� | 密码重构方法、分散密码重构装置及密码重构系统 |
US20090144543A1 (en) * | 2007-06-26 | 2009-06-04 | Yoshihiro Fujii | Secret sharing device, method, and program |
Non-Patent Citations (1)
Title |
---|
KAEASHIMA,ETC: "A Study on Hierarchical Secret Sharing Scheme Using Product and Concatenated Codes", 《IEICE TECHNICAL REPORT》, vol. 107, no. 209, 31 August 2007 (2007-08-31), pages 17 - 23, XP008164021 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851164A (zh) * | 2015-07-27 | 2018-03-27 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法和程序 |
CN107851164B (zh) * | 2015-07-27 | 2021-06-08 | 日本电信电话株式会社 | 秘密计算系统、秘密计算装置、秘密计算方法和存储介质 |
CN108475483A (zh) * | 2016-01-18 | 2018-08-31 | 日本电信电话株式会社 | 隐匿决定树计算系统、装置、方法以及程序 |
CN108475483B (zh) * | 2016-01-18 | 2021-07-13 | 日本电信电话株式会社 | 隐匿决定树计算系统、装置、方法以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5379914B2 (ja) | 2013-12-25 |
US20130114815A1 (en) | 2013-05-09 |
EP2562736A4 (en) | 2015-03-11 |
EP2562736B1 (en) | 2016-06-29 |
KR20130036044A (ko) | 2013-04-09 |
JPWO2012011565A1 (ja) | 2013-09-09 |
US8964988B2 (en) | 2015-02-24 |
EP2562736A1 (en) | 2013-02-27 |
KR101456579B1 (ko) | 2014-10-31 |
CN103003857B (zh) | 2015-03-11 |
WO2012011565A1 (ja) | 2012-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103003857B (zh) | 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法 | |
CN103004129B (zh) | 加密装置、解密装置、加密方法、解密方法、程序及记录介质 | |
CN102396012B (zh) | 秘密分散系统、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法 | |
US8515060B2 (en) | Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium | |
JP5422053B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
CN102484586B (zh) | 函数密码应用系统及方法 | |
Gupta et al. | Session key based novel lightweight image encryption algorithm using a hybrid of Chebyshev chaotic map and crossover | |
Wang et al. | Cloud-aided online/offline ciphertext-policy attribute-based encryption in the standard model | |
Mihailescu et al. | Blockchain search using searchable encryption based on elliptic curves | |
JP5366755B2 (ja) | データ編集システム、書込み装置、読取装置及びデータ編集方法 | |
JP2012098570A (ja) | 代理計算システム、端末装置、代理計算装置、代理計算方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |