Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3479015B2 - 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 - Google Patents
[go: Go Back, main page]

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
Application number
JP37584799A
Other languages
English (en)
Other versions
JP2001189719A (ja
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP37584799A priority Critical patent/JP3479015B2/ja
Publication of JP2001189719A publication Critical patent/JP2001189719A/ja
Application granted granted Critical
Publication of JP3479015B2 publication Critical patent/JP3479015B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタルTV・衛
星放送におけるペイ・パー・ビュー(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) 」に示されている。
【0004】このRSA暗号方式などの公開鍵暗号方式
は、公開された情報である公開鍵から秘密鍵を得ること
が計算量的に困難であることに安全性の根拠を置いてお
り、そのため公開鍵のサイズを大きく取れば、それだけ
安全強度が増すことになる。一方、安全の強化という点
では、秘密鍵を安全に保管することが重要な問題であ
る。これに対して、一つの鍵を一個所で保管するのでは
なく、一つの鍵を複数に分割し、その鍵の分割した部分
情報からはオリジナルの鍵を求めることができない秘密
分散方式が文献「A.Shamir ;“How to share a secret
”, Comm.Of the ACM,Vol.22,1979,pp.612-613」に示
されている。
【0005】この秘密分散方式を、RSA暗号の秘密鍵
管理に用いた方式は、多くの認証局CAに用いられてい
る。
【0006】ここで、RSA暗号のオリジナルの鍵dか
ら分散鍵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 法と呼ぶ)。
【0008】しかし、 Boneh-Franklin 法は一つの鍵を
生成するのに、非常に多くの計算量を必要とし非効率で
ある。ある実験によると、各分散暗号鍵生成手段間で
1.5分の時間と約1メガバイトの通信量が必要であっ
た。
【0009】
【発明が解決しようとする課題】上述したように、従来
の Boneh-Franklin の分散鍵生成法を利用した場合には
非常に多くの計算量を必要とし、通信を介した場合には
非常に非効率であるというような欠点があった。
【0010】本発明は、上記課題に鑑みてなされたもの
で、 Boneh-Franklin の分散鍵生成法と比較しても処理
が高速である暗号鍵分散生成方法および装置と暗号鍵分
散生成プログラムを記録した記録媒体を提供することを
目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、任意の通信手段で相互に接
続され、公開鍵暗号方式の暗号鍵を生成する暗号鍵生成
手段をそれぞれ有する複数のサーバi(i=1,2,・
・・,k)が分散して暗号鍵を生成する暗号鍵分散生成
方法であって、第1の公開鍵nと第2の公開鍵eとを用
いて、平文Mから暗号文C=M(modn)を得るに
際して、各サーバiが2個の乱数piおよびqiを自ら
の持つ秘密情報である第1の分散秘密鍵としてそれぞれ
生成するステップと、各サーバが自らの持つ秘密情報を
他のサーバに漏らすことなく全てのサーバで共有する計
算ができるBGWプロトコルを用いて前記第1の公開鍵
nの候補であるN=(Σi=1,2,…,kpi)
(Σi=1,2,…,kqi)を生成するステップと
を行うことを特徴とする。
【0012】 請求項1記載の発明にあっては、BGW
プロトコルを用いることによって、本願発明者らが既に
提案しているpq暗号の鍵の候補を分散生成すること
が可能となり、これによりN=PQの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
【0013】 請求項2記載の発明は、請求項1記載の
暗号鍵分散生成方法であって、前記第1の公開鍵nの候
補であるNを生成するステップに続いて、さらに、前記
各サーバiが、全てのサーバに共通な乱数gを用いてv
pi=gpi modNをそれぞれ計算し、この計算し
た値を他のサーバに送信するステップと、前記各サーバ
iがv=Πi=1,2,…,kpi modNをそ
れぞれ計算するステップと、サーバ1がu=g
odN、サーバi(ここでi=2,・・・,k−1)が
=v pi+qimodN、サーバkがu=v
pk+qk―1 modNをそれぞれ計算して相互に配
布するステップと、このステップでの計算値がu=u
Πi=2,…,k―1 modNを満たすかどう
かを前記各サーバiが検証し、この式が成り立つ場合に
は、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが素数であると判定するステッ
プとを行うことを特徴とする。
【0014】 請求項2記載の発明によれば、例えば請
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのPQであるか、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,…,k
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、前記各サーバiが、設定される素数Rに対して前記
BGWプロトコルを用いて、γ(N)=Σ
i=1,2,…,kγ(N)−sR(ここで、s=
0,1,2,…,k−1)を満たすγ(N)を生成す
るステップと、第2の公開鍵として選択されるeを用い
て前記各サーバiがγ(N)modeの値を他のサー
バにそれぞれ送信するステップと、前記各サーバiが、
δe,s=1/(γ(N)−sR) mode、および
i,s =[(−δe,sγ(N))/e](但
し、s=0,1,2,…,k−1)をそれぞれ計算する
ステップと、前記各サーバiが、真の復号鍵である第2
の秘密鍵をd(ここでdは、ed=1 modγ(N)
を満たす)とするとき、このdが満たす関係式d=Σ
i=1,2,…,ki,s+r modγ(N)と、
あるメッセージMにより、1=Med modNが成立
するs,rを決定することにより、第2の分散秘密鍵d
をそれぞれ生成するステップとを行うことを特徴とす
る。
【0016】 請求項3記載の発明によれば、N(=P
Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは自らの第2の分散秘密鍵d
(1≦i≦k)のみの値しか知り得ない。
【0017】 請求項4記載の発明は、請求項3記載の
暗号鍵分散生成方法によって生成された第1の公開鍵
N、第2の公開鍵e、および第2の分散秘密鍵dを用
いて署名を行い、かつ当該署名の検証を行う署名生成・
検証方法であって、任意の通信手段で相互に接続される
複数のサーバi(i=1,2,・・・,k)が前記第1
の公開鍵Nおよび自らの前記第2の分散秘密鍵dを用
いてメッセージMに対してそれぞれ行う分散署名S
di modNを用いて、真の署名S=Π
i=1,2,…,k modNを生成し、この署名
についての検証をS=M modNにより行うことを
特徴とする。
【0018】 請求項4記載の発明によれば、誰も第2
の秘密鍵dを知らないにも拘らず、dのみの部分認証
を収集することにより全体認証が実現できる。
【0019】 請求項5記載の発明は、任意の通信手段
で相互に接続される複数のサーバi(i=1,2,・・
・,k)から構成され、公開鍵暗号方式の暗号鍵を分散
して生成する暗号鍵分散生成装置であって、第1の公開
鍵nと第2の公開鍵eとを用いて、平文Mから暗号文C
=M(mod n)を得るに際して、サーバiごとに
2個の乱数piおよびqiを自らの持つ秘密情報である
第1の分散秘密鍵として生成する乱数生成手段と、各サ
ーバが自らの持つ秘密情報を他のサーバに漏らすことな
く全てのサーバで共有する計算ができるBGWプロトコ
ルを用いて前記第1の公開鍵nの候補であるN=(Σ
i=1,2,…,kpi)(Σi=1,2,…,k
i)を生成する公開鍵候補生成手段とを有することを特
徴とする。
【0020】 請求項5記載の発明にあっては、BGW
プロトコルを用いることによって、本願発明者らが既に
提案しているpq暗号の鍵の候補を分散生成すること
が可能となり、これによりN=PQの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
【0021】 請求項6記載の発明は、請求項5記載の
暗号鍵分散生成装置であって、全てのサーバに共通な乱
数gを選択する共通乱数選択手段と、この共通乱数選択
手段で選択した乱数g、および前記第1の公開鍵nの候
補であるNを用いて、各サーバi(ここでi=1,2,
・・・,k)でvpi=gpi mod Nを計算し、
この計算したvpiを他のサーバに送信する手段と、サ
ーバ1でv=Πi=1,2,…,kpi modN
を計算し、このvを用いてu=g modNを計
算するサーバ1の計算手段と、サーバi(ここでi=
2,・・・,k−1)でv=Πi=1,2,…,k
pi modNを計算し、このvを用いてu=v
pi+qi modNをそれぞれ計算するサーバi(i
=2,・・・,k−1)の計算手段と、サーバkでv
=Πi=1,2,…,kpi modNを計算し、こ
のvを用いてu=v pk+qk―1 modNを
計算するサーバkの計算手段と、各サーバの計算手段で
計算したu,u,・・・,uを相互に配布する手
段と、u=uΠi=2,…,k―1 modN
を満たすかどうかを検証し、この式が成り立つ場合に
は、Σi=1,2,…,kpiおよびΣ
i=1,2,…,kqiが素数であると判定する素数判
定手段とをさらに有することを特徴とする。
【0022】 請求項6記載の発明によれば、例えば請
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのPQであるか、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,…,k
i)−1}{(Σi=1,2,…,kqi)−1}とし
て、設定される素数Rに対して前記BGWプロトコルを
用いて、γ(N)=Σi=1,2,…,kγ(N)−
sR(ここで、s=0,1,2,…,k−1)を満たす
γ(N)をサーバi(ここでi=1,2,・・・,
k)でそれぞれ生成するサーバiの生成手段と、乱数e
を第2の公開鍵として選択する乱数選択手段と、前記サ
ーバiの生成手段でそれぞれ生成したγ(N)および
前記乱数選択手段で選択したeを用いてδe,s=1/
(γ(N)−sR) mode、およびdi,s
[(−δe,sγ(N))/e](但し、s=0,
1,2,…,k−1)をそれぞれ計算するサーバiの計
算手段と、真の復号鍵である第2の秘密鍵をd(ここで
dは、ed=1 modγ(N)を満たす)とすると
き、d=Σi=1,2,…,ki,s+r modγ
(N)と、あるメッセージMにより、1=Med mo
dNが成立するs,rを決定することによって第2の分
散秘密鍵dをそれぞれ生成するサーバiの秘密鍵生成
手段とをさらに有することを特徴とする。
【0024】 請求項7記載の発明によれば、N(=P
Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは分散された自らの第2の分散秘
密鍵d(1≦i≦k)のみの値しか知り得ない。
【0025】 請求項8記載の発明は、請求項7記載の
暗号鍵分散生成装置によって生成される第1の公開鍵
N、第2の公開鍵e、および第2の分散秘密鍵dを用
いて署名を行い、かつ当該署名の検証を行う署名生成・
検証装置であって、任意の通信手段で相互に接続される
複数のサーバi(i=1,2,・・・,k)が前記第1
の公開鍵Nおよび自らの前記第2の分散秘密鍵dを用
いてメッセージMに対して行う分散署名S=Mdi
modNを用いて、真の署名S=Πi=1,2,…,k
modNを生成する署名手段と、この署名手段で
生成した署名についての検証をS=M modNによ
り行う署名検証手段とを有することを特徴とする。
【0026】 請求項8記載の発明によれば、誰も第2
の秘密鍵dを知らないにも拘らず、dのみの部分認証
を収集することにより全体認証が実現できる。
【0027】 請求項9記載の発明は、請求項1乃至3
のいずれか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台とするが、特に台数は限定
されない。なおサーバの台数が増加するだけ、暗号鍵が
分散されることから、暗号の強度は増すものの、分散数
の増加に伴い暗号解読の時間も増加することから、その
通信内容(重要度、データ量)に応じて適宜、サーバ及
びサーバの台数を選択すると良い。
【0043】 なお、ここでは2個の素数p,qをk個
のサーバi(i=1,2,…,k)に分散したpi,q
i(但し、p=Σpi,q=Σqi)を第1の分散秘密
鍵として、pqを第1の公開鍵nと設定し、ed=1
mod L(ただしL=p(p−1)(q−1))を満
たすeを第2の公開鍵と設定すると共に、dをサーバi
に分散したd(ただしd=Σd)を第2の分散秘密
鍵と設定することにより暗号鍵を生成するk個の暗号鍵
生成手段を有し、この暗号鍵生成手段により生成された
前記第1の公開鍵nと第2の公開鍵eとを用いて、平文
Mから、C=M(mod n)に従い暗号文Cを得る
ものとする。
【0044】図1に示すサーバ1、サーバ2、サーバ3
は、それぞれ相互に任意の通信手段で接続され、各サー
バi(但し、i=1,2,3)には管理者がそれぞれい
るものとする。
【0045】まず、各サーバiで乱数pi,qiがそれ
ぞれ生成され、それぞれの管理者により秘密にして保
管、管理される。つまりサーバ1ではp1,q1が、サ
ーバ2ではp2,q2が、サーバ3ではp3,q3が生
成される。
【0046】次に、サーバ(管理者)間でBGWプロト
コル及び素数テストを行うことによって鍵を生成する。
【0047】 ここで、BGWプロトコルについて簡単
に説明する。BGWプロトコルは、例えば、サーバ1が
(p1,q1)、サーバ2が(p2,q2)、サーバ3
が(p3,q3)をそれぞれを秘密情報として持ってい
るとき、 n=pq(ここでp=p1+p2+p3,q=q1+q2+q3) を、各サーバ秘密情報である(pi,qi)を、他のサ
ーバに漏らすことなく、計算できるというプロトコルで
ある。
【0048】 このようなBGWプロトコルを用いるこ
とにより、 n=pq=(p1+p2+p3)(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は、 gp1p2p3 modnにより、 v=g modn を共有する。
【0050】 さらに、サーバ1はv p1+q1
odn 、サーバ2はv p2+q2 modn、およ
びサーバ3はv p3+q3―1 modnを計算し
て、相互に配布し、 g{p(p―1)(q―1)}=1 modn が成立するか否かを確認する。同様の方法を用いて環T
で分散素数テストの後半を行う。この式の成立が確認
され、pとqがそれぞれ素数であることが確認されたな
らp1、p2、p3、q1、q2、q3を分散鍵として
用いることが可能であり、これにより鍵が生成されたこ
とになる。
【0051】次に、図2を参照して分散鍵の生成方法、
及び素数判定について詳細に説明する。ここではp2
を対象とし、サーバは暗号鍵生成手段を含むものであ
り、サーバの数は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) を生成する。
【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.」に書かれた分散篩法および小さな素数により繰り返
し割り算を行う。
【0054】ステップS15では、各サーバiに設けら
れる共通乱数選択手段により全てのサーバに共通な乱数
gを選ぶ。続いて、ステップS17において、各サーバ
iは、この通知された乱数gにより、 vpi=gpi mod N を計算し各サーバに送信する。
【0055】 これにより、ステップS19において、
それぞれ計算手段により各サーバiは、 v=Πi=1,2,・・・,kpi modN を計算する。さらに、サーバ1は u=g modN を計算し、以下、同様にサーバi(i=2,・・・,k
−1)は u=v pi+qi modN を計算し、サーバkは u=v pk+qk―1 modN を計算する。
【0056】さらにステップS21で、素数判定手段
は、 u1 =uk Πi=2,…,k-1i mod N が成り立つかどうか検証する。もし成立しない場合は、
Nは2個の素数の積(N=P2 Q)ではないと判定する
(ステップS23)。
【0057】 ステップS25乃至ステップS33での
処理について説明する。ここでの計算は、環T=(Z
[x]/(x+1))/Z演算とする。
【0058】まず、ステップS25において、共通乱数
選択手段はk個、全てのサーバに共通な乱数hを選ぶ。
各サーバiは、ステップS27で、 rpi=hpi を計算し各サーバiに送信する。
【0059】 各サーバiの計算手段は、ステップS2
9において、各サーバiは r=Πi=1,2,…,kpi modN を計算する。サーバ1は s=h を計算し、同様にサーバi(i=2,・・・,k−1)
は s=r ―pi―qi を計算し、サーバkは s=r ―pk―qk―1 を計算する。
【0060】さらに、素数判定手段はステップS31
で、 s1 =sk Πi=2,…,k-1i が成り立つかどうかを検証する。もし成立しない場合に
は、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は素数
と判定可能である。
【0062】従って、ステップS15乃至ステップS2
3の処理、またはステップS25乃至ステップS33の
処理のいずれかの処理を実行すればP,Qを素数と判定
することが略可能であることから、いずれかの処理のみ
を行うようにすれば、さらに分散鍵の生成を高速におこ
なうことが可能となる。
【0063】次に、図3を参照して暗号化復号化鍵生成
方式について説明する。
【0064】ただし、 ed=eΣi=1,2,…,ki =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)。
【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)。
【0067】さらに、ステップS49において、真の復
号鍵(第2の秘密鍵)をdとするとき、 d=Σi=1,2,…,ki,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と掛け合わせたものが真の署名となることである。
【0070】まず、署名生成は、各サーバがそれぞれメ
ッセージMに対して、 Si =Mdi mod N により署名を行うことで分散署名が成される。
【0071】また、真の署名Sは、 S=Πi=1,2,…,ki mod N により生成される。
【0072】この署名についての検証は、 Se =M mod N により行われる。
【0073】上述してきたP2 Qを用いた分散鍵生成方
式の有効性を示すためにソフトウェアにより実装を行っ
た。
【0074】同じ計算機環境で、同じビット長の鍵生成
に対して Boneh-Franklin 方式との比較を行った。同じ
環境で実装した結果、復号化アルゴリズムがRSA暗号
より高速となった。数値結果を次の表に示す。
【0075】
【表1】 このように従来の Boneh-Franklin の分散鍵生成法を利
用して鍵生成を行った場合には非常に多くの計算量を必
要とし、時間を要したのに対し、本実施形態における分
散鍵生成法は、処理を高速で行うことができ、非常に効
率的であることは明らかである。
【0076】
【発明の効果】以上説明したように、本願発明によれ
ば、分散鍵生成法を利用して鍵生成を行う場合に、処理
を高速で行うことができ、非常に効率的である。また、
分散された各暗号鍵生成手段では、自ら生成した分散鍵
部分のみ以外知り得ず、たとえば他の暗号鍵生成手段で
生成された分散鍵部分及び暗号鍵そのものを知ることは
できないことから安全性の強度に優れたものとなる。
【図面の簡単な説明】
【図1】本発明の基本的な概念を示すブロック図であ
る。
【図2】本発明に係る分散鍵生成の処理手順を概略的に
示すフローチャートである。
【図3】暗号化復号化鍵生成の処理手順を概略的に示す
フローチャートである。
───────────────────────────────────────────────────── フロントページの続き (54)【発明の名称】 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵 分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り 可能な記録媒体

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 任意の通信手段で相互に接続され、公開
    鍵暗号方式の暗号鍵を生成する暗号鍵生成手段をそれぞ
    れ有する複数のサーバi(i=1,2,・・・,k)が
    分散して暗号鍵を生成する暗号鍵分散生成方法であっ
    て、 第1の公開鍵nと第2の公開鍵eとを用いて、平文Mか
    ら暗号文C=M(modn)を得るに際して、 各サーバiが2個の乱数piおよびqiを自らの持つ秘
    密情報である第1の分散秘密鍵としてそれぞれ生成する
    ステップと、 各サーバが自らの持つ秘密情報を他のサーバに漏らすこ
    となく全てのサーバで共有する計算ができるBGWプロ
    トコルを用いて前記第1の公開鍵nの候補であるN=
    (Σi=1,2,…,kpi)(Σ
    i=1,2,…,kqi)を生成するステップとを行う
    ことを特徴とする暗号鍵分散生成方法。
  2. 【請求項2】 請求項1記載の暗号鍵分散生成方法であ
    って、 前記第1の公開鍵nの候補であるNを生成するステップ
    に続いて、さらに、 前記各サーバiが、全てのサーバに共通な乱数gを用い
    てvpi=gpi modNをそれぞれ計算し、この計
    算した値を他のサーバに送信するステップと、 前記各サーバiがv=Πi=1,2,…,kpi
    modNをそれぞれ計算するステップと、 サーバ1がu=g modN、サーバi(ここでi
    =2,・・・,k−1)がu=v pi+qimod
    N、サーバkがu=v pk+qk―1 modNを
    それぞれ計算して相互に配布するステップと、 このステップでの計算値がu=uΠ
    i=2,…,k―1 modNを満たすかどうかを
    前記各サーバiが検証し、この式が成り立つ場合には、
    Σi=1,2,…,kpiおよびΣi=1,2,…,k
    qiが素数であると判定するステップとを行うことを特
    徴とする暗号鍵分散生成方法。
  3. 【請求項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,…,k
    i)−1}{(Σi=1,2,…,kqi)−1}とし
    て、 前記各サーバiが、設定される素数Rに対して前記BG
    Wプロトコルを用いて、γ(N)=Σ
    i=1,2,…,kγ(N)−sR(ここで、s=
    0,1,2,…,k−1)を満たすγ(N)を生成す
    るステップと、 第2の公開鍵として選択されるeを用いて前記各サーバ
    iがγ(N)modeの値を他のサーバにそれぞれ送
    信するステップと、 前記各サーバiが、δe,s=1/(γ(N)−sR)
    mode、およびdi,s =[(−δe,sγ
    (N))/e](但し、s=0,1,2,…,k−
    1)をそれぞれ計算するステップと、 前記各サーバiが、真の復号鍵である第2の秘密鍵をd
    (ここでdは、ed=1 modγ(N)を満たす)と
    するとき、このdが満たす関係式d=Σ
    i=1,2,…,ki,s+r modγ(N)と、
    あるメッセージMにより、1=Med modNが成立
    するs,rを決定することにより、第2の分散秘密鍵d
    をそれぞれ生成するステップとを行うことを特徴とす
    る暗号鍵分散生成方法。
  4. 【請求項4】 請求項3記載の暗号鍵分散生成方法によ
    って生成された第1の公開鍵N、第2の公開鍵e、およ
    び第2の分散秘密鍵dを用いて署名を行い、かつ当該
    署名の検証を行う署名生成・検証方法であって、 任意の通信手段で相互に接続される複数のサーバi(i
    =1,2,・・・,k)が前記第1の公開鍵Nおよび自
    らの前記第2の分散秘密鍵dを用いてメッセージMに
    対してそれぞれ行う分散署名S=Mdi modNを
    用いて、真の署名S=Πi=1,2,…,k mo
    dNを生成し、 この署名についての検証をS=M modNにより行
    うことを特徴とする署名生成・検証方法。
  5. 【請求項5】 任意の通信手段で相互に接続される複数
    のサーバi(i=1,2,・・・,k)から構成され、
    公開鍵暗号方式の暗号鍵を分散して生成する暗号鍵分散
    生成装置であって、 第1の公開鍵nと第2の公開鍵eとを用いて、平文Mか
    ら暗号文C=M(mod n)を得るに際して、 サーバiごとに2個の乱数piおよびqiを自らの持つ
    秘密情報である第1の分散秘密鍵として生成する乱数生
    成手段と、 各サーバが自らの持つ秘密情報を他のサーバに漏らすこ
    となく全てのサーバで共有する計算ができるBGWプロ
    トコルを用いて前記第1の公開鍵nの候補であるN=
    (Σi=1,2,…,kpi)(Σ
    i=1,2,…,kqi)を生成する公開鍵候補生成手
    段とを有することを特徴とする暗号鍵分散生成装置。
  6. 【請求項6】 請求項5記載の暗号鍵分散生成装置であ
    って、 全てのサーバに共通な乱数gを選択する共通乱数選択手
    段と、 この共通乱数選択手段で選択した乱数g、および前記第
    1の公開鍵nの候補であるNを用いて、各サーバi(こ
    こでi=1,2,・・・,k)でvpi=gpi mo
    d Nを計算し、この計算したvpiを他のサーバに送
    信する手段と、 サーバ1でv=Πi=1,2,…,kpi mod
    Nを計算し、このvを用いてu=g modNを
    計算するサーバ1の計算手段と、 サーバi(ここでi=2,・・・,k−1)でv=Π
    i=1,2,…,kpi modNを計算し、このv
    を用いてu=v pi+qi modNをそれぞれ
    計算するサーバi(i=2,・・・,k−1)の計算手
    段と、 サーバkでv=Πi=1,2,…,kpi mod
    Nを計算し、このvを用いてu=v
    pk+qk―1 modNを計算するサーバkの計算手
    段と、 各サーバの計算手段で計算したu,u,・・・,u
    を相互に配布する手段と、 u=uΠi=2,…,k―1 modNを満た
    すかどうかを検証し、この式が成り立つ場合には、Σ
    i=1,2,…,kpiおよびΣi=1,2,…,k
    iが素数であると判定する素数判定手段とをさらに有す
    ることを特徴とする暗号鍵分散生成装置。
  7. 【請求項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,…,k
    i)−1}{(Σi=1,2,…,kqi)−1}とし
    て、 設定される素数Rに対して前記BGWプロトコルを用い
    て、γ(N)=Σi=1,2,…,kγ(N)−sR
    (ここで、s=0,1,2,…,k−1)を満たすγ
    (N)をサーバi(ここでi=1,2,・・・,k)で
    それぞれ生成するサーバiの生成手段と、 乱数eを第2の公開鍵として選択する乱数選択手段と、 前記サーバiの生成手段でそれぞれ生成したγ(N)
    および前記乱数選択手段で選択したeを用いてδe,s
    =1/(γ(N)−sR) mode、およびdi,s
    =[(−δe,sγ(N))/e](但し、s=
    0,1,2,…,k−1)をそれぞれ計算するサーバi
    の計算手段と、 真の復号鍵である第2の秘密鍵をd(ここでdは、ed
    =1 modγ(N)を満たす)とするとき、d=Σ
    i=1,2,…,ki,s+r modγ(N)と、
    あるメッセージMにより、1=Med modNが成立
    するs,rを決定することによって第2の分散秘密鍵d
    をそれぞれ生成するサーバiの秘密鍵生成手段とをさ
    らに有することを特徴とする暗号鍵分散生成装置。
  8. 【請求項8】 請求項7記載の暗号鍵分散生成装置によ
    って生成される第1の公開鍵N、第2の公開鍵e、およ
    び第2の分散秘密鍵dを用いて署名を行い、かつ当該
    署名の検証を行う署名生成・検証装置であって、 任意の通信手段で相互に接続される複数のサーバi(i
    =1,2,・・・,k)が前記第1の公開鍵Nおよび自
    らの前記第2の分散秘密鍵dを用いてメッセージMに
    対して行う分散署名S=Mdi modNを用いて、
    真の署名S=Πi=1,2,…,k modNを生
    成する署名手段と、 この署名手段で生成した署名についての検証をS=M
    modNにより行う署名検証手段とを有することを特
    徴とする署名生成・検証装置。
  9. 【請求項9】 請求項1乃至3のいずれか1項に記載し
    た暗号鍵分散生成方法をコンピュータに実行させるため
    の暗号鍵分散生成プログラムを記録したコンピュータ読
    み取り可能な記録媒体。
  10. 【請求項10】 請求項4に記載した署名生成・検証方
    法をコンピュータに実行させるための署名生成・検証プ
    ログラムを記録したコンピュータ読み取り可能な記録媒
    体。
JP37584799A 1999-12-28 1999-12-28 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3479015B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 日本电信电话株式会社 分割保管装置、秘密密钥分割保管方法

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