JP3479015B2 - Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program - Google Patents

Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program

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
Japanese (ja)
Other versions
JP2001189719A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 filed Critical Nippon Telegraph and Telephone Corp
Priority to JP37584799A priority Critical patent/JP3479015B2/en
Publication of JP2001189719A publication Critical patent/JP2001189719A/en
Application granted granted Critical
Publication of JP3479015B2 publication Critical patent/JP3479015B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、デジタルTV・衛
星放送におけるペイ・パー・ビュー(pay per
view)システム・情報流通における鍵配送・電子メ
ール・電子決済等の通信におけるデータの暗号化を強力
なものとし得る暗号鍵分散生成方法および装置と暗号鍵
分散生成プログラムを記録した記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pay per view in digital TV / satellite broadcasting.
The present invention relates to a cryptographic key distribution generation method and device capable of making encryption of data in communication such as system / key distribution in information distribution, electronic mail, and electronic settlement strong, and a recording medium recording the cryptographic key distribution generation program.

【0002】[0002]

【従来の技術】近年、通信分野において、伝送される情
報の秘匿等の通信者間の秘密性を保護する技術として暗
号化技術が有効に働くことから、各種暗号化技術が提案
されている。これら暗号化技術の性能は、暗号方式の安
全強度と暗号化・復号化に要する速度の観点から評価し
うる。すなわち安全強度が高く、暗号化・復号化の速度
が速い暗号方式が優れた暗号方式である。
2. Description of the Related Art In recent years, various encryption techniques have been proposed in the field of communication because encryption techniques work effectively as techniques for protecting confidentiality between communicating parties such as concealment of transmitted information. The performance of these encryption techniques can be evaluated in terms of the security strength of the encryption method and the speed required for encryption / decryption. That is, an encryption method having a high security strength and a high encryption / decryption speed is an excellent encryption method.

【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) 」に示されている。
Among such encryption techniques, RSA (Ri
vest Shamir Adleman) There is a public key cryptosystem of a type using a modular exponentiation operation known as cryptography, which has already been put to practical use. In this RSA cryptosystem, if the public key can be factorized, the plaintext can be obtained from the ciphertext, as described in the document "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」に示
されている。
The public key cryptosystems such as the RSA cryptosystem are based on the security because it is difficult to obtain the secret key from the public key which is the publicly available information in terms of computational complexity. The larger the key size, the greater the safety strength. On the other hand, in terms of strengthening security, it is an important issue to keep the private key safe. On the other hand, instead of storing one key in one place, one key is divided into a plurality of keys, and a secret sharing scheme in which the original key cannot be obtained from the divided partial information of the key is described in the document "A.Shamir; “How to share a secret
“, Comm. Of the ACM, Vol. 22, 1979, pp. 612-613”.

【0005】この秘密分散方式を、RSA暗号の秘密鍵
管理に用いた方式は、多くの認証局CAに用いられてい
る。
A method using this secret sharing method for secret key management of RSA encryption is used in many certificate authorities CA.

【0006】ここで、RSA暗号のオリジナルの鍵dか
ら分散鍵di(d=Σdi)を生成する際に、ある特定
のディーラを必要とする。つまり、このディーラが攻撃
されることにより、秘密鍵全体の情報が漏れてしまい、
分散の効果が無くなる可能性がある。
Here, when a distributed key di (d = Σdi) is generated from the original key d of the RSA encryption, a certain specific dealer is required. In other words, when this dealer is attacked, the information of the entire private key is leaked,
The effect of dispersion may disappear.

【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 法と呼ぶ)。
[0007] Boneh and Franklin are described in the document "D. Boneh, JF
ranklin, “Efficient generation of shared RSA key
s, ”Advances in Cryptology−CRYPTO , 97, LNCS 1294,
(1997), pp.425-439. "RS that does not require a dealer
A method for generating a distributed key for A-cipher has been shown (hereinafter Boneh-Frank
lin method).

【0008】しかし、 Boneh-Franklin 法は一つの鍵を
生成するのに、非常に多くの計算量を必要とし非効率で
ある。ある実験によると、各分散暗号鍵生成手段間で
1.5分の時間と約1メガバイトの通信量が必要であっ
た。
However, the Boneh-Franklin method requires a very large amount of calculation to generate one key and is inefficient. According to a certain experiment, it took 1.5 minutes and a communication amount of about 1 megabyte between the distributed encryption key generation means.

【0009】[0009]

【発明が解決しようとする課題】上述したように、従来
の Boneh-Franklin の分散鍵生成法を利用した場合には
非常に多くの計算量を必要とし、通信を介した場合には
非常に非効率であるというような欠点があった。
As described above, when the conventional Boneh-Franklin distributed key generation method is used, a very large amount of calculation is required, and when communication is used, it is very low. It had the drawback of being efficient.

【0010】本発明は、上記課題に鑑みてなされたもの
で、 Boneh-Franklin の分散鍵生成法と比較しても処理
が高速である暗号鍵分散生成方法および装置と暗号鍵分
散生成プログラムを記録した記録媒体を提供することを
目的とする。
The present invention has been made in view of the above problems, and records an encryption key distribution generation method and device and an encryption key distribution generation program that are faster in processing than the Boneh-Franklin distributed key generation method. It is an object of the present invention to provide such a recording medium.

【0011】[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)を生成するステップと
を行うことを特徴とする。
In order to achieve the above object, the invention according to claim 1 includes encryption key generating means which are mutually connected by an arbitrary communication means and generate an encryption key of a public key cryptosystem. A plurality of servers i (i = 1, 2, ...
.., k) is a distributed cryptographic key generation method for generating a cryptographic key, using the first public key n and the second public key e, the plaintext M to the ciphertext C = M e In obtaining (modn), each server i generates two random numbers pi and qi as the first shared secret key, which is the secret information possessed by each server i, and the secret information possessed by each server is A candidate for the first public key n is N = (Σ i = 1, 2, ..., K pi) using the BGW protocol that can be shared by all servers without leaking to the server.
2i = 1, 2, ..., K qi) is generated.

【0012】 請求項1記載の発明にあっては、BGW
プロトコルを用いることによって、本願発明者らが既に
提案しているpq暗号の鍵の候補を分散生成すること
が可能となり、これによりN=PQの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
In the invention according to claim 1, the BGW
By using the protocol, it becomes possible to disperse and generate the key candidates of the p 2 q cipher already proposed by the inventors of the present application, and by using the composite number in the form of N = P 2 Q, the dealer We provide and realize a concrete configuration method of distributed key generation method that is fast and secure in unnecessary processing.

【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が素数であると判定するステッ
プとを行うことを特徴とする。
The invention according to claim 2 is the encryption key distributed generation method according to claim 1, further comprising the step of generating N that is a candidate for the first public key n, and further, each of the servers. i uses v, which is common to all servers, as v
pi = g pi modN, and transmitting the calculated values to other servers; and each server i calculating v p = Π i = 1, 2, ..., k v pi modN. And server 1 uses u 1 = g N m
odN, server i (where i = 2, ..., k-1) is u i = v p pi + qi modN, server k is u k = v p
pk + qk−1 modN is calculated and distributed to each other, and the calculated value in this step is u 1 = u
Each server i verifies whether or not k Π i = 2, ..., K-1 u i modN is satisfied, and if this expression holds, Σ i = 1, 2, ..., K pi and Σ
i = 1, 2, ..., K qi is determined to be a prime number.

【0014】 請求項2記載の発明によれば、例えば請
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのPQであるか、P,Qが素数であるか、
否かを分散検証できる。
According to the invention described in claim 2, for example, whether the encryption key candidate generated by the encryption key distribution generation method of claim 1 is P 2 Q as desired, or whether P and Q are prime numbers. ,
Distributed verification can be performed.

【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
をそれぞれ生成するステップとを行うことを特徴とす
る。
A third aspect of the present invention is the encryption key distribution generation method according to the second aspect, wherein the Σ
i = 1, 2, ..., K pi and Σ
When i = 1, 2, ..., K qi are prime numbers, these prime numbers Σ i = 1, 2, ..., K pi and Σ
Using i = 1, 2, ..., K qi, γ (N) = (Σ
i = 1,2, ..., kpi) {(Σ i = 1,2, ..., kp
i) −1} {(Σ i = 1,2, ..., k qi) −1}, each server i uses the BGW protocol for the prime R to be set, and γ (N) = Σ
i = 1, 2, ..., K γ i (N) −sR (where s =
0,1,2, ..., k-1) and generating a gamma i (N) satisfying the second each server i with e being selected as the public key of the γ i (N) mode Sending each value to another server, and each server i
δ e, s = 1 / (γ (N) −sR) mode, and d i, s = [(− δ e, s γ i (N)) / e] (where s = 0, 1, 2, , K−1), and each server i is a true decryption key
Secret key of d (where d is ed = 1 modγ (N)
The relational expression d = Σ
i = 1, 2, ..., Kd i, s + r modγ (N),
The second distributed secret key d is determined by determining s and r for which 1 = M ed mod N by some message M.
and generating i respectively.

【0016】 請求項3記載の発明によれば、N(=P
Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは自らの第2の分散秘密鍵d
(1≦i≦k)のみの値しか知り得ない。
According to the invention of claim 3, N (= P
2 Q) is determined, the second secret key d is distributed and generated, so that each server i has its own second secret key d.
Only the value of i (1 ≦ i ≦ k) can be known.

【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により行うことを
特徴とする。
The invention according to claim 4 uses the first public key N, the second public key e, and the second distributed secret key d i generated by the encryption key distribution generation method according to claim 3. Signature generation that performs signature and verification of the signature
In the verification method, a plurality of servers i (i = 1, 2, ..., K) connected to each other by any communication means are the first
Using the public key N of the above and the second shared secret key d i of the above, respectively, to the distributed signature S i =
Using M di modN, the true signature S = Π
It is characterized in that i = 1, 2, ..., K S i modN is generated, and the verification of this signature is performed by S e = M modN.

【0018】 請求項4記載の発明によれば、誰も第2
の秘密鍵dを知らないにも拘らず、dのみの部分認証
を収集することにより全体認証が実現できる。
According to the invention of claim 4, the second person
The whole authentication can be realized by collecting the partial authentication of only d i without knowing the secret key d of.

【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)を生成する公開鍵候補生成手段とを有することを特
徴とする。
According to the invention of claim 5, a plurality of servers i (i = 1, 2, ...
, K), which is a cryptographic key distribution generation device for generating a cryptographic key of a public key cryptosystem by being distributed, wherein a plaintext M is generated using a first public key n and a second public key e. From ciphertext C
= M e (mod n), a random number generation means for generating two random numbers pi and qi for each server i as the first shared secret key, which is secret information that the server has, and each server has its own random number. N = (Σ which is a candidate for the first public key n is calculated by using the BGW protocol which can be shared by all servers without leaking the secret information to other servers.
i = 1, 2, ..., k pi) 2i = 1, 2, ..., k q
and i) public key candidate generation means for generating i).

【0020】 請求項5記載の発明にあっては、BGW
プロトコルを用いることによって、本願発明者らが既に
提案しているpq暗号の鍵の候補を分散生成すること
が可能となり、これによりN=PQの形の合成数を用
いて、ディーラの必要ない処理が高速でかつ安全性に秀
でた分散鍵生成法の具体的な構成方法を与え、実現す
る。
In the invention according to claim 5, the BGW
By using the protocol, it becomes possible to disperse and generate the key candidates of the p 2 q cipher already proposed by the inventors of the present application, and by using the composite number in the form of N = P 2 Q, the dealer We provide and realize a concrete configuration method of distributed key generation method that is fast and secure in unnecessary processing.

【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が素数であると判定する素数判
定手段とをさらに有することを特徴とする。
According to a sixth aspect of the invention, there is provided the encryption key distribution generation apparatus according to the fifth aspect, wherein the common random number selecting means for selecting the random number g common to all the servers and the common random number selecting means are selected. Using a random number g and N, which is a candidate for the first public key n, each server i (where i = 1, 2,
..., k) to calculate v pi = g pi mod N,
A means for transmitting the calculated v pi to another server and v p = Π i = 1, 2, ..., k v pi modN in the server 1.
And a calculation means of the server 1 for calculating u 1 = g N modN using this v p , and a server i (where i =
2, ..., k−1), v p = Π i = 1,2, ..., k v
The pi modN calculated, u i = v p using the v p
A server i (i) that calculates pi + qi modN respectively
= 2, ..., K-1) and v p in the server k
= Π i = 1, 2, ..., K v pi modN, and using this v p , calculates u k = v p pk + qk−1 modN by the calculation means of the server k and the calculation means of each server. u 1 was, u 2, ···, and the means to distribute to each other u k, u 1 = u k Π i = 2, ..., k-1 u i modN
It is verified whether or not, and if this expression holds, Σ i = 1, 2, ..., K pi and Σ
It is characterized by further comprising a prime number judging means for judging that i = 1, 2, ..., K qi is a prime number.

【0022】 請求項6記載の発明によれば、例えば請
求項1の暗号鍵分散生成方法で生成された暗号鍵の候補
が望み通りのPQであるか、P,Qが素数であるか、
否かを分散検証できる。
According to the invention of claim 6, for example, whether the encryption key candidate generated by the encryption key distribution generation method of claim 1 is P 2 Q as desired, or whether P and Q are prime numbers. ,
Distributed verification can be performed.

【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の秘密鍵生成
手段とをさらに有することを特徴とする。
The invention according to claim 7 is the cryptographic key distribution generation device according to claim 6, wherein the prime number determination means includes the Σ i = 1, 2, ..., K pi and the Σ i.
When it is determined that i = 1, 2, ..., K qi is a prime number,
These Σ i = 1, 2, ..., K pi and Σ
Using i = 1, 2, ..., K qi, γ (N) = (Σ
i = 1,2, ..., kpi) {(Σ i = 1,2, ..., kp
i) −1} {(Σ i = 1,2, ..., k qi) −1}, using the BGW protocol for the set prime R, γ (N) = Σ i = 1,2 , ..., k γ i (N)-
γ i (N) satisfying sR (here, s = 0, 1, 2, ..., K−1) is stored in the server i (where i = 1, 2, ..., And).
k) and the generation means of the server i and the random number e
Is selected as the second public key, γ i (N) generated by the generation means of the server i and e selected by the random number selection means are used to obtain δ e, s = 1 /
(Γ (N) -sR) mode, and d i, s =
[(−δ e, s γ i (N)) / e] (where s = 0,
1, 2, ..., K−1) and the second secret key, which is the true decryption key, of the server i and d (here, d satisfies ed = 1 modγ (N)). , D = Σ i = 1, 2, ..., k d i, s + r modγ
(N) and a certain message M, 1 = M ed mo
It further comprises a private key generating means of the server i for respectively generating the second distributed secret key d i by determining s and r that satisfy dN.

【0024】 請求項7記載の発明によれば、N(=P
Q)が決まったとき、第2の秘密鍵dを分散生成する
ことから、各サーバiは分散された自らの第2の分散秘
密鍵d(1≦i≦k)のみの値しか知り得ない。
According to the invention of claim 7, N (= P
2 Q), the second secret key d is distributed and generated, so that each server i knows only the value of its own second distributed secret key d i (1 ≦ i ≦ k). I don't get it.

【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によ
り行う署名検証手段とを有することを特徴とする。
The invention according to claim 8 uses the first public key N, the second public key e, and the second distributed secret key d i generated by the encryption key distribution generation device according to claim 7. Signature generation that performs signature and verification of the signature
In the verification device, the plurality of servers i (i = 1, 2, ..., K) connected to each other by any communication means are the first
Distributed signature S i = M di with respect to the message M using its public key N and its own second shared secret key d i
Using modN, the true signature S = Π i = 1, 2, ..., k
It is characterized by having a signature means for generating S i modN and a signature verification means for verifying the signature generated by this signature means by S e = M modN.

【0026】 請求項8記載の発明によれば、誰も第2
の秘密鍵dを知らないにも拘らず、dのみの部分認証
を収集することにより全体認証が実現できる。
According to the invention described in claim 8,
The whole authentication can be realized by collecting the partial authentication of only d i without knowing the secret key d of.

【0027】 請求項9記載の発明は、請求項1乃至3
のいずれか1項に記載した暗号鍵分散生成方法をコンピ
ュータに実行させるための暗号鍵分散生成プログラムを
記録したコンピュータ読み取り可能な記録媒体である。
The invention according to claim 9 relates to claims 1 to 3.
A computer-readable recording medium recording an encryption key distribution generation program for causing a computer to execute the encryption key distribution generation method described in any one of 1.

【0028】 請求項9記載の発明によれば、暗号鍵分
散生成プログラムを記録媒体に記録しているため、該記
録媒体を利用して、その暗号鍵分散生成プログラムの流
通性を高めることができる。
According to the invention of claim 9, since the encryption key distribution generation program is recorded in the recording medium, the distribution medium of the encryption key distribution generation program can be enhanced by using the recording medium. .

【0029】 請求項10記載の発明は、請求項4に記
載した署名生成・検証方法をコンピュータに実行させる
ための署名生成・検証プログラムを記録したコンピュー
タ読み取り可能な記録媒体である。
According to a tenth aspect of the present invention, there is provided a computer-readable recording medium recording a signature generation / verification program for causing a computer to execute the signature generation / verification method according to the fourth aspect.

【0030】 請求項10記載の発明によれば、署名生
成・検証プログラムを記録媒体に記録しているため、該
記録媒体を利用して、その暗号鍵分散生成プログラムま
たは署名生成・検証プログラムの流通性を高めることが
できる。
According to the invention of claim 10, since the signature generation / verification program is recorded in the recording medium, the encryption key distribution generation program or the signature generation / verification program is distributed by using the recording medium. You can improve your sex.

【0031】[0031]

【0032】[0032]

【0033】[0033]

【0034】[0034]

【0035】[0035]

【0036】[0036]

【0037】[0037]

【0038】[0038]

【0039】[0039]

【0040】[0040]

【0041】[0041]

【発明の実施の形態】以下、図面を用いて本発明の実施
の形態について説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0042】まず、図1を参照して、本発明の基本的な
概念について説明する。ここでは、簡単のためサーバの
数をサーバ1,2,3の3台とするが、特に台数は限定
されない。なおサーバの台数が増加するだけ、暗号鍵が
分散されることから、暗号の強度は増すものの、分散数
の増加に伴い暗号解読の時間も増加することから、その
通信内容(重要度、データ量)に応じて適宜、サーバ及
びサーバの台数を選択すると良い。
First, the basic concept of the present invention will be described with reference to FIG. Here, the number of servers is three, that is, the servers 1, 2, and 3 for simplification, but the number of servers is not particularly limited. The encryption key is distributed as the number of servers increases, so the encryption strength increases, but the decryption time also increases as the number of distribution increases, so the communication content (importance, data amount) ), The number of servers and the number of servers may be appropriately selected.

【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を得る
ものとする。
Note that here, pi, q in which two prime numbers p, q are distributed to k servers i (i = 1, 2, ..., K)
i (however, p = Σpi, q = Σqi) is set as the first shared secret key, p 2 q is set as the first public key n, and ed = 1
e that satisfies mod L (where L = p (p-1) (q-1)) is set as the second public key, and d is the server i.
Has k encryption key generation means for generating an encryption key by setting d i (where d = Σd i ) distributed to the second shared secret key, and generating the encryption key by the encryption key generation means. It is assumed that the ciphertext C is obtained from the plaintext M according to C = Me (mod n) using the first public key n and the second public key e.

【0044】図1に示すサーバ1、サーバ2、サーバ3
は、それぞれ相互に任意の通信手段で接続され、各サー
バi(但し、i=1,2,3)には管理者がそれぞれい
るものとする。
Server 1, server 2 and server 3 shown in FIG.
Are mutually connected by arbitrary communication means, and each server i (where i = 1, 2, 3) has an administrator.

【0045】まず、各サーバiで乱数pi,qiがそれ
ぞれ生成され、それぞれの管理者により秘密にして保
管、管理される。つまりサーバ1ではp1,q1が、サ
ーバ2ではp2,q2が、サーバ3ではp3,q3が生
成される。
First, random numbers pi and qi are generated in each server i, and are kept and managed by respective managers in secret. That is, p1, q1 is generated in the server 1, p2, q2 is generated in the server 2, and p3, q3 is generated in the server 3.

【0046】次に、サーバ(管理者)間でBGWプロト
コル及び素数テストを行うことによって鍵を生成する。
Next, the key is generated by performing the BGW protocol and the prime number test between the servers (administrators).

【0047】 ここで、BGWプロトコルについて簡単
に説明する。BGWプロトコルは、例えば、サーバ1が
(p1,q1)、サーバ2が(p2,q2)、サーバ3
が(p3,q3)をそれぞれを秘密情報として持ってい
るとき、 n=pq(ここでp=p1+p2+p3,q=q1+q2+q3) を、各サーバ秘密情報である(pi,qi)を、他のサ
ーバに漏らすことなく、計算できるというプロトコルで
ある。
Here, the BGW protocol will be briefly described. The BGW protocol is, for example, (p1, q1) for server 1, (p2, q2) for server 2, and server 3
Has (p3, q3) as secret information, n = p 2 q (where p = p1 + p2 + p3, q = q1 + q2 + q3) is used, and each server secret information (pi, qi) is It is a protocol that can be calculated without leaking it to the server.

【0048】 このようなBGWプロトコルを用いるこ
とにより、 n=pq=(p1+p2+p3)(q1+q2+q3) をサーバ1、サーバ2およびサーバ3で共有することが
できる。
By using such a BGW protocol, n = p 2 q = (p1 + p2 + p3) 2 (q1 + q2 + q3) can be shared by the server 1, the server 2, and the server 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 を共有する。
Next, the first half of the distributed prime test is performed. For this purpose, first, a random number g common to the server 1, server 2 and server 3 is generated and shared by each. Using this random number g, the server 1 sends g p1 to the server 2 and the server 3, the server 2 sends g p2 to the server 1 and the server 3, and the server 3 sends g p2 to the server 1 and the server 2. Send p3 respectively. Subsequently, the server 1, server 2, and server 3 share v p = g p modn by g p1 g p2 g p3 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を分散鍵として
用いることが可能であり、これにより鍵が生成されたこ
とになる。
Further, the server 1 has v p p1 + q1 m
odn, server 2 calculates v p p2 + q2 modn, and server 3 calculates v p p3 + q3-1 modn and distributes them to each other, and g {p (p-1) (q-1)} = 1 modn holds. Check whether or not. Ring T using the same method
Perform the latter half of the distributed prime test with N. If it is confirmed that this equation is satisfied and p and q are respectively prime numbers, then it is possible to use p1, p2, p3, q1, q2, and q3 as distributed keys. It will be.

【0051】次に、図2を参照して分散鍵の生成方法、
及び素数判定について詳細に説明する。ここではp2
を対象とし、サーバは暗号鍵生成手段を含むものであ
り、サーバの数はkと仮定する。
Next, referring to FIG. 2, a distributed key generation method,
The prime number determination will be described in detail. Here p 2 q
It is assumed that the server includes an encryption key generating means and the number of servers is 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) を生成する。
First, in step S11, two random numbers pi and q are generated by the random number generation means provided in each server i.
i (3 mod 4) is generated, and subsequently, in step S13,
Reference “M. Ben-Or, S. Goldwasser, A. Wigderson;“ Complete
ness theorems for non-cryptographic faulttolerant
When using the BGW protocol described in distributed computation, "STOC, (1998), pp.1-10" to set the candidate of the composite number of the first public key n to N by the public key candidate generating means, N = (Σ i = 1,2, ..., k pi) 2i = 1,2, ..., k qi) is generated.

【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.」に書かれた分散篩法および小さな素数により繰り返
し割り算を行う。
At this time, Σ i = 1,2, ..., k pi and Σ
In order to prevent i = 1,2, ..., k qi from being broken by a small prime number, the document “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
Repeated division is performed using the distributed sieving method described in 6. and small prime numbers.

【0054】ステップS15では、各サーバiに設けら
れる共通乱数選択手段により全てのサーバに共通な乱数
gを選ぶ。続いて、ステップS17において、各サーバ
iは、この通知された乱数gにより、 vpi=gpi mod N を計算し各サーバに送信する。
In step S15, the common random number selecting means provided in each server i selects a random number g common to all servers. Subsequently, in step S17, each server i calculates v pi = g pi mod N by the notified random number g and transmits it to each server.

【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 を計算する。
As a result, in step S19,
Each server i calculates v p = Π i = 1,2, ..., k v pi modN by each calculation means. Further, the server 1 calculates u 1 = g N modN, and thereafter, similarly, the server i (i = 2, ..., k)
-1) calculates u i = v p pi + qi modN, and the server k calculates u k = v p pk + qk−1 modN.

【0056】さらにステップS21で、素数判定手段
は、 u1 =uk Πi=2,…,k-1i mod N が成り立つかどうか検証する。もし成立しない場合は、
Nは2個の素数の積(N=P2 Q)ではないと判定する
(ステップS23)。
Further, in step S21, the prime number determination means verifies whether u 1 = u k Π i = 2, ..., k-1 u i mod N. If not,
It is determined that N is not the product of two prime numbers (N = P 2 Q) (step S23).

【0057】 ステップS25乃至ステップS33での
処理について説明する。ここでの計算は、環T=(Z
[x]/(x+1))/Z演算とする。
The processing in steps S25 to S33 will be described. The calculation here is that the ring T N = (Z
N [x] / (x 2 +1)) / Z N operation.

【0058】まず、ステップS25において、共通乱数
選択手段はk個、全てのサーバに共通な乱数hを選ぶ。
各サーバiは、ステップS27で、 rpi=hpi を計算し各サーバiに送信する。
First, in step S25, the common random number selection means selects k random numbers h common to all servers.
In step S27, each server i calculates r pi = h pi and sends it to each server 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 を計算する。
The calculation means of each server i executes step S2.
At 9, each server i calculates r p = Π i = 1,2, ..., k r pi modN. The server 1 calculates s 1 = h N , and similarly, the server i (i = 2, ..., K−1)
Computes s i = r p -pi-qi , and server k computes s k = r p -pk-qk-1 .

【0060】さらに、素数判定手段はステップS31
で、 s1 =sk Πi=2,…,k-1i が成り立つかどうかを検証する。もし成立しない場合に
は、Nは2個の素数の積(N=P2 Q)ではないと判定
する(ステップS33)。
Further, the prime number determination means is step S31.
Then, it is verified whether s 1 = s k Π i = 2, ..., k-1 s i holds. If not satisfied, it is determined that N is not the product of two prime numbers (N = P 2 Q) (step 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は素数
と判定可能である。
When the above test is passed (step S
35), N can theoretically be determined to be a product of two prime numbers with a probability of 1/2 or more. By performing this test a plurality of times, N can be determined with high probability as a product of two prime numbers. Also,
Reference "R. Rivest," Finding four million large random
primes, "Advances in Cryptology-Crypto'90, LNCS
537, pp.625-626 (1991) ", for a number N = P 2 Q of 512 bits or more, if the test of steps S15 to S23 (or steps S25 to S33) is performed once, It is possible to determine P and Q as prime numbers with a probability of approximately 1.

【0062】従って、ステップS15乃至ステップS2
3の処理、またはステップS25乃至ステップS33の
処理のいずれかの処理を実行すればP,Qを素数と判定
することが略可能であることから、いずれかの処理のみ
を行うようにすれば、さらに分散鍵の生成を高速におこ
なうことが可能となる。
Therefore, steps S15 to S2
Since it is almost possible to determine P and Q as prime numbers by executing the process of step 3 or any of the processes of steps S25 to S33, it is possible to perform only one of the processes. Further, it becomes possible to generate the distributed key at high speed.

【0063】次に、図3を参照して暗号化復号化鍵生成
方式について説明する。
Next, the encryption / decryption key generation method will be described with reference to FIG.

【0064】ただし、 ed=eΣi=1,2,…,ki =1 mod γ(N) γ(N)=P(P−1)(Q−1) とする。However, ed = eΣi = 1,2, ..., kd i = 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)。
First, in step S41, a large prime number R is set. Next, in step S43, each server i uses γ (N) for this prime R by using the BGW protocol.
Share γ i (N), i.e. γ (N) = Σ i = 1,2, ..., k γ i (N) to generate the gamma i (N) which satisfies the -sR (where, 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)。
Next, in step S45, a small random number e is selected. Succeedingly, in a step S47, each server i
By transmitting the value of γ i (N) mod e to another server, δ e, s = 1 / (γ (N) −sR) mod ed i, s = [(− δ e, s γ i (N)) / e] is calculated (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を決定する。
Further, when the true decryption key (second secret key) is d in step S49, d = Σ i = 1,2, ..., k d i, s + r mod γ (N) is satisfied. , A certain message M determines s and r for which 1 = M ed mod N holds.

【0068】次に、分散デジタル署名装置について説明
する。
Next, the distributed digital signature device will be described.

【0069】署名、検証において、RSA暗号との差分
は、分散鍵diを使って Si=Mdi mod n(Mは平文) を一度計算して、その後にS1,S2,S3及びmod
nと掛け合わせたものが真の署名となることである。
In the signature and verification, the difference from the RSA encryption is that Si = M di mod n (M is a plaintext) is calculated once using the distributed key di, and then S1, S2, S3 and mod are calculated.
What is multiplied by n is the true signature.

【0070】まず、署名生成は、各サーバがそれぞれメ
ッセージMに対して、 Si =Mdi mod N により署名を行うことで分散署名が成される。
First, in the signature generation, each server signs the message M with S i = M di mod N to form a distributed signature.

【0071】また、真の署名Sは、 S=Πi=1,2,…,ki mod N により生成される。The true signature S is generated by S = Π i = 1,2, ..., k S i mod N.

【0072】この署名についての検証は、 Se =M mod N により行われる。Verification of this signature is performed by S e = M mod N.

【0073】上述してきたP2 Qを用いた分散鍵生成方
式の有効性を示すためにソフトウェアにより実装を行っ
た。
In order to show the effectiveness of the distributed key generation method using P 2 Q described above, it was implemented by software.

【0074】同じ計算機環境で、同じビット長の鍵生成
に対して Boneh-Franklin 方式との比較を行った。同じ
環境で実装した結果、復号化アルゴリズムがRSA暗号
より高速となった。数値結果を次の表に示す。
In the same computer environment, key generation with the same bit length was compared with the Boneh-Franklin method. As a result of implementing in the same environment, the decryption algorithm became faster than the RSA encryption. The numerical results are shown in the following table.

【0075】[0075]

【表1】 このように従来の Boneh-Franklin の分散鍵生成法を利
用して鍵生成を行った場合には非常に多くの計算量を必
要とし、時間を要したのに対し、本実施形態における分
散鍵生成法は、処理を高速で行うことができ、非常に効
率的であることは明らかである。
[Table 1] As described above, when the key generation is performed using the conventional Boneh-Franklin distributed key generation method, a very large amount of calculation is required and it takes time. It is clear that the method is very efficient because it can process at high speed.

【0076】[0076]

【発明の効果】以上説明したように、本願発明によれ
ば、分散鍵生成法を利用して鍵生成を行う場合に、処理
を高速で行うことができ、非常に効率的である。また、
分散された各暗号鍵生成手段では、自ら生成した分散鍵
部分のみ以外知り得ず、たとえば他の暗号鍵生成手段で
生成された分散鍵部分及び暗号鍵そのものを知ることは
できないことから安全性の強度に優れたものとなる。
As described above, according to the present invention, when the key generation is performed by using the distributed key generation method, the processing can be performed at high speed and is very efficient. Also,
Each of the distributed encryption key generation means cannot know only the distributed key part generated by itself, and cannot know the distributed key part generated by another encryption key generation part and the encryption key itself. It has excellent strength.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の基本的な概念を示すブロック図であ
る。
FIG. 1 is a block diagram showing the basic concept of the present invention.

【図2】本発明に係る分散鍵生成の処理手順を概略的に
示すフローチャートである。
FIG. 2 is a flowchart schematically showing a processing procedure of distributed key generation according to the present invention.

【図3】暗号化復号化鍵生成の処理手順を概略的に示す
フローチャートである。
FIG. 3 is a flowchart schematically showing a processing procedure for generating an encryption / decryption key.

───────────────────────────────────────────────────── フロントページの続き (54)【発明の名称】 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵 分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り 可能な記録媒体   ─────────────────────────────────────────────────── ─── Continued front page    (54) [Title of Invention] Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation apparatus, signature generation / verification apparatus, cryptographic key                     Computer-readable recording of distributed generation program and signature generation / verification program                     Possible recording media

Claims (10)

(57)【特許請求の範囲】(57) [Claims] 【請求項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)を生成するステップとを行う
ことを特徴とする暗号鍵分散生成方法。
1. A plurality of servers i (i = 1, 2, ..., K) which are mutually connected by arbitrary communication means and each have an encryption key generating means for generating an encryption key of a public key cryptosystem. A cryptographic key distributed generation method for generating a cryptographic key in a distributed manner, in which a ciphertext C = M e (modn) is obtained from a plaintext M using a first public key n and a second public key e. , A step in which each server i respectively generates two random numbers pi and qi as a first distributed secret key which is secret information that it has, and each server i does not leak the secret information that it has to other servers. , Which is a candidate for the first public key n by using the BGW protocol that can be shared by the servers of N =
i = 1, 2, ..., k pi) 2
i = 1, 2, ..., K qi) is generated.
【請求項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が素数であると判定するステップとを行うことを特
徴とする暗号鍵分散生成方法。
2. The encryption key distribution generation method according to claim 1, further comprising the step of generating N, which is a candidate for the first public key n, further comprising: Calculating v pi = g pi modN using a common random number g, and transmitting the calculated values to other servers; and each server i has v p = Π i = 1,2, ..., k v pi
mod 1 and mod i, where server 1 is u 1 = g N modN, server i (where i
= 2, ..., k-1) is u i = v p p i + q i mod
N, the server k calculates u k = v p pk + qk−1 modN and distributes them to each other, and the calculated value in this step is u 1 = u k Π
Each of the servers i verifies whether i = 2, ..., K-1 u i modN is satisfied, and if this expression holds,
Σ i = 1, 2, ..., K pi and Σ i = 1, 2 ,.
and a step of determining that qi is a prime number.
【請求項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
をそれぞれ生成するステップとを行うことを特徴とす
る暗号鍵分散生成方法。
3. The encryption key distribution generation method according to claim 2, wherein the Σ i = 1, 2, ..., K pi and the Σ i
When i = 1, 2, ..., K qi are prime numbers, these prime numbers Σ i = 1, 2, ..., K pi and Σ
Using i = 1, 2, ..., K qi, γ (N) = (Σ
i = 1,2, ..., kpi) {(Σ i = 1,2, ..., kp
i) −1} {(Σ i = 1,2, ..., k qi) −1}, where each server i has the BG for the set prime R.
Γ (N) = Σ using W protocol
i = 1, 2, ..., K γ i (N) −sR (where s =
0,1,2, ..., k-1) and generating a gamma i (N) satisfying the second each server i with e being selected as the public key of the γ i (N) mode Each of the values is transmitted to another server, and each server i has δ e, s = 1 / (γ (N) −sR).
mode, and d i, s = [(− δ e, s γ
i (N)) / e] (where s = 0, 1, 2, ..., k−
1) and each server i calculates a second secret key which is a true decryption key by d
(Where d is ed = 1 mod γ (N)), the relational expression d = Σ
i = 1, 2, ..., Kd i, s + r modγ (N),
The second distributed secret key d is determined by determining s and r for which 1 = M ed mod N by some message M.
and a step of generating i , respectively.
【請求項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により行
うことを特徴とする署名生成・検証方法。
4. A signature is made using the first public key N, the second public key e, and the second distributed secret key d i generated by the encryption key distribution generation method according to claim 3, and A signature generation / verification method for verifying the signature, wherein a plurality of servers i (i
= 1, 2, ..., K) respectively gives a distributed signature S i = M di modN to the message M using the first public key N and its own second distributed secret key d i. Using the true signature S = Π i = 1, 2, ..., k S i mo
A signature generation / verification method characterized in that dN is generated, and verification of this signature is performed by S e = M modN.
【請求項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)を生成する公開鍵候補生成手
段とを有することを特徴とする暗号鍵分散生成装置。
5. A plurality of servers i (i = 1, 2, ..., K) connected to each other by arbitrary communication means,
A cryptographic key distribution / generation device that generates cryptographic keys of a public key cryptosystem in a distributed manner, using a first public key n and a second public key e, from plaintext M to ciphertext C = M e ( mod n), a random number generation means for generating two random numbers pi and qi for each server i as the first shared secret key which is the secret information which the server has, and the secret information which each server has , Which is a candidate for the first public key n by using the BGW protocol that can be shared by all servers without leaking to the server
i = 1, 2, ..., k pi) 2
i = 1, 2, ..., K qi), and a cryptographic key distribution generation device.
【請求項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が素数であると判定する素数判定手段とをさらに有す
ることを特徴とする暗号鍵分散生成装置。
6. The encryption key distribution generation device according to claim 5, wherein the common random number selection means selects a random number g common to all servers, the random number g selected by the common random number selection means, and the first random number selection means. Using N, which is a candidate for the public key n of 1, v pi = g pi mo for each server i (where i = 1, 2, ..., K)
calculate the d N, and means for transmitting the calculated v pi to another server, v p = Π i = 1,2 In the server 1, ..., k v pi mod
V p = Π in the calculation means of the server 1 which calculates N and u 1 = g N modN using this v p , and the server i (where i = 2, ..., K−1).
i = 1, 2, ..., K v pi modN is calculated, and this v
The calculation means of the server i (i = 2, ..., k-1) that calculates u i = v p pi + qi modN using p and v p = Π i = 1,2, ..., k v pi mod
N is calculated, and using this v p , u k = v p
Calculation means of the server k for calculating pk + qk-1 modN and u 1 , u 2 , ..., U calculated by the calculation means of each server
The means for distributing k to each other and whether or not u 1 = u k Π i = 2, ..., k-1 u i modN are verified, and if this equation holds, Σ
i = 1, 2, ..., K pi and Σ i = 1, 2 ,.
A cryptographic key distribution generation device further comprising a prime number determination means for determining that i is a prime number.
【請求項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の秘密鍵生成手段とをさ
らに有することを特徴とする暗号鍵分散生成装置。
7. The encryption key distribution generation device according to claim 6, wherein said Σ i = 1, 2, ..., K pi and said Σ i = 1, 2 ,. When it is determined that they are prime numbers, these Σ i = 1, 2, ..., K pi and Σ i
Using i = 1, 2, ..., K qi, γ (N) = (Σ
i = 1,2, ..., kpi) {(Σ i = 1,2, ..., kp
i) −1} {(Σ i = 1,2, ..., k qi) −1}, using the BGW protocol for the set prime R, γ (N) = Σ i = 1,2 , ..., k γ i (N) -sR
Γ i satisfying (where, s = 0, 1, 2, ..., K−1)
(N) is generated by the server i (where i = 1, 2, ..., K) respectively, generating means for the server i, random number selecting means for selecting the random number e as the second public key, and the server γ i (N) respectively generated by the generating means of i
And δ e, s by using e selected by the random number selection means
= 1 / (γ (N) -sR) mode, and di , s
= [(-Δ e, s γ i (N)) / e] (where s =
Server i for calculating 0, 1, 2, ...
And the second secret key, which is the true decryption key, d (where d is ed
= 1 mod γ (N) is satisfied), d = Σ
i = 1, 2, ..., Kd i, s + r modγ (N),
The second distributed secret key d is determined by determining s and r for which 1 = M ed mod N is satisfied by a certain message M.
An encryption key distribution generation device, further comprising a secret key generation means of the server i for generating each i .
【請求項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により行う署名検証手段とを有することを特
徴とする署名生成・検証装置。
8. A signature is made using the first public key N, the second public key e, and the second distributed secret key d i generated by the encryption key distribution generation device according to claim 7, and A signature generation / verification device for verifying the signature, wherein a plurality of servers i (i
, 1, 2, ..., K) using the first public key N and the second shared secret key d i of its own for the message M to use the distributed signature S i = M di modN hand,
The signature means for generating the true signature S = Π i = 1, 2, ..., k S i modN and the verification for the signature generated by this signature means are Se = M
A signature generation / verification device, comprising a signature verification means for performing modN.
【請求項9】 請求項1乃至3のいずれか1項に記載し
た暗号鍵分散生成方法をコンピュータに実行させるため
の暗号鍵分散生成プログラムを記録したコンピュータ読
み取り可能な記録媒体。
9. A computer-readable recording medium recording an encryption key distribution generation program for causing a computer to execute the encryption key distribution generation method according to any one of claims 1 to 3.
【請求項10】 請求項4に記載した署名生成・検証方
法をコンピュータに実行させるための署名生成・検証プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体。
10. A computer-readable recording medium recording a signature generation / verification program for causing a computer to execute the signature generation / verification method according to claim 4.
JP37584799A 1999-12-28 1999-12-28 Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program Expired - Fee Related JP3479015B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37584799A JP3479015B2 (en) 1999-12-28 1999-12-28 Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37584799A JP3479015B2 (en) 1999-12-28 1999-12-28 Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program

Publications (2)

Publication Number Publication Date
JP2001189719A JP2001189719A (en) 2001-07-10
JP3479015B2 true JP3479015B2 (en) 2003-12-15

Family

ID=18506157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37584799A Expired - Fee Related JP3479015B2 (en) 1999-12-28 1999-12-28 Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program

Country Status (1)

Country Link
JP (1) JP3479015B2 (en)

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
US9894056B2 (en) 2013-01-17 2018-02-13 Nippon Telegraph And Telephone Corporation Segmented secret-key storage system, segment storage apparatus, segmented secret-key storage method

Also Published As

Publication number Publication date
JP2001189719A (en) 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
EP0946018B1 (en) Scheme for fast realization of a decryption or an authentication
Hwang et al. An ElGamal-like cryptosystem for enciphering large messages
US20050169478A1 (en) Practical non-malleable public-key cryptosystem
US20190089526A1 (en) Encryption for low-end devices through computation offloading
Wei et al. Remove key escrow from the BF and Gentry identity-based encryption with non-interactive key generation
Rangasami et al. Comparative study of homomorphic encryption methods for secured data operations in cloud computing
US20040125949A1 (en) Method of and apparatus for determining a key pair and for generating RSA keys
CA2742530C (en) Masking the output of random number generators in key generation protocols
JP3479015B2 (en) Cryptographic key distribution generation method, signature generation / verification method, cryptographic key distribution generation device, signature generation / verification device, cryptographic key distribution generation program, and computer-readable recording medium recording signature generation / verification program
KR20030047148A (en) Method of messenger security based on client/server using RSA
JP4563037B2 (en) ENCRYPTION APPARATUS, DECRYPTION APPARATUS, ENCRYPTION SYSTEM HAVING THEM, ENCRYPTION METHOD, AND DECRYPTION METHOD
Pon et al. Dynamic reblocking RSA-based multisignatures scheme for computer and communication networks
JP4146252B2 (en) Anonymous communication method capable of identifying unauthorized persons, user device used in the method, and relay server device
JP3074164B2 (en) Exclusive key agreement
Rivera et al. Hybrid cryptosystem using RSA, DSA, Elgamal, and AES
JPH11168459A (en) Method for delivering ciphering and deciphering key in broadcast cryptographic communication
JP2002023626A (en) Method for ciphering public key and communication system using public key cryptograph
Gunnala et al. An Attribute Involved Public Key Cryptosystem Based on P-Sylow Subgroups and Randomization.
Te Chen A Secure Group Data Encryption Scheme in Intelligent Manufacturing Systems for IIoT
Mohit et al. Modification of traditional RSA into symmetric-RSA cryptosystems
JPH0856219A (en) Ciphering communication system
Jin et al. Security on a Knapsack-Type Encryption Scheme Based Upon Hybrid-Model Assumption.
JP4230162B2 (en) Public key encryption communication method

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