CN1531241A - 密码重构方法、分散密码重构装置及密码重构*** - Google Patents

密码重构方法、分散密码重构装置及密码重构*** Download PDF

Info

Publication number
CN1531241A
CN1531241A CNA2004100282606A CN200410028260A CN1531241A CN 1531241 A CN1531241 A CN 1531241A CN A2004100282606 A CNA2004100282606 A CN A2004100282606A CN 200410028260 A CN200410028260 A CN 200410028260A CN 1531241 A CN1531241 A CN 1531241A
Authority
CN
China
Prior art keywords
password
dispersion
mentioned
dispersed information
disperse
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.)
Pending
Application number
CNA2004100282606A
Other languages
English (en)
Inventor
�ɴ徸��
松村靖子
ƽ
中川聪
圆藤康平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of CN1531241A publication Critical patent/CN1531241A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

提供一种在不公开各成员保有的分散信息的情况下重构原来的分散信息的密码重构方法、分散密码重构装置、密码重构***。密码重构方法是:根据某个密码信息S生成第一分散信息Xi(i=1,2,...,n)分配给各成员的情况下,聚集t(2≤t≤n)个成员,重构原来的密码信息。重构时,在聚集的各成员中,各自成员持有的第一分散信息Xi仍保密,用密码分散法分散第一分散信息Xi,作为第二分散信息Xi,j(j=1,2,...,n)分配给其他的各成员,通过从其他成员接收第二分散信息Xj,i,利用分散计算算出用于重构原来的密码信息S的中间计算结果Si,根据各成员的中间计算结果Si重构原来的密码信息S。

Description

密码重构方法、分散密码重构装置 及密码重构***
技术领域
本发明涉及根据通过密码分散法分散给各个成员的分散信息重构原来的密码信息的密码重构方法、实施该密码重构方法时使用的分散密码重构装置以及包含该分散密码重构装置的密码重构***。
背景技术
当保管为了信息保密而用于加密的秘密密钥和用于进行认证的密码等重要密码信息时,人们会担心该密码信息丢失或被破坏,担心该密码信息被盗。作为由于丢失或破坏而引起密码信息泄露这种情况的对策,考虑生成并保管密码信息的副本,但由于增加了密码信息的副本,密码信息被盗的危险性也增加了。解决这个问题的方法有密码分散法。在实施密码分散法的***中,密码分散装置(运算装置)将原来的密码信息分散(编码)为多个分散信息,将这些多个分散信息分别分配给作为相关者的各个成员(运算存储装置),当需要获得原来的密码信息时,密码重构装置(运算装置)把来自必要成员的分散信息聚集起来,重构(恢复)原来的密码信息。
称为Shamir法(シヤミア法:Sharmir的方法)的(k,n)阈值密码分散法是密码分散法之一(例如,参考非专利文献1)。非专利文献1中记载的(k,n)阈值密码分散法中,将密码信息编码为n(n是2以上的整数)个分散信息,如果把k(k是n以下的整数)个以上的分散信息聚集起来,就能恢复原来的密码信息,通过用多项式插值来实现即使聚集k-1个以下的分散信息也不能完全知道原来的密码信息的性质。
具体地说,用下式(1)所示的k-1次多项式f(x)分散密码信息。
f(x)=S+R1x+R2x2+...+Rk-1xk-1                (1)
这里,S是原来的密码信息,R1,R2,...,Rk-1是分配者决定的随机数。
给分配了分散信息的n个人的各个成员赋予m1,m2,...,mn作为成员ID时,对应于成员ID_mj(j=1,2,...,n)的分散信息Xmj可以利用上述式(1)按下式(2)计算。
Xmj=f(mj)=S+R1mj+R2(mj)2+...+Rk-1(mj)k-1    (2)
图1用于说明基于(k,n)阈值密码分散法实施密码分散的密码分散计算部101的操作。如图1所示,密码分散计算部101接收原来的密码信息S和被分配以该密码信息的分散信息的全部成员的成员ID_mj(j=1,2,...,n),根据原来的密码信息S生成上述式(1)的多项式f(x),根据该多项式f(x)和成员ID_mj,用上述式(2)生成与各成员ID_mj对应的分散信息Xmj。输出的各分散信息Xmj分别在密码中分配给持有对应成员ID的成员。
根据分配给各成员的分散信息重构密码信息S时,聚集分配了分散信息的n个成员中的t个(k≤t≤n)成员,凑集被聚集的t个成员的成员ID_m’1,m’2,...,m’t和分散信息Xm’1,Xm’2,...,Xm’t,用下式(3)和(4)计算原来的密码信息S。
数1
S = rm , 1 X m , 1 + r m , 2 X m , 2 X m , 2 + · · · + r m , t X m , t
= Σ j = 1 t rm , j X m , j - - ( 3 )
r m , j = ( m , 1 × m , 2 × · · · × m , t / m , j )
/ ( ( m , 1 - m , j ) × ( m , 2 - m , i ) × · · · × ( m , j - 1 - m , j ) × ( m , i + 1 - m , j ) ×
· · · × ( m , t - m , j ) )
= Π i = 1 i ≠ j t m , i / ( m , i - m , j ) - - ( 4 )
非专利文献1:冈本龙明等:《现代密码》(工业图书),第214-216页和第227-236页。
但是,通过上述方法重构原来的密码信息S时,若不公开所聚集的成员的成员ID_m’1,m’2,...,m’t和成员的分散信息Xm’1,Xm’2,...,Xm’t,则不能计算原来的密码信息S。而且,即使有进行密码重构的中心时,若不向中心申报聚集的成员的成员ID_m’1,m’2,...,m’t和分散信息Xm’1,Xm’2,...,Xm’t,也不能计算原来的密码信息S。即,不能使聚集的成员匿名地计算密码信息S。
在没有密码重构中心的情况下,若不向聚集的成员公开自己持有的分散信息Xm’1,Xm’2,...,Xm’t,则不能求出原来的密码信息S。即,一旦要重构原来的密码信息,要暴露分配给成员的分散信息,所以,就不能再利用该已暴露的分散信息了,需要再一次进行密码信息的分散处理。
发明内容
因此,为了解决上述现有技术的问题,本发明的目的是提供一种在各个成员仍为匿名、不公开各个成员持有的分散信息的情况下重构原来的密码信息的密码重构方法,实施该密码重构方法时使用的分散密码重构装置和包含该分散密码重构装置的密码重构***。
本发明的密码重构方法是这样的:用密码分散法从密码信息中生成n个第一分散信息,在上述n个第一分散信息分别分配给由n个人(2≤n)组成的组中各个成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构原来的密码信息。该密码重构方法具有以下过程:聚集的t个成员分别用密码分散法根据自己持有的第一分散信息生成t个第二分散信息,分别分配给聚集的t个成员;聚集的t个成员分别通过使用自身生成的第二分散信息和输入的(t-1)个第二分散信息的分散计算,生成用于重构原来的密码信息的t个中间计算结果;根据聚集的t个成员各自生成的t个中间计算结果重构原来的密码信息。
附图说明
图1是实施(k,n)阈值密码分散法的结构图;
图2是本发明第一实施例中实施密码分散法的结构图;
图3本发明第一实施例中各成员和保密通信线路图;
图4是本发明第一实施例涉及的密码重构方法的概要说明图;
图5是本发明第一实施例涉及的密码重构方法的结构(密码重构***)的方框图;
图6是图5的分散密码重构计算部(分散密码重构装置)的结构方框图;
图7是本发明第一实施例涉及的密码重构方法的操作流程图;
图8是本发明第二实施例涉及的密码重构方法的结构(密码重构***)的方框图;
图9是图8的分散密码重构计算部(分散密码重构装置)的结构方框图;
图10是本发明第二实施例涉及的密码重构方法的操作流程图;
图11是本发明第三实施例涉及的密码重构方法的概要说明图;
图12是本发明第三实施例涉及的密码重构方法的结构(密码重构***)的方框图;
图13是图12的分散密码重构计算部(分散密码重构装置)的结构方框图;
图14是图13的分散处理部的结构方框图;
图15是图14的项计算部的结构方框图;
图16是图15的“(2)分散乘法部”的结构方框图;
图17是图15的“(t-1)分散乘法部”的结构方框图;
图18是图15的分散逆元计算部的结构方框图;
图19是本发明第三实施例涉及的密码重构方法的操作流程图;
图20是在本发明第四实施例涉及的密码重构方法中使用的“(2)分散乘法部”的结构方框图;
图21是图20的ij项计算部的结构方框图;
图22是图21的项计算接收部的结构方框图;
图23是图21的项计算发送部的结构方框图;
图24是在本发明第五实施例涉及的密码重构方法中使用的分散逆元计算部的结构方框图;
图25是本发明第三实施例的变形例中项计算部的结构方框图;
图26是本发明第四实施例的变形例中ij项计算部的结构方框图;
图27是本发明第五实施例的变形例中分散逆元计算部的结构方框图。
具体实施方式
(第一实施例)
第一实施例的概要
在本发明的第一实施例中,重构原来的密码信息S时,通过利用为了重构原来的密码信息S而聚集的成员(运算存储装置)所保有的分散信息执行多方协议,在不公开各成员保有的分散信息的情况下,重构原来的密码信息S。此外,根据第一实施例的密码重构方法通过密码重构***来实施。根据第一实施例的密码重构***主要包括:作为各成员(运算存储装置)的分散密码重构装置(后述的分散密码重构计算部301);任一成员中或区别于成员的中心中具备的运算装置(后述的密码重构计算部302)。
多方协议的说明
下面,说明多方协议。所谓多方协议是指不公开某个函数的输入值,由聚集起来的成员协力计算该函数的方式,也称为“分散计算”(例如,参考上述非专利文献1)。多方协议大致分为2种方式。第一方式是以在为了计算而聚集的成员中某2人的成员间确立通信内容对此2人成员以外的人保密的保密通信线路为前提的方式。第二方式是在为了计算而聚集的成员间的通信中,除了通过上述保密通信线路的通信方法之外,还使用所谓丢失通信的通信方法的方式。在上述非专利文献1中,记载了多方协议的第二方式的二元(binary)计算(NOT和AND计算)时的说明。而且,多方协议的第二方式的详细情况在后述第4实施例中加以说明。
这里,说明使用有限体要素计算(加法和乘法计算)的多方协议的第一方式。假定执行多方协议的成员为t人的情况。每个成员分别拥有作为成员ID的mj(j=1,2,...,t)和成员固有的密码信息Xmj(j=1,2,...,t),考虑通过多方协议计算下式(5)所示的函数值Y的情况。
Y=f(Xm1,Xm2,...,Xmt)        (5)
这里,作为各成员的成员ID的mj和密码信息Xmj(j=1,2,...,t)作为有限体GF(q)(q是素数或素数的乘幂)上的值。上述式(5)的函数f的运算是有限体GF(q)上的计算,因此,得到的函数值Y也作为有限体GF(q)上的值。
各成员固有的密码信息Xmj(j=1,2,...,t)不向其他成员原样公开,为了计算函数值Y,在多方协议中,首先用(k,t)阈值密码分散法秘密分散各成员固有的密码信息Xmj(j=1,2,...,t),分配给各成员。成员ID为mj、成员的密码信息为Xmj时,该成员创建下式(6)的k-1(k≤t)次多项式fmj(x)。
数2
fmj(x)=Xmj+Rmj,1 x+Rmj,2 x2+…+Rmj,k-1 xk-1        (6)
这里,Rmj,1,Rmj,2,...,Rmj,k-1是从有限体GF(q)上的值中选出的k-1个随机数。
通过密码分散法分散密码信息Xmj,将分配给成员ID为mp(p=1,2,...,t)的成员的分散信息记为Xmj,p时,分散信息Xmj,p可以用上述式(6)如下式(7)那样计算。
数3
Xmj,p=fmj(mp)
      =Xmj+Rmj,1(mp)+Rmj,2(mp)2+…+Rmj,k-1(mp)k-1    (7)
此外,分散信息Xmj,p对成员ID为mp(p=1,2,...,t)的成员以外是保密的,用保密通信线路分配给成员ID为mp(p=1,2,...,t)的成员。
上述式(6)和(7)的加法和乘法是有限体GF(q)上的加法和乘法。因此,得到的分散信息Xmj,p(j=1,2,...,t;p=1,2,...,t)是有限体GF(q)上的值。此外,在以下的说明中,运算一直都是在有限体GF(q)上进行的。
通过以上的处理,各成员变成持有其他各成员的密码信息Xmj的分散信息Xmj,p的状态。成员ID为mj的成员持有由其他成员分配的分散信息(和自己的自身密码信息的分散信息)Xm1,j,Xm2,j,...,Xmt,j等t个分散信息。
这里,进行多方协议中的分散加法(加法计算)。上述式(5)的函数例如下式(8)所示是某2个输入XmA和XmB的加法时,
Y=f(Xm1,Xm2,...,Xmt)=XmA+XmB      …(8)
在多方协议中,各成员通过进行输入XmA和XmB的彼此分散信息的加法,可以得到计算结果Y的分散信息Ymj(j=1,2,...,t)。例如,作为输入XmA和XmB的分散信息,成员ID为mj的成员因为分别持有XmA,j和XmB,j,所以进行下式(9)的计算,得到计算结果Y的分散信息Ymj
Ymj=XmA,j+XmB,j        …(9)
下面,说明多方协议中的分散乘法(乘法计算)。上述式(5)的函数例如象下式(10)那样为某2个输入XmA和XmB的乘法时,
Y=f(Xm1,Xm2,...,Xmt)=XmA×XmB                …(10)
在多方协议中,各成员进行下面步骤S101~S103的处理。在步骤S101中,进行输入XmA和XmB的彼此分散信息的乘法,在步骤S102中,将该乘法结果进行密码分散后分配给其他成员,在步骤S103中,通过在接收侧重构它们,可以得到计算结果Y的分散信息Ymj(j=1,2,...,t)。其中,在第一方式的多方协议的分散乘法中,密码分散的阈值k需要满足下式(11)。
k≤(t+1)/2        …(11)
这里,上述式(11)的运算不是有限体GF(q)上的运算,而是通常的实数、整数运算。
具体地说,例如,作为输入XmA和XmB的分散信息,成员ID为mj的成员因为分别持有XmA,j和XmB,j,所以首先进行下式(12)的计算,得到中间计算结果Y’mj(上述步骤S101)。
Y’mj=XmA,j×XmB,j        …(12)
下面,用下式(13)这样的多项式对该中间计算结果Y’mj进行密码分散(上述步骤S102)。
数4
f’mj(x)=Y’mj+R’mj,1 x+R’mj,2 x2+...+R’mj,k-1 xk-1    (13)
这里,R’mj,1,R’mj,2,...,R’mj,k-1是通过从有限体GF(q)上的值中选出k-1个作为随机数而得到的。
接着,用上述式(13)象下式(14)那样计算分配给成员ID为mp(p=1,2,...,t)的成员的自己的中间计算结果Y’mj的分散信息Y’mj,p
数5
Y’mj,p=f’mj(mp)
        =Y’mj+R’mj,1(mp)+R’mj,2(mp)2+...+R’mj,k-1(mp)k-1    (14)
此外,对成员ID为mp(p=1,2,...,t)的成员以外是保密的,用保密通信线路分配给成员ID为mp(p=1,2,...,t)的成员。通过上述式(14)的计算分散后的结果是,成员ID为mj的成员获得Y’m1,j,Y’m2,j,...,Y’mt,j等t个分散信息。
成员ID为mj的成员根据这些Y’m1,j,Y’m2,j,...,Y’mt,j,如下式(15)和(16)那样计算乘法结果的分散信息Ymj
数6
Y m j = r m 1 Y , m 1 , j + r m 2 Y , m 2 , j + · · · + r m n Y , m n , j
= Σ i = 1 t r m j Y , m j , 1 - - ( 15 )
rm j = ( m 1 × m 2 × · · · × m t / m j ) .
/ ( ( m 1 - m j ) × ( m 2 - m j ) × · · · × ( m j - 1 - m j ) × ( m j + 1 - m 1 ) × · · · × ( m t - m j ) )
= Π i = 1 i ≠ j t m i / ( m i - m j ) - - ( 16 )
这个计算和密码信息重构时的计算(上述式(3))是一样的(上述步骤S103)。
如上所述,如果用多方协议,则通过各成员彼此之间进行保密通信来完成计算处理,可以在不公开输入值的情况下计算所提供的函数。
第一实施例的构成
第一实施例以这样的状态为前提:不用(k,n)阈值密码分散法而用通过简单的加减法实现的密码分散法分散由多个成员(运算存储装置)组成的某个组的原来的密码信息S,分散信息在密码里分配给各成员。即,如图2所示,以下面的情况为前提:利用密码分散法从原来的密码信息S中生成分散信息,将生成的分散信息分配给各成员。图2用于说明实施密码分散法的密码分散计算部201的操作。密码分散计算部201的操作不同于上述图1的密码分散计算部101,进行以下计算。这里,向密码分散计算部201输入的原来的密码信息为S(它作为有限体GF(q)上的要素),分配了分散信息的成员是n个人。密码分散计算部201首先从有限体GF(q)中选出n-1个随机数。从这些随机数X1,X2,...,Xn-1中求出满足下式(17)的Xn
Xn=S-(X1+X2+...+Xn-1)          (17)
密码分散计算部201输出通过上式(17)得到的值X1,X2,...,Xn,不重复地分配给各成员。值X1,X2,...,Xn中可以有几个是相等的值。上式(17)的计算在有限体GF(q)上进行。在以下的说明中,运算一直在有限体GF(q)上进行。
在通过上述密码分散法分散原来的密码信息S时,只有把所有分配了分散信息的成员(即n人)聚集起来才能重构原来的密码信息S。原来的密码信息S可以通过计算下式(18)来重构。
S=(X1+X2+...+Xn)          (18)
上述密码分散法称为“加法密码分散法”。第一实施例以这样的状态为前提:通过上述加法密码分散法进行密码分散的分散信息分配给各成员,各成员拥有分散信息。当打算重构原来的密码信息S时,聚集起来的成员(n人)凑集分散信息,可以用上式(18)重构原来的密码信息S,但在根据第一实施例的密码重构方法中,该重构时的计算是通过以多方协议进行分散计算,不公开聚集的各成员的分散信息地重构原来的密码信息S。
第一实施例以这样的状态为前提:在多个成员组成的组中,利用上述密码分散法(根据上式(17)的方法)由原来的密码信息S生成的分散信息在密码里分配给各成员。该组中一直有n个成员,由原来的密码信息S生成的、分配给各成员的分散信息为Xj(j=1,2,...,n)。
在第一实施例中,重构原来的密码信息S时,全体成员(即n个成员)聚集,凑集各成员持有的分散信息。在成员中的某2个成员之间可以确立通信内容对此2个成员以外的成员保密的保密通信线路。图3示出了第一实施例中各成员间的通信中使用的保密通信线路303。图3中,四角形表示的方框表示聚集起来的成员,m’1,m’2,...,m’j,...,m’t表示成员ID,双向箭头表示通信内容对分别对应的成员以外的成员保密的保密通信线路303。
下面,用图4说明根据第一实施例的密码重构方法的概要。图4中,成员人数是3人(即,运算存储装置数是3台),各成员分别持有通过加法密码分散法使原来的密码信息S分散的分散信息A,B,C。在重构原来的密码信息S的情况下,首先,用加法密码分散法进一步分散各成员持有的分散信息A,B,C,生成分散信息A,B,C的分散信息。具体地说,如图4中的符号①所示,分散分散信息A,形成分散信息A的分散信息A1,A2,A3,分散分散信息B,形成分散信息B的分散信息B1,B2,B3,分散分散信息C,形成分散信息C的分散信息C1,C2,C3。接着,如图4中的符号②所示,将分散信息A,B,C的分散信息分配给其他成员。如图4中的符号③所示,各成员收取分散信息A,B,C的分散信息A1,B1,C1或A2,B2,C2或A3,B3,C3,以它们为基础进行分散计算,输出分散计算的结果。接着,如图4中的符号④所示,分别用分散信息A,B,C的分散信息A1,B1,C1和A2,B2,C2和A3,B3,C3聚集分散计算后的计算结果,从而重构原来的密码信息S。
图5是表示实施本发明第一实施例的密码重构方法的结构(根据第一实施例的密码重构***)的方框图。用图5说明根据第一实施例的密码重构方法。如图5所示,在重构原来的密码信息S时聚集的n个成员(即,n台运算存储装置)中分别具备分散密码重构计算部(即,第一实施例涉及的分散密码重构装置)301(301-1,301-2,...,301-n),作为通过分散计算重构密码信息的装置。这里,符号301-j表示成员j(j=1,2,...,n)中具备的分散密码重构计算部301。各成员的分散密码重构计算部301-j(j=1,2,...,n)通过图3说明的保密通信线路303分别和其他成员的分散密码重构计算部连接。各成员的分散密码重构计算部301-j(j=1,2,...,n)的输出输入到密码重构计算部302中。
密码重构计算部302接收来自各成员的分散密码重构计算部301-j(j=1,2,...,n)的输出,进行把接收的这n个值作为n个分散信息时的重构密码信息的计算,输出重构后的密码信息。从各成员的分散密码重构计算部301-j(j=1,2,...,n)输出的值(即,密码重构计算的中间计算结果)为Sj(j=1,2,...,n)时,可以用下式(19)计算原来的密码信息S。
数7
S = S 1 + S 2 + · · · + S n
= Σ j = 1 n S 1 - - ( 19 )
上式(19)中的各运算在有限体GF(q)上进行。此外,在以后的说明中,运算一直在有限体GF(q)上进行。
各成员的分散密码重构计算部301-j(j=1,2,...,n)中的处理是各成员分别进行的,其他成员不知道其处理内容。密码重构计算部302中的处理可以由统一处理的中心(区别于成员的运算装置)进行,也可以由聚集的成员(运算存储装置)中的1个人或多个人进行。但是,希望由需要密码信息S的成员进行。
图6是表示图5的分散密码重构计算部301-j(j=1,2,...,n)的结构的方框图。用图6说明分散密码重构计算部301-j。如图6所示,分散密码重构计算部301-j具有密码分散计算部401-j和输入数为n个的“(n)加法部”402-j。密码分散计算部401-j的输出输入“(n)加法部”402-j,“(n)加法部”402-j的输出作为分散密码重构计算部301-j的输出。
向密码分散计算部401-j输入成员j持有的原来的密码信息S的分散信息Xj。密码分散计算部401-j用加法密码分散法分散输入的分散信息Xj,经由和其他成员通信的保密通信线路303进行分配。分散信息Xj的分散信息Xj,n的计算是把Xj,1,Xj,2,...,Xj,n-1作为随机数,从有限体GF(q)上选出n-1个值,用下式(20)求出Xj,n
Xj,n=Xj-(Xj,1+Xj,2+…+Xj,n-1)    …(20)
值Xj,1,Xj,2,...,Xj,n中自己的对应于自身的分散信息Xj,j输出到“(n)加法部”402-j,其他的分散信息Xj,p(p=1,2,...,n,p≠j)通过保密通信线路303分配给各成员。
“(n)加法部”402-j接收来自密码分散计算部401-j的、原来的密码信息S的分散信息Xj。而且,经由保密通信线路303接收其他成员分配的、原来的密码信息S的分散信息Xp(p=1,2,...,n,p≠j)的分散信息X1,j,......,Xj-1,j,Xj+1,j,...,Xn,j。根据这n个来自原来密码信息S的分散信息的分散信息Xp,j(p=1,2,...,n)计算原来密码信息S的分散信息Sj(密码信息S重构时得到的密码信息S的分散信息Sj和密码信息S分散时得到的密码信息S的分散信息Xj是不同的)并输出。“(n)加法部”402-j进行下式(21)的计算,输出密码信息S的分散信息Sj
数8
S j = X 1 , j + X 2 , j + · · · + X n , j
= Σ p = 1 n X p , j - - ( 21 )
第一实施例的操作
图7示出了第一实施例涉及的密码重构方法的操作流程图。这里,以为了重构原来密码信息S而聚集的全体成员(n个成员)所持有的分散信息为X1,X2,...,Xn
首先,用加法密码分散法分散各成员持有的分散信息X1,X2,...,Xn,分配给其他成员(步骤S501)。步骤S501示出了图6的密码分散计算部401-j中的操作,利用根据各成员持有的分散信息Xj生成的随机数和上式(20)计算分散信息Xp,j(p=1,2,...,n),分配给其他成员。
接着,各成员用自己的自身分散信息Xj的分散信息和其他成员分配的分散信息即分散信息Xp,j(p=1,2,...,n)实施计算,求出原来密码信息S的分散信息Sj(步骤S502)。步骤S502示出了图6的加法部402-j中的操作,成员j根据其他成员分配的分散信息Xp,j(p=1,2,...,n)(包含自己的自身分散信息Xj的分散信息Xj,j)用上式(21)进行计算。计算结果Sj作为原来密码信息S的分散信息。
接着,根据步骤S502中各成员计算出的分散信息Sj重构原来的密码信息S(步骤S503)。步骤S503示出了图5的密码重构计算部302中的操作,成员j根据在步骤S502中计算出的结果Sj(j=1,2,...,n)用上式(19)进行计算,可以得到原来的密码信息S。
第一实施例的效果
如上所述,根据第一实施例,可以在不向其他成员公开为了重构原来密码信息S而聚集的成员(运算存储装置)所持有的分散信息Xj的情况下,重构原来的密码信息S。因此,各成员持有的分散信息Xj在下次重构密码时可以再次使用。并且,就是不设置进行密码重构的第三方中心,也能达到上述效果。而且,在第一实施例中,若没有聚集持有分散信息Xj的全体成员,则不能重构原来的密码信息S,但保持了各成员的匿名性,而且,密码重构时的成员的相互通信只进行1次,用于分散分配最初的分散信息,因此,通信量和计算量都少。
不持有密码信息S的分散信息Xj的人(运算存储装置)即使参加重构,在重构密码信息S时也会失败,因此,在第一实施例中,具有认证功能,以认证由聚集的多个人组成的组中全体成员都是合法成员(预先被分配了密码信息S的分散信息Xj的成员)还是混杂了不合法的人(运算存储装置)。而且,在第一实施例中,因为可以象上述那样再次利用分散信息,所以该认证功能可以不更新密码信息S的分散信息,而反复利用。该认证功能是这样的:因为每个认证(密码信息S的重构)都是不同的,所以从聚集的成员向其他人发送的信息完全不怕由于被盗而“冒充”。这种认证功能不是通过密码分散法的密码重构的性质和利用多方协议进行分散计算的性质的简单组合得到的功能,而是新功能。此外,上述认证功能是用“原来的密码信息S”作为校对密码信息S(是预先注册的信息,使认证是否成立和重构结果校对的信息)的利用形式,因此,即使原来的密码信息S不对各成员保密,也能实现。
第二实施例
第二实施例的概要
在本发明的第二实施例中,重构原来的密码信息S时,通过用为了重构原来的密码信息S而聚集的成员(运算存储装置)保有的分散信息执行多方协议,在不公开各成员保有的分散信息的情况下,进行原来密码信息S的重构。此外,第二实施例涉及的密码重构方法通过密码重构***来实施。第二实施例涉及的密码重构***主要包括:作为各成员(运算存储装置)的分散密码重构装置(后述的分散密码重构计算部601);任一成员中或区别于成员的中心中具备的运算装置(后述的密码重构计算部602)。
第一实施例以这样的状态为前提:在多个成员组成的组中,用加法密码分散法分散原来的密码信息S,分散信息在密码里分配给各成员。与此相对,第二实施例以这样的状态为前提:在多个成员(运算存储装置)组成的某个组中,用(k,n)阈值密码分散法分散原来的密码信息S,分散信息在密码里分配给各成员。在第二实施例的情况下,不必聚集全体成员(即n个成员),只要聚集k个(k≤n)成员,就能重构原来的密码信息S。
在第二实施例中,打算重构原来的密码信息S时,聚集的成员(t人,t≥k)凑集分散信息,用上述式(3)重构原来的密码信息S,但重构时的计算是通过在多方协议中进行分散计算,在不公开聚集的各成员的分散信息的情况下,重构原来的密码信息S。
第二实施例的构成
第二实施例以这样的状态为前提:在多个成员(运算存储装置)组成的组中,用(k,n)阈值密码分散法分散原来的密码信息S,分散信息在密码里分配给各成员。假定该组中有n个成员,把密码信息S分散给各成员时使用的成员ID为m1,m2,...,mn。分配给用户ID为mj(j=1,2,...,n)的成员的、密码信息S的分散信息为Xmj(j=1,2,...,n)。当打算重构原来的密码信息S时,在聚集的成员为t人(t≥k)的情况下凑集各成员持有的分散信息。这时聚集的成员的成员ID为m’1,m’2,...,m’t,聚集的成员持有的分散信息为Xm’1,Xm’2,...,Xm’t。在聚集的成员中的某2名成员之间确立保密通信线路,可以使通信内容对此2个成员以外的人保密。图3示出了第二实施例中在各成员间的通信中使用的保密通信线路303。图3中,四角形的方框表示聚集起来的成员,m’1,m’2,...,m’j,...,m’t表示成员ID,双向箭头表示通信内容对分别对应的成员以外的成员保密的保密通信线路303。而且,赋予聚集的t个成员的用户ID_m’1,m’2,...,m’t是公开的值。
图8是表示实施本发明第二实施例涉及的密码重构方法的结构(第二实施例涉及的密码重构***)的方框图。用图8说明第二实施例涉及的密码重构方法。如图8所示,在重构原来的密码信息S时聚集的成员ID为m’1,m’2,...,m’t的t个成员(即,t台运算存储装置)分别具备作为通过分散计算来重构密码信息的装置的分散密码重构计算部(即,第二实施例涉及的分散密码重构装置)601(601-1,601-2,...,601-t)。分散密码重构计算部601-j(j=1,2,...,t)中的处理由成员ID为m’j的成员进行。各成员的分散密码重构计算部601-j(j=1,2,...,t)分别通过图3所示的保密通信线路303和其他成员的分散密码重构计算部601连接。而且,各成员的分散密码重构计算部601-j(j=1,2,...,t)的输出输入到密码重构计算部602中。分散密码重构计算部601和密码重构计算部602和第一实施例中的分散密码重构计算部301和密码重构计算部302的区别在于结构和操作。
密码重构计算部602接收来自各成员的分散密码重构计算部601-j(j=1,2,...,t)的输出,进行把接收的这t个值作为t个分散信息时进行重构密码信息的计算,输出重构后的密码信息。从各成员的分散密码重构计算部601-j(j=1,2,...,t)输出的值为Sm’j(j=1,2,...,t)时,用将上述式(3)的Xm’j替换为Sm’j的式(22)和(4)进行计算并输出原来的密码信息S。
数9
S = rm , 1 S m , 1 + r m , 2 S m , 2 + · · · + r m , t S m , t
= Σ j = 1 t rm , j S m , j - - ( 22 )
r m , j = ( m , 1 × m , 2 × · · · × m , t / m , j )
/ ( ( m , 1 - m , j ) × ( m , 2 - m , J ) × · · · × ( m , j - 1 - m , j ) × ( m , j + 1 - m , j ) ×
· · · × ( m , t - m , j ) )
= Π i = 1 i ≠ j t m , i / ( m , i - m , j ) - - ( 4 )
上述式(22)中的各运算在有限体GF(q)上进行。在以后的说明中,运算一直在有限体GF(q)上进行。
各成员的分散密码重构计算部601-j(j=1,2,...,t)中的处理是各成员分别进行的,其他成员不知道其处理内容。密码重构计算部602中的处理可以由统一处理的中心(区别于成员的运算装置)进行,也可以由聚集的成员(运算存储装置)中的1个人或多个人进行。但是,希望由需要密码信息S的成员进行。
图9是表示图8的分散密码重构计算部601-j(j=1,2,...,t)的结构的方框图。用图9说明分散密码重构计算部601-j。如图9所示,分散密码重构计算部601-j具有密码分散计算部701-j和线性组合计算部702-j。密码分散计算部701-j的输出输入到线性组合计算部702-j,线性组合计算部702-j的输出作为分散密码重构计算部701-j的输出。
向密码分散计算部701-j输入成员ID为m’j的成员持有的原来密码信息S的分散信息Xm’j。密码分散计算部701-j用(k’,t)阈值密码分散法(k’≤t)分散输入的分散信息Xm’j,经由和其他成员进行通信的保密通信线路303进行分配。在分散时的计算中,建立下式(23),即将上述式(6)的mj替换为m’j,k替换为k’的k’-1次多项式。
数10
f m , j ( x ) = X m , j + R m , j , 1 x + R m , j , 2 x 2 + · · · + R m , j , k , - 1 x k , - 1 - - - ( 23 )
这里,Rm’j,2,Rm’j,2,...,Rm’j,k’-1是作为随机数选出的有限体GF(q)上的k’-1个值。
因此,用上述式(23)如下式(24)那样计算分配给成员ID为m’p(p=1,2,...,t)的成员的分散信息Xm’j,p(参考上述式(7))。
数11
X m , j , p = f m , j ( m , p )
= X m , j + R m , j , 1 ( m , p ) + R m , j , 2 ( m , p ) 2 + · · · + R m , j , k , - 1 ( m , p ) k , - 1 - - ( 24 )
对应于自己的自身分散信息Xm’j,j输出给线性组合计算部702-j,通过保密通信线路303把其他的分散信息Xm’j,p(p=1,2,...,t,p≠j)分配给各成员。
线性组合计算部702-j接收来自密码分散计算部701-j的、原来的密码信息S的分散信息Xm’j的分散信息Xm’j,j。而且,经由保密通信线路303接收其他成员分配的、原来的密码信息S的分散信息Xm’j的分散信息Xm’1,j,...,Xm’j-1,j,Xm’j+1, j,...,Xm’t,j。根据这t个来自原来密码信息S的分散信息Xm’j的分散信息Xm’p,j(p=1,2,...,t),计算原来密码信息S的分散信息Sm’j(密码信息S重构时得到的密码信息S的分散信息Sm’j和密码信息S分散时得到的密码信息S的分散信息Xm’j是不同的)并输出。线性组合计算部702-j进行下式(25)和(26)的计算。
数12
S m , j = rm , 1 X m , 1 , j + r m , 2 X m , 2 , j + · · · + r m , t X m , t , j
= Σ p = 1 t rm , p X m , p , j - - ( 25 )
r m , p = ( m , 1 × m , 2 × · · · × m , t / m , p )
/ ( ( m , 1 - m , p ) × ( m , 2 - m , p ) × · · · × ( m , p - 1 - m , p ) × ( m , p + 1 - m , p ) ×
· · · × ( m , t - m , p ) )
= Π i = 1 i ≠ p t m , i / ( m , i - m , p ) - - ( 26 )
这里,各成员ID_m’1,m’2,...,m’t是公开的值,因此能计算上述式(26)的rm’p
第二实施例的操作
图10示出了第二实施例涉及的密码重构方法的操作流程图。这里,为了重构原来密码信息S而聚集的t个成员的成员ID为m’1,m’2,...,m’t,名成员持有的分散信息为Xm’1,Xm’2,...,Xm’t
在第二实施例涉及的密码重构方法中,如图10所示,首先,用(k’,t)阈值密码分散法分散各成员持有的分散信息,分配给其他成员(步骤S801)。步骤S801示出了图9的密码分散计算部701-j中的操作,用上式(23)分散成员ID为m’j(j=1,2,...,t)的成员持有的分散信息Xm’j,把通过上述式(24)计算出来的Xm’j,p分配给成员ID为m’p(p=1,2,...,t)的成员。
接着,各成员用公开的聚集起来的成员的成员ID、自己自身分散信息Xm’j的分散信息和其他成员分配的分散信息即分散信息Xm’p,j(p=1,2,...,t)实施运算,求出原来密码信息S的分散信息Sm’j的值(步骤S802)。步骤S802表示图9的线性组合计算部702-j中的操作,成员ID为m’j(j=1,2,...,t)的成员根据其他成员分配的分散信息Xm’p,j(p=1,2,...,t)(包含自己的自身分散信息Xm’j的分散信息Xm’j,j)以及公开的成员ID_m’p(p=1,2,...,t),用上述式(25)进行计算。该计算结果Sm’j为原来密码信息S的分散信息。
接着,在步骤S802中,根据各成员计算的分散信息重构原来的密码信息S(步骤S803)。步骤S803表示图8的密码重构计算部602中的操作,成员ID为m’j(j=1,2,...,t)的成员可以根据在步骤S802中计算出来的结果Sm’j(j=1,2,...,t),用上述式(22)进行计算,得到原来的密码信息S。
第二实施例的效果
如上所述,根据第二实施例,和第一实施例一样,可以在不向其他成员公开为了重构原来密码信息S而聚集的成员持有的分散信息的情况下重构原来的密码信息S。因此,当下次重构密码信息S时可以再利用各成员持有的分散信息。并且,就是不设置进行密码重构的第三方中心,也能达到上述效果
在上述第一实施例中,因为原来的密码信息S是用加法密码分散法分散给各成员,所以当没有聚集全体成员时,则不能重构原来的密码信息S,但第二实施例中,不必聚集全体成员即n个成员,只要聚集k(k≤n)个以上的成员就能重构原来的密码信息S。
这样,在第二实施例中,因为公开了聚集成员的成员ID,所以不能保持聚集成员的匿名性(至少使原来的密码信息S进行密码分散时的成员ID是知道的),但由于密码重构时成员间的相互通信只进行1次,用于分散分配最初分散信息,因此,通信量和计算量都少,并且,不必聚集全体成员即n个人,只要聚集k(k≤n)个以上的成员就能重构原来的密码信息S。
此外,在第二实施例中,和第一实施例一样,具有认证功能,预先不持有密码信息S的分散信息的人(运算存储装置)即使参加重构,也会使密码信息S重构失败,从而认证由聚集的多个人组成的组中全体成员都是合法成员(预先被分配了密码信息S的分散信息的成员)还是混杂了不合法的人(运算存储装置)。而且,在第二实施例中,因为可以象上述那样再利用分散信息,所以该认证功能可以不更新密码信息S的分散信息,反复利用。该认证功能是这样的:因为每个认证(密码信息S的重构)都是不同的,所以从聚集的成员向其他人发送的信息完全不怕由于被盗而“冒充”。这种认证功能不是通过密码分散法的密码重构的性质和利用多方协议进行分散计算的性质的简单组合得到的功能,而是新功能。此外,上述认证功能是用“原来的密码信息S”作为校对密码信息S(是预先注册的信息,使认证是否成立和重构结果校对的信息)的利用形式,因此,即使原来的密码信息S不对各成员保密,也能实现。
(第三实施例)
第三实施例的概要
在本发明的第三实施例中,和上述第一和第二实施例一样,重构原来的密码信息S时,通过利用为了重构原来密码信息S而聚集的成员(运算存储装置)所持有的分散信息执行多方协议(上述多方协议的第一方式),在不公开各成员持有的分散信息的情况下,进行原来密码信息S的重构。此外,第三实施例涉及的密码重构方法通过密码重构***来实施。第三实施例涉及的密码重构***主要包括:临时成员ID生成部(后述的图12中的符号901);作为各成员(运算存储装置)的分散密码重构装置(后述的分散密码重构计算部902);任一成员中或区别于成员的中心中具备的运算装置(后述的密码重构计算部903)。
第一实施例以这样的状态为前提:在多个成员组成的组中,用加法密码分散法分散原来的密码信息S,分散信息在密码里分配给各成员。与此相对,和第二实施例一样,第三实施例以这样的状态为前提:在多个成员(运算存储装置)组成的某个组中,用(k,n)阈值密码分散法分散原来的密码信息S,分散信息在密码里分配给各成员。在第三实施例的情况下,不必聚集全体成员(即n个成员),只要聚集k个(k≤n)成员,就能重构原来的密码信息S。
在上述第二实施例中,公开聚集成员的成员ID后进行密码重构,但在第三实施例中,在不仅各成员保有的分散信息不公开而且成员ID也不公开的情况下进行密码信息的重构。在第三实施例中,多方协议使用上述多方协议的第一方式。
第三实施例的构成
和第二实施例一样,第三实施例以这样的状态为前提:在多个成员(运算存储装置)组成的组中,用(k,n)阈值密码分散法分散原来的密码信息S,分散信息在密码里分配给各成员。假定该组中有n个成员,把密码信息S分散给各成员时使用的成员ID为m1,m2,...,mn。分配给用户ID为mj(j=1,2,...,n)的成员的、密码信息S的分散信息为Xmj(j=1,2,...,n)。当打算重构原来的密码信息S时,在聚集的成员为t人(t≥k)的情况下凑集各成员持有的分散信息。这时聚集的成员的成员ID为m’1,m’2,...,m’t,聚集的成员持有的分散信息为Xm’1,Xm’2,...,Xm’t.而且,和上述第一及第二实施例一样,在聚集的成员中的某2名成员之间确立保密通信线路,可以使通信内容对此2个成员以外的人保密(参考图3)。但是,和第二实施例不同,聚集成员的成员ID_m’1,m’2,...,m’t是不公开的,持有哪个成员ID的成员聚集在一起是不可知的。而且,在以后的计算(加法(+)和乘法(×)等四则运算)中,进行有限体GF(q)上的运算。
接着,用图11说明第三实施例涉及的密码重构方法的概要。图11中,成员的人数为3人(即运算存储装置的数量为3台),各成员分别持有通过阈值密码分散法使原来的密码信息S分散的分散信息Xm1,Xm2,Xm3和成员ID_m1,m2,m3。当重构原来的密码信息S时,进一步用阈值密码分散法分散各成员持有的分散信息。具体地说,如图11中的符号①所示,利用密码分散法由密码信息S的分散信息Xm1生成分散信息Xm1的分散信息Xm1,1,Xm1,2,Xm1,3,利用密码分散法由密码信息S的分散信息Xm2生成分散信息Xm2的分散信息Xm2,1,Xm2,2,Xm2,3,利用密码分散法由密码信息S的分散信息Xm3生成分散信息Xm3的分散信息Xm3,1,Xm3,2,Xm3,3。而且,利用密码分散法由成员ID_m1生成成员ID_m1的分散信息m1,1,m1,2,m1,3,利用密码分散法由成员ID_m2生成成员ID_m2的分散信息m2,1,m2,2,m2,3,利用密码分散法由成员ID_m3生成成员ID_m3的分散信息m3,1,m3,2,m3,3。这样,如图11中的符号②所示,将密码信息S的分散信息Xm1,Xm2,Xm3的分散信息Xm1,1,Xm1,2,Xm1,3以及Xm2,1,Xm2,2,Xm2,3和Xm3,1,Xm3,2,Xm3,3分配给其他成员。接着,如图11中的符号③所示,各成员以接收的分散信息的分散信息Xm1,1,Xm2,1,Xm3,1以及Xm1,2,Xm2,2,Xm3,2和Xm1,3,Xm2,3,Xm3,3以及成员ID的分散信息m1,1,m2,1,m3,1以及m1,2,m2,2,m3,2和m1,3,m2,3,m3,3为基础,进行分散计算,并输出分散计算的结果。接着,如图11中的符号④所示,各成员通过把使用了分散信息Xm1,1,Xm2,1,Xm3,1以及Xm1,2,Xm2,2,Xm3,2和Xm1,3,Xm2,3,Xm3,3以及成员ID的分散信息m1,1,m2,1,m3,1以及m1,2,m2,2,m3,2和m1,3,m2,3,m3,3的分散计算的计算结果集中起来,重构原来的密码信息S。
图12示出了实施本发明第三实施例涉及的密码重构方法的结构(第三实施例涉及的密码重构***)方框图。用图12说明第三实施例涉及的密码重构方法。如图12所示,重构原来的密码信息S时聚集的成员ID为m’1,m’2,...,m’t的t个成员(即,t台运算存储装置)分别具备作为通过分散计算来重构密码信息的装置的分散密码重构计算部(即,第二实施例涉及的分散密码重构装置)902(902-1,902-2,...,902-t)。实施密码重构方法的***具有临时成员ID生成部901和密码重构计算部903。分散密码重构计算部902和密码重构计算部903和第一及第二实施例中的分散密码重构计算部301及601和密码重构计算部302及602的区别在于结构和操作。临时成员ID生成部901分别和聚集的各成员的分散密码重构计算部902-j(j=1,2,...,t)连接。各成员的分散密码重构计算部902-j(j=1,2,...,t)分别通过图3所示的保密通信线路303和其他成员的分散密码重构计算部902连接。而且,各成员的分散密码重构计算部902-j(j=1,2,...,t)的输出输入到密码重构计算部903中。
临时成员ID生成部901对聚集的这t个成员生成取彼此不重复的值的t个值d1,d2,...,dt,把这些值作为临时成员ID,分别输出给分散密码重构计算部902-j(j=1,2,...,t)。倘若是已经可以利用IP地址等取互不重复的值这样的t个值的状态,则可以从各分散密码重构计算部902-j(j=1,2,...,t)申请这样的值来代替生成值,将其用作临时成员ID_d1,d2,...,dt。而且,公开这些临时成员ID_d1,d2,...,dt,聚集的各成员分别持有哪个临时成员ID为已知值。这种公开方法例如可以利用图12中虚线表示的控制信号、通过采用通知分散密码重构计算部902-j(j=1,2,...,t)是否对应于临时成员ID_dj(j=1,2,...,t)的方法来公开。临时成员ID生成部901具有使临时成员ID_d1,d2,...,dt与各分散密码重构计算部902-j(j=1,2,...,t)对应地公开临时ID的功能。
各成员的分散密码重构计算部902-j(j=1,2,...,t)是临时成员ID为dj的成员的处理部分,从临时成员ID生成部901收取对应于自己的临时成员ID,将各自处理(详细说明见后)后的输出结果和临时成员ID_dj输出给密码重构计算部903。
密码重构计算部903接收各成员的分散密码重构计算部902-j(j=1,2,...,t)的输出,进行将接收的这t个信息作为t个分散信息时重构密码信息的计算,输出重构后的密码信息。如果把从各成员的分散密码重构计算部902-j(j=1,2,...,t)输出的值作为Sdj(j=1,2,...,t)和临时ID_dj,计算把上述式(22)和(4)中的m’j替换为dj,Sm’j替换为Sdj的下式(27)和(28),输出原来的密码信息S。
数13
S = rd 1 S d 1 + r d 2 S d 2 + · · · + rd t S d t
= Σ j = 1 t rd i S d i - - ( 27 )
rd j = ( d 1 × d 2 × · · · × d t / d j )
/ ( ( d 1 - d j ) × ( d 2 - d j ) × · · · × ( d j - 1 - d j ) × ( d j + 1 - d j ) × · · · × ( d t - d j ) )
= Π i = 1 i ≠ j t d i / ( d i - d j ) - - ( 28 )
上述式(27)和(28)中的各运算在有限体GF(q)上进行。
各成员的分散密码重构计算部902-j(j=1,2,...,t)中的处理是各成员分别进行的,其他成员不知道其处理内容。临时成员ID生成部901和密码重构计算部903中的处理可以由统一处理的中心(区别于成员的运算装置)进行,也可以由聚集的成员(运算存储装置)中的1个人或多个人进行。但是,希望密码重构计算部903中的处理由需要密码信息S的成员进行。
图13是表示图12的分散密码重构计算部902-j(j=1,2,...,t)的结构的方框图。用图13说明分散密码重构计算部902-j(j=1,2,...,t)。如图13所示,分散密码重构计算部902-j具有密码分散计算部1001-j和分散处理部1002-j。分散密码重构计算部902-j的输入被输入给密码分散计算部1001-j,密码分散计算部1001-j的输出输入给分散处理部1002-j。分散处理部1002-j的输出作为分散密码重构计算部902-j的输出。在密码分散计算部1001-j中,输入图12的临时成员ID生成部901输出的临时ID_dj。而且,在密码分散计算部1001-j中还输入临时成员ID为dj的成员持有的成员ID_m’j和原来密码信息S的分散信息Xm’j。密码分散计算部1001-j分别用(k’,t)阈值密码分散法分散所输入的分散信息Xm’j和成员ID_m’j,经由和其他成员通信的保密通信线路303进行分配。在第三实施例的情况下,和第二实施例不同,因为必须进行分散乘法,因此密码分散法的阈值k’必须满足(参考上述式(11)):
k’≤(t+1)/2         …(29)
上式(29)的运算不是有限体GF(q)上的运算,是通常的实数、整数运算。
分散所输入的分散信息Xm’j时的计算方法和第二实施例一样,通过建立下式(29,)即上式(23)那样的k’-1次多项式来进行。
数14
f1dj(x)=Xm’j+R1dj,1x+R1dj,2x2+...+R1dj,k’-1xk’-1    (29’)
其中,因为成员ID_m’p(p=1,2,...,t)是非公开的值,所以用临时成员ID_dp(p=1,2,...,t)来代替。这里,R1dj,1,R1dj,2,...,R1dj,k’-1是作为随机数选出的有限体GF(q)上的k’-1个值。
然后,为临时成员ID是dp(p=1,2,...,t)的成员分配的分散信息Xm’j,p用上述式(29’)如下式(30)那样计算。
数15
Xm’j,p=f1dj(dp)
        =Xm’j+R1dj,1(dp)+R1dj,2(dp)2+...+R1dj,k’-1(dp)k’-1  (30)
分散输入的成员ID_m’j时,同样建立下式(31)那样的k’-1次多项式。
数16
f2dj(x)=m’j+R2dj,1x+R2dj,2x2+...+R2dj,k’-1xk’-1        (31)
这里,R2dj,1,R2dj,2,...,R2dj,k’-1是作为随机数选出的有限体GF(q)上的k’-1个值。
然后,为临时成员ID是dp(p=1,2,...,t)的成员分配的分散信息m’j,p用上述式(31)如下式(32)那样计算。
数17
m’j,p=f2dj(dp)
       =m’j+R2dj,1(dp)+R2dj,2(dp)2+...+R2dj,k’-1(dp)k’-1    (32)
对应于自己的自身分散信息Xm’j,j和m’j,j输出到分散处理部1002-j中,其他的分散信息Xm’j,p和m’j,p(p=1,2,...,t,p≠j)通过保密通信线路303分配给各成员(发送给其他成员的分散处理部1002-p(p=1,2,...,t,p≠j))。
分散处理部1002-j从密码分散计算部1001-j接收成员ID的分散信息m’j,j和原来的密码信息S的分散信息的分散信息Xm’j,j。而且,经由保密通信线路303接收其他成员的成员ID的分散信息m’1,j,m’2,j,...,m’t,j和Xm’1,j,Xm’2,j,...,Xm’t,j,即其他成员分配的(其他成员的密码分散计算部1001-p(p=1,2,...,t,p≠j)发送的)原来的密码信息S的分散信息的分散信息。根据这些成员ID的分散信息m’p,j(p=1,2,...,t)和原来密码信息S的分散信息的分散信息Xm’p,j(p=1,2,...,t),计算并输出作为原来的密码信息S的分散信息的Sdj。即,使聚集成员的成员ID_m’1,m’2,...,m’t和分散信息Xm’1,Xm’2,...,Xm’t原样分散,进行上述式(3)所示式的分散计算。最后得到的值S作为分散密码信息Sd1,Sd2,...,Sdt,由各成员分别持有。
图14示出了图13的分散处理部1002-j(j=1,2,...,t)的结构方框图。用图14说明分散处理部1002-j(j=1,2,...,t)的结构。分散处理部1002-j具有t个项计算部1101-j-a(a=1,2,...,t)和输入t个信息的“(t)加法部”1102-j。密码分散计算部1001-j的输出Xm’j,j和m’j,j、经由保密通信线路303由其他成员分配的(其他成员的密码分散计算部1001-p(p=1,2,...,t,p≠j)发送的)其他成员的成员ID的分散信息m’1,j,  m’2,j,...,m’t,j和原来的密码信息S的分散信息的分散信息Xm’1,j,Xm’2,j,...,Xm’t,j输入到项计算部1101-j-a(a=1,2,...,t)中。项计算部1101-j-a(a=1,2,...,t)的输出输入到“(t)加法部”1102-j中,“(t)加法部”1102-j的输出作为分散处理部1002-j的输出。项计算部1101-j-a(a=1,2,...,t)分别具有和其他成员的密码分散计算部1001-p及项计算部1101-p-a(p=1,2,...,t,p≠j)的保密通信线路303。
“(t)加法部”1102-j分别接收项计算部1101-1-a(a=1,2,...,t)的一个一个的输出(合计t个),把它们全部(t个)相加。即,项计算部1101-j-a的输出为Ya(a=1,2,...,t)时,“(t)加法部”1102-j计算下式(33),即
Sdj=Y1+Y2+...+Yt               (33)
并输出作为计算结果的Sdj
图15示出了图14的项计算部1101-j-a(a=1,2,...,t)的结构方框图。下面,用图15说明项计算部1101-j-a(a=1,2,...,t)的结构。项计算部1101-j-a(a=1,2,...,t)具有差分计算部1201-j-a,输入t-1个信息的“(t-1)分散乘法部”1202-j-a,输入t-1个信息的“(t-1)分散乘法部”1204-j-a,分散逆元计算部1203-j-a,输入2个信息的“(2)分散乘法部”1205-j-a,输入2个信息的“(2)分散乘法部”1206-j-a。输入到项计算部1101-j-a(a=1,2,...,t)中的m’1,j,  m’2,j,...,m’t,j通过保密通信线路303输入差分计算部1201-j-a(其中,m’j,j是密码分散计算部1001-j的输入),差分计算部1201-j-a的输出输入到“(t-1)分散乘法部”1202-j-a中。“(t-1)分散乘法部”1202-j-a的输出输入到分散逆元计算部1203-j-a,分散逆元计算部1203-j-a的输出输入“(2)分散乘法部”1205-j-a。通过保密通信线路303输入到项计算部1101-j-a(a=1,2,...,t)中的m’1,j,  m’2,j,...,m’t,j(其中,m’j,j是来自密码分散计算部1001-j的输入)中m’a,j以外的值也输入到“(t-1)分散乘法部”1204-j-a中。“(t-1)分散乘法部”1204-j-a的输出和分散逆元计算部1203-j-a的输出一起输入“(2)分散乘法部”1205-j-a。“(2)分散乘法部”1205-j-a的输出和通过保密通信线路303输入到项计算部1101-j-a(a=1,2,...,t)中的Xm’a,j(其中,输入项计算部1101-j-j的Xm’j,j是来自密码分散计算部1001-j的输入)一起输入到“(2)分散乘法部”1206-j-a中。“(2)分散乘法部”1206-j-a的输出作为项计算部1101-j-a的输出。“(t-1)分散乘法部”1202-j-a、1204-j-a、分散逆元计算部1203-j-a、“(2)分散乘法部”1205-j-a、1206-j-a分别具有和其他成员的“(t-1)分散乘法部”1202-p-a、1204-p-a、分散逆元计算部1203-p-a、“(2)分散乘法部”1205-p-a、1206-p-a(p=1,2,...,t,p≠j)的保密通信线路303。
差分计算部1201-j-a接收输入到项计算部1101-j-a中的成员ID_m’1,j,m’2,j,...,m’t,j,计算各个成员ID_m’1,j,m’2,j,...,m’t,j和m’a,j的差分。但是,不计算m’a,j相互的差分。即,计算(m’1,j-m’a,j)、(m’2,j-m’a,j),...,(m’(a-1),j-m’a,j),(m’a+1,j-m’a,j),...,(m’t,j-m’a,j)等t-1个差分。这t-1个计算结果输出给“(t-1)分散乘法部”1202-j-a。
“(t-1)分散乘法部”1202-j-a、1204-j-a的内部结构是相同的,接收t-1个输入,利用这些输入和来自保密通信线路303的信息进行t-1个要素的分散乘法,输出计算结果。输入到“(t-1)分散乘法部”1202-j-a、1204-j-a的值为A1,j,A2,j,...,A(t-1),j。如将Ai,j(i=1,2,...,t-1)和输入到其他成员的“(t-1)分散乘法部”1202-p-a、1204-p-a的Ai,p(p=1,2,...,t,p≠j)的t个值Ai,p(p=1,2,...,t)作为分散信息进行重构而成原来的密码Ai时,“(t-1)分散乘法部”1202-j-a、1204-j-a计算把所有Ai(i=1,2,...,t-1)相乘后的值B=A1×A2×...×At-1中对应于临时成员ID为dj的成员的分散信息Bj。“(t-1)分散乘法部”1202-j-a接收来自差分计算部1201-j-a的t-1个输出,用它们进行计算,将该计算结果输出给分散逆元计算部1203-j-a。“(t-1)分散乘法部”1202-j-a经由和其他成员的“(t-1)分散乘法部”1202-p-a(p=1,2,...,t,p≠j)的保密通信线路303互相交换必要的信息。“(t-1)分散乘法部”1204-j-a接收输入到项计算部1101-j-a中的m’1,j,m’2,j,...,m’t,j中m’a,j以外的项,用它们进行计算,把计算结果输出给“(2)分散乘法部”1205-j-a。“(t-1)分散乘法部”1204-j-a经由和其他成员的“(t-1)分散乘法部”1204-p-a(p=1,2,...,t,p≠j)的保密通信线路303互相交换必要的信息。
分散逆元计算部1203-j-a接收来自“(t-1)分散乘法部”1202-j-a的输出,用该值和来自保密通信线路303的信息进行分散计算,计算结果输出到“(2)分散乘法部”1205-j-a中。输入到分散逆元计算部1203-j-a的值为Aj,将该输入Aj和输入其他成员的分散逆元计算部1203-p-a的Ap(p=1,2,...,t,p≠j)的t个值Ap(i=1,2,...,t)作为分散信息重构而变成原来的密码A时,分散逆元计算部1203-j-a计算A的有限体GF(q)上的逆元B=A-1的、对应于临时成员ID为dj的成员的分散信息Bj。分散逆元计算部1203-j-a经由和其他成员的分散逆元计算部1203-p-a(p=1,2,...,t,p≠j)的保密通信线路303互相交换必要的信息。
“(2)分散乘法部”1205-j-a、1206-j-a的内部结构是相同的,接收2个输入,利用这些输入和来自保密通信线路303的信息进行2个要素的分散乘法,输出计算结果。输入“(2)分散乘法部”1205-j-a、1206-j-a的值为A1,j,A2,j。Ai,j(i=1,2)和输入其他成员的“(2)分散乘法部”1205-p-a、1206-p-a的Ai,p(p=1,2,...,t,p≠j)的2个值Ai,p(p=1,2,...,t,p≠j)作为分散信息被重构而使原来的密码为Ai(j=1,2)时,“(2)分散乘法部”1205-j-a、1206-j-a计算把A1和A2相乘后的值B=A1×A2的、对应于临时成员ID为dj的成员的分散信息Bj。“(2)分散乘法部”1205-j-a接收“(t-1)分散乘法部”1204-j-a和分散逆元计算部1203-j-a的输出,利用它们进行计算,把计算结果输出给“(2)分散乘法部”1206-j-a。“(2)分散乘法部”1205-j-a经由和其他成员的“(2)分散乘法部”1205-p-a(p=1,2,...,t,p≠j)的保密通信线路303互相交换必要的信息。“(2)分散乘法部”1206-j-a接收来自“(2)分散乘法部”1205-j-a的输出和输入项计算部1101-j-a中的Xm’a,j,利用它们进行计算,输出计算结果。“(2)分散乘法部”1206-j-a利用和其他成员的“(2)分散乘法部”1206-p-a(p=1,2,...,t,p≠j)的保密通信线路303互相交换必要的信息。
图16示出了图15的“(2)分散乘法部”1205-j-a、1206-j-a(j=1,2,...,t、a=1,2,...,t)的结构方框图。用图16说明“(2)分散乘法部”1205-j-a、1206-j-a(j=1,2,...,t、a=1,2,...,t)的结构。这里,输入到“(2)分散乘法部”1205-j-a、1206-j-a中的2个输入分别为Adj和Bdj,“(2)分散乘法部”1205-j-a、1206-j-a的输出为Cdj。“(2)分散乘法部”1205-j-a、1206-j-a具有乘法部1301-j、密码分散计算部1302-j和线性组合计算部1303-j。输入给“(2)分散乘法部”1205-j-a、1206-j-a的Adj和Bdj输入乘法部1301-j,乘法部1301-j的输出输入密码分散计算部1302-j,密码分散计算部1302-j的输出输入线性组合计算部1303-j。线性组合计算部1303-j的输出作为“(2)分散乘法部”1205-j-a、1206-j-a的输出。
乘法部1301-j接收输入到“(2)分散乘法部”1205-j-a、1206-j-a中的Adj和Bdj,把它们相乘。即计算:
C’dj=Adj×Bdj                          (34)
把计算结果C’dj输出给密码分散计算部1302-j。
密码分散计算部1302-j和第二实施例中图9的密码分散计算部701-j的内部结构相同,利用(k’,t)阈值密码分散法分散输入的值后输出。如上所述,在第三实施例的情况下,因为必须进行分散乘法,所以密码分散法的阈值k’必须满足下式:
k’≤(t+1)/2              (29)
这里,式(29)的运算不是在有限体GF(q)上的计算,是通常的实数、整数运算。
用于分散时的成员ID_m’1,m’2,...,m’t是不公开的,因此,在第三实施例中,用临时成员ID d1,d2,...,dt。现在,输入到密码分散计算部1302-j中的值是C’dj,因此,建立下式(35)的k’-1次多项式,R3dj,1,R3dj,2,...,R3dj,k-1是作为随机数选出的k’-1个有限体GF(q)上的值。
数18
f3dj(x)=C’dj+R3dj,1x+R3dj,2x2+...+R3dj,k,-1xk’-1         (35)
为临时成员ID是dp(p=1,2,...,t)的成员分配的分散信息C’dj,p利用上述式(35)如下式(36)那样计算。
数19
C’dj,p=f3dj(dp)
        =C’dj+R3dj,1(dp)+R3dj,2(dp)2+...+R3dj,k’-1(dp)k’-1    (36)
对自己的自身分散信息C’dj,p输出给线性组合计算部1303-j,分配给各成员的其他的分散信息C’dj,p(p=1,2,...,t,p≠j)通过保密通信线路303(发送给其他成员的线性组合计算部1303-p(p=1,2,...,t,p≠j))。
线性组合计算部1303-j和第二实施例中图9的线性组合计算部702-j的内部结构相同,但用于计算的成员ID_m’1,m’2,...,m’t是不公开的,因此,在第三实施例中,用临时成员ID_d1,d2,...,dt。线性组合计算部1303-j从密码分散计算部1302-j接收分散信息C’dj,j。还经由保密通信线路303接收由其他成员的密码分散计算部1302-j(i=1,2,...,t,i≠j)分配的分散信息C’d1,j,C’d2,j,...,C’dt,j。线性组合计算部1303-j根据这全部的t个分散信息C’dp,j(p=1,2,...,t)进行下式(37)和(38)的计算,算出作为输出的Cdj
数20
C d j = r d 1 C , d 1 , j + r d 2 C , d 2 , j + · · · + rd t C , d t , j
= Σ p = 1 t rd p C , d p , j - - ( 37 )
rd p = ( d 1 × d 2 × · · · × d t / d p )
/ ( ( d 1 - d p ) × ( d 2 - d p ) × · · · × ( d p - 1 - d p ) × ( d p + 1 - d p ) × · · · × ( d t - d p ) )
= Π i ≠ p i = 1 t d i / ( d i - d p ) - - ( 38 )
由于各临时成员ID_d1,d2,...,dt是公开的已知值,所以能计算式(38)的rdp
图17示出了图15的“(t-1)分散乘法部”1202-j-a、1204-j-a(j=1,2,...,t、a=1,2,...,t)的结构方框图。用图17说明“(t-1)分散乘法部”1202-j-a、1204-j-a(j=1,2,...,t、a=1,2,...,t)的结构。现在,输入到“(t-1)分散乘法部”1202-j-a、1204-j-a中的t-1个输入为A1,A2,...,At-1。“(t-1)分散乘法部”1202-j-a、1204-j-a具有t-2个“(2)分散乘法部”1401-i(i=1,2,...,t-2)。t-2个“(2)分散乘法部”1401-i(i=1,2,...,t-2)是多级结构,以便“(2)分散乘法部”1401-i的输出为下一个“(2)分散乘法部”1401-(i+1)的输入之一。输入到“(t-1)分散乘法部”1202-j-a、1204-j-a中的2个输入A1和A2输入到“(2)分散乘法部”1401-1中,“(2)分散乘法部”1401-1的输出和输入“(t-1)分散乘法部”1202-j-a、1204-j-a中的A3一起输入下一个“(2)分散乘法部”1401-2中。“(2)分散乘法部”1401-(i-1)的输出和输入“(t-1)分散乘法部”1202-j-a、1204-j-a中的A(i+1)一起输入到“(2)分散乘法部”1401-i(i=1,2,...,t-2)中,“(2)分散乘法部”1401-i(i=1,2,...,t-3)的输出输入“(2)分散乘法部”1401-(i+1)。“(2)分散乘法部”1401-(t-2)的输出作为“(t-1)分散乘法部”1202-j-a、1204-j-a的输出。
“(2)分散乘法部”1401-i(i=1,2,...,t-2)和以上说明的“(2)分散乘法部”1205-j-a、1206-j-a的结构相同。“(2)分散乘法部”1401-i(i=1,2,...,t-2)分别通过保密通信线路303和其他成员的“(2)分散乘法部”1401-i(i=1,2,...,t-2)进行通信。
图18示出了图15的分散逆元计算部1203-j-a(j=1,2,...,t、a=1,2,...,t)的结构方框图。用图18说明分散逆元计算部1203-j-a(j=1,2,...,t、a=1,2,...,t)的结构。分散逆元计算部1203-j-a具有qb-1个“(2)分散乘法部”1501-i(i=1,2,...,qb-1)、乘法控制部1502和“(qb)分散乘法部”1503。qb是第三实施例中作为前提的对有限体GF(q)的要素数q减去2后的值以2为底取对数后的值(小数点以下的四舍五入),可如下式(39)那样计算。
qb=ceil(log2(q-2))                               (39)
这里,ceil(·)表示小数点以下四舍五入的运算,log2(·)表示以2为底取对数。上述式(39)的运算不是有限体GF(q)上的运算,是通常的实数、整数运算。现在,如果分散逆元计算部1203-j-a的输入为Aj,则该输入Aj和输入其他成员的分散逆元计算部1203-p-a(p=1,2,...,t,p≠j)的t个值Ap(p=1,2,...,t)作为分散信息进行重构而成为原来的密码A。这时,分散逆元计算部1203-j-a计算A的有限体GF(q)上的逆元B=A-1的、对应于临时成员ID为dj的成员的分散信息Bj并输出。利用有限体的性质,在有限体GF(q)上的运算中,对有限体GF(q)的某个要素A而言,下式(40)即
A-1=Aq-2                     (40)
成立,因此,在分散逆元计算部1203-j-a中,对Aj进行q-2次分散乘法的计算。
qb-1个“(2)分散乘法部”1501-i(i=1,2,...,qb-1)是多级结构,使得“(2)分散乘法部”1501-i的输出作为下一个“(2)分散乘法部”1501-(i+1)的双方的输入。输入分散逆元计算部1203-j-a的输入Aj输入到“(2)分散乘法部”1501-1中,“(2)分散乘法部”1501-1的输出输入下一个“(2)分散乘法部”1501-2。输入到分散逆元计算部1203-j-a中的输入Aj及各“(2)分散乘法部”1501-i(i=1,2,...,qb-1)的输出的、共计qb个值输入乘法控制部1502中,乘法控制部1502输出的值输入“(qb)分散乘法部”1503。“(qb)分散乘法部”1503的输出作为分散逆元计算部1203-j-a的输出。
“(2)分散乘法部”1501-i(i=1,2,...,qb-1)的结构和以上说明的“(2)分散乘法部”1205-j-a、1206-j-a的相同。“(2)分散乘法部”1501-i(i=1,2,...,qb-1)分别通过保密通信线路303和其他成员的“(2)分散乘法部”1501-i(i=1,2,...,qb-1)进行通信。
乘法控制部1502接收向分散逆元计算部1203-j-a输入的输入Aj和各“(2)分散乘法部”1501-i(i=1,2,...,qb-1)的输出的、共计qb个值,控制原样输出输入的qb个值或者输出1个。如何输出输入的各个值通过以下规则进行。首先,“(2)分散乘法部”1501-i(i=1,2,...,qb-1)的输出为Aj,i+1。向乘法控制部1502输入qb个值Aj,i(i=1,2,...,qb-1)(其中,Aj,1=Aj)。而且,2进制数表现q-2,这时从各位的值较大的位变为bqb,b(qb-1),...,b2,b1(q-2可以用qb位的2进制数表示)。乘法控制部1502在上述bj(i=1,2,...,qb-1)为1时输出值Aj,i,上述bi(i=1,2,...,qb-1)为0时输出值1。输出的qb个值输入“(qb)分散乘法部”1503。
“(qb)分散乘法部”1503的结构和上述“(t-1)分散乘法部”1202-j-a、1204-j-a相同,但“(2)分散乘法部”不是t-2个,而是变为qb-1个。“(qb)分散乘法部”1503分别通过保密通信线路303和其他成员的“(qb)分散乘法部”1503进行通信。
第三实施例的操作
图19示出了第三实施例涉及的密码重构方法的操作流程图。这里,为了重构原来密码信息S而聚集的t个成员的成员ID为m’1,m’2,...,m’t,各成员持有的分散信息为Xm’1,Xm’2,...,Xm’t
如图19所示,首先,为了给聚集的各成员分配分散计算时使用的临时成员ID,生成临时成员ID_d1,d2,...,dt,分配给各成员,然后公开(步骤S1601)。步骤S1601示出了图12的临时ID生成部901中的操作,给各成员分配并公开不重复的临时成员ID_d1,d2,...,dt。
接着,用(k’,t)阈值密码分散法分散各成员持有的分散信息及成员ID,分配给其他成员(步骤S1602)。步骤S1602示出了图13的密码分散计算部1001-j中的操作,用上式(29’)分散成员ID为m’j(j=1,2,...,t)的成员持有的分散信息Xm’j,把通过上述式(30)计算出来的Xm’j,p分配给临时成员ID为dp(p=1,2,...,t)的成员,利用上述(31)分散成员ID_m’j后,给临时成员ID为dp(p=1,2,...,t)的成员分配通过上述式(32)计算出来的m’j,p
接着,各成员用公开的聚集起来的成员的临时成员ID、自己的自身分散信息和成员ID各自的分散信息、以及其他成员分配的分散信息和成员ID的各自的分散信息实施运算,求出作为原来密码信息S的分散信息的值(步骤S1603)。步骤S1603表示图13的分散处理部1002-j中的操作,通过用于重构密码的运算(上述式(3))将成员ID_m’j(j=1,2,...,t)和分散信息Xm’j还原为密码,进行上述式(3)的分散计算,最后,如果重构的话,临时成员ID为dj(j=1,2,...,t)的成员得到作为原来的密码信息S的分散密码信息Sdj
接着,在步骤S1603中,根据各成员计算的分散信息和临时成员ID重构原来的密码信息S(步骤S1604)。步骤S1604示出了图12的密码重构计算部903中的操作,临时成员ID为dj(j=1,2,...,t)的成员根据步骤S1603中计算出来的结果Sdj(j=1,2,...,t)和临时成员ID_dj(j=1,2,...,t),用上述式(27)计算,可以得到原来的密码信息S。
第三实施例的效果
如上所述,根据第三实施例,和上述第一及第二实施例一样,可以在不向其他成员公开为了重构原来密码信息S而聚集的成员持有的分散信息的情况下重构原来的密码信息S。因此,当下次重构密码时可以再利用各成员持有的分散信息。并且,不需要设置进行密码重构的第三方中心,就能达到上述效果。
在上述第三实施例中,和第一实施例不同,因为用(k,n)阈值密码分散法,所以不必聚集全体成员即n个成员,只要聚集k(k≤n)个以上的成员就能重构原来的密码信息S。
而且,在第三实施例中,和第二实施例不同,不仅不公开各成员保有的分散信息,成员ID也不公开,在这种情况下重构密码信息。因此,可以确保聚集的成员的匿名性。
而且,在第三实施例中,和第二实施例一样,具有认证功能,预先不持有密码信息S的分散信息的人(运算存储装置)即使参加重构,也会使密码信息S重构失败,从而在第三实施例中,认证由聚集的多个人组成的组中全体成员都是合法成员(预先被分配了密码信息S的分散信息的成员)还是混杂了不合法的人(运算存储装置)。而且,因为可以象上述那样再利用,所以该认证功能可以不更新密码信息S的分散信息,反复利用。该认证功能是这样的:因为每个认证(密码信息S的重构)都是不同的,所以从聚集的成员向其他人发送的信息完全不怕由于被盗而“冒充”。具体地说,在第三实施例中,如上所述,(1)可以不聚集持有原来的密码信息S的发现信息的全体成员,聚集阈值以上的成员即可。(2)具有匿名性。根据这2个效果,认证为由聚集的多个人组成的组中全体成员都是合法成员时,可以具体但不特定地认证聚集了哪个成员。这种认证功能不是通过密码分散法的密码重构的性质和利用多方协议进行分散计算的性质的简单组合得到的功能,而是新功能。但是,和第一、第二实施例的效果所说明的一样,上述认证功能是用“原来的密码信息S”作为校对密码信息S(是预先注册的信息,使认证是否成立和重构结果校对的信息)的利用形式,因此,即使原来的密码信息S不对各成员保密,也能实现。
第四实施例
第四实施例的概要
在上述第三实施例中,重构原来的密码信息S时使用的多方协议是以这样的情况为前提的方式(上述多方协议的第一方式):在为了计算而聚集的成员中的某2个成员间可以确立保密通信线路,使通信内容对此2人以外的人保密,但是在第四实施例中,在为了计算而聚集的成员间的通信中,除了使用上述保密通信线路的通信方法之外,还使用利用成为丢失通信的通信方法的方式(上述多方协议的第二方式)。从而,根据第四实施例涉及的密码重构方法得到的效果和利用第三实施例涉及的密码重构方法得到的效果相同。而且,根据第四实施例涉及的密码重构方法,使用了实施第三实施例涉及的密码重构方法中用于分散计算的(k’,t)阈值密码分散法的阈值k’的限制,即下式(29)的限制
k’≤(t+1)/2                 (29)
可以将阈值k’的取值范围扩大至k’≤t。
第四实施例的结构
实施第四实施例涉及的密码重构方法的结构(第四实施例涉及的密码重构***)和实施上述第三实施例涉及的密码重构方法的结构基本相同,因为使用上述多方协议的第二方式,所以不同之处仅在于“(2)分散乘法部”1205-j-a、1206-j-a的结构。在第四实施例的说明中,仅说明不同于实施第三实施例涉及的密码重构方法的结构部分,即“(2)分散乘法部”1205-j-a、1206-j-a的结构。
图20示出了在本发明第四实施例的密码重构中使用的“(2)分散乘法部”1205-j-a、1206-j-a的结构方框图。在第四实施例中,“(2)分散乘法部”1205-j-a、1206-j-a的结构如图20所示,从而可使用作为上述第三实施例中的限制的上述式(29)的限制。因此,可以将阈值k’的取值范围扩大至k’≤t。图20的结构利用上述多方协议的第二方式。
接着,用图20说明第四实施例中“(2)分散乘法部”1205-j-a、1206-j-a的结构。如图20所示,第四实施例中的“(2)分散乘法部”1205-j-a、1206-j-a具有jj项计算部1701-j、ij项计算部1702-j和“(t)加法部”1703-j。输入“(2)分散乘法部”1205-j-a、1206-j-a的2个输入Adj、Bdj输入到jj项计算部1701-j和ij项计算部1702-j中。
jj项计算部1701-j的输出和ij项计算部1702-j的输出输入到“(t)加法部”1703-j中。“(t)加法部”1703-j的输出作为“(2)分散乘法部”1205-j-a、1206-j-a的输出。
jj项计算部1701-j接收输入到“(2)分散乘法部”1205-j-a、1206-j-a的2个输入Adj、Bdj,把它们相乘,再乘以下式(41)中计算的系数rdj,输出到“(t)加法部”1703-j中。
数21
r d i = ( d 1 × d 2 × · · · × d t / d j )
/ ( ( d 1 - d j ) × ( d 2 - d j ) × · · · × ( d j - 1 - d j ) × ( d j + 1 - d j ) × · · · × ( d t - d j ) )
= Π i ≠ j i = 1 t d i / ( d i - d j ) - - ( 41 )
详细地说,jj项计算部1701-j计算Adj×Bdj,再计算并输出乘以上述式(41)的系数rdj后的rdj(Adj×Bdj)。
ij项计算部1702-j接收输入“(2)分散乘法部”1205-j-a、1206-j-a的2个输入Adj、Bdj,根据接收的输入Adj、Bdj和通过保密通信线路303从其他成员接收的信息进行计算,得到实质上和其他成员的相乘结果。例如,临时成员ID为dj的成员在jj项计算部1701-j中进行输入“(2)分散乘法部”1205-j-a、1206-j-a的Adj和Bdj的乘法Adj×Bdj,但在ij项计算部1702-j中,得到和其他成员(成员ID为dp,p=1,2,...,t,p≠j)的值的乘积,即相当于Adj×Bdp及Adp×Bdj的结果(不是乘法结果)。
ij项计算部1702-j进行计算:
Adj×Bdp=Ddj+Ddp      …(42)
Adp×Bdj=Edj+Edp      …(42′)
使得临时成员ID为dj的成员可以持有Ddj和Edj,临时成员ID为dp的成员可以持有Ddp和Edp
图21示出了图20的ij项计算部1702-j的结构方框图。用图21说明ij项计算部1702-j的结构。如图21所示,ij项计算部1702-j包括:j-1个项计算接收部1801-j-p(p=1,2,...,j-1),j-1个项计算接收部1802-j-p(p=1,2,...,j-1),t-j个项计算发送部1803-j-p(p=j+1,j+2,...,t),t-j个项计算发送部1804-j-p(p=j+1,j+2,...,t),t-1个加法部1805-j-p(p=1,2,...,t,p≠j),t-1个系数乘法部1806-j-p(p=1,2,...,t,p≠j)。
输入到ij项计算部1702-j中的2个输入中,一个输入到项计算接收部1801-j-p(p=1,2,...,j-1)和项计算发送部1803-j-p(p=j+1,j+2,...,t),另一个输入到项计算接收部1802-j-p(p=1,2,...,j-1)和项计算发送部1804-j-p(p=j+1,j+2,...,t)。项计算接收部1801-j-p和项计算接收部1802-j-p(p=1,2,...,j-1)的输出输入加法部1805-j-p(p=1,2,...,j-1),项计算发送部1803-j-p和项计算发送部1804-j-p(p=j+1,j+2,...,t)的输出输入加法部1805-j-p(p=j+1,j+2,...,t)。加法部1805-j-p(p=1,2,...,t,p≠j)的输出输入系数乘法部1806-j-p(p=1,2,...,t,p≠j)。
系数乘法部1806-j-p(p=1,2,...,t,p≠j)的输出(全部t-1个输出)作为ij项计算部1702-j的输出。项计算接收部1801-j-p、1802-j-p(p=1,2,...,j-1)和项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)通过保密通信线路303与其他成员互相交换信息,从而,如上所述,和其他成员(成员ID为dp,p=1,2,...,t,p≠j)的值相乘,得到相当于Adj×Bdp及Adp×Bdj的结果(不是相乘结果),但进行丢失通信,使得其他成员的值Adp和Bdp(成员ID是dp,p=1,2,...,t,p≠j)不公开,自己的值Adj和Bdj对其他成员不公开。这里,所谓丢失通信是指这样的通信方法:发送侧对M个信息进行编码(加密)后发送,但在接收侧,可以只接收其中之一(可解码成有意义),且发送侧无法知道接收侧接收了哪个信息(可解码成有意义)。在本实施例中,利用难以对法则q的原态计算离散对数的情况,构成丢失通信。
项计算接收部1801-j-p、1802-j-p(p=1,2,...,j-1)和项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)根据j的值包括持有和不持有项计算接收部或项计算发送部的情况。例如,j=1时,不持有项计算接收部,持有2×(t-1)个项计算发送部。j=t时,不持有项计算发送部,持有2×(t-1)个项计算接收部。和其他成员的收发关系分别通过保密通信线路303把信息从临时成员ID为dj的成员的项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)传送给临时用户ID为dp的成员的项计算接收部1801-j-p、1802-j-p。通过图22和图23对此进行说明。
加法部1805-j-p(p=1,2,...,t,p≠j)接收项计算接收部1801-j-p、1802-j-p(p=1,2,...,j-1)或项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)的输出,把它们相加,输出给系数乘法部1806-j-p(p=1,2,...,t,a≠j)。项计算接收部1801-j-p或项计算发送部1803-j-p的输出为Ddj,p,项计算接收部1802-j-p或项计算发送部1804-j-p的数出为Edj,p时,在加法部1805-j-p中计算Ddj,p+Edj,p,把计算结果输出给系数乘法部1806-j-p。
系数乘法部1806-j-p(p=1,2,...,t,p≠j)接收加法部1805-j-p(p=1,2,...,t,p≠j)的输出,乘以用下式(43)计算的系数后输出。
数22
r d p = ( d 1 × d 2 × · · · × d t / d p )
/ ( ( d 1 - d p ) × ( d 2 - d p ) × · · · × ( d p - 1 - d p ) × ( d p + 1 - d p ) × · · · × ( d t - d p ) )
= Π i ≠ p i = 1 t d i / ( d i - d p ) - - ( 43 )
加法部1805-j-p的输出为F dj,p时,系数乘法部1806-j-p计算rdp×Fdj,p,输出该计算结果。系数乘法部1806-j-p(p=1,2,...,t,p≠j)的输出(全部t-1个输出)作为ij项计算部1702-j的输出。
接着,用图22说明项计算接收部1801-j-p、1802-j-p(p=1,2,...,j-1)的结构。项计算接收部1801-j-p、1802-j-p(p=1,2,...,j-1)由索引计算发送部1901-j和接收恢复部1902-j组成。项计算接收部1801-j-p接收ij项计算部1702-j的2个输入中的一个输入,项计算接收部1802-j-p接收另一个输入。这里,送往项计算接收部1801-j-p的输入为Adj,送往项计算接收部1802-j-p的输入为Bdj。项计算接收部1801-j-p和1802-j-p的内部结构是相同的,因此,这里对项计算接收部1801-j-p进行说明,对应于对项计算接收部1802-j-p的说明在括弧[]中进行了描述。送往项计算接收部1801-j-p[1802-j-p]的输入输入到索引计算发送部1901-j中。索引计算发送部1901-j的输出输入到接收恢复部1902-j中。接收恢复部1902-j的输出作为项计算接收部1801-j-p[1802-j-p]的输出。
索引计算发送部1901-j接收送往项计算接收部1801-j-p[1802-j-p]的输入Adj[Bdj],实施下式(44)和(44’)所示的计算,计算A’dj,p[B’dj,p],通过保密通信线路303发送给临时成员ID为dp的成员(p=1,2,...,j-1)。
数23
A’dj,p=grAj,phAdj        (44)
B’dj,p=grBj,phBdj        (44)’
在上述式(44)和(44’)中,h和g作为有限体GF(q)上的2个生成元,rAj,p[rBj,p]是作为随机数选出的有限体GF(q)上的值。索引计算发送部1901-j把在上述式(44)[(44’)]中使用的随机数rAj,p[rBj,p]输出给接收恢复部1901-j。
接收恢复部1901-j从临时成员ID为dp(p=1,2,...,j-1)的成员接收q个(q是有限体GF(q)的要素数)的信息,利用第Adj的信息D’dj,p[第Bdj的信息E’dj,p],通过下式(45)和式(45’)进行计算,计算目标值Ddj,p[Edj,p](此外接收到的信息在临时成员ID为dj的成员看来象随机数)。D’dj,p[E’dj,p]由2个信息D’1dj,p和D’2dj,p[E’1dj,p和E’2dj,p]组成。
数24
Ddj,p=D’1dj,p/((D’2dj,p)rAj,p)       (45)
Edj,a=E’1dj,p/((E’2dj,p)rBi,p)       (45)’
通过上述式(45)和(45’)计算的Ddj,p[Edj,p]作为接收恢复部1902-j的输出,作为项计算接收部1801-j-p[1802-j-p]的输出。
接着,用图23说明项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)的结构。如图23所示,项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)具有随机数生成部2001-j,有限体要素生成部2002-j和乘法计算发送部2003-j-a(a=1,2,...,q)。项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)的输入与随机数生成部2001-j和有限体要素生成部2002-j的输出一起,输入到乘法计算发送部2003-j-a(a=1,2,...,q)中。随机数生成部2001-j的输出作为项计算发送部1803-j-p、1804-j-p(p=j+1,j+2,...,t)的输出。项计算发送部1803-j-p接收ij项计算部1702-j的2个输入中的1个输入,项计算发送部1804-j-p接收另一个输入。这里,送往项计算发送部1803-j-p的输入为Adj,送往项计算发送部1804-j-p的输入为Bdj。项计算发送部1803-j-p、1804-j-p的内部结构是相同的,因此,这里对项计算发送部1803-j-p进行说明,对应于项计算发送部1804-j-p的说明在括弧[]中进行了描述。
随机数生成部2001-j生成并输出有限体GF(q)上的值的随机数。向乘法计算发送部2003-j-a(a=1,2,...,q)输出同一随机数。随机数生成部2001-j的输出作为项计算发送部1803-j-p[1804-j-p](p=j+1,j+2,...,t)的输出。
有限体要素生成部2002-j把有限体GF(q)上值顺次生成为1,1,...,q-1,分别输出给乘法计算发送部2003-j-a(a=1,2,...,q)。即,向乘法计算发送部2003-j-1输出0,向乘法计算发送部2003-j-2输出1,向乘法计算发送部2003-j-i输出i-1,向乘法计算发送部2003-j-q输出q-1。
乘法计算发送部2003-j-a(a=1,2,...,q)接收从项计算发送部1803-j-p[1804-j-p](p=j+1,j+2,...,t)输入的值Adj[Bdj],来自随机数生成部2001-j的随机数,来自有限体要素生成部2002-j的对应的有限体要素a-1,通过保密通信线路303来自临时成员ID为dp(p=j+1,j+2,...,t)的成员的信息(来自其他成员的项计算接收部1801-j-p[1802-j-p]的索引计算发送部1901-p的输出)A’dp,j[B’dp,j],根据这些输入进行计算,输出计算结果。乘法计算发送部2003-j-a(a=1,2,...,q)的输出、合计q个输出通过保密通信线路303按照a从小到大的顺序发送给临时成员ID为dp(p=j+1,j+2,...,t)的成员。
现在,随机数生成部2001-j的输出为Ddj,p[Edj,p]。而且通过保密通信线路303接收的值为A’dp,j(对应于项计算发送部1803-j-p)[B’dp,j(对应于项计算发送部1804-j-p)。从有限体要素生成部2002-j向乘法计算发送部2003-j-a(a=1,2,...,q)输入a-1。乘法计算发送部2003-j-a(a=1,2,...,q)进行下式(46)、(46’)、(47)、(47’)、(48)、(48’)的计算。分别计算D’dp,j,a[E’dp,j,a](D’dp,j,a[E’dp,j,a]由式(45)[式(45’)]的说明中所述的2个值组成),通过保密通信线路303按照a=1,2,...,q的顺序发送给临时成员ID为dp(p=j+1,j+2,...,t)的成员。
数25
D’1dp,j,a=gkAa        (46)
E’1dp,j,a=gkBa        (46)’
D’2dp,j,a=(Adj(a-1)-Ddj,p)(A’dp,j/ha)kAa    (47)
E’2dp,j,a=(Bdj(a-1)-Edj,p)(B’dp,j/ha)kBa    (47)’
D’dp,j,a=(D’1dp,j,a、D’2dp,j,a)          (48)
E’dp,j,a=(E’1dp,j,a、E’2dp,j,a)          (48)’
在上述式中,kAa[kBa](a=1,2,...,q)分别是q个有限体GF(q)上的值的随机数。临时成员ID为dp(p=j+1,j+2,...,t)的成员的项计算接收部1801-p-j[项计算接收部1802-p-j]通过保密通信线路303接收这些输出D’dp,j,a或E’dp,j,a时,收到的成员可以通过式(45)[式(45’)]解码对应于a=Adp,j[Bdp,j]的第a个信息D’dp,j=D’dp,j,a[E’dp,j=E’dp,j,a](此外接收的信息在临时成员ID为dp的成员看来象随机数)。
这样,在采用图20至图23所示结构的情况下,可以没有“(2)分散乘法部”1205-j-a、1206-j-a中式(29)的限制(即可以把阈值k’的取值范围扩大至k’≤t)。
第四实施例的操作
第四实施例涉及的密码重构方法中的操作和上述第三实施例中的操作基本相同,和图19的流程基本相同,但不同之处在于图19的步骤S1603的操作。在上述第三实施例中,在步骤S1603的计算中使用的“(2)分散乘法部”1205-j-a、1206-j-a通过图16的结构进行计算处理,但在第四实施例中,通过图20的构成进行计算处理。
第四实施例的效果
如上所述,根据第四实施例,和上述第一、第二及第三实施例一样,可以在不向其他成员公开为了重构原来密码信息S而聚集的成员持有的分散信息的情况下重构原来的密码信息S。因此,当下次重构密码时可以再利用各成员持有的分散信息。并且,不需要设置进行密码重构的第三方中心,就能达到上述效果。
在上述第四实施例中,不仅能得到和上述第三实施例相同的效果,而且能使用上述第三实施例中在分散计算中使用的(k’,t)阈值密码分散法的阈值k’的限制
k’≤(t+1)/2                             (29)
把阈值k’的取值范围扩大至k’≤t。
第五实施例
第五实施例的概要
在上述第三实施例中,图15所示的分散逆元计算部1203-j-a(j=1,2,...,t、a=1,2,...,t)如图18所示,具有(qb-1)个“(2)分散乘法部”。与此相对,根据以下说明的第五实施例,可减少分散逆元计算部1203-j-a内具备的“(2)分散乘法部”的个数。
输入分散逆元计算部1203-j-a的值为Aj,该输入Aj和输入其他成员的分散逆元计算部1203-p-a的Ap(p=1,2,...,t,p≠j)这t个值Ap(p=1,2,...,t)作为分散信息进行重构而使原来的密码信息为A时,分散逆元计算部1203-j-a计算原来的密码信息A的有限体GF(q)上的逆元C=A-1的、给临时成员ID为dj的成员的分散信息Cj。在第五实施例中,通过用各成员分别生成的随机数Bj(j=1,2,...,t)进行分散乘法,从而在送往分散逆元计算部1203-j-a的输入值Aj(j=1,2,...,t)中隐蔽输入值Aj的基础上,公开将其随机数Bj分散相乘后的值Uj(j=1,2,...,t),将Uj作为分散信息进行重构,重构原来的密码U。算出原来的密码信息U的逆元U-1,将逆元U-1的分散信息U-1 j分散给各成员。各成员根据其接收到的分散信息U-1 j和产生的随机数Bj得到求出值Cj=A-1 j
第五实施例的结构
实施第五实施例的密码重构方法的结构(第五实施例涉及的密码重构***)和实施上述第三实施例涉及的密码重构方法的结构基本相同,区别仅在于图15的分散逆元计算部1203-j-a(j=1,2,...,t、a=1,2,...,t)的构成。在第五实施例中,仅说明不同于实施第三实施例的部分,即仅说明分散逆元计算部1203-j-a的结构。
用图24(a)和(b)说明第五实施例的分散逆元计算部1203-j-a(j=1,2,...,t、a=1,2,...,t)的结构。图24(a)表示确定聚集的成员中某一个代表成员(其临时ID为dj)的分散逆元计算部1203-j-a(a=1,2,...,t)的结构。该代表成员可以确定为任意一个人,例如,可以预先确定为临时成员ID为最小(或最大)的成员。图24(b)表示代表成员以外的成员(临时成员ID为di(i=1,2,...,t,i≠j)的分散逆元计算部1203-i-a(a=1,2,...,t)的结构。
首先,说明代表成员的分散逆元计算部1203-j-a(图24(a))。如图24(a)所示,代表成员的分散逆元计算部1203-j-a具有随机数生成部2101-j,“(2)分散乘法部”2102-j,2106-j,线性组合计算部2103-j,逆元计算部2104-j,密码分散计算部2105-j。送往分散逆元计算部1203-j-a的输入(为Adj)和随机数生成部2101-j的输出一起输入到“(2)分散乘法部”2102-j中。“(2)分散乘法部”2102-j的输出输入到线性组合计算部2103-j中,线性组合计算部2103-j的输出输入到逆元计算部2104-j中,逆元计算部2104-j的输出输入到密码分散计算部2105-j中。密码分散计算部2105-j的输出和随机数生成部2101-j的输出一起输入“(2)分散乘法部”2106-j。“(2)分散乘法部”2106-j的输出作为代表成员的分散逆元计算部1203-j-a的输出。
随机数生成部2101-j生成并输出有限体GF(q)上的值的随机数。输出目的地是向“(2)分散乘法部”2102-j和2106-j输出相同的随机数。
“(2)分散乘法部”2102-j接收送往分散逆元计算部1203-j-a的输入Adj和随机数生成部2101-j的输出,将它们作为输入,一边利用来自保密通信线路303的信息一边进行运算,将运算结果输出给线性组合计算部2103-j。第五实施例中“(2)分散乘法部”2102-j的结构和图16的“(2)分散乘法部”1205-j-a、1206-j-a的结构或者图20的“(2)分散乘法部”1205-j-a、1206-j-a的结构相同。
线性组合计算部2103-j接收“(2)分散乘法部”2102-j的输出结果以及通过保密通信线路303来自其他成员的“(2)分散乘法部”2102-i(后述的图24(b),i=1,2,...,t,i≠j)的输出结果,进行线性组合计算,将计算结果输出给逆元计算部2104-j。第五实施例中的线性组合计算部2103-j的结构和图9的线性组合计算部702-j的结构相同。以“(2)分散乘法部”2102-j的输出结果为Udj、以通过保密通信线路303来自其他成员的“(2)分散乘法部”2102-i(后述的图24(b),i=1,2,...,t,i≠j)的输出结果为Udi(i=1,2,...,t,i≠j)时,线性组合计算部2103-j计算和上述式(25)和(26)相同的下式(49)和(50),将结果U输出给逆元计算部2104-j。
数26
U = rd 1 Ud 1 + r d 2 U d 2 + · · · + rd t U d t
= Σ p = 1 t rd p U d p - - ( 49 )
rd p = ( d 1 × d 2 × · · · × d t / d p )
/ ( ( d 1 - d p ) × ( d 2 - d p ) × · · · × ( d p - 1 - d p ) × ( d p + 1 - d p ) ×
· · · × ( d t - d p ) )
= Π i = 1 t d i / ( d i - d p ) - - ( 50 )
逆元计算部2104-j接收线性组合计算部2103-j的输出U,计算其逆元U-1,输出给密码分散计算部2105-j。有限体GF(q)上的逆元可以通过将所取要素相乘q-2次的下式(51)即
U-1=Uq-2                            (51)
来计算原来的逆元。也可以用欧几里德的互除法。
密码分散计算部2105-j接收逆元计算部2104-j的输出U-1,分散该输出U-1,通过保密通信线路303分配给其他成员。第五实施例中密码分散计算部2105-j的结构和图16的密码分散计算部1302-j的结构是相同的。第五实施例中的密码分散计算部2105-j建立下式(52)的k’-1次多项式f4(x)。
数27
f4(x)=U-1+R4,1x+R4,2x2+…+R4,k’-1 xk’-1    (52)
这里,R4,1,R4,2,...,R4,k’-1选择k’-1个有限体GF(q)上的值作为随机数。
密码分散计算部2105-j用上述式(52)如下式(53)那样计算分配给临时成员ID为dp(p=1,2,...,t)的成员的分散信息U-1dp
数28
U-1dp=f4(dp)
     =U-1+R4,1(dp)+R4,2(dp)2+...+R4,k’-1(dp)k’-1    (53)
密码分散计算部2105-j将对应于自己的自身分散信息U-1dj输出给“(2)分散乘法部”2106-j,将其他的分散信息U-1dp(p=1,2,...,t,p≠j)通过保密通信线路303分配给各成员。
“(2)分散乘法部”2106-j接收随机数生成部2101-j的输出和密码分散计算部2105-j的输出U-1dj,将它们作为输入,一边利用来自保密通信线路303的信息一边进行运算,输出该运算结果。第五实施例中“(2)分散乘法部”2106-j的结构和图16的“(2)分散乘法部”1205-j-a、1206-j-a的结构或图20的“(2)分散乘法部”1205-j-a、1206-j-a的结构相同。在第五实施例中,如图24(a)所示,“(2)分散乘法部”2106-j的输出作为临时成员ID为dj的代表成员的分散逆元计算部1203-j-a的输出。
接着,用图24(b)说明代表成员以外的成员(临时成员ID为di(i=1,2,...,t,i≠j))的分散逆元计算部1203-i-a(a=1,2,...,t)的结构。如图24(b)所示,代表成员以外的成员的分散逆元计算部1203-i-a(a=1,2,...,t)具有随机数生成部2101-i,“(2)分散乘法部”2102-i、2106-i,公开发送部2107-i,公开接收部2108-i。随机数生成部2101-i的输出和输入到代表成员以外的成员的分散逆元计算部1203-i-a的输入Adi一起输入到“(2)分散乘法部”2102-i中。随机数生成部2101-i的输出也输入到“(2)分散乘法部”2106-i中。“(2)分散乘法部”2102-i的输出输入公开发送部2107-i。随机数生成部2101-i的输出和公开接收部2108-i的输出一起输入到“(2)分散乘法部”2106-i中。“(2)分散乘法部”2106-i的输出作为代表成员以外的成员的分散逆元计算部1203-i-a的输出。
图24(b)的随机数生成部2101-i的结构和操作与图24(a)的随机数生成部2101-j的构成和操作一样。而且,图24(b)的“(2)分散乘法部”2102-i、2106-i的构成和操作与图24(a)的“(2)分散乘法部”2102-j、2106-j的构成和操作相同。
公开发送部2107-i接收“(2)分散乘法部”2102-i的输出,通过保密通信线路303将其发送给代表成员。“(2)分散乘法部”2102-i的输出为Udi时,将代表成员以外的公开发送部2107-i(i=1,2,...,t,i≠j)的输出Udi通过保密通信线路303发送给代表成员的线性组合计算部2103-j,代表成员的线性组合计算部2103-j合计接收t-1个Udi(i=1,2,...,t,i≠j)。
公开接收部2108-i通过保密通信线路303从代表成员的密码分散计算部2105-j接收U-1di,把它输入到“(2)分散乘法部”2106-i中。
“(2)分散乘法部”2106-i接收随机数生成部2101-i的输出和公开接收部2108-i的输出,将它们作为输入,一边利用来自保密通信线路303的信息一边进行运算,并输出该运算结果。第五实施例中“(2)分散乘法部”2106-i的结构和图16的“(2)分散乘法部”1205-j-a、1206-j-a的结构或图20的“(2)分散乘法部”1205-j-a、1206-j-a的结构相同。如图24(b)所示,“(2)分散乘法部”2106-i的输出作为代表成员以外的成员的分散逆元计算部1203-i-a的输出。
这样,当使用图24的结构时,可以减少分散逆元计算部1203-i-a的“(2)分散乘法部”的个数,可以简化处理。
第五实施例的操作
第五实施例涉及的密码重构方法中的操作和上述第三实施例中的操作基本相同,和图19的流程基本相同,但不同之处在于图19的步骤S1603。在上述第三实施例中,在步骤S1603的计算中使用的分散逆元计算部1203-i-a通过图18的结构来进行计算处理,但第五实施例中是通过图24的结构来进行计算处理。
第五实施例的效果
如上所述,根据第五实施例,和上述第一、第二及第三实施例一样,可以在不向其他成员公开为了重构原来密码信息S而聚集的成员持有的分散信息的情况下重构原来的密码信息S。因此,当下次重构密码时可以再利用各成员持有的分散信息。并且,不需要设置进行密码重构的第三方中心,就能达到上述效果。
而且,在第五实施例中,不仅能得到和上述第三实施例相同的效果,还能格外地减少分散逆元计算部1203-j-a(j=1,2,...,t、a=1,2,...,t)的“(2)分散乘法部”的个数。
变形例
第一实施例的变形例
在上述第一实施例中,以可以在成员中的某2个成员之间确立通信内容对此2人以外的成员保密的保密通信线路为前提,但在多方协议中使用的密码分散法中使用加法密码分散法,因此,即使全部窃听也不能重构密码,没有保密通信线路,可以通过不是保密通信线路(有可能被窃听)的通信线路进行通信。
第三实施例的变形例
图25示出了本发明第三实施例的变形例中项计算部1101-j-a的结构方框图。在上述第三实施例的项计算部1101-j-a中,如图15(第三实施例)所示,“(2)分散乘法部”1205-j-a和“(2)分散乘法部”1206-j-a利用分散计算输入到项计算部1101-j-a的Xm’a,j、分散逆元计算部1203-j-a的输出和“(t-1)分散乘法部”1204-j-a的输出进行乘法处理,如图25所示,可以把图15所示的“(2)分散乘法部”1205-j-a和“(2)分散乘法部”1206-j-a替换为1个“(3)分散乘法部”1207-j-a。如图25所示,“(3)分散乘法部”1207-j-a是进行输入的3个值的分散乘法的部分,可以通过和“(t-1)分散乘法部”1202-j-a、1204-j-a相同的结构(即t-1=3的结构)来实施。
在上述第三实施例中,如图17(第三实施例)所示,“(t-1)分散乘法部”1202-j-a、1204-j-a构成为:输入的值为A1,A2,...,A(t-1),按A的索引(下标)从小到大的顺序进行分散计算。但是,因为可以更换分散乘法的顺序,所以不需要一定按该顺序(A的索引(下标)从小到大的顺序)进行分散乘法。
第二实施例的变形例
在上述第二实施例中,说明了分散密码重构计算部601-j的密码分散计算部701-j和密码重构计算部602分别通过(k’,t)阈值密码分散法进行密码分散和密码重构的情况,但也可以用通过加法密码分散法进行密码分散和密码重构的结构来代替它。这时,进行下式(54)这样的计算处理,代替密码重构计算部602中计算的上述式(22)和(4)。
数29
S = S m , 1 + S m , 2 + · · · + S m , t = Σ j = 1 t S m , 1 - - ( 54 )
通过下面的计算求出分散信息Xm’j,p,以代替在密码分散计算部701-j中计算的上述式(23)和(24)。首先,选择t-1个有限体GF(q)上的值作为随机数,分配给Xm’j,p(p=1,2,...,t-1),用下式(55)求出Xm’j,t
Xm’j,t
=Xm’j-(Xm’j,1+Xm’j,2+...+Xm’j,t-1)        (55)
第四实施例的变形例
图26示出了本发明第四实施例的变形例中ij项计算部1702-j的结构方框图。在上述第四实施例中,因为能使用用于第三实施例涉及的密码重构方法中的分散计算的(k’,t)阈值密码分散法的阈值k’的式(29)的限制,所以能用加法密码分散法来代替(k’,t)阈值密码分散法。可以通过改变分散密码重构计算部902-j的密码分散计算部1001-j中的计算处理、密码重构计算部903中的计算处理以及“(2)分散乘法部”1205-j-a、1206-j-a中jj项计算部1701-j中的计算处理ij项计算部1702-j的结构将分散计算中使用的密码分散法变更为加法密码分散计算法。首先,分散密码重构计算部902-j的密码分散计算部1001-j中的计算处理变更为下面的计算处理,来代替用式(29’)和(30)求出分散信息Xm’j,p(p=1,2,...,t-1)。首先,选出t-1个有限体GF(q)的值作为随机数,分配给Xm’j,p(p=1,2,...,t-1),用下式(56)求出Xm’j,t
Xm’j,t
=Xm’j-(Xm’j,1+Xm’j,2+...+Xm’j,t-1)           (56)
密码重构计算部903的计算处理变更为下式(57)的计算处理,以代替式(27)和式(28)。
数30
S = S d 1 + S d 2 + · · · + S d t = Σ j = 1 t S d 1 - - ( 57 )
而且,在上述第四实施例中,如图21(第四实施例)所示,“(2)分散乘法部”1205-j-a、1206-j-a中jj项计算部1701-j中的计算处理是接收输入到“(2)分散乘法部”1205-j-a、1206-j-a中的2个输入Adj,Bdj,把它们乘起来,再乘以式(41)中计算的系数rdj。但是,在第四实施例的变形例中,如图26所示,“(2)分散乘法部”1205-j-a、1206-j-a构成为省略了乘以系数rdj。即,在第四实施例中,计算并输出Adj×Bdj,因此删除了图21(第四实施例)所示的系数乘法部1806-j-i(i=1,2,...,j-1,j+1,...,t)的构成部分。
第五实施例的变形例
图27(a)和(b)是本发明第五实施例的变形例中分散逆元计算部1203-j-a、1203-i-a的结构方框图。在上述第五实施例中,可以考虑能使用第三实施例涉及的密码重构方法中用于分散计算的(k’,t)阈值密码分散法的阈值k’的式(29)的限制的情况,这时,可以用加法密码分散法来代替(k’,t)阈值密码分散法。除了上述第四实施例的变更(即,变更分散密码重构计算部902-j的密码分散计算部1001-j中的计算处理、密码重构计算部903中的计算处理以及“(2)分散乘法部”1205-j-a、1206-j-a中jj项计算部1701-j中的计算处理,和ij项计算部1702-j的结构)之外,通过把分散逆元计算部1203-j-a、1203-i-a的结构从图24(第五实施例)的结构变更为图27(第五实施例的变形例)的结构,可以把用于分散计算的密码分散法变更为加法密码分散计算法。将线性组合计算部2103-j变更为(t)加法部2109-j并变更密码分散计算部2105-j内的计算处理。因为改变了密码分散计算部2105-j的处理,所以在图27中赋予符号2110-j。“(t)加法部”2109-j接收“(2)分散乘法部”2102-j的输出结果和通过保密通信线路303来自其他成员的“(2)分散乘法部”2102-i(i=1,2,...,t,i≠j)的输出结果,把它们都相加起来,把计算结果输出给逆元计算部2104-j。“(2)分散乘法部”2102-j的输出结果为Udj,通过保密通信线路303来自其他成员的“(2)分散乘法部”2102-i(i=1,2,...,t,i≠j)的输出结果为Udi(i=1,2,...,t,i≠j)时,在线性组合计算部2103-j中进行式(49)和(50)的计算处理,输出结果U,但“(t)加法部”2109-j计算下式(58),将结果U输出给逆元计算部2104-j。
数31
U = Ud 1 + U d 2 + · · · + U d t = Σ p = 1 t Ud o - - ( 58 )
变更密码分散计算部2105-j后的密码分散计算部2110-j接收逆元计算部2104-j的输出U-1,分散该输出U-1,通过保密通信线路303分配给其他成员。密码分散计算部2105-j进行式(52)和(53)的计算处理,求出分散信息U-1dp(p=1,2,...,t),但密码分散计算部2110-j如下求出分散信息U-1dp(p=1,2,...,t)。首先,选择t-1个有限体GF(q)上的值作为随机数,分配给U-1dp(p=1,2,...,t-1),按照下式求出U-1dp
U-1dt
=U-1-(U-1d1+U-1d2+...+U-1dt-1)                    (59)
其他变形例
在上述第四实施例(和上述第四实施例的变形例)中的“(2)分散乘法部”1205-j-a、1206-j-a中,①将项计算接收部1801-j-p(p=1,2,...,j-1)替换为项计算发送部,将项计算发送部1803-j-p(p=j+1,j+2,...,t)替换为项计算接收部来构成,或者,②将项计算接收部1802-j-p(p=1,2,...,j-1)替换为项计算发送部,将项计算发送部1804-j-p(p=j+1,j+2,...,t)替换为项计算接收部来构成,或者,③将项计算接收部全部替换为项计算发送部,将项计算发送部全部替换为项计算接收部来构成,无论那种结构,都能得到同样的效果。
在上述第四实施例(和上述第四实施例的变形例)中的“(2)分散乘法部”1205-j-a、1206-j-a中,项计算接收部1801-j-p(或1802-j-p)和项计算发送部1803-j-p(或1804-p-j)之间的保密通信线路303的信息的互相交换如式(44)(或式(44’)和式(46)~(48)(或式(46’)~(48’))那样,利用难以计算加密后的信息即计算法则q的原本的离散对数来隐蔽要发送的信息的信息,因此,不需要完全保密的通信。式(44)(或式(44’)中,要发送的信息Adj(或Bdj)作为有限体GF(q)的生成元h的幂数隐蔽起来,如果不知道式(44)(或式(44’)中使用的随机数rAp,j(或rBp,j),就不能计算出根据从式(46)~(48)(或式(46’)~(48’))得到的信息中应得到的信息Adj(a-1)-Ddj,p(或Bdj(a-1)-Edj,p)。因此,在上述通信中可以用不是保密通信线路的通信线路(即,广播型的通信线路或有可能被窃听的通信线路)。
在上述第五实施例(和上述第五实施例的变形例)中,在分散逆元计算部1203-j-a中,代表成员的分散逆元计算部1203-j-a的线性组合计算部2103-j(和“(t)”加法部2109-j)、逆元计算部2104-j和密码分散计算部2105-j(2110-j)的处理(将来自各个成员的“(2)分散乘法部”2102-i的输出聚集起来进行线性组合计算(加法),求出其结果的逆元,在对求出的逆元进行密码分散,分配给成员)在统一的中心进行,由代表成员实施,即,聚集的全部成员的分散逆元计算部1203-j-a可以如图24(b)那样构成。
在上述第五实施例(和上述第五实施例的变形例)中,在分散逆元计算部1203-j-a中,代表成员的线性组合计算部2103-j(和“(t)”加法部2109-j)和保密通信线路303的信息的互相交换(即代表成员以外的成员的公开发送部2107-i和保密通信线路303的信息的互相交换)以及代表成员的密码分散计算部2105-j和保密通信线路303的信息的互相交换(即,代表成员以外的成员的公开接收部2108-i和保密通信线路303的信息的互相交换)不需要完全保密的通信,因此,可以是广播型的通信线路或有可能被窃听的通信线路。
在上述第一~第五实施例中,“成员”是作为运算存储装置说明的,但本发明涉及的密码重构方法可以是多个成员(人)凑集分散信息,多个人进行密码重构处理。
在上述第一~第五实施例中,象作为第一~第三实施例说明的效果所描述的那样,具有认证功能,认证聚集的多个人所组成的组中全体成员是合法成员(预先分配了密码信息S的分散信息的成员)还是混杂了不合法的人(装置),因此,这时,“原来的密码信息S”用作校对密码信息S(是预先注册的信息,将认证是否成立和重构结果相比对的信息),因此,可以实现信息不必对成员保密。
发明效果
如上所述,根据本发明,可以得到这样的效果:可以在不公开各成员保有的分散信息或成员ID的情况下进行原来的密码信息的重构。

Claims (35)

1.一种密码重构方法,其中利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,具有以下步骤:
上述聚集的t个成员分别利用密码分散法,根据自己自身持有的第一分散信息生成t个第二分散信息,并分别分配给上述聚集的t个成员;
上述聚集的t个成员分别通过利用自己自身生成的第二分散信息和自己自身从其他成员接收的(t-1)个第二分散信息的分散计算,生成用于重构上述原来的密码信息的t个中间计算结果;
根据上述t个中间计算结果重构上述原来的密码信息。
2.根据权利要求1所述的密码重构方法,其特征在于,上述第一分散信息是通过将上述n个第一分散信息全部相加后的值作为上述原来的密码信息的密码分散法而得到的。
3.根据权利要求1或2所述的密码重构方法,其特征在于,上述第二分散信息是通过将上述分散信息全部相加后的值作为第一分散信息的密码分散法而得到的。
4.根据权利要求1至3中任一项所述的密码重构方法,其特征在于,某个成员生成的上述中间计算结果是通过把上述某个成员自身生成的第二分散信息和上述某个成员自身接收的(t-1)个第二分散信息全部相加后得到的。
5.根据权利要求1所述的密码重构方法,其特征在于,上述n个第一分散信息是通过使用用于识别上述各个成员的成员ID的阈值密码分散法而得到的。
6.根据权利要求1或5所述的密码重构方法,其特征在于,上述第二分散信息是这样得到的:利用使用成员ID的阈值密码分散法或者可通过将分散信息全部相加进行密码重构的密码分散法,对上述聚集的t个成员各自持有的第一分散信息进行密码分散。
7.根据权利要求1,5,6中任一项所述的密码重构方法,其特征在于,某个成员生成的上述中间计算结果是这样得到的:利用基于上述某个成员的成员ID的系数,对上述某个成员自身生成的第二分散信息和上述某个成员自身接收的(t-1)个第二分散信息进行线性组合计算。
8.根据权利要求1,2,4,5,7中任一项所述的密码重构方法,其特征在于,还包括为上述聚集的t个成员生成并分配互不重复的临时成员ID的步骤,
通过使用上述临时成员ID的分散计算算出用于重构上述原来的密码信息的上述中间计算结果,并根据上述中间计算结果和上述临时成员ID重构上述原来的密码信息。
9.根据权利要求1,3,5,6,8中任一项所述的密码重构方法,其特征在于,还包括:通过密码分散法,根据上述聚集的t个成员的成员ID生成第三分散信息,并分配给上述聚集的t个成员的步骤。
10.一种分散密码重构装置,其作为在密码重构方法中进行分散计算的多个分散密码重构装置中的1台,由上述各成员进行管理,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述分散密码重构装置具有:
密码分散装置,利用密码分散法分散该分散密码重构装置持有的第一分散信息,并作为第二分散信息分配给其他的分散密码重构装置;
分散密码重构计算装置,利用上述密码分散装置的输出和从上述其他分散密码重构装置接收的第二分散信息,通过分散计算算出用于重构上述原来的密码信息的中间计算结果;
发送装置,发送作为上述分散密码重构计算装置的输出的上述中间计算结果。
11.一种分散密码重构装置,其作为在密码重构方法中进行分散计算的多个分散密码重构装置中的1台,由上述各成员进行管理,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述分散密码重构装置具有:
密码分散装置,利用密码分散法分散该分散密码重构装置持有的第一分散信息,并作为第二分散信息分配给其他的分散密码重构装置;
分散密码重构计算装置,利用上述密码分散装置的输出和从上述其他分散密码重构装置接收的第二分散信息,通过分散计算算出用于重构上述原来的密码信息的中间计算结果;
密码重构装置,接收上述分散密码重构计算装置的输出和上述其他分散密码重构装置的输出,并根据这些输出重构上述原来的密码信息。
12.根据权利要求10所述的分散密码重构装置,其特征在于,还具有密码重构装置,接收上述分散密码重构计算装置的输出和其他分散密码重构装置的输出,并根据这些输出重构原来的密码信息。
13.根据权利要求10-12中任一项所述的分散密码重构装置,其特征在于,上述密码分散装置利用将分散信息全部相加后的值作为原来的密码信息的密码分散法。
14.根据权利要求10-13中任一项所述的分散密码重构装置,其特征在于,上述分散密码重构计算装置包含加法装置,用于把上述密码分散装置的输出和从其他分散信息重构装置接收的第二分散信息全部相加。
15.根据权利要求10、11、12、14中任一项所述的分散密码重构装置,其特征在于,上述密码分散装置使用利用成员ID的阈值密码分散法。
16.根据权利要求10、11、12、13、15中任一项所述的分散密码重构装置,其特征在于,上述分散密码重构计算装置包含线性组合计算装置,用于利用根据成员ID计算的系数对上述密码分散装置的输出和通过保密通信线路从其他分散密码重构装置接收的第二分散信息进行线性组合计算。
17.根据权利要求10、11、12、14、16中任一项所述的分散密码重构装置,其特征在于,上述密码分散装置利用使用分配给该分散密码重构装置的临时成员ID的阈值密码分散法。
18.根据权利要求10、11、12、13、17中任一项所述的分散密码重构装置,其特征在于,
上述密码分散装置利用密码分散法分散该分散密码重构装置持有的成员ID,并作为第三分散信息分配给其他的分散密码重构装置,
上述分散密码重构计算装置利用上述密码分散装置输出的第二及第三分散信息和从其他分散密码重构装置接收的第二及第三分散信息,通过分散计算,算出密码重构的中间计算结果。
19.根据权利要求10、11、12、13、17、18中任一项所述的分散密码重构装置,其特征在于,上述分散密码重构计算装置包含:
项计算装置,利用上述密码分散装置输出的第二和第三分散信息以及从其他的分散密码重构装置接收的第二和第三分散信息,对根据与该第二分散信息相对应的第三分散信息计算出的系数进行分散计算后的结果和各第二分散信息进行分散乘法;
加法装置,把上述项计算装置的输出全部相加。
20.根据权利要求10、11、12、13、17、18、19中任一项所述的分散密码重构装置,其特征在于,上述项计算装置还包含:
差分计算装置,用于得到不同的第三分散信息彼此之间的差分;
第一多项分散乘法装置,用于对上述差分计算装置的输出进行分散相乘;
分散逆元计算装置,用于分散计算上述第一多项分散乘法装置的输出的逆元;
第二多项分散乘法装置,用于对第三分散信息进行分散相乘;
第三多项分散乘法装置,用于对上述分散逆元计算装置的输出、第二多项分散乘法装置的输出和对应的第二分散信息进行分散相乘。
21.根据权利要求10、11、12、13、17、18、19、20中任一项所述的分散密码重构装置,其特征在于,上述第一、第二和第三多项分散乘法装置分别包含其个数比进行分散相乘的值的个数小1的、用于将2个值进行分散相乘的两项分散相乘装置。
22.根据权利要求10、11、12、17、18、19、20、21中任一项所述的分散密码重构装置,其特征在于,上述两项分散乘法装置分别包含:
乘法装置,用于将输入的2个输入相乘;
第二密码分散装置,通过使用临时成员ID的阈值密码分散法分散上述乘法装置的输出,并作为第四分散信息,通过保密通信线路分配给其他的分散密码重构装置;
线性组合计算装置,利用根据临时成员ID计算的系数对上述第二密码分散装置的输出和通过保密通信线路从其他分散密码重构装置接收的第四分散信息进行线性组合计算。
23.根据权利要求10、11、12、17、18、19、20、21中任一项所述的分散密码重构装置,其特征在于,上述两项分散乘法装置分别包含:
第一乘法装置,使输入的2个输入相乘,再乘以根据临时成员ID计算出的系数;
第一通信计算装置,通过经由保密通信线路进行丢失通信来计算输入的第一输入和送往其他分散密码重构装置对应的项分散乘法装置的第二输入的相乘结果;
第二通信计算装置,通过经由保密通信线路进行丢失通信来计算输入的第二输入和送往其他分散密码重构装置对应的项分散乘法装置的第一输入的相乘结果;
加法装置,用于将第一通信计算装置的输出和第二计算装置的输出相加;
第二乘法装置,用于在上述加法装置的输出上乘以根据临时成员ID计算出来的系数;
第二加法装置,用于将上述第一乘法装置的结果和上述第二乘法装置的结果全部相加。
24.根据权利要求10、11、12、13、18、19、20、21中任一项所述的分散密码重构装置,其特征在于,上述两项分散乘法装置分别包含:
第一乘法装置,用于使输入的2个输入相乘;
第一通信计算装置,通过经由保密通信线路进行丢失通信来计算输入的第一输入和送往其他分散密码重构装置对应的项分散乘法装置的第二输入的相乘结果;
第二通信计算装置,通过经由保密通信线路进行丢失通信来计算输入的第二输入和送往其他分散密码重构装置对应的项分散乘法装置的第一输入的相乘结果;
加法装置,用于将第一通信计算装置的输出和第二计算装置的输出相加;
第二加法装置,用于使上述第一乘法装置的结果和上述加法装置的结果全部相加。
25.根据权利要求10、11、12、13、17、18、19、20、21、22、23、24中任一项所述的分散密码重构装置,其特征在于,
上述分散逆元计算装置包含:
第一个数个两项分散乘法装置,其结构和根据上述权利要求22、23或24任一项所述的两项分散乘法装置相同,所述第一个数是根据用于运算的有限体的大小而计算出来的;
多项分散乘法装置,其结构和上述权利要求21中记载的第一、第二和第三多项分散乘法装置相同,其中分散相乘的值的个数是根据用于运算的有限体的大小而计算出来的第二个数。
26.根据权利要求10、11、12、17、18、19、20、21、22、23中任一项所述的分散密码重构装置,其特征在于,上述分散逆元计算装置包含:
生成随机数的随机数生成装置;
以输入的值和随机数生成装置的输出为输入的第二两项分散乘法装置,其结构和权利要求22或权利要求23中任一项所述的两项分散乘法装置相同;
线性组合计算装置,利用根据临时成员ID计算的系数,对上述第二两项分散乘法装置的输出和通过保密通信线路接收的、其他分散密码重构装置对应的第二两项分散乘法装置的输出进行线性组合计算;
逆元计算装置,用于对上述线性组合计算装置的输出的有限体上的运算中的逆元进行计算;
密码分散装置,分散上述逆元计算装置的结果,并作为第五分散信息通过保密通信线路分配给其他的分散密码重构装置;
以上述密码分散装置中的第五分散信息和该随机数生成装置的输出为输入的第三两项分散乘法装置,其结构和上述权利要求22或权利要求23中任一项所述的两项分散乘法装置相同。
27.根据权利要求10、11、12、13、18、19、20、21、24中任一项所述的分散密码重构装置,其特征在于,上述分散逆元计算装置包含:
生成随机数的随机数生成装置;
以输入的值和该随机数生成装置的输出为输入的第二两项分散乘法装置,其结构和上述权利要求24所述的两项分散乘法装置相同;
加法装置,用于将上述第二两项分散乘法装置的输出和通过保密通信线路接收的其他分散密码重构装置对应的第二两项分散乘法装置的输出全部相加;
逆元计算装置,用于对上述线性组合计算装置的输出的有限体上的运算中的逆元进行计算;
密码分散装置,分散上述逆元计算装置的结果,并作为第五分散信息通过保密通信线路分配给其他的分散密码重构装置;
以上述密码分散装置中的第五分散信息和该随机数生成装置的输出为输入的第三两项分散乘法装置,其结构和上述权利要求24所述的两项分散乘法装置相同。
28.根据权利要求10、11、12、13、17、18、19、20、21、22、23、24中任一项所述的分散密码重构装置,其特征在于,上述分散逆元计算装置包含:
生成随机数的随机数生成装置;
以输入的值和该随机数生成装置的输出为输入的第四两项分散乘法装置,其结构和上述权利要求22、23或24中任一项所述的两项分散乘法装置相同;
发送装置,将上述第四两项分散乘法装置的计算结果发送给其结构和上述权利要求26或27中记载的分散密码重构装置相同的分散密码重构装置;
接收装置,从其结构和上述权利要求26或27中记载的分散密码重构装置相同的分散密码重构装置接收上述第五分散信息;
以上述接收的第五分散信息和该随机数生成装置的输出为输入的第五两项分散乘法装置,其结构和上述权利要求22、23或24中任一项所述的两项分散乘法装置相同。
29.一种用于实施密码重构方法的密码重构***,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述***具有:
多个分散密码重构装置,其结构和上述权利要求10、11、12中任一项所述的分散密码重构装置相同;
密码重构装置,根据上述分散密码重构装置的输出来重构上述原来的密码信息。
30.一种用于实施密码重构方法的密码重构***,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述***具有:
多个分散密码重构装置,其结构和上述权利要求10-28中任一项所述的分散密码重构装置相同;
密码重构装置,接收上述多个分散密码重构装置中的至少1个或一个以上上述分散密码重构装置的输出和其他分散密码重构装置的输出,并根据这些输出重构上述原来的密码信息。
31.一种用于实施密码重构方法的密码重构***,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述***具有:
多个分散密码重构装置,其结构和上述权利要求10、11、12、13、14、16、18、19、20、21、24、25、27、28中任一项所述的分散密码重构装置相同;
密码重构装置,利用把分散信息全部相加后的值作为原来的密码信息的密码分散法的重构,根据上述多个分散信息重构装置的输出来重构上述原来的密码信息。
32.一种用于实施密码重构方法的密码重构***,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述***具有:
多个分散密码重构装置,其结构和上述权利要求10、11、12、14、15、16中任一项所述的分散密码重构装置相同;
密码重构装置,使用利用成员ID的阈值密码分散法的重构方法,根据上述多个分散密码重构装置的输出来重构上述原来的密码信息。
33.一种用于实施密码重构方法的密码重构***,所述密码重构方法利用密码分散法,根据原来的密码信息生成n个第一分散信息,在将上述n个第一分散信息分别分配给n个(2≤n)成员的情况下,聚集上述n个成员中的t(2≤t≤n)个成员,以重构上述原来的密码信息,其特征在于,所述***具有:
临时成员ID生成装置,为由聚集的成员管理的分散密码重构装置生成互不重复的临时成员ID,并分配给各分散信息重构装置后,把全部临时成员ID公开给各分散密码重构装置;
多个分散密码重构装置,其结构和上述权利要求10、11、12、14、16、17、18、19、20、21、22、23、25、26、28中任一项所述的分散密码重构装置相同;
密码重构装置,使用利用临时成员ID的阈值密码分散法的重构方法,根据上述多个分散密码重构装置的输出来重构上述原来的密码信息。
34.根据权利要求29-33中任一项所述的密码重构***,其特征在于,上述第一分散信息利用把分散信息全部相加后的值作为原来的信息的密码分散法。
35.根据权利要求29-33中任一项所述的密码重构***,其特征在于,上述第一分散信息使用利用成员ID的阈值密码分散法。
CNA2004100282606A 2003-03-13 2004-03-10 密码重构方法、分散密码重构装置及密码重构*** Pending CN1531241A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP067834/2003 2003-03-13
JP2003067834A JP4292835B2 (ja) 2003-03-13 2003-03-13 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム

Publications (1)

Publication Number Publication Date
CN1531241A true CN1531241A (zh) 2004-09-22

Family

ID=32959308

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004100282606A Pending CN1531241A (zh) 2003-03-13 2004-03-10 密码重构方法、分散密码重构装置及密码重构***

Country Status (3)

Country Link
US (1) US7421080B2 (zh)
JP (1) JP4292835B2 (zh)
CN (1) CN1531241A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102396012A (zh) * 2009-04-24 2012-03-28 日本电信电话株式会社 秘密分散***、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法、程序以及记录介质
CN102611692A (zh) * 2011-01-14 2012-07-25 微软公司 多承租人数据中心中的安全计算
CN103003857A (zh) * 2010-07-23 2013-03-27 日本电信电话株式会社 秘密分散***、分散装置、分散管理装置、取得装置、秘密分散方法、程序及记录介质
CN103444126A (zh) * 2011-03-25 2013-12-11 三菱电机株式会社 密码处理***、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN104683301A (zh) * 2013-11-28 2015-06-03 腾讯科技(深圳)有限公司 一种密码保存的方法及装置
CN105474575A (zh) * 2013-08-22 2016-04-06 日本电信电话株式会社 多方安全认证***、认证服务器、中间服务器、多方安全认证方法以及程序
CN105981088A (zh) * 2014-01-28 2016-09-28 日本电信电话株式会社 秘密计算方法、秘密计算***、秘密计算服务器、注册者终端、用户终端以及程序
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散***、数据分散装置、分散数据变换装置以及秘密分散方法
CN106878256A (zh) * 2015-12-10 2017-06-20 新日铁住金***集成株式会社 信息处理装置、认可***以及信息处理方法
CN103763100B (zh) * 2013-10-29 2017-11-17 清华大学 保护任意用户群数据隐私安全的和与积计算方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005328123A (ja) * 2004-05-12 2005-11-24 Oki Electric Ind Co Ltd 公開鍵の正当性判断方法及び通信端末装置
WO2006124289A2 (en) * 2005-05-13 2006-11-23 Temple University - Of The Commonwealth System Of Higher Education Secret sharing technique with low overhead information content
JP4699099B2 (ja) * 2005-06-14 2011-06-08 富士通株式会社 通信制御装置および通信制御方法
US8582777B2 (en) * 2006-05-03 2013-11-12 Samsung Electronics Co., Ltd. Method and system for lightweight key distribution in a wireless network
US20080005800A1 (en) * 2006-06-07 2008-01-03 Kaoru Yokota Confidential information protection system, confidential information restoring device, and tally generating device
JP4869804B2 (ja) * 2006-06-21 2012-02-08 株式会社日立製作所 情報共有制御システム
BRPI0718581A2 (pt) * 2006-11-07 2014-03-11 Security First Corp Sistemas e métodos para distribuir e proteger dados
US8050410B2 (en) * 2006-12-08 2011-11-01 Uti Limited Partnership Distributed encryption methods and systems
US20080144836A1 (en) * 2006-12-13 2008-06-19 Barry Sanders Distributed encryption authentication methods and systems
WO2008140798A1 (en) * 2007-05-11 2008-11-20 Indiana University Research & Technology Corporation Flexible management of security for multi-user environments
JP2009103774A (ja) * 2007-10-22 2009-05-14 Panasonic Corp 秘密分散システム
JP5299286B2 (ja) * 2007-12-12 2013-09-25 日本電気株式会社 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム
US20100046740A1 (en) * 2008-08-22 2010-02-25 Schneider James P Embedding a secret in a larger polynomial
US8345861B2 (en) * 2008-08-22 2013-01-01 Red Hat, Inc. Sharing a secret using polynomial division over GF(Q)
US8520854B2 (en) * 2008-08-28 2013-08-27 Red Hat, Inc. Sharing a secret using polynomials over polynomials
US7995764B2 (en) * 2008-08-28 2011-08-09 Red Hat, Inc. Sharing a secret using hyperplanes over GF(2m)
US7995765B2 (en) * 2008-08-28 2011-08-09 Red Hat, Inc. Sharing a secret using hyperplanes over GF(q)
US8364958B2 (en) 2008-08-29 2013-01-29 Red Hat, Inc. Sharing a secret via linear interpolation
US8675877B2 (en) 2008-08-29 2014-03-18 Red Hat, Inc. Sharing a secret via linear interpolation
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses
US20120002811A1 (en) * 2010-06-30 2012-01-05 The University Of Bristol Secure outsourced computation
WO2012124270A1 (ja) * 2011-03-15 2012-09-20 パナソニック株式会社 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール
WO2013001021A1 (en) * 2011-06-28 2013-01-03 Nec Europe Ltd. Method and system for obtaining a result of a joint public function for a plurality of parties
JP5687601B2 (ja) * 2011-11-07 2015-03-18 日本電信電話株式会社 画像評価方法
JP5458116B2 (ja) * 2012-01-06 2014-04-02 日本電信電話株式会社 データ分散装置、分散データ変換装置、データ復元装置
US9065637B2 (en) * 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
JP6008316B2 (ja) * 2012-08-24 2016-10-19 パナソニックIpマネジメント株式会社 秘密分散装置および秘密分散プログラム
US9292671B1 (en) * 2012-08-31 2016-03-22 Emc Corporation Multi-server authentication using personalized proactivization
JP5944841B2 (ja) * 2013-01-18 2016-07-05 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
US9313021B2 (en) * 2013-08-29 2016-04-12 National Chiao Tung University Secret communication method with self-authentication capability
JP5937556B2 (ja) * 2013-09-30 2016-06-22 日本電信電話株式会社 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム
JP5895080B2 (ja) * 2013-10-23 2016-03-30 株式会社インテック データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法
JP2015108807A (ja) * 2013-10-23 2015-06-11 株式会社インテック データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法
EP3096309B1 (en) * 2014-01-17 2018-10-31 Nippon Telegraph And Telephone Corporation Secret calculation method, secret calculation system, sorting device, and program
US10721063B2 (en) * 2015-05-07 2020-07-21 Nec Corporation Secure computation data utilization system, method, apparatus and non-transitory medium
US9813234B2 (en) * 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
US11115196B1 (en) * 2015-12-08 2021-09-07 EMC IP Holding Company LLC Methods and apparatus for secret sharing with verifiable reconstruction type
US9813244B1 (en) * 2015-12-30 2017-11-07 EMC IP Holding Company LLC Distributed proactive password-based secret sharing
JP6988807B2 (ja) * 2016-08-18 2022-01-05 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置および秘密計算プログラム
WO2019009180A1 (ja) * 2017-07-05 2019-01-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
EP3669491B1 (en) 2017-08-15 2024-02-07 nChain Licensing AG Threshold ecdsa for securing bitcoin wallet
CN110999206A (zh) 2017-08-15 2020-04-10 区块链控股有限公司 阈值数字签名方法及***
AU2018320433B2 (en) 2017-08-22 2021-03-25 Nippon Telegraph And Telephone Corporation Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
US10460234B2 (en) * 2018-01-19 2019-10-29 Microsoft Technology Licensing, Llc Private deep neural network training
EP3860035A1 (en) 2020-01-29 2021-08-04 Sebastien Armleder Storing and determining a data element
GB202111737D0 (en) * 2021-08-16 2021-09-29 Blockhouse Tech Limited Storing cryptographic keys securely
US11868497B1 (en) 2023-04-07 2024-01-09 Lemon Inc. Fast convolution algorithm for composition determination
US11836263B1 (en) 2023-04-07 2023-12-05 Lemon Inc. Secure multi-party computation and communication
US11874950B1 (en) 2023-04-07 2024-01-16 Lemon Inc. Protecting membership for secure computation and communication
US11809588B1 (en) 2023-04-07 2023-11-07 Lemon Inc. Protecting membership in multi-identification secure computation and communication
US11811920B1 (en) 2023-04-07 2023-11-07 Lemon Inc. Secure computation and communication
US11829512B1 (en) 2023-04-07 2023-11-28 Lemon Inc. Protecting membership in a secure multi-party computation and/or communication
US11886617B1 (en) 2023-04-07 2024-01-30 Lemon Inc. Protecting membership and data in a secure multi-party computation and/or communication

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764767A (en) * 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
JP4112056B2 (ja) * 1997-12-18 2008-07-02 東洋エンジニアリング株式会社 改良された尿素の合成方法および装置
JP3560860B2 (ja) * 1999-07-23 2004-09-02 株式会社東芝 秘密分散システム、装置及び記憶媒体
FI20000760A0 (fi) * 2000-03-31 2000-03-31 Nokia Corp Autentikointi pakettidataverkossa
US6436154B1 (en) * 2000-09-28 2002-08-20 Fmc Wyoming Corporation Use of dodecylbenzene sulfonic acid or salt as a scale inhibitor
US20030046210A1 (en) * 2001-08-31 2003-03-06 Vora Poorvi L. Anonymous acquisition of digital products based on secret splitting
GB2381916B (en) * 2001-11-08 2005-03-23 Ncr Int Inc Biometrics template
US20030221131A1 (en) * 2002-03-08 2003-11-27 Toshifumi Mori Data processing device
US8050409B2 (en) * 2004-04-02 2011-11-01 University Of Cincinnati Threshold and identity-based key management and authentication for wireless ad hoc networks

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102396012B (zh) * 2009-04-24 2014-05-07 日本电信电话株式会社 秘密分散***、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法
CN102396012A (zh) * 2009-04-24 2012-03-28 日本电信电话株式会社 秘密分散***、分散装置、分散管理装置、取得装置、其处理方法、秘密分散方法、程序以及记录介质
CN103003857A (zh) * 2010-07-23 2013-03-27 日本电信电话株式会社 秘密分散***、分散装置、分散管理装置、取得装置、秘密分散方法、程序及记录介质
CN103003857B (zh) * 2010-07-23 2015-03-11 日本电信电话株式会社 秘密分散***、分散装置、分散管理装置、取得装置、秘密分散方法
CN102611692A (zh) * 2011-01-14 2012-07-25 微软公司 多承租人数据中心中的安全计算
CN102611692B (zh) * 2011-01-14 2014-11-19 微软公司 多承租人数据中心中的安全计算方法
CN103444126B (zh) * 2011-03-25 2017-04-12 三菱电机株式会社 密码处理***、密钥生成装置、加密装置、解密装置以及密码处理方法
CN103444126A (zh) * 2011-03-25 2013-12-11 三菱电机株式会社 密码处理***、密钥生成装置、加密装置、解密装置、密码处理方法以及密码处理程序
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散***、数据分散装置、分散数据变换装置以及秘密分散方法
CN105474575A (zh) * 2013-08-22 2016-04-06 日本电信电话株式会社 多方安全认证***、认证服务器、中间服务器、多方安全认证方法以及程序
CN105474575B (zh) * 2013-08-22 2018-12-14 日本电信电话株式会社 多方安全认证***、认证服务器、中间服务器、多方安全认证方法以及程序
CN103763100B (zh) * 2013-10-29 2017-11-17 清华大学 保护任意用户群数据隐私安全的和与积计算方法
CN104683301A (zh) * 2013-11-28 2015-06-03 腾讯科技(深圳)有限公司 一种密码保存的方法及装置
CN104683301B (zh) * 2013-11-28 2020-01-10 腾讯科技(深圳)有限公司 一种密码保存的方法及装置
CN105981088A (zh) * 2014-01-28 2016-09-28 日本电信电话株式会社 秘密计算方法、秘密计算***、秘密计算服务器、注册者终端、用户终端以及程序
CN105981088B (zh) * 2014-01-28 2019-05-03 日本电信电话株式会社 秘密计算方法、秘密计算***、注册者终端以及记录介质
CN106878256A (zh) * 2015-12-10 2017-06-20 新日铁住金***集成株式会社 信息处理装置、认可***以及信息处理方法
CN106878256B (zh) * 2015-12-10 2020-04-14 日铁***集成株式会社 信息处理装置、认可***以及信息处理方法

Also Published As

Publication number Publication date
JP4292835B2 (ja) 2009-07-08
JP2004279526A (ja) 2004-10-07
US7421080B2 (en) 2008-09-02
US20040179686A1 (en) 2004-09-16

Similar Documents

Publication Publication Date Title
CN1531241A (zh) 密码重构方法、分散密码重构装置及密码重构***
CN1157020C (zh) 提高了安全性的密码处理装置
CN1242587C (zh) 高速、灵活的加密***的方法及设备
CN1302408C (zh) 认证***、认证装置、终端装置以及认证方法
CN1172474C (zh) 公用密钥密码***方法及设备
CN1231885C (zh) 数据分发***及其所用数据供给装置、终端装置以及记录装置
CN1124545C (zh) 实现高速加密处理的设备和方法
CN1238989C (zh) 数据发布
CN1922643A (zh) 加密***、加密装置、解密装置、程序和集成电路
CN1726669A (zh) 数据分割方法和使用异或运算的装置
CN1142718A (zh) 通信设备和通信***
CN1947372A (zh) 个人信息管理装置、分散密钥存储装置、个人信息管理***
CN1753356A (zh) 信息处理方法、解密方法、信息处理装置和计算机程序
CN1774886A (zh) 信息处理方法,解密处理方法,信息处理设备和计算机程序
CN1620756A (zh) 滤波装置、接收装置、发送装置、扩频调制装置、伪随机数序列的输出装置、滤波方法、接收方法、发送方法、扩频调制方法、伪随机数序列的输出方法及程序
CN1822538A (zh) 加密方法,加密装置,解密方法和解密装置
CN1977250A (zh) 进行加密或解密的计算机***和计算机程序
CN1839581A (zh) 装置认证信息安装***
CN1665185A (zh) 内容提供***、用户***、跟踪***、装置及方法
CN101040306A (zh) 伪随机数生成装置
CN1841443A (zh) 计算方法、计算设备以及计算机程序
CN1918844A (zh) 基于保密共享方案的保密信息管理方案
CN1267816C (zh) 信息安全装置,质数生成装置,和质数生成方法
CN1930838A (zh) 信息处理装置、服务器、通信***、地址决定方法、地址变更方法及程序
CN1860722A (zh) 密钥配送***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication