JP3479015B2 - 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 - Google Patents
暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体Info
- Publication number
- JP3479015B2 JP3479015B2 JP37584799A JP37584799A JP3479015B2 JP 3479015 B2 JP3479015 B2 JP 3479015B2 JP 37584799 A JP37584799 A JP 37584799A JP 37584799 A JP37584799 A JP 37584799A JP 3479015 B2 JP3479015 B2 JP 3479015B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- key
- signature
- generation
- modn
- 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.)
- Expired - Fee Related
Links
Description
【0001】
【発明の属する技術分野】本発明は、デジタルTV・衛
星放送におけるペイ・パー・ビュー(pay per
view)システム・情報流通における鍵配送・電子メ
ール・電子決済等の通信におけるデータの暗号化を強力
なものとし得る暗号鍵分散生成方法および装置と暗号鍵
分散生成プログラムを記録した記録媒体に関する。
星放送におけるペイ・パー・ビュー(pay per
view)システム・情報流通における鍵配送・電子メ
ール・電子決済等の通信におけるデータの暗号化を強力
なものとし得る暗号鍵分散生成方法および装置と暗号鍵
分散生成プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】近年、通信分野において、伝送される情
報の秘匿等の通信者間の秘密性を保護する技術として暗
号化技術が有効に働くことから、各種暗号化技術が提案
されている。これら暗号化技術の性能は、暗号方式の安
全強度と暗号化・復号化に要する速度の観点から評価し
うる。すなわち安全強度が高く、暗号化・復号化の速度
が速い暗号方式が優れた暗号方式である。
報の秘匿等の通信者間の秘密性を保護する技術として暗
号化技術が有効に働くことから、各種暗号化技術が提案
されている。これら暗号化技術の性能は、暗号方式の安
全強度と暗号化・復号化に要する速度の観点から評価し
うる。すなわち安全強度が高く、暗号化・復号化の速度
が速い暗号方式が優れた暗号方式である。
【0003】このような暗号化技術の中に、RSA(Ri
vest Shamir Adleman )暗号として知られる、べき乗剰
余演算を用いるタイプの公開鍵暗号方式があり、既に実
用化されている。このRSA暗号方式では、公開鍵が素
因数分解できれば、暗号文から平文を得ることができる
ことが、文献「R.Rivest,A.Shamir and L.Adleman;"Ame
thod for obtaining digital signatures and public-k
ey cryptosystems.",Comm.,ACM,vol.21,No.2,pp.120-12
6,(1978) 」に示されている。
vest Shamir Adleman )暗号として知られる、べき乗剰
余演算を用いるタイプの公開鍵暗号方式があり、既に実
用化されている。このRSA暗号方式では、公開鍵が素
因数分解できれば、暗号文から平文を得ることができる
ことが、文献「R.Rivest,A.Shamir and L.Adleman;"Ame
thod for obtaining digital signatures and public-k
ey cryptosystems.",Comm.,ACM,vol.21,No.2,pp.120-12
6,(1978) 」に示されている。
【0004】このRSA暗号方式などの公開鍵暗号方式
は、公開された情報である公開鍵から秘密鍵を得ること
が計算量的に困難であることに安全性の根拠を置いてお
り、そのため公開鍵のサイズを大きく取れば、それだけ
安全強度が増すことになる。一方、安全の強化という点
では、秘密鍵を安全に保管することが重要な問題であ
る。これに対して、一つの鍵を一個所で保管するのでは
なく、一つの鍵を複数に分割し、その鍵の分割した部分
情報からはオリジナルの鍵を求めることができない秘密
分散方式が文献「A.Shamir ;“How to share a secret
”, Comm.Of the ACM,Vol.22,1979,pp.612-613」に示
されている。
は、公開された情報である公開鍵から秘密鍵を得ること
が計算量的に困難であることに安全性の根拠を置いてお
り、そのため公開鍵のサイズを大きく取れば、それだけ
安全強度が増すことになる。一方、安全の強化という点
では、秘密鍵を安全に保管することが重要な問題であ
る。これに対して、一つの鍵を一個所で保管するのでは
なく、一つの鍵を複数に分割し、その鍵の分割した部分
情報からはオリジナルの鍵を求めることができない秘密
分散方式が文献「A.Shamir ;“How to share a secret
”, Comm.Of the ACM,Vol.22,1979,pp.612-613」に示
されている。
【0005】この秘密分散方式を、RSA暗号の秘密鍵
管理に用いた方式は、多くの認証局CAに用いられてい
る。
管理に用いた方式は、多くの認証局CAに用いられてい
る。
【0006】ここで、RSA暗号のオリジナルの鍵dか
ら分散鍵di(d=Σdi)を生成する際に、ある特定
のディーラを必要とする。つまり、このディーラが攻撃
されることにより、秘密鍵全体の情報が漏れてしまい、
分散の効果が無くなる可能性がある。
ら分散鍵di(d=Σdi)を生成する際に、ある特定
のディーラを必要とする。つまり、このディーラが攻撃
されることにより、秘密鍵全体の情報が漏れてしまい、
分散の効果が無くなる可能性がある。
【0007】Boneh とFranklinは、文献「D.Boneh, J.F
ranklin,“Efficient generation of shared RSA key
s,”Advances in Cryptology−CRYPTO ,97, LNCS 1294,
(1997),pp.425-439.」に、ディーラを必要としないRS
A暗号の分散鍵の生成方法を示した(以下 Boneh-Frank
lin 法と呼ぶ)。
ranklin,“Efficient generation of shared RSA key
s,”Advances in Cryptology−CRYPTO ,97, LNCS 1294,
(1997),pp.425-439.」に、ディーラを必要としないRS
A暗号の分散鍵の生成方法を示した(以下 Boneh-Frank
lin 法と呼ぶ)。
【0008】しかし、 Boneh-Franklin 法は一つの鍵を
生成するのに、非常に多くの計算量を必要とし非効率で
ある。ある実験によると、各分散暗号鍵生成手段間で
1.5分の時間と約1メガバイトの通信量が必要であっ
た。
生成するのに、非常に多くの計算量を必要とし非効率で
ある。ある実験によると、各分散暗号鍵生成手段間で
1.5分の時間と約1メガバイトの通信量が必要であっ
た。
【0009】
【発明が解決しようとする課題】上述したように、従来
の Boneh-Franklin の分散鍵生成法を利用した場合には
非常に多くの計算量を必要とし、通信を介した場合には
非常に非効率であるというような欠点があった。
の Boneh-Franklin の分散鍵生成法を利用した場合には
非常に多くの計算量を必要とし、通信を介した場合には
非常に非効率であるというような欠点があった。
【0010】本発明は、上記課題に鑑みてなされたもの
で、 Boneh-Franklin の分散鍵生成法と比較しても処理
が高速である暗号鍵分散生成方法および装置と暗号鍵分
散生成プログラムを記録した記録媒体を提供することを
目的とする。
で、 Boneh-Franklin の分散鍵生成法と比較しても処理
が高速である暗号鍵分散生成方法および装置と暗号鍵分
散生成プログラムを記録した記録媒体を提供することを
目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、任意の通信手段で相互に接
続され、公開鍵暗号方式の暗号鍵を生成する暗号鍵生成
手段をそれぞれ有する複数のサーバi(i=1,2,・
・・,k)が分散して暗号鍵を生成する暗号鍵分散生成
方法であって、第1の公開鍵nと第2の公開鍵eとを用
いて、平文Mから暗号文C=Me(modn)を得るに
際して、各サーバiが2個の乱数piおよびqiを自ら
の持つ秘密情報である第1の分散秘密鍵としてそれぞれ
生成するステップと、各サーバが自らの持つ秘密情報を
他のサーバに漏らすことなく全てのサーバで共有する計
算ができるBGWプロトコルを用いて前記第1の公開鍵
nの候補であるN=(Σi=1,2,…,kpi)
2(Σi=1,2,…,kqi)を生成するステップと
を行うことを特徴とする。
め、請求項1記載の発明は、任意の通信手段で相互に接
続され、公開鍵暗号方式の暗号鍵を生成する暗号鍵生成
手段をそれぞれ有する複数のサーバi(i=1,2,・
・・,k)が分散して暗号鍵を生成する暗号鍵分散生成
方法であって、第1の公開鍵nと第2の公開鍵eとを用
いて、平文Mから暗号文C=Me(modn)を得るに
際して、各サーバiが2個の乱数piおよびqiを自ら
の持つ秘密情報である第1の分散秘密鍵としてそれぞれ
生成するステップと、各サーバが自らの持つ秘密情報を
他のサーバに漏らすことなく全てのサーバで共有する計
算ができるBGWプロトコルを用いて前記第1の公開鍵
nの候補であるN=(Σi=1,2,…,kpi)
2(Σi=1,2,…,kqi)を生成するステップと
を行うことを特徴とする。
【0012】 請求項1記載の発明にあっては、BGW
プロトコルを用いることによって、本願発明者らが既に
提案しているp2q暗号の鍵の候補を分散生成すること
が可能となり、これによりN=P2Qの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
プロトコルを用いることによって、本願発明者らが既に
提案しているp2q暗号の鍵の候補を分散生成すること
が可能となり、これによりN=P2Qの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
【0013】 請求項2記載の発明は、請求項1記載の
暗号鍵分散生成方法であって、前記第1の公開鍵nの候
補であるNを生成するステップに続いて、さらに、前記
各サーバiが、全てのサーバに共通な乱数gを用いてv
pi=gpi modNをそれぞれ計算し、この計算し
た値を他のサーバに送信するステップと、前記各サーバ
iがvp=Πi=1,2,…,kvpi modNをそ
れぞれ計算するステップと、サーバ1がu1=gN m
odN、サーバi(ここでi=2,・・・,k−1)が
ui=vp pi+qimodN、サーバkがuk=vp
pk+qk―1 modNをそれぞれ計算して相互に配
布するステップと、このステップでの計算値がu1=u
kΠi=2,…,k―1ui modNを満たすかどう
かを前記各サーバiが検証し、この式が成り立つ場合に
は、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが素数であると判定するステッ
プとを行うことを特徴とする。
暗号鍵分散生成方法であって、前記第1の公開鍵nの候
補であるNを生成するステップに続いて、さらに、前記
各サーバiが、全てのサーバに共通な乱数gを用いてv
pi=gpi modNをそれぞれ計算し、この計算し
た値を他のサーバに送信するステップと、前記各サーバ
iがvp=Πi=1,2,…,kvpi modNをそ
れぞれ計算するステップと、サーバ1がu1=gN m
odN、サーバi(ここでi=2,・・・,k−1)が
ui=vp pi+qimodN、サーバkがuk=vp
pk+qk―1 modNをそれぞれ計算して相互に配
布するステップと、このステップでの計算値がu1=u
kΠi=2,…,k―1ui modNを満たすかどう
かを前記各サーバiが検証し、この式が成り立つ場合に
は、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが素数であると判定するステッ
プとを行うことを特徴とする。
【0014】 請求項2記載の発明によれば、例えば請
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのP2Qであるか、P,Qが素数であるか、
否かを分散検証できる。
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのP2Qであるか、P,Qが素数であるか、
否かを分散検証できる。
【0015】 請求項3記載の発明は、請求項2記載の
暗号鍵分散生成方法であって、前記Σ
i=1,2,…,kpiおよび前記Σ
i=1,2,…,kqiが素数であるとき、これらの素
数Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiを用いてγ(N)=(Σ
i=1,2,…,kpi){(Σi=1,2,…,kp
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、前記各サーバiが、設定される素数Rに対して前記
BGWプロトコルを用いて、γ(N)=Σ
i=1,2,…,kγi(N)−sR(ここで、s=
0,1,2,…,k−1)を満たすγi(N)を生成す
るステップと、第2の公開鍵として選択されるeを用い
て前記各サーバiがγi(N)modeの値を他のサー
バにそれぞれ送信するステップと、前記各サーバiが、
δe,s=1/(γ(N)−sR) mode、および
di,s =[(−δe,sγi(N))/e](但
し、s=0,1,2,…,k−1)をそれぞれ計算する
ステップと、前記各サーバiが、真の復号鍵である第2
の秘密鍵をd(ここでdは、ed=1 modγ(N)
を満たす)とするとき、このdが満たす関係式d=Σ
i=1,2,…,kdi,s+r modγ(N)と、
あるメッセージMにより、1=Med modNが成立
するs,rを決定することにより、第2の分散秘密鍵d
iをそれぞれ生成するステップとを行うことを特徴とす
る。
暗号鍵分散生成方法であって、前記Σ
i=1,2,…,kpiおよび前記Σ
i=1,2,…,kqiが素数であるとき、これらの素
数Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiを用いてγ(N)=(Σ
i=1,2,…,kpi){(Σi=1,2,…,kp
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、前記各サーバiが、設定される素数Rに対して前記
BGWプロトコルを用いて、γ(N)=Σ
i=1,2,…,kγi(N)−sR(ここで、s=
0,1,2,…,k−1)を満たすγi(N)を生成す
るステップと、第2の公開鍵として選択されるeを用い
て前記各サーバiがγi(N)modeの値を他のサー
バにそれぞれ送信するステップと、前記各サーバiが、
δe,s=1/(γ(N)−sR) mode、および
di,s =[(−δe,sγi(N))/e](但
し、s=0,1,2,…,k−1)をそれぞれ計算する
ステップと、前記各サーバiが、真の復号鍵である第2
の秘密鍵をd(ここでdは、ed=1 modγ(N)
を満たす)とするとき、このdが満たす関係式d=Σ
i=1,2,…,kdi,s+r modγ(N)と、
あるメッセージMにより、1=Med modNが成立
するs,rを決定することにより、第2の分散秘密鍵d
iをそれぞれ生成するステップとを行うことを特徴とす
る。
【0016】 請求項3記載の発明によれば、N(=P
2Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは自らの第2の分散秘密鍵d
i(1≦i≦k)のみの値しか知り得ない。
2Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは自らの第2の分散秘密鍵d
i(1≦i≦k)のみの値しか知り得ない。
【0017】 請求項4記載の発明は、請求項3記載の
暗号鍵分散生成方法によって生成された第1の公開鍵
N、第2の公開鍵e、および第2の分散秘密鍵diを用
いて署名を行い、かつ当該署名の検証を行う署名生成・
検証方法であって、任意の通信手段で相互に接続される
複数のサーバi(i=1,2,・・・,k)が前記第1
の公開鍵Nおよび自らの前記第2の分散秘密鍵diを用
いてメッセージMに対してそれぞれ行う分散署名Si=
Mdi modNを用いて、真の署名S=Π
i=1,2,…,kSi modNを生成し、この署名
についての検証をSe=M modNにより行うことを
特徴とする。
暗号鍵分散生成方法によって生成された第1の公開鍵
N、第2の公開鍵e、および第2の分散秘密鍵diを用
いて署名を行い、かつ当該署名の検証を行う署名生成・
検証方法であって、任意の通信手段で相互に接続される
複数のサーバi(i=1,2,・・・,k)が前記第1
の公開鍵Nおよび自らの前記第2の分散秘密鍵diを用
いてメッセージMに対してそれぞれ行う分散署名Si=
Mdi modNを用いて、真の署名S=Π
i=1,2,…,kSi modNを生成し、この署名
についての検証をSe=M modNにより行うことを
特徴とする。
【0018】 請求項4記載の発明によれば、誰も第2
の秘密鍵dを知らないにも拘らず、diのみの部分認証
を収集することにより全体認証が実現できる。
の秘密鍵dを知らないにも拘らず、diのみの部分認証
を収集することにより全体認証が実現できる。
【0019】 請求項5記載の発明は、任意の通信手段
で相互に接続される複数のサーバi(i=1,2,・・
・,k)から構成され、公開鍵暗号方式の暗号鍵を分散
して生成する暗号鍵分散生成装置であって、第1の公開
鍵nと第2の公開鍵eとを用いて、平文Mから暗号文C
=Me(mod n)を得るに際して、サーバiごとに
2個の乱数piおよびqiを自らの持つ秘密情報である
第1の分散秘密鍵として生成する乱数生成手段と、各サ
ーバが自らの持つ秘密情報を他のサーバに漏らすことな
く全てのサーバで共有する計算ができるBGWプロトコ
ルを用いて前記第1の公開鍵nの候補であるN=(Σ
i=1,2,…,kpi)2(Σi=1,2,…,kq
i)を生成する公開鍵候補生成手段とを有することを特
徴とする。
で相互に接続される複数のサーバi(i=1,2,・・
・,k)から構成され、公開鍵暗号方式の暗号鍵を分散
して生成する暗号鍵分散生成装置であって、第1の公開
鍵nと第2の公開鍵eとを用いて、平文Mから暗号文C
=Me(mod n)を得るに際して、サーバiごとに
2個の乱数piおよびqiを自らの持つ秘密情報である
第1の分散秘密鍵として生成する乱数生成手段と、各サ
ーバが自らの持つ秘密情報を他のサーバに漏らすことな
く全てのサーバで共有する計算ができるBGWプロトコ
ルを用いて前記第1の公開鍵nの候補であるN=(Σ
i=1,2,…,kpi)2(Σi=1,2,…,kq
i)を生成する公開鍵候補生成手段とを有することを特
徴とする。
【0020】 請求項5記載の発明にあっては、BGW
プロトコルを用いることによって、本願発明者らが既に
提案しているp2q暗号の鍵の候補を分散生成すること
が可能となり、これによりN=P2Qの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
プロトコルを用いることによって、本願発明者らが既に
提案しているp2q暗号の鍵の候補を分散生成すること
が可能となり、これによりN=P2Qの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
【0021】 請求項6記載の発明は、請求項5記載の
暗号鍵分散生成装置であって、全てのサーバに共通な乱
数gを選択する共通乱数選択手段と、この共通乱数選択
手段で選択した乱数g、および前記第1の公開鍵nの候
補であるNを用いて、各サーバi(ここでi=1,2,
・・・,k)でvpi=gpi mod Nを計算し、
この計算したvpiを他のサーバに送信する手段と、サ
ーバ1でvp=Πi=1,2,…,kvpi modN
を計算し、このvpを用いてu1=gN modNを計
算するサーバ1の計算手段と、サーバi(ここでi=
2,・・・,k−1)でvp=Πi=1,2,…,kv
pi modNを計算し、このvpを用いてui=vp
pi+qi modNをそれぞれ計算するサーバi(i
=2,・・・,k−1)の計算手段と、サーバkでvp
=Πi=1,2,…,kvpi modNを計算し、こ
のvpを用いてuk=vp pk+qk―1 modNを
計算するサーバkの計算手段と、各サーバの計算手段で
計算したu1,u2,・・・,ukを相互に配布する手
段と、u1=ukΠi=2,…,k―1ui modN
を満たすかどうかを検証し、この式が成り立つ場合に
は、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが素数であると判定する素数判
定手段とをさらに有することを特徴とする。
暗号鍵分散生成装置であって、全てのサーバに共通な乱
数gを選択する共通乱数選択手段と、この共通乱数選択
手段で選択した乱数g、および前記第1の公開鍵nの候
補であるNを用いて、各サーバi(ここでi=1,2,
・・・,k)でvpi=gpi mod Nを計算し、
この計算したvpiを他のサーバに送信する手段と、サ
ーバ1でvp=Πi=1,2,…,kvpi modN
を計算し、このvpを用いてu1=gN modNを計
算するサーバ1の計算手段と、サーバi(ここでi=
2,・・・,k−1)でvp=Πi=1,2,…,kv
pi modNを計算し、このvpを用いてui=vp
pi+qi modNをそれぞれ計算するサーバi(i
=2,・・・,k−1)の計算手段と、サーバkでvp
=Πi=1,2,…,kvpi modNを計算し、こ
のvpを用いてuk=vp pk+qk―1 modNを
計算するサーバkの計算手段と、各サーバの計算手段で
計算したu1,u2,・・・,ukを相互に配布する手
段と、u1=ukΠi=2,…,k―1ui modN
を満たすかどうかを検証し、この式が成り立つ場合に
は、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが素数であると判定する素数判
定手段とをさらに有することを特徴とする。
【0022】 請求項6記載の発明によれば、例えば請
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのP2Qであるか、P,Qが素数であるか、
否かを分散検証できる。
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのP2Qであるか、P,Qが素数であるか、
否かを分散検証できる。
【0023】 請求項7記載の発明は、請求項6記載の
暗号鍵分散生成装置であって、前記素数判定手段が前記
Σi=1,2,…,kpiおよび前記Σ
i=1,2,…,kqiが素数であると判定したとき、
これらのΣi=1,2,…,kpiおよびΣ
i=1,2,…,kqiを用いてγ(N)=(Σ
i=1,2,…,kpi){(Σi=1,2,…,kp
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、設定される素数Rに対して前記BGWプロトコルを
用いて、γ(N)=Σi=1,2,…,kγi(N)−
sR(ここで、s=0,1,2,…,k−1)を満たす
γi(N)をサーバi(ここでi=1,2,・・・,
k)でそれぞれ生成するサーバiの生成手段と、乱数e
を第2の公開鍵として選択する乱数選択手段と、前記サ
ーバiの生成手段でそれぞれ生成したγi(N)および
前記乱数選択手段で選択したeを用いてδe,s=1/
(γ(N)−sR) mode、およびdi,s =
[(−δe,sγi(N))/e](但し、s=0,
1,2,…,k−1)をそれぞれ計算するサーバiの計
算手段と、真の復号鍵である第2の秘密鍵をd(ここで
dは、ed=1 modγ(N)を満たす)とすると
き、d=Σi=1,2,…,kdi,s+r modγ
(N)と、あるメッセージMにより、1=Med mo
dNが成立するs,rを決定することによって第2の分
散秘密鍵diをそれぞれ生成するサーバiの秘密鍵生成
手段とをさらに有することを特徴とする。
暗号鍵分散生成装置であって、前記素数判定手段が前記
Σi=1,2,…,kpiおよび前記Σ
i=1,2,…,kqiが素数であると判定したとき、
これらのΣi=1,2,…,kpiおよびΣ
i=1,2,…,kqiを用いてγ(N)=(Σ
i=1,2,…,kpi){(Σi=1,2,…,kp
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、設定される素数Rに対して前記BGWプロトコルを
用いて、γ(N)=Σi=1,2,…,kγi(N)−
sR(ここで、s=0,1,2,…,k−1)を満たす
γi(N)をサーバi(ここでi=1,2,・・・,
k)でそれぞれ生成するサーバiの生成手段と、乱数e
を第2の公開鍵として選択する乱数選択手段と、前記サ
ーバiの生成手段でそれぞれ生成したγi(N)および
前記乱数選択手段で選択したeを用いてδe,s=1/
(γ(N)−sR) mode、およびdi,s =
[(−δe,sγi(N))/e](但し、s=0,
1,2,…,k−1)をそれぞれ計算するサーバiの計
算手段と、真の復号鍵である第2の秘密鍵をd(ここで
dは、ed=1 modγ(N)を満たす)とすると
き、d=Σi=1,2,…,kdi,s+r modγ
(N)と、あるメッセージMにより、1=Med mo
dNが成立するs,rを決定することによって第2の分
散秘密鍵diをそれぞれ生成するサーバiの秘密鍵生成
手段とをさらに有することを特徴とする。
【0024】 請求項7記載の発明によれば、N(=P
2Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは分散された自らの第2の分散秘
密鍵di(1≦i≦k)のみの値しか知り得ない。
2Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは分散された自らの第2の分散秘
密鍵di(1≦i≦k)のみの値しか知り得ない。
【0025】 請求項8記載の発明は、請求項7記載の
暗号鍵分散生成装置によって生成される第1の公開鍵
N、第2の公開鍵e、および第2の分散秘密鍵diを用
いて署名を行い、かつ当該署名の検証を行う署名生成・
検証装置であって、任意の通信手段で相互に接続される
複数のサーバi(i=1,2,・・・,k)が前記第1
の公開鍵Nおよび自らの前記第2の分散秘密鍵diを用
いてメッセージMに対して行う分散署名Si=Mdi
modNを用いて、真の署名S=Πi=1,2,…,k
Si modNを生成する署名手段と、この署名手段で
生成した署名についての検証をSe=M modNによ
り行う署名検証手段とを有することを特徴とする。
暗号鍵分散生成装置によって生成される第1の公開鍵
N、第2の公開鍵e、および第2の分散秘密鍵diを用
いて署名を行い、かつ当該署名の検証を行う署名生成・
検証装置であって、任意の通信手段で相互に接続される
複数のサーバi(i=1,2,・・・,k)が前記第1
の公開鍵Nおよび自らの前記第2の分散秘密鍵diを用
いてメッセージMに対して行う分散署名Si=Mdi
modNを用いて、真の署名S=Πi=1,2,…,k
Si modNを生成する署名手段と、この署名手段で
生成した署名についての検証をSe=M modNによ
り行う署名検証手段とを有することを特徴とする。
【0026】 請求項8記載の発明によれば、誰も第2
の秘密鍵dを知らないにも拘らず、diのみの部分認証
を収集することにより全体認証が実現できる。
の秘密鍵dを知らないにも拘らず、diのみの部分認証
を収集することにより全体認証が実現できる。
【0027】 請求項9記載の発明は、請求項1乃至3
のいずれか1項に記載した暗号鍵分散生成方法をコンピ
ュータに実行させるための暗号鍵分散生成プログラムを
記録したコンピュータ読み取り可能な記録媒体である。
のいずれか1項に記載した暗号鍵分散生成方法をコンピ
ュータに実行させるための暗号鍵分散生成プログラムを
記録したコンピュータ読み取り可能な記録媒体である。
【0028】 請求項9記載の発明によれば、暗号鍵分
散生成プログラムを記録媒体に記録しているため、該記
録媒体を利用して、その暗号鍵分散生成プログラムの流
通性を高めることができる。
散生成プログラムを記録媒体に記録しているため、該記
録媒体を利用して、その暗号鍵分散生成プログラムの流
通性を高めることができる。
【0029】 請求項10記載の発明は、請求項4に記
載した署名生成・検証方法をコンピュータに実行させる
ための署名生成・検証プログラムを記録したコンピュー
タ読み取り可能な記録媒体である。
載した署名生成・検証方法をコンピュータに実行させる
ための署名生成・検証プログラムを記録したコンピュー
タ読み取り可能な記録媒体である。
【0030】 請求項10記載の発明によれば、署名生
成・検証プログラムを記録媒体に記録しているため、該
記録媒体を利用して、その暗号鍵分散生成プログラムま
たは署名生成・検証プログラムの流通性を高めることが
できる。
成・検証プログラムを記録媒体に記録しているため、該
記録媒体を利用して、その暗号鍵分散生成プログラムま
たは署名生成・検証プログラムの流通性を高めることが
できる。
【0031】
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態について説明する。
の形態について説明する。
【0042】まず、図1を参照して、本発明の基本的な
概念について説明する。ここでは、簡単のためサーバの
数をサーバ1,2,3の3台とするが、特に台数は限定
されない。なおサーバの台数が増加するだけ、暗号鍵が
分散されることから、暗号の強度は増すものの、分散数
の増加に伴い暗号解読の時間も増加することから、その
通信内容(重要度、データ量)に応じて適宜、サーバ及
びサーバの台数を選択すると良い。
概念について説明する。ここでは、簡単のためサーバの
数をサーバ1,2,3の3台とするが、特に台数は限定
されない。なおサーバの台数が増加するだけ、暗号鍵が
分散されることから、暗号の強度は増すものの、分散数
の増加に伴い暗号解読の時間も増加することから、その
通信内容(重要度、データ量)に応じて適宜、サーバ及
びサーバの台数を選択すると良い。
【0043】 なお、ここでは2個の素数p,qをk個
のサーバi(i=1,2,…,k)に分散したpi,q
i(但し、p=Σpi,q=Σqi)を第1の分散秘密
鍵として、p2qを第1の公開鍵nと設定し、ed=1
mod L(ただしL=p(p−1)(q−1))を満
たすeを第2の公開鍵と設定すると共に、dをサーバi
に分散したdi(ただしd=Σdi)を第2の分散秘密
鍵と設定することにより暗号鍵を生成するk個の暗号鍵
生成手段を有し、この暗号鍵生成手段により生成された
前記第1の公開鍵nと第2の公開鍵eとを用いて、平文
Mから、C=Me(mod n)に従い暗号文Cを得る
ものとする。
のサーバi(i=1,2,…,k)に分散したpi,q
i(但し、p=Σpi,q=Σqi)を第1の分散秘密
鍵として、p2qを第1の公開鍵nと設定し、ed=1
mod L(ただしL=p(p−1)(q−1))を満
たすeを第2の公開鍵と設定すると共に、dをサーバi
に分散したdi(ただしd=Σdi)を第2の分散秘密
鍵と設定することにより暗号鍵を生成するk個の暗号鍵
生成手段を有し、この暗号鍵生成手段により生成された
前記第1の公開鍵nと第2の公開鍵eとを用いて、平文
Mから、C=Me(mod n)に従い暗号文Cを得る
ものとする。
【0044】図1に示すサーバ1、サーバ2、サーバ3
は、それぞれ相互に任意の通信手段で接続され、各サー
バi(但し、i=1,2,3)には管理者がそれぞれい
るものとする。
は、それぞれ相互に任意の通信手段で接続され、各サー
バi(但し、i=1,2,3)には管理者がそれぞれい
るものとする。
【0045】まず、各サーバiで乱数pi,qiがそれ
ぞれ生成され、それぞれの管理者により秘密にして保
管、管理される。つまりサーバ1ではp1,q1が、サ
ーバ2ではp2,q2が、サーバ3ではp3,q3が生
成される。
ぞれ生成され、それぞれの管理者により秘密にして保
管、管理される。つまりサーバ1ではp1,q1が、サ
ーバ2ではp2,q2が、サーバ3ではp3,q3が生
成される。
【0046】次に、サーバ(管理者)間でBGWプロト
コル及び素数テストを行うことによって鍵を生成する。
コル及び素数テストを行うことによって鍵を生成する。
【0047】 ここで、BGWプロトコルについて簡単
に説明する。BGWプロトコルは、例えば、サーバ1が
(p1,q1)、サーバ2が(p2,q2)、サーバ3
が(p3,q3)をそれぞれを秘密情報として持ってい
るとき、 n=p2q(ここでp=p1+p2+p3,q=q1+q2+q3) を、各サーバ秘密情報である(pi,qi)を、他のサ
ーバに漏らすことなく、計算できるというプロトコルで
ある。
に説明する。BGWプロトコルは、例えば、サーバ1が
(p1,q1)、サーバ2が(p2,q2)、サーバ3
が(p3,q3)をそれぞれを秘密情報として持ってい
るとき、 n=p2q(ここでp=p1+p2+p3,q=q1+q2+q3) を、各サーバ秘密情報である(pi,qi)を、他のサ
ーバに漏らすことなく、計算できるというプロトコルで
ある。
【0048】 このようなBGWプロトコルを用いるこ
とにより、 n=p2q=(p1+p2+p3)2(q1+q2+q3) をサーバ1、サーバ2およびサーバ3で共有することが
できる。
とにより、 n=p2q=(p1+p2+p3)2(q1+q2+q3) をサーバ1、サーバ2およびサーバ3で共有することが
できる。
【0049】 次に、分散素数テストの前半を行う。こ
れには、まずサーバ1、サーバ2およびサーバ3に共通
な乱数gを生成し、それぞれで共有する。この乱数gを
用いて、サーバ1はサーバ2とサーバ3に対しgp1を
送信し、サーバ2はサーバ1とサーバ3に対しgp2を
送信し、サーバ3はサーバ1とサーバ2に対しgp3を
それぞれ送信する。続いて、サーバ1、サーバ2および
サーバ3は、 gp1gp2gp3 modnにより、 vp=gp modn を共有する。
れには、まずサーバ1、サーバ2およびサーバ3に共通
な乱数gを生成し、それぞれで共有する。この乱数gを
用いて、サーバ1はサーバ2とサーバ3に対しgp1を
送信し、サーバ2はサーバ1とサーバ3に対しgp2を
送信し、サーバ3はサーバ1とサーバ2に対しgp3を
それぞれ送信する。続いて、サーバ1、サーバ2および
サーバ3は、 gp1gp2gp3 modnにより、 vp=gp modn を共有する。
【0050】 さらに、サーバ1はvp p1+q1 m
odn 、サーバ2はvp p2+q2 modn、およ
びサーバ3はvp p3+q3―1 modnを計算し
て、相互に配布し、 g{p(p―1)(q―1)}=1 modn が成立するか否かを確認する。同様の方法を用いて環T
Nで分散素数テストの後半を行う。この式の成立が確認
され、pとqがそれぞれ素数であることが確認されたな
らp1、p2、p3、q1、q2、q3を分散鍵として
用いることが可能であり、これにより鍵が生成されたこ
とになる。
odn 、サーバ2はvp p2+q2 modn、およ
びサーバ3はvp p3+q3―1 modnを計算し
て、相互に配布し、 g{p(p―1)(q―1)}=1 modn が成立するか否かを確認する。同様の方法を用いて環T
Nで分散素数テストの後半を行う。この式の成立が確認
され、pとqがそれぞれ素数であることが確認されたな
らp1、p2、p3、q1、q2、q3を分散鍵として
用いることが可能であり、これにより鍵が生成されたこ
とになる。
【0051】次に、図2を参照して分散鍵の生成方法、
及び素数判定について詳細に説明する。ここではp2 q
を対象とし、サーバは暗号鍵生成手段を含むものであ
り、サーバの数はkと仮定する。
及び素数判定について詳細に説明する。ここではp2 q
を対象とし、サーバは暗号鍵生成手段を含むものであ
り、サーバの数はkと仮定する。
【0052】まず、ステップS11において、各サーバ
iに設けられる乱数生成手段により2個の乱数pi,q
i(3 mod 4)を生成し、続いてステップS13で、
文献「M.Ben-Or,S.Goldwasser,A.Wigderson;“Complete
ness theorems for non-cryptographic faulttolerant
distributed computation,”STOC,(1998), pp.1-10」の
記載にあるBGWプロトコルを用いて、公開鍵候補生成
手段により第1の公開鍵nの合成数の候補をNとすると
き、 N=(Σi=1,2,…,kpi)2 (Σi=1,2,…,kqi) を生成する。
iに設けられる乱数生成手段により2個の乱数pi,q
i(3 mod 4)を生成し、続いてステップS13で、
文献「M.Ben-Or,S.Goldwasser,A.Wigderson;“Complete
ness theorems for non-cryptographic faulttolerant
distributed computation,”STOC,(1998), pp.1-10」の
記載にあるBGWプロトコルを用いて、公開鍵候補生成
手段により第1の公開鍵nの合成数の候補をNとすると
き、 N=(Σi=1,2,…,kpi)2 (Σi=1,2,…,kqi) を生成する。
【0053】このとき、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが、小さな素数で割れないように、文献
「M.Malkin,T.Wu and D.Boneh,Experimenting with Sha
red Generation of RSA keys,1999 Symposium on Netwo
rk and Distributed System Security(SNDSS), pp.43-5
6.」に書かれた分散篩法および小さな素数により繰り返
し割り算を行う。
i=1,2,…,kqiが、小さな素数で割れないように、文献
「M.Malkin,T.Wu and D.Boneh,Experimenting with Sha
red Generation of RSA keys,1999 Symposium on Netwo
rk and Distributed System Security(SNDSS), pp.43-5
6.」に書かれた分散篩法および小さな素数により繰り返
し割り算を行う。
【0054】ステップS15では、各サーバiに設けら
れる共通乱数選択手段により全てのサーバに共通な乱数
gを選ぶ。続いて、ステップS17において、各サーバ
iは、この通知された乱数gにより、 vpi=gpi mod N を計算し各サーバに送信する。
れる共通乱数選択手段により全てのサーバに共通な乱数
gを選ぶ。続いて、ステップS17において、各サーバ
iは、この通知された乱数gにより、 vpi=gpi mod N を計算し各サーバに送信する。
【0055】 これにより、ステップS19において、
それぞれ計算手段により各サーバiは、 vp=Πi=1,2,・・・,kvpi modN を計算する。さらに、サーバ1は u1=gN modN を計算し、以下、同様にサーバi(i=2,・・・,k
−1)は ui=vp pi+qi modN を計算し、サーバkは uk=vp pk+qk―1 modN を計算する。
それぞれ計算手段により各サーバiは、 vp=Πi=1,2,・・・,kvpi modN を計算する。さらに、サーバ1は u1=gN modN を計算し、以下、同様にサーバi(i=2,・・・,k
−1)は ui=vp pi+qi modN を計算し、サーバkは uk=vp pk+qk―1 modN を計算する。
【0056】さらにステップS21で、素数判定手段
は、 u1 =uk Πi=2,…,k-1ui mod N が成り立つかどうか検証する。もし成立しない場合は、
Nは2個の素数の積(N=P2 Q)ではないと判定する
(ステップS23)。
は、 u1 =uk Πi=2,…,k-1ui mod N が成り立つかどうか検証する。もし成立しない場合は、
Nは2個の素数の積(N=P2 Q)ではないと判定する
(ステップS23)。
【0057】 ステップS25乃至ステップS33での
処理について説明する。ここでの計算は、環TN=(Z
N[x]/(x2+1))/ZN演算とする。
処理について説明する。ここでの計算は、環TN=(Z
N[x]/(x2+1))/ZN演算とする。
【0058】まず、ステップS25において、共通乱数
選択手段はk個、全てのサーバに共通な乱数hを選ぶ。
各サーバiは、ステップS27で、 rpi=hpi を計算し各サーバiに送信する。
選択手段はk個、全てのサーバに共通な乱数hを選ぶ。
各サーバiは、ステップS27で、 rpi=hpi を計算し各サーバiに送信する。
【0059】 各サーバiの計算手段は、ステップS2
9において、各サーバiは rp=Πi=1,2,…,krpi modN を計算する。サーバ1は s1=hN を計算し、同様にサーバi(i=2,・・・,k−1)
は si=rp ―pi―qi を計算し、サーバkは sk=rp ―pk―qk―1 を計算する。
9において、各サーバiは rp=Πi=1,2,…,krpi modN を計算する。サーバ1は s1=hN を計算し、同様にサーバi(i=2,・・・,k−1)
は si=rp ―pi―qi を計算し、サーバkは sk=rp ―pk―qk―1 を計算する。
【0060】さらに、素数判定手段はステップS31
で、 s1 =sk Πi=2,…,k-1si が成り立つかどうかを検証する。もし成立しない場合に
は、Nは2個の素数の積(N=P2 Q)ではないと判定
する(ステップS33)。
で、 s1 =sk Πi=2,…,k-1si が成り立つかどうかを検証する。もし成立しない場合に
は、Nは2個の素数の積(N=P2 Q)ではないと判定
する(ステップS33)。
【0061】以上のテストにパスした場合(ステップS
35)、理論的に1/2以上の確率でNは2個の素数の
積と判定できる。このテストを複数回実施することによ
り高い確率でNは2個の素数の積と判定できる。また、
文献「R.Rivest, "Finding four million large random
primes," Advances in Cryptology -- Crypto'90,LNCS
537,pp.625-626 (1991)」 によると、512ビット以上
の数N=P2 Qに対してはステップS15乃至ステップ
S23(またはステップS25乃至ステップS33)の
テストを一回実施すれば、ほぼ1の確率でP,Qは素数
と判定可能である。
35)、理論的に1/2以上の確率でNは2個の素数の
積と判定できる。このテストを複数回実施することによ
り高い確率でNは2個の素数の積と判定できる。また、
文献「R.Rivest, "Finding four million large random
primes," Advances in Cryptology -- Crypto'90,LNCS
537,pp.625-626 (1991)」 によると、512ビット以上
の数N=P2 Qに対してはステップS15乃至ステップ
S23(またはステップS25乃至ステップS33)の
テストを一回実施すれば、ほぼ1の確率でP,Qは素数
と判定可能である。
【0062】従って、ステップS15乃至ステップS2
3の処理、またはステップS25乃至ステップS33の
処理のいずれかの処理を実行すればP,Qを素数と判定
することが略可能であることから、いずれかの処理のみ
を行うようにすれば、さらに分散鍵の生成を高速におこ
なうことが可能となる。
3の処理、またはステップS25乃至ステップS33の
処理のいずれかの処理を実行すればP,Qを素数と判定
することが略可能であることから、いずれかの処理のみ
を行うようにすれば、さらに分散鍵の生成を高速におこ
なうことが可能となる。
【0063】次に、図3を参照して暗号化復号化鍵生成
方式について説明する。
方式について説明する。
【0064】ただし、
ed=eΣi=1,2,…,kdi =1 mod γ(N)
γ(N)=P(P−1)(Q−1)
とする。
【0065】まず、ステップS41で、大きな素数Rを
設定する。次に、ステップS43で、各サーバiは、こ
の素数Rに対してBGWプロトコルを用いて、γ(N)
のシェアγi (N)、つまり γ(N)=Σi=1,2,…,kγi (N)−sR を満たすγi (N)を生成する(但し、s=0,1,
2,…,k−1)。
設定する。次に、ステップS43で、各サーバiは、こ
の素数Rに対してBGWプロトコルを用いて、γ(N)
のシェアγi (N)、つまり γ(N)=Σi=1,2,…,kγi (N)−sR を満たすγi (N)を生成する(但し、s=0,1,
2,…,k−1)。
【0066】次に、ステップS45で、小さな値の乱数
eを選択する。続いて、ステップS47で、各サーバi
はγi (N)mod eの値を他のサーバに送信するこ
とにより、 δe,s =1/(γ(N)−sR)mod e di,s =[(−δe,s γi (N))/e] を計算する(s=0,1,2,…,k−1)。
eを選択する。続いて、ステップS47で、各サーバi
はγi (N)mod eの値を他のサーバに送信するこ
とにより、 δe,s =1/(γ(N)−sR)mod e di,s =[(−δe,s γi (N))/e] を計算する(s=0,1,2,…,k−1)。
【0067】さらに、ステップS49において、真の復
号鍵(第2の秘密鍵)をdとするとき、 d=Σi=1,2,…,kdi,s +r mod γ(N) を満たす、あるメッセージMにより、 1=Med mod N が成立するs,rを決定する。
号鍵(第2の秘密鍵)をdとするとき、 d=Σi=1,2,…,kdi,s +r mod γ(N) を満たす、あるメッセージMにより、 1=Med mod N が成立するs,rを決定する。
【0068】次に、分散デジタル署名装置について説明
する。
する。
【0069】署名、検証において、RSA暗号との差分
は、分散鍵diを使って Si=Mdi mod n(Mは平文) を一度計算して、その後にS1,S2,S3及びmod
nと掛け合わせたものが真の署名となることである。
は、分散鍵diを使って Si=Mdi mod n(Mは平文) を一度計算して、その後にS1,S2,S3及びmod
nと掛け合わせたものが真の署名となることである。
【0070】まず、署名生成は、各サーバがそれぞれメ
ッセージMに対して、 Si =Mdi mod N により署名を行うことで分散署名が成される。
ッセージMに対して、 Si =Mdi mod N により署名を行うことで分散署名が成される。
【0071】また、真の署名Sは、
S=Πi=1,2,…,kSi mod N
により生成される。
【0072】この署名についての検証は、
Se =M mod N
により行われる。
【0073】上述してきたP2 Qを用いた分散鍵生成方
式の有効性を示すためにソフトウェアにより実装を行っ
た。
式の有効性を示すためにソフトウェアにより実装を行っ
た。
【0074】同じ計算機環境で、同じビット長の鍵生成
に対して Boneh-Franklin 方式との比較を行った。同じ
環境で実装した結果、復号化アルゴリズムがRSA暗号
より高速となった。数値結果を次の表に示す。
に対して Boneh-Franklin 方式との比較を行った。同じ
環境で実装した結果、復号化アルゴリズムがRSA暗号
より高速となった。数値結果を次の表に示す。
【0075】
【表1】
このように従来の Boneh-Franklin の分散鍵生成法を利
用して鍵生成を行った場合には非常に多くの計算量を必
要とし、時間を要したのに対し、本実施形態における分
散鍵生成法は、処理を高速で行うことができ、非常に効
率的であることは明らかである。
用して鍵生成を行った場合には非常に多くの計算量を必
要とし、時間を要したのに対し、本実施形態における分
散鍵生成法は、処理を高速で行うことができ、非常に効
率的であることは明らかである。
【0076】
【発明の効果】以上説明したように、本願発明によれ
ば、分散鍵生成法を利用して鍵生成を行う場合に、処理
を高速で行うことができ、非常に効率的である。また、
分散された各暗号鍵生成手段では、自ら生成した分散鍵
部分のみ以外知り得ず、たとえば他の暗号鍵生成手段で
生成された分散鍵部分及び暗号鍵そのものを知ることは
できないことから安全性の強度に優れたものとなる。
ば、分散鍵生成法を利用して鍵生成を行う場合に、処理
を高速で行うことができ、非常に効率的である。また、
分散された各暗号鍵生成手段では、自ら生成した分散鍵
部分のみ以外知り得ず、たとえば他の暗号鍵生成手段で
生成された分散鍵部分及び暗号鍵そのものを知ることは
できないことから安全性の強度に優れたものとなる。
【図1】本発明の基本的な概念を示すブロック図であ
る。
る。
【図2】本発明に係る分散鍵生成の処理手順を概略的に
示すフローチャートである。
示すフローチャートである。
【図3】暗号化復号化鍵生成の処理手順を概略的に示す
フローチャートである。
フローチャートである。
─────────────────────────────────────────────────────
フロントページの続き
(54)【発明の名称】 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵
分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り
可能な記録媒体
Claims (10)
- 【請求項1】 任意の通信手段で相互に接続され、公開
鍵暗号方式の暗号鍵を生成する暗号鍵生成手段をそれぞ
れ有する複数のサーバi(i=1,2,・・・,k)が
分散して暗号鍵を生成する暗号鍵分散生成方法であっ
て、 第1の公開鍵nと第2の公開鍵eとを用いて、平文Mか
ら暗号文C=Me(modn)を得るに際して、 各サーバiが2個の乱数piおよびqiを自らの持つ秘
密情報である第1の分散秘密鍵としてそれぞれ生成する
ステップと、 各サーバが自らの持つ秘密情報を他のサーバに漏らすこ
となく全てのサーバで共有する計算ができるBGWプロ
トコルを用いて前記第1の公開鍵nの候補であるN=
(Σi=1,2,…,kpi)2(Σ
i=1,2,…,kqi)を生成するステップとを行う
ことを特徴とする暗号鍵分散生成方法。 - 【請求項2】 請求項1記載の暗号鍵分散生成方法であ
って、 前記第1の公開鍵nの候補であるNを生成するステップ
に続いて、さらに、 前記各サーバiが、全てのサーバに共通な乱数gを用い
てvpi=gpi modNをそれぞれ計算し、この計
算した値を他のサーバに送信するステップと、 前記各サーバiがvp=Πi=1,2,…,kvpi
modNをそれぞれ計算するステップと、 サーバ1がu1=gN modN、サーバi(ここでi
=2,・・・,k−1)がui=vp pi+qimod
N、サーバkがuk=vp pk+qk―1 modNを
それぞれ計算して相互に配布するステップと、 このステップでの計算値がu1=ukΠ
i=2,…,k―1ui modNを満たすかどうかを
前記各サーバiが検証し、この式が成り立つ場合には、
Σi=1,2,…,kpiおよびΣi=1,2,…,k
qiが素数であると判定するステップとを行うことを特
徴とする暗号鍵分散生成方法。 - 【請求項3】 請求項2記載の暗号鍵分散生成方法であ
って、 前記Σi=1,2,…,kpiおよび前記Σ
i=1,2,…,kqiが素数であるとき、これらの素
数Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiを用いてγ(N)=(Σ
i=1,2,…,kpi){(Σi=1,2,…,kp
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、 前記各サーバiが、設定される素数Rに対して前記BG
Wプロトコルを用いて、γ(N)=Σ
i=1,2,…,kγi(N)−sR(ここで、s=
0,1,2,…,k−1)を満たすγi(N)を生成す
るステップと、 第2の公開鍵として選択されるeを用いて前記各サーバ
iがγi(N)modeの値を他のサーバにそれぞれ送
信するステップと、 前記各サーバiが、δe,s=1/(γ(N)−sR)
mode、およびdi,s =[(−δe,sγ
i(N))/e](但し、s=0,1,2,…,k−
1)をそれぞれ計算するステップと、 前記各サーバiが、真の復号鍵である第2の秘密鍵をd
(ここでdは、ed=1 modγ(N)を満たす)と
するとき、このdが満たす関係式d=Σ
i=1,2,…,kdi,s+r modγ(N)と、
あるメッセージMにより、1=Med modNが成立
するs,rを決定することにより、第2の分散秘密鍵d
iをそれぞれ生成するステップとを行うことを特徴とす
る暗号鍵分散生成方法。 - 【請求項4】 請求項3記載の暗号鍵分散生成方法によ
って生成された第1の公開鍵N、第2の公開鍵e、およ
び第2の分散秘密鍵diを用いて署名を行い、かつ当該
署名の検証を行う署名生成・検証方法であって、 任意の通信手段で相互に接続される複数のサーバi(i
=1,2,・・・,k)が前記第1の公開鍵Nおよび自
らの前記第2の分散秘密鍵diを用いてメッセージMに
対してそれぞれ行う分散署名Si=Mdi modNを
用いて、真の署名S=Πi=1,2,…,kSi mo
dNを生成し、 この署名についての検証をSe=M modNにより行
うことを特徴とする署名生成・検証方法。 - 【請求項5】 任意の通信手段で相互に接続される複数
のサーバi(i=1,2,・・・,k)から構成され、
公開鍵暗号方式の暗号鍵を分散して生成する暗号鍵分散
生成装置であって、 第1の公開鍵nと第2の公開鍵eとを用いて、平文Mか
ら暗号文C=Me(mod n)を得るに際して、 サーバiごとに2個の乱数piおよびqiを自らの持つ
秘密情報である第1の分散秘密鍵として生成する乱数生
成手段と、 各サーバが自らの持つ秘密情報を他のサーバに漏らすこ
となく全てのサーバで共有する計算ができるBGWプロ
トコルを用いて前記第1の公開鍵nの候補であるN=
(Σi=1,2,…,kpi)2(Σ
i=1,2,…,kqi)を生成する公開鍵候補生成手
段とを有することを特徴とする暗号鍵分散生成装置。 - 【請求項6】 請求項5記載の暗号鍵分散生成装置であ
って、 全てのサーバに共通な乱数gを選択する共通乱数選択手
段と、 この共通乱数選択手段で選択した乱数g、および前記第
1の公開鍵nの候補であるNを用いて、各サーバi(こ
こでi=1,2,・・・,k)でvpi=gpi mo
d Nを計算し、この計算したvpiを他のサーバに送
信する手段と、 サーバ1でvp=Πi=1,2,…,kvpi mod
Nを計算し、このvpを用いてu1=gN modNを
計算するサーバ1の計算手段と、 サーバi(ここでi=2,・・・,k−1)でvp=Π
i=1,2,…,kvpi modNを計算し、このv
pを用いてui=vp pi+qi modNをそれぞれ
計算するサーバi(i=2,・・・,k−1)の計算手
段と、 サーバkでvp=Πi=1,2,…,kvpi mod
Nを計算し、このvpを用いてuk=vp
pk+qk―1 modNを計算するサーバkの計算手
段と、 各サーバの計算手段で計算したu1,u2,・・・,u
kを相互に配布する手段と、 u1=ukΠi=2,…,k―1ui modNを満た
すかどうかを検証し、この式が成り立つ場合には、Σ
i=1,2,…,kpiおよびΣi=1,2,…,kq
iが素数であると判定する素数判定手段とをさらに有す
ることを特徴とする暗号鍵分散生成装置。 - 【請求項7】 請求項6記載の暗号鍵分散生成装置であ
って、 前記素数判定手段が前記Σi=1,2,…,kpiおよ
び前記Σi=1,2,…,kqiが素数であると判定し
たとき、これらのΣi=1,2,…,kpiおよびΣ
i=1,2,…,kqiを用いてγ(N)=(Σ
i=1,2,…,kpi){(Σi=1,2,…,kp
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、 設定される素数Rに対して前記BGWプロトコルを用い
て、γ(N)=Σi=1,2,…,kγi(N)−sR
(ここで、s=0,1,2,…,k−1)を満たすγi
(N)をサーバi(ここでi=1,2,・・・,k)で
それぞれ生成するサーバiの生成手段と、 乱数eを第2の公開鍵として選択する乱数選択手段と、 前記サーバiの生成手段でそれぞれ生成したγi(N)
および前記乱数選択手段で選択したeを用いてδe,s
=1/(γ(N)−sR) mode、およびdi,s
=[(−δe,sγi(N))/e](但し、s=
0,1,2,…,k−1)をそれぞれ計算するサーバi
の計算手段と、 真の復号鍵である第2の秘密鍵をd(ここでdは、ed
=1 modγ(N)を満たす)とするとき、d=Σ
i=1,2,…,kdi,s+r modγ(N)と、
あるメッセージMにより、1=Med modNが成立
するs,rを決定することによって第2の分散秘密鍵d
iをそれぞれ生成するサーバiの秘密鍵生成手段とをさ
らに有することを特徴とする暗号鍵分散生成装置。 - 【請求項8】 請求項7記載の暗号鍵分散生成装置によ
って生成される第1の公開鍵N、第2の公開鍵e、およ
び第2の分散秘密鍵diを用いて署名を行い、かつ当該
署名の検証を行う署名生成・検証装置であって、 任意の通信手段で相互に接続される複数のサーバi(i
=1,2,・・・,k)が前記第1の公開鍵Nおよび自
らの前記第2の分散秘密鍵diを用いてメッセージMに
対して行う分散署名Si=Mdi modNを用いて、
真の署名S=Πi=1,2,…,kSi modNを生
成する署名手段と、 この署名手段で生成した署名についての検証をSe=M
modNにより行う署名検証手段とを有することを特
徴とする署名生成・検証装置。 - 【請求項9】 請求項1乃至3のいずれか1項に記載し
た暗号鍵分散生成方法をコンピュータに実行させるため
の暗号鍵分散生成プログラムを記録したコンピュータ読
み取り可能な記録媒体。 - 【請求項10】 請求項4に記載した署名生成・検証方
法をコンピュータに実行させるための署名生成・検証プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP37584799A JP3479015B2 (ja) | 1999-12-28 | 1999-12-28 | 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP37584799A JP3479015B2 (ja) | 1999-12-28 | 1999-12-28 | 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001189719A JP2001189719A (ja) | 2001-07-10 |
| JP3479015B2 true JP3479015B2 (ja) | 2003-12-15 |
Family
ID=18506157
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP37584799A Expired - Fee Related JP3479015B2 (ja) | 1999-12-28 | 1999-12-28 | 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3479015B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8793485B2 (en) * | 2011-12-15 | 2014-07-29 | Texas Instruments Incorporated | Combined digital certificate |
| CN104919752B (zh) | 2013-01-17 | 2018-04-27 | 日本电信电话株式会社 | 分割保管装置、秘密密钥分割保管方法 |
-
1999
- 1999-12-28 JP JP37584799A patent/JP3479015B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001189719A (ja) | 2001-07-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Harn | Public-key cryptosystem design based on factoring and discrete logarithms | |
| US8429408B2 (en) | Masking the output of random number generators in key generation protocols | |
| Hwang et al. | An ElGamal-like cryptosystem for enciphering large messages | |
| EP0946018B1 (en) | Scheme for fast realization of a decryption or an authentication | |
| US7221758B2 (en) | Practical non-malleable public-key cryptosystem | |
| CN104301108B (zh) | 一种从基于身份环境到无证书环境的签密方法 | |
| US7248692B2 (en) | Method of and apparatus for determining a key pair and for generating RSA keys | |
| CN111262709B (zh) | 基于陷门哈希函数的无证书签密系统及方法 | |
| Rangasami et al. | Comparative study of homomorphic encryption methods for secured data operations in cloud computing | |
| CN100452695C (zh) | 椭圆曲线加密解密方法和装置 | |
| JP4563037B2 (ja) | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 | |
| CA2742530C (en) | Masking the output of random number generators in key generation protocols | |
| KR20030047148A (ko) | Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법 | |
| JP3479015B2 (ja) | 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 | |
| CN111447064A (zh) | 一种适用于无证书加密的密码逆向防火墙方法 | |
| JP4146252B2 (ja) | 不正者特定可能な匿名通信方法、それに使用される利用者装置、及び中継サーバ装置 | |
| JP3074164B2 (ja) | 排他的鍵共有法 | |
| JPH11168459A (ja) | 同報暗号通信における暗復号化鍵の配送方法 | |
| JP2000132095A (ja) | 暗号化方法、復号化方法、認証方法、暗号化装置、復号化装置、認証装置、認証文送信者装置、認証文受信者装置、暗号通信システム及び認証システム | |
| JPH10282881A (ja) | 秘密鍵分散管理方法 | |
| JPH11215114A (ja) | 暗号鍵更新方法及び装置及び暗号鍵更新プログラムを記録した記録媒体 | |
| JPH0856219A (ja) | 暗号通信システム | |
| JP4230162B2 (ja) | 公開鍵暗号通信方法 | |
| Gunnala et al. | An Attribute Involved Public Key Cryptosystem Based on P-Sylow Subgroups and Randomization. | |
| JP2002215019A (ja) | 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081003 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091003 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101003 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |