JPH10282881A - 秘密鍵分散管理方法 - Google Patents

秘密鍵分散管理方法

Info

Publication number
JPH10282881A
JPH10282881A JP9086302A JP8630297A JPH10282881A JP H10282881 A JPH10282881 A JP H10282881A JP 9086302 A JP9086302 A JP 9086302A JP 8630297 A JP8630297 A JP 8630297A JP H10282881 A JPH10282881 A JP H10282881A
Authority
JP
Japan
Prior art keywords
key
management device
generation device
mod
key generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9086302A
Other languages
English (en)
Inventor
Tatsuaki Okamoto
龍明 岡本
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 JP9086302A priority Critical patent/JPH10282881A/ja
Publication of JPH10282881A publication Critical patent/JPH10282881A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 素因数分解系公開鍵暗号に対し、分散登録情
報をある一定数集めることで秘密鍵を復元可能とする。 【解決手段】 鍵生成者Kは公開鍵Nと、Nが2つの素
数の積であることを証明する情報を管理者Ti (i=
1,…,n)へ送り、Ti は素数pと位数がNの元g,
hをKへ送り、Kは乱数xとr1 ,r2 ,r3 を生成
し、ビットコミットメント関数BCでa=BCg (x,
1 ),b=BCa (x,r2 ),c=BCb(x2 mod
N,r3 )を演算してTi へ送り、KはTi とのやり
とりでaとbが同じxをビットコミットしたもの、また
bとcが同じx2 mod Nをビットコミットしたものであ
ることを証明し、y2 ≡x4(mod N)(y/N)=−1
を満すyをTi へ送り、xをs1,…,sn に分散してs
i を対応Ti へ送りまたsi が正しい値であることを証
明する情報E1,…,Ek-1 を送る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、公開鍵暗号の秘
密鍵を分散して登録しておき、紛失時やその他の理由に
より秘密鍵を復元する必要のあるときに、ある一定以上
の数の分散登録情報を集めることにより秘密鍵を復元す
る秘密鍵分散管理方法に関するものである。
【0002】
【従来の技術】従来、単に情報を分散管理し復元する方
式はSharmir の多項式補間法(“Howto Share a Secret
”,Comm. Assoc. Comput. Mach.,vol.22, no.11, pp.
612-613(Nov.1979))があるが、分散情報が正しい情報
であることを証明する手段がないため、そのままでは秘
密鍵を分散して登録する手段には使えない。分散情報が
正しい情報であることを証明する方式としては、Peders
enによるVSSと呼ばれる方法がある(“Non-Interact
ive and Information-Theoretic Secure Verifiable Se
cret Sharing”,Proc.of Crypto'91, LNCS 576, Sprin
ger-Verlag, pp.129-140(1992)) 。しかし、この方法で
はElGamal 法などの離散対数問題系の公開鍵暗号には適
用できるが、RSA法などの素因数分解系の公開鍵暗号
には適用できない。
【0003】一方、Micaliにより(“Fair Public-Key
Cryptosystems ”,Proc.of Crypto'92,LNCS, Springe
r-Verlag, pp.113-138(1993))RSA法などに適用でき
る秘密鍵の分散管理/復元方式が提案されているが、管
理者が全員協力しないと秘密鍵を復元できない(つま
り、一人でも協力しないと秘密鍵を復元できなくな
る)。
【0004】
【発明が解決しようとする課題】この発明の目的は、素
因数分解系の公開鍵暗号に対して秘密鍵を分散して登録
しておき、ある一定以上の数の分散登録情報を集めるこ
とにより秘密鍵を復元する方法を実現することにある。
【0005】
【課題を解決するための手段】この発明では、秘密鍵も
しくは秘密鍵と等価な秘密情報を例えばビットコミット
メントとよばれる手法で暗号化し、そこで暗号化された
秘密情報が正しい情報であることを証明する効率的な方
法を開発した。一旦正しい秘密情報を暗号化したビット
コミットメントが得られると、前述したPedersenの手法
を用いて、分散情報が正しい情報であることを証明する
ことが可能である。
【0006】請求項1では、yを公開しておき、公開鍵
Nを素因数分解するための秘密情報としてx4 ≡y2
(mod N)であるようなxを用いる。請求項2では、R
SA暗号の秘密鍵dをビットコミットメントの対象とす
る。
【0007】
【発明の実施の形態】以下では、この発明の請求項1の
一実施例について説明する。図1はこの発明の全体構成
を示す。鍵生成者の装置(鍵生成装置)100は、管理
者Ti の装置(管理装置)200i(i=1,2,…,
n)とそれぞれ、通信路300iを介して結合されてい
るとする。図2にこの発明の通信シーケンス例を示し、
以下、それぞれ図3に鍵生成装置100の機能構成例
を、図4に管理装置200iの機能構成例を示す。
【0008】以下、分散情報の登録ならびに秘密鍵を回
復する手順を示す。 1.鍵生成者は鍵生成装置100内の鍵生成器101を
用いて、秘密鍵(P,Q)と公開鍵N=PQを生成し、
Nを管理者Ti の管理装置200i(i=1,…,n)
に送る。ここでヤコビ記号の値が(−1/N)=1とす
る。これはNを素因数P,Qに分解できる条件である。
【0009】2.鍵生成装置100の剰余演算器102
を用いてNが2つの素数の積であることを証明する情報
を生成し、それを管理装置200iに送る。このような
情報の作成方法は、Micaliの方法(“Fair Public-Key
Cryptosystems ”,Proc.ofCyrpto'92, LNCS, Springer
-Verlag, pp.113-138(1993)) の中で示されている。 3.管理装置200iは単独又は共同でパラメータ生成
器201を用いて素数pならびに位数がNの元g,hを
定め、それを鍵生成装置100に送る。ここで、ビット
コミットメント関数BCを以下のように定義する。
【0010】BCg (x,r)=gx r mod p4.鍵
生成装置100は乱数生成器103を用いて乱数xなら
びに適当な値r 1,r2,r3 を定め、剰余演算器104を
用いて次のa,b,cを計算し、管理装置200iに送
る。 a=BCg (x,r1 ) b=BCa (x,r2 )=BCg (x2 mod N,r1
+r2 mod N) c=BCb (x2 mod N,r3)=BCg (x4 mod N,r1x3
+r2x2+r3 mod N) 5.次に、鍵生成装置100はa=BCg (x,r1
とb=BCa (x,r 2 )が同じxをビットコミットし
たものであることを以下の手順で証明する。
【0011】(a)鍵生成装置100は乱数生成器10
3を用いてv,w,w′を生成し、さらに剰余演算器1
05を用いて u=BCg (v,w),u′=BCa (v,w′) を生成し、(u,u′)を管理装置200iに送る。 (b)管理装置200iは乱数生成器202を用いてR
を定め、それを鍵生成装置100に送る。
【0012】(c)鍵生成装置100は剰余演算器10
6を用いて z=v+xR mod N, t=w+r1 R mod N, t′=
w′+r2 R mod N を計算し、(z,t,t′)を管理装置200iに送
る。 (d)管理装置200iは以下の式が成立するかどうか
を剰余演算器203ならびに比較器204を用いて検証
する。
【0013】BCg (z,t)=uaR mod p,BC
a (z,t′)=u′bR mod p 6.鍵生成装置100は同様に b=BCg (x2 mod N,r1 x+r2 mod N) c=BCb (x2 mod N,r3 ) が同じx2 mod Nをビットコミットしたものであること
を上と同じ手順で証明する。
【0014】7.鍵生成装置100は剰余演算器107
を用いてy2 ≡x4 (mod N)およびヤコビ記号の値が
(y/N)=−1を満足するyを計算し管理装置200
iに送る。ここでyはxとy2 =x4 (mod N)の関係
にあることが前記第5ステップと第6ステップの両証明
により証明されており、かつ(y/N)=−1,x,y
が与えられるとNは素因数P,Qに分解できる条件であ
る。
【0015】8.鍵生成装置100はxをSharmir の多
項式補間法により剰余演算器108を用いてn個の値s
1 ,…,sn に分散し、si を管理者Ti の管理装置2
00iに送る。さらに、a=BCg (x,r1 )の値を
利用して、Pedersenの方法により剰余演算器108を用
いてsi が正しく分散された値であることを証明する情
報E1,…,Ek-1 を送る。k−1は前記多項式補間法に
用いる多項式の最低の次数であり、k≦nである。
【0016】9.管理装置200iは剰余演算器205
および比較器206を用いてそれらの正当性を検証し、
正しければそれらを受けとり保管する。 10.秘密鍵(P,Q)を復元する必要があるときには
n人の管理者の中でk人が協力して、各管理者の分散情
報si を持ち寄りそれらよりShamirの方法により剰余演
算器109を用いてxの値を復元する。さらに、GCD
演算器110を用いてGCD演算器110を用いて、x
2 −yとNとの最大公約数を求めると、P又はQが求ま
り、これより、P,Qの両者を求めることができる。つ
まり、いまm=x2 (mod N) 、ヤコビ記号の値が(m/
N)=1とすると、m2 =y2 =x4 (mod N) であり、
かつ(1/N)=−1,(y/N)=−1の条件がある
場合は、(z−y),つまり(x2 −y)はNの素因数
で割り切れることが数学的に知られている。よってx2
−yとNとの最大公約数を求めればNの1つの素因数が
得られることになる。
【0017】次に、この発明の請求項2の一実施例につ
いて説明する。図5にこの発明の通信シーケンス例を示
し、以下、それぞれ、図6に鍵生成装置100の構成例
を、図7に管理装置200iの構成例を示す。以下、分
散情報の登録ならびに秘密鍵を回復する手順を示す。 1.鍵生成装置100は鍵生成器101を用いて、RS
A暗号の秘密鍵dと公開鍵(N,e)を生成し、(N,
e)を管理者Ti (i=1,…,n)の管理装置200
iに送る。
【0018】2.管理装置200iは単独又は共同でパ
ラメータ生成器201を用いて素数(p,q)ならびに
位数がqの元g,hを定め、それを鍵生成装置100に
送る。なお、q|p−1(qはp−1の約数)とする。
ここで、ビットコミットメント関数BCを以下のように
定義する。BCg (x,r)=gx r mod p さらに管理装置200iは乱数生成器202を用いてX
を生成し、剰余演算器203を用いてG=Xe mod Nを
計算する。
【0019】管理装置200iはXならびに(p,q,
g,h)を鍵生成者に送る。ここで、BCg (s,r)
=gs r mod p, BCG (s) =Gs mod N とする。 3.鍵生成装置100は乱数生成器103を用いて適当
な値r1 を定め、剰余演算器102を用いて a=BCg (d,r1 ) を計算するとともに b=BCG (d)=X とする。
【0020】4.次に、鍵生成装置100はa=BCg
(d,r1 )とb=BCG (d)=Xが同じdをビット
コミットしたものであることを以下の手順で証明する。 (a)鍵生成装置100は乱数生成器103を用いて
v,wを生成し、さらに剰余演算器104を用いて u=BCg (v,w),u′=BCG (v) を生成し、(u,u′)を管理装置200iに送る。な
おu′の計算に用いるGはX,e,Nにより計算する。
【0021】(b)管理装置200iは乱数生成器20
2を用いてRを定め、それを鍵生成装置100に送る。 (c)鍵生成装置100は、剰余演算器105を用いて z=v+dR, t=w+r1 R mod q を計算し、(z,t)を管理装置200iに送る。
【0022】(d)管理装置200iは以下の式が成立
するかどうかを剰余演算器204ならびに比較器205
を用いて検証する。 BCg (z,t)=uaR mod p ,BCG (z) =u′bR
mod N さらに比較器205を用いてzがv,R,dのサイズ
(ビット数)で決るビット数以下であることを確認す
る。
【0023】5.鍵生成装置100はdをShamirの多項
式補間法により剰余演算器106を用いてn個の値s1,
…,sn に分散し、si を管理者Ti の管理装置200
iに送る。さらに、a=BCg (d,r1 )の値を利用
して、Pedersenの方法により剰余演算器106を用いて
i が正しく分散された値であることを証明する情報E
1,…,Ek-1 を送る。
【0024】6.管理装置200iは剰余演算器206
および比較器207を用いてそれらの正当性を検証し、
正しければそれらを受けとり保管する。 7.秘密鍵dを復元する必要があるときにはn人の管理
者の中でk人が協力して、各管理者の分散情報を持ち寄
りそれらよりShamirの方法により剰余演算器107を用
いてdの値を復元する。
【0025】上述では請求項1の発明でa=Fg (x) mo
d p としてgx r mod pを用いたがgx mod pでもよ
い。同様に請求項2の発明でもa=Fg (d)mod pと
してgd mod pでもよい。
【0026】
【発明の効果】請求項1の発明では、素因数分解系の公
開鍵暗号であるRSA法やRabin 法に対して秘密鍵
(P,Q)に関連する秘密情報xを分散して登録してお
き、しかも各管理者は自分に送られてきた分散情報が正
しいことを確認できる。従って、一定人数(k人)の管
理者が協力すれば必ず秘密鍵(P,Q)を復元できる。
また、同様に請求項2の発明では、RSA法に秘密鍵d
を分散管理し一定人数(k人)の管理者が協力すれば必
ず秘密鍵dを復元できる。
【図面の簡単な説明】
【図1】この発明が適用されるシステムの構成を示すブ
ロック図。
【図2】請求項1の発明の実施例における鍵生成装置と
管理装置間で行う処理シーケンスを示す図。
【図3】図2の実施例における鍵生成装置100の機能
構成を示すブロック図。
【図4】図2の実施例における管理装置200iの機能
構成を示すブロック図。
【図5】請求項2の発明の実施例における鍵生成装置と
管理装置間で行う処理シーケンスを示す図。
【図6】図5の実施例における鍵生成装置100の機能
構成を示すブロック図。
【図7】図5の実施例における管理装置200iの機能
構成を示すブロック図。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 鍵生成者の鍵生成装置と、管理者T
    i (i=1,…,n)の管理装置とにより、素因数分解
    問題に基づく公開鍵暗号方式の秘密鍵を複数に分散して
    上記管理装置に登録し後に復元する秘密鍵分散管理方法
    であって、 鍵生成者は鍵生成装置により秘密鍵(P,Q)と公開鍵
    N=PQを生成し、Nを管理者Ti (i=1,…,n)
    の管理装置に送り管理装置は単独又は複数共同で素数p
    ならびに位数がNの元gを定めて鍵生成装置へ送り、 鍵生成装置はy,a=Fg (x) mod p を管理装置に送る
    とともに、Nが2つの素数の積であることならびにxと
    yが一定の関係を満足することをx,P,Qの値を秘密
    にして管理装置との間の情報交換により、管理者に証明
    し、 鍵生成装置はxをShamirの多項式補間法を用いてn個の
    値s1,…,sn に分散し、si を管理者Ti の管理装置
    に送ると同時に、si が正しく分散された値であること
    を証明する情報を送り、 管理装置はそれらの正当性を検証し、正しければそれら
    を受けとり保管し、秘密鍵(P,Q)を復元する必要が
    あるときにはn人の管理者の中でk人が協力して、各管
    理者の分散情報をその管理装置より鍵生成装置に供給
    し、鍵生成装置はこれら供給された分散情報よりxの値
    を復元し、それとyの値よりNの素因数P,Qを計算す
    ることを特徴とする秘密鍵分散管理方法。
  2. 【請求項2】 鍵生成者の鍵生成装置と、管理者T
    i (i=1,…,n)の管理装置によりRSA公開鍵暗
    号方式の秘密鍵を複数に分散して上記管理装置に登録
    し、後に復元する秘密鍵分散管理方法であって、 鍵生成者は鍵生成装置によりRSA公開鍵暗号方式の秘
    密鍵dと公開鍵(N,e)を生成し、(N,e)を管理
    者Ti (i=1,…,n)の管理装置に送り、 管理者は単独又は複数共同で管理装置により乱数Xを生
    成すると共にG=Xemod Nを計算し、また素数pなら
    びにパラメータgを生成し、X,p,gを鍵生成装置に
    送り、 鍵生成装置はa=Fg (d)mod p を管理装置に送ると
    ともに、鍵生成者はaとX=F′G (d)mod Nがそれ
    ぞれ同じdを暗号化していることをdの値を秘密にした
    まま管理者鍵生成装置と管理装置との情報交換により証
    明し、 鍵生成装置はdをShamirの多項式補間法を用いてn個の
    値s1,…,sn に分散し、si を管理者Ti の管理装置
    に送ると同時に、si が正しく分散された値であること
    を証明する情報を送り、 管理装置はそれらの正当性を検証し、正しければそれら
    を受けとり保管し、 秘密鍵dを復元する必要があるときにはn人の管理者の
    中でk人が協力して、各管理者の分散情報をその管理装
    置より鍵生成装置へ供給し、鍵生成装置は供給された分
    散情報よりdの値を復元することを特徴とする秘密鍵分
    散管理方法。
JP9086302A 1997-04-04 1997-04-04 秘密鍵分散管理方法 Pending JPH10282881A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9086302A JPH10282881A (ja) 1997-04-04 1997-04-04 秘密鍵分散管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9086302A JPH10282881A (ja) 1997-04-04 1997-04-04 秘密鍵分散管理方法

Publications (1)

Publication Number Publication Date
JPH10282881A true JPH10282881A (ja) 1998-10-23

Family

ID=13883050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9086302A Pending JPH10282881A (ja) 1997-04-04 1997-04-04 秘密鍵分散管理方法

Country Status (1)

Country Link
JP (1) JPH10282881A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024439A1 (fr) * 1999-09-29 2001-04-05 Hitachi, Ltd. Dispositif, programme ou systeme de traitement d'informations secretes
JP2002529778A (ja) * 1998-10-30 2002-09-10 サートコ インコーポレイテッド 共有無作為性の分散暗号化への組み込み
JP2003501878A (ja) * 1999-05-27 2003-01-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 公開鍵−秘密鍵のペアを安全に生成する方法及びその装置
JP2005124168A (ja) * 2003-10-14 2005-05-12 Microsoft Corp デジタル権利管理システム
AU2003252789B2 (en) * 1999-09-29 2006-02-23 Hitachi, Ltd. Processing apparatus, program, or system of secret information
US11349641B2 (en) 2018-08-29 2022-05-31 Nec Corporation Information processing device, information processing method, and recording medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529778A (ja) * 1998-10-30 2002-09-10 サートコ インコーポレイテッド 共有無作為性の分散暗号化への組み込み
JP2003501878A (ja) * 1999-05-27 2003-01-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 公開鍵−秘密鍵のペアを安全に生成する方法及びその装置
WO2001024439A1 (fr) * 1999-09-29 2001-04-05 Hitachi, Ltd. Dispositif, programme ou systeme de traitement d'informations secretes
AU762650B2 (en) * 1999-09-29 2003-07-03 Hitachi Limited Device, program or system for processing secret information
US6873706B1 (en) 1999-09-29 2005-03-29 Hitachi, Ltd. Processing apparatus, program, or system of secret information
AU2003252789B2 (en) * 1999-09-29 2006-02-23 Hitachi, Ltd. Processing apparatus, program, or system of secret information
JP2005124168A (ja) * 2003-10-14 2005-05-12 Microsoft Corp デジタル権利管理システム
JP4672317B2 (ja) * 2003-10-14 2011-04-20 マイクロソフト コーポレーション デジタル権利管理システム
US11349641B2 (en) 2018-08-29 2022-05-31 Nec Corporation Information processing device, information processing method, and recording medium

Similar Documents

Publication Publication Date Title
US7397917B2 (en) Method and apparatus for generating a cryptographic key
Fiat Batch RSA.
US6072876A (en) Method and system for depositing private key used in RSA cryptosystem
US7650494B2 (en) Method and apparatus for use in relation to verifying an association between two parties
EP0936776B1 (en) A network system using a threshold secret sharing method
EP0704124A4 (en) CRYPTOGRAPHIC PROCESS
Kahrobaei et al. Nis05-6: A non-commutative generalization of ElGamal key exchange using polycyclic groups
EP2792098B1 (en) Group encryption methods and devices
Mao Guaranteed correct sharing of integer factorization with off-line shareholders
CN103095459B (zh) 公钥密码体制中模幂运算方法、设备和服务器
Govinda et al. Identity anonymization and secure data storage using group signature in private cloud
CN110784300B (zh) 一种基于乘法同态加密的密钥合成方法
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
Rachmawati et al. An implementation of the H-rabin algorithm in the shamir three-pass protocol
US20050135610A1 (en) Identifier-based signcryption
JPH10282881A (ja) 秘密鍵分散管理方法
Zheng Shortened digital signature, signcryption and compact and unforgeable key agreement schemes
NZ501273A (en) Auto-recoverable auto-certifiable cryptosystems
JP4146252B2 (ja) 不正者特定可能な匿名通信方法、それに使用される利用者装置、及び中継サーバ装置
EP0973293A2 (en) Public-key cryptography with increased protection against selective ciphertext attack
Yu et al. Authenticating compromisable storage systems
WO1999049613A1 (en) Cryptographic key-recovery mechanism
JP3479015B2 (ja) 暗号鍵分散生成方法、署名生成・検証方法、暗号鍵分散生成装置、署名生成・検証装置、暗号鍵分散生成プログラムおよび署名生成・検証プログラムをそれぞれ記録したコンピュータ読み取り可能な記録媒体
CN113630245B (zh) 一种基于门限属性的数据加密方法和***
EP1148675A1 (en) Public key cryptograph and key sharing method