JP4664615B2 - 秘密分散システム - Google Patents

秘密分散システム Download PDF

Info

Publication number
JP4664615B2
JP4664615B2 JP2004117134A JP2004117134A JP4664615B2 JP 4664615 B2 JP4664615 B2 JP 4664615B2 JP 2004117134 A JP2004117134 A JP 2004117134A JP 2004117134 A JP2004117134 A JP 2004117134A JP 4664615 B2 JP4664615 B2 JP 4664615B2
Authority
JP
Japan
Prior art keywords
partial
engine
information
secret key
signature
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 - Lifetime
Application number
JP2004117134A
Other languages
English (en)
Other versions
JP2004246377A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004117134A priority Critical patent/JP4664615B2/ja
Publication of JP2004246377A publication Critical patent/JP2004246377A/ja
Application granted granted Critical
Publication of JP4664615B2 publication Critical patent/JP4664615B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、素因数分解問題に基づく暗号系の秘密分散システムに係り、特に、n個の機関に秘密鍵を秘密分散し、その中の任意のt個の機関により、秘密鍵を算出せずに分散復号及び署名を実現し得る秘密分散システムに関する。
従来、素因数分解問題に基づく暗号系として、例えばRSA暗号系を用いた秘密分散の分野では、しきい値法と呼ばれる秘密分散方式がある。ここで、しきい値法は、秘密情報をn個の部分情報に分散したとき、n個中のt個の部分情報により秘密情報を完全に復元するが、t−1個の部分情報では秘密情報を全く復元できないという、しきい値tを境にした秘密情報の復元特性をもっている(なお、1<t<n)。
この種の秘密分散方式としては、RSA暗号系に、しきい値法の概念を導入し、秘密鍵を(t,n)型で秘密分散させる(t,n)型の秘密分散方式が知られている(Y. Frankel, P. Gemmell, P. D. MacKenzie and M. Yung, “Optimal-resilience proactive public-key cryptosystems”, 38th Annual Symposium on Foundations of Computer Science, pp. 384-393, 1997.(以下、文献[FGMY97]という)、及びT. Okamoto, “Threshold key-recovery systems for RSA”, Security Protocols, LNCS 1361, pp. 191-200, 1997.(以下、文献[Oka97]という))。
中でも、文献[FGMY97]は、ディーラー(分配者)の存在する環境において、秘密鍵dを算出せずに、任意t個の機関で復号や署名の可能な方式を示している。すなわち、合成数Nの異なる素因数を知るディーラーが、素因数を知らなくても任意のt個の部分情報で復号や署名の可能な秘密鍵dを作成可能な方式である。
一方、ディーラーの存在しない環境において、しきい値法ではなく、全ての機関で鍵生成を行う(n,n)型の秘密分散方式が知られている(D. Boneh and M. Franklin, “Efficient generation of shared RSA keys”, Advances in Cryptology-CRYPTO ’97, LNCS 1294, pp. 425-439, 1997.(以下、文献[BF97]という))。
文献[BF97]の方式では、鍵生成を実行すると、秘密鍵dに対して(n,n)型の秘密分散が同時に行われる。また、保持する部分情報を用いた全ての機関からの部分出力を合成することにより、秘密鍵dを算出せずに暗号文を復号可能となっている。
詳しくは、文献[BF97]では、以下にアルゴリズムを示すように、(2,2)型の秘密分散から(2,n)型の秘密分散(n≧3を効率的に構築する方式が述べられている。
なお、説明の簡単のため、秘密鍵dを知るユーザがいて、このユーザが秘密鍵dを(2,n)型で秘密分散すると仮定する。また、機関Pの総数nに対し、部分情報の組合せを示す秘密分散多項式の個数は、r+1であるとし、r=「log n」であるとする(本明細書中、「」は、その括弧内の値以上の最小の整数を示す)。
まず、ユーザは、(2,2)型の秘密分散をr+1回実行するため、r+1個の独立多項式d=d0,0+d0,1=d1,0+d1,1=…=dr,0+dr,1を個別に作成する。
次に、総数nの機関における個々の機関の識別番号をzとし(z∈[0,n])、識別番号zの2進表示をz(2)=βr βr-1 … β0とする。ユーザは、0番目〜n番目の全ての機関P0〜Pnを対象とし、順次、z番目の機関Pzに、r+1個の部分情報:{dr,βr,dr-1,βr-1,…,d0,β0}を送る。これにより、全ての機関P0〜Pnには、識別番号zの2進表示に対応する部分情報の集合が配送される。
配送完了後、機関の番号を唯一に設定することで、任意の2個の機関Pi,Pj(i≠j)は、r+1個の(2,2)型の部分情報のうち、番号z(2)で互いにビットβの異なる同一桁iの部分情報(di,0,di,1)から、秘密鍵dを復元可能となっている(di,0+di,1=d)。
次に、上述した(2,2)型から(2,n)型の秘密分散を構築する方式のように、秘密分散の型を拡張するための関連技術について述べる。
この種の技術としては、(t,l)型を用いた(t,l)型の秘密分散方式がある(S. R. Blackburm, M. Burmester, Y. Desmedt and P. R. Wild, “Efficient multiplicative sharing schemes”, Advances in Cryptology-EURO-CRYPT ’96, pp. 107-118, 1996.(以下、文献[BBDW96]という))。但し、文献[BBDW96]の方式は、正の整数mに対し、次の(1)式を満たすlに関するものである。
Figure 0004664615
t=2 b≧1 → l≧1
t=3 b≧3 → l≧3
t=4 b≧6 → l≧6
となり、t≧4ではt<lとなる。すなわち、t≧4では、(t,t)型を用いた(t,n)型の秘密分散方式を構築不可能となっている。
このため、以下では、同文献[BBDW96]における(3,3)型を用いた(3,3)型の秘密分散方式を説明する。m=2,l=3,t=3とし、(2)式に示すように、bを算出する。
Figure 0004664615
まず、(3,3)型の秘密分散をb+1=4回実行し、(3)式に示すように、秘密鍵dに対する4つの独立多項式を構築する。
d=d0,0+d0,1+d0,2 (1回目)
=d1,0+d1,1+d1,2 (2回目)
=d2,0+d2,1+d2,2 (3回目)
=d3,0+d3,1+d3,2 (4回目) …(3)
また、f(x)=a0+a1X (mod 3)とする。
ここで、同文献[BBDW96]では、最終的な機関(ここでは32個の機関)の集合をP´としたとき、f(X)は(4)式のように記載される(pp.113の1行目、なお、式中の“d”は、本明細書中では“m”と表記した)。
Figure 0004664615
しかしながら、この(4)式は、次の(5)式の誤りと推測される。
Figure 0004664615
但し、a0,a1∈F3であり、f(∞)=a1とする。
f1(x)=0 (mod 3)
f2(x)=1 (mod 3)
f3(x)=2 (mod 3)
f4(x)=0+X (mod 3)
f5(x)=1+X (mod 3)
f6(x)=2+X (mod 3)
f7(x)=0+2X (mod 3)
f8(x)=1+2X (mod 3)
f9(x)=2+2X (mod 3)
各機関fjは(d0,fj(∞),d1,fj(0),d2,fj(1),d3,fj(2))を持つ。具体的に各機関に保管される部分情報の集合は図12に示す通りであり、機関の組合せと対象の部分情報は図13に示す通りである。
図12に示すように、例えば機関f1,f4,f8(2行目)で分散復号を行う際は、X=∞に対応する部分情報を取り出す。それぞれ(d0,0,d0,1,d0,2)による計算を行い、秘密鍵dに相当する出力を算出可能となっている。
また、図13中、a〜lのいずれかのアルファベット符号の付された組合せは、各機関の同一の組合せにおいて、秘密鍵dに相当する出力の算出ルートが3種類あることを示している(なお、図13中の“d”は単なるアルファベット符号であり、秘密鍵dではない)。例えば符号bの付された機関の組合せ(f1,f2,f3)では、X=0,1,2の何れでも秘密鍵dを回復する3個の部分情報を揃えることが可能である。
また一方、上述した文献[BF97]における(n,n)型の秘密分散方式に対し、しきい値法の概念を導入した方式がある(Y. Frankel, P. D. MacKenzie and M. Yung, “Robust efficient distributed RSA-key generation”, Proceedings of the thirtieth annual ACM symposium on theory of computing, pp. 663-672, 1998.(以下、文献[FMY98]という))。
文献[FMY98]の方式では、文献[BF97]の(n,n)型の秘密分散に基づく(t,n)型の鍵生成・共有方式が示されている。具体的には、まず(n,n)型の鍵生成を行い、秘密鍵dに対する和の多項式を生成する。次に、各機関Piは、部分情報diのディーラーとなり、Sum-to-Poly(和から複数個へ)の変換を行う。このとき、各機関Piは、全ての機関Pjからの部分情報djに対する共有情報を合成し、最終的に秘密鍵dに対する秘密分散を行って、秘密鍵dの(t,n)型の秘密共有を実現する。
これにより、文献[FMY98]の方式では、総数n個のうち、任意のt個の機関PがRSA秘密鍵dを算出でき、鍵回復が可能となっている。
しかしながら以上のような秘密分散システムでは、以下のようにそれぞれ問題がある。
文献[BBDW96]の方式では、t=3におけるn>3の場合とt≧4の場合には(t,lm)型の秘密分散の構築が不可であるため、(2,n)型の秘密分散の構築手法が一般化されていない。
また一方、文献[FMY98]の方式では、秘密鍵dを算出せずに、秘密鍵dを用いた署名や復号を試みる時には問題を生じる。例えば、公開鍵(e,N)で暗号化された暗号文C=Me (mod N)があるとする。この暗号文Cを任意のt個の機関(この集合をΛとする)で復号するとき、各機関Pjは、(6)式のようなラグランジュの補間係数λj,Λを算出し、この補間係数λj,Λからそれぞれ部分出力を得る必要がある。
Figure 0004664615
しかしながら、いずれの機関Pjも合成数N(=pq)の素因数を知らないため、巾の位数φ(N)を法としたl−jの乗法逆元が算出不可能となり、ラグランジュの補間係数λj,Λも算出不可能となる。よって、ラグランジュの補間係数λj,Λを算出時に使う部分出力が算出不可能となり、(7)式の如き、部分出力の合成により平文を復元するための分散復号が実行不可能となってしまう。
Figure 0004664615
本発明は上記実情を考慮してなされたもので、分配者の無い環境で秘密鍵を算出せずに、n個の機関のうち、任意t個の機関による分散復号や署名を実現し得る(t,n)型の秘密分散システムを提供することを目的とする。
第1の発明は、素因数分解問題に基づく暗号系に用いられ、秘密鍵を生成して分配する分配者が無い環境で、互いに送受信可能なn個の機関装置及びユーザ装置を備え、n個の機関装置に秘密鍵の部分最終情報が分散され、且つ、いずれの機関装置も自己の部分最終情報だけでは前記秘密鍵を算出不可能な環境にあるとき、前記n個の機関装置のうち、任意のt個の機関装置により、前記秘密鍵を算出せずに、公開鍵に基づく暗号化データから復号結果を生成可能で署名対象データから署名結果を生成可能な(t,n)型の秘密分散システムであって、前記n個の各機関装置としては、前記公開鍵及び前記秘密鍵を生成する手段と、前記秘密鍵の(n,n)型の部分情報を保持する手段と、前記部分情報を(t,n)型の部分乱数情報として当該各機関装置の識別番号のt進表示に基づいて当該各機関装置と互いに分配しあう手段と、前記分配しあった部分乱数情報を前記t進表示の桁毎にまとめて複数の部分最終情報を得る手段と、前記ユーザ装置から受けた前記暗号化データ又は前記署名対象データである処理対象データを前記部分最終情報に基づいて演算処理し、得られた部分出力を前記ユーザ装置に返信する手段とを有し、前記ユーザ装置としては、前記t個の機関装置を選択し、この選択したt個の各機関装置に前記処理対象データを送信する手段と、前記t個の各機関装置から受信した部分出力を合成して前記復号結果又は署名結果を得る手段とを備えた秘密分散システムである。
また、第2の発明は、公開鍵及び秘密鍵dを用いるRSA暗号系に適用され、互いにネットワークを介して接続されたn個の機関及びユーザ装置を備え、n個の機関に前記秘密鍵dの部分最終情報が分散されたとき、その中の任意のt個の機関により、前記秘密鍵dを算出せずに復号結果又は署名結果を生成可能な(t,n)型の秘密分散システムであって、前記n個の各機関としては、前記公開鍵及び前記秘密鍵dを生成する手段と、この秘密鍵dに基づいて生成された(n,n)型の1個の部分情報di(0≦i≦n)を保持する手段と、tを底としたnの対数logtn以上の最小の整数をrとしたとき、前記部分情報diを(t,n)型のt(r+1)個の部分乱数とし、そのうちのr+1個の部分乱数を前記各機関の識別番号のt進表示(tj桁目の値k、0≦k≦t−1、0≦j≦r)に基づいて、それぞれ各機関に分散する手段と、前記各機関から分散されたn(r+1)個の部分乱数をt進表示の桁tj毎にまとめてr+1個の部分最終情報dj,kを得る手段と、前記ユーザ装置から受けた処理対象データを前記部分最終情報dj,kに基づいて演算処理し、得られた部分出力を前記ユーザ装置に返信する手段とを有し、前記ユーザ装置としては、前記t個の機関を選択し、この選択したt個の各機関に処理対象データを送信する手段と、前記t個の各機関から受信した部分出力を合成して前記復号結果又は署名結果を得る手段とを備えた秘密分散システムである。
また、第3の発明は、第1の公開鍵(e,N)及び秘密鍵dと、第2の公開鍵(L2,N)とを用いるRSA暗号系(eとL2とは最大公約数が1であり、法Nは共通)に適用され、互いにネットワークを介して接続されたn個の機関及びユーザ装置を備え、n個の機関に前記秘密鍵dの部分情報sjが分散されたとき、その中の任意のt個の機関により、前記秘密鍵dを算出せずに復号結果を生成可能な(t,n)型の秘密分散システムであって、前記n個の各機関としては、前記ユーザ装置から受けた復号対象データC2(=Me (mod N))を演算処理して得られた部分出力Zjを前記ユーザ装置に返信する手段とを有し、前記ユーザ装置としては、前記n個の機関のうちのt個の機関を選択し、この選択したt個の各機関に前記復号対象データC2を送信する手段と、前記t個の各機関から受信した部分出力Zjを合成して前記復号結果C1(=ML^2 (mod N)、^はべき乗を示す記号)を得る手段と、前記復号結果C1、前記処理対象データC2及び下記式に基づいて、演算処理を実行し、最終復号結果Mを求める手段とを備えた秘密分散システムである。
a1=(L2-1 (mod e)
a2=(a1L2−1)/e
M=C1 a1(C2 a2-1 (mod N)
さらに、第4の発明は、第3の発明において、前記復号対象データC2に代えて、署名対象データS2(=M)を用い、前記復号結果C1に代えて、署名結果S1(=MdL^2(mod N)、^はべき乗を示す記号)を用い、前記最終復号結果Mを求める手段に代えて、前記署名結果S1(=(Md)e)、前記署名対象データS2(=(Md)L^2)及び下記式に基づいて、演算処理を実行し、最終署名結果Mを求める手段とを備えた秘密分散システムである。
a1=(L2-1 (mod e)
a2=(a1L2−1)/e
=S1 a1(S2 a2-1 (mod N)
また、第5の発明は、公開鍵及び秘密鍵dを用いるRSA暗号系に適用され、互いにネットワークを介して接続されたn個の機関及びユーザ装置を備え、n個の機関に前記秘密鍵dの部分最終情報が分散されたとき、その中の任意のt個の機関により、前記秘密鍵dを算出せずに復号結果又は署名結果を生成可能な(t,n)型の秘密分散システムに使用されるコンピュータ読み取り可能な記憶媒体であって、前記n個の各機関内のコンピュータに、前記公開鍵及び前記秘密鍵dを生成する手段と、この秘密鍵dに基づいて生成された(n,n)型の1個の部分情報di(0≦i≦n)を保持する手段と、tを底としたnの対数logtn以上の最小の整数をrとしたとき、前記部分情報diを(t,n)型のt(r+1)個の部分乱数とし、そのうちのr+1個の部分乱数を前記各機関の識別番号のt進表示(tj桁目の値k、0≦k≦t−1、0≦j≦r)に基づいて、それぞれ各機関に分散する手段と、前記各機関から分散されたn(r+1)個の部分乱数をt進表示の桁tj毎にまとめてr+1個の部分最終情報dj,kを得る手段、前記ユーザ装置から受けた処理対象データを前記部分最終情報dj,kに基づいて演算処理し、得られた部分出力を前記ユーザ装置に返信する手段、を実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
さらに、第6の発明は、第1の公開鍵(e,N)及び秘密鍵dと、第2の公開鍵(L2,N)とを用いるRSA暗号系(eとL2とは最大公約数が1であり、法Nは共通)に適用され、互いにネットワークを介して接続されたn個の機関及びユーザ装置を備え、n個の機関に前記秘密鍵dの部分情報sjが分散されたとき、その中の任意のt個の機関により、前記秘密鍵dを算出せずに復号結果を生成可能な(t,n)型の秘密分散システムに使用される記憶媒体であって、前記n個の各機関内のコンピュータに、前記ユーザ装置から受けた復号対象データC2(=Me (mod N))を演算処理して得られた部分出力Zjを前記ユーザ装置に返信する手段、を実現させるためのプログラムを記憶し、前記ユーザ装置内のコンピュータに、前記n個の機関のうちのt個の機関を選択し、この選択したt個の各機関に前記復号対象データC2を送信する手段、前記t個の各機関から受信した部分出力Zjを合成して前記復号結果C1(=ML^2 (mod N)、^はべき乗を示す記号)を得る手段、前記復号結果C1、前記処理対象データC2及び下記式に基づいて、演算処理を実行し、最終復号結果Mを求める手段、を実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
a1=(L2-1 (mod e)
a2=(a1L2−1)/e
M=C1 a1(C2 a2-1 (mod N)
また、第7の発明は、第6の発明において、前記復号対象データC2に代えて、署名対象データS2(=M)を用い、前記復号結果C1に代えて、署名結果S1(=MdL^2(mod N)、^はべき乗を示す記号)を用い、前記最終復号結果Mを求める手段に代えて、前記署名結果S1(=(Md)e)、前記署名対象データS2(=(Md)L^2)及び下記式に基づいて、演算処理を実行し、最終署名結果Mを求める手段とを実現させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
a1=(L2-1 (mod e)
a2=(a1L2−1)/e
=S1 a1(S2 a2-1 (mod N)
(作用)
従って、第1,2,5の発明は以上のような手段を講じたことにより、n個の各機関が、公開鍵及び秘密鍵dを生成し、この秘密鍵dに基づいて生成された(n,n)型の1個の部分情報di(0≦i≦n)を保持し、tを底としたnの対数logtn以上の最小の整数をrとしたとき、この部分情報diを(t,n)型のt(r+1)個の部分乱数とし、そのうちのr+1個の部分乱数を各機関の識別番号のt進表示(tj桁目の値k、0≦k≦t−1、0≦j≦r)に基づいて、それぞれ各機関に分散し、各機関から分散されたn(r+1)個の部分乱数をt進表示の桁tj毎にまとめてr+1個の部分最終情報dj,kを得る。
続いて、ユーザ装置が、t個の機関を選択し、この選択したt個の各機関に処理対象データを送信し、t個の機関が、ユーザ装置から受けた処理対象データを部分最終情報dj,kに基づいて演算処理し、得られた部分出力をユーザ装置に返信し、ユーザ装置が、t個の各機関から受信した部分出力を合成して復号結果又は署名結果を得る。
このように、分配者の無い環境で秘密鍵を算出せずに、n個の機関のうち、任意t個の機関による分散復号や署名を実現することができ、また、ラグランジュ補間法を用いず、高い処理効率を実現することができる。
また、第3,6の発明は、第1の公開鍵(e,N)及び秘密鍵dと、第2の公開鍵(L2,N)とを用いるRSA暗号系(eとL2とは最大公約数が1であり、法Nは共通)において、n個の機関に秘密鍵dの部分情報sjが分散されたとき、ユーザ装置が、n個の機関のうちのt個の機関を選択し、この選択したt個の各機関に復号対象データC2を送信し、t個の各機関が、ユーザ装置から受けた復号対象データC2(=Me (mod N))を演算処理して得られた部分出力Zjをユーザ装置に返信し、ユーザ装置が、t個の各機関から受信した部分出力Zjを合成して復号結果C1(=ML^2 (mod N))を得ると共に、復号結果C1、処理対象データC2及び所定の式(a1=(L2-1 (mod e)、a2=(a1L2−1)/e、M=C1 a1(C2 a2-1 (mod N))に基づいて、演算処理を実行し、最終復号結果Mを求める。
これにより、分配者の無い環境で秘密鍵を算出せずに、n個の機関のうち、任意t個の機関による分散復号を実現することができ、また、所定条件の公開鍵を用いたラグランジュ補間法に基づき、高い確実性を実現することができる。
さらに、第4,7の発明は、前記復号対象データC2に代えて、署名対象データS2(=M)を用い、復号結果C1に代えて、署名結果S1(=MdL^2(mod N)、^はべき乗を示す記号)を用い、最終復号結果Mを求める手段に代えて、署名結果S1(=(Md)e)、署名対象データS2(=(Md)L^2)及び所定の式(a1=(L2-1 (mod e)、a2=(a1L2−1)/e、M=S1 a1(S2 a2-1 (mod N))に基づいて、演算処理を実行し、最終署名結果Mを求める。
これにより、第3,6の発明に対応する作用と同様の作用を署名処理において実現することができる。
以上説明したように本発明によれば、分配者の無い環境で秘密鍵を算出せずに、n個の機関のうち、任意t個の機関による分散復号や署名を実現できる(t,n)型の秘密分散システムを提供できる。
次に、本発明の各実施形態について図面を参照して説明する。なお、第1の実施形態は、ラグランジュ補間法を用いず、高い処理効率を実現したものであり、第2の実施形態は、所定条件の公開鍵を用いたラグランジュ補間法に基づき、高い確実性を実現したものであって、両者ともノンディーラーモデルのしきい値法による分散復号及び署名の可能な(t,n)型の秘密分散システムとなっている。以下、順次説明する。
(第1の実施形態)
本実施形態は、文献[BF97]における(2,2)型から(2,n)型の秘密分散を構築する方式を一般化した(t,n)型の秘密分散システムである。
具体的には、文献[BF97]の方式を用いて各機関Piが秘密鍵dの(n,n)型の部分情報diを保持すると、全ての機関P1〜Pnがそれぞれ部分情報diを(t,n)型の部分乱数情報として分配し、各機関P1〜Pnが部分乱数情報を桁毎にまとめて複数の部分情報dj,kを得る(t,n)型の秘密分散システムとなっている。
図1は本発明の第1の実施形態に係る秘密分散システムの構成を示す模式図である。この秘密分散システムは、各々計算機システムとしてのn個の機関P1〜Pn及びユーザ装置Uが互いにネットワークを介して接続されている。
なお、各機関P1〜Pnは、互いに同一構成を有するので、ここでは任意の機関Pi(但し、1≦i≦n)を代表例として説明する。
機関Piは、公開鍵(e,N)及び秘密鍵dを生成する機能と、[BF97]の方式に基づいて、秘密鍵dを(2,n)型の部分情報とし、そのうちのr+1個の部分情報をそれぞれ各機関P1〜Pnに分散する機能と、分散されたr+1個の部分情報に基づいて、(n,n)型の1個の部分情報diを保持する機能と、この部分情報diを(t,n)型の部分乱数とし、そのうちのr+1個の部分乱数を機関の識別番号のt進表示に基づいて、それぞれ各機関P1〜Pnに分散する機能と、各機関P1〜Pnから分散されたn(r+1)個の部分乱数をt進表示の桁tj毎にまとめてr+1個の部分情報dj,kを得る機能と、ユーザ装置Uから受けた暗号文Cを復号処理して得られた部分出力Xzをユーザ装置Uに返信する機能とをもっている。
また、各機関Piは、任意のt個が選択された場合、図示しないが、“P”に代えて“T”の表記を用いる。例えば“機関Pz”は選択されているとき、“機関Tz”と表記される。
ユーザ装置Uは、n個の機関P1〜Pnのうちのt個の機関Tzを選択する機能と、公開鍵(e,N)で暗号化された暗号文Cをt個の各機関Tzに送信する機能と、各機関Tzから受信した部分出力Xzを合成して平文Mを得る機能とをもっている。
次に、各機関P1〜Pn及びユーザ装置Uの具体的なハードウェア構成について述べる。具体的には、機関Pi及びユーザ装置Uは、ハードウェア的には図2に示すように、CPU11、コントローラ12、メモリ13、通信デバイス14、ディスプレイ15、キーボード16及びプリンタ17が互いにバス18を介して接続された計算機システムである。
これらの構成のうち、メモリ13は、いわゆる主記憶(RAM等)と二次記憶装置(ハードディスク等)の双方を含むものである。この主記憶上に読み込まれたプログラムと、このプログラムに従うCPU11の制御とにより、機関Piが行うべき機能が実現される。すなわち、各機関P1〜Pn及びユーザ装置Uは、ソフトウェア的には、上述したそれぞれの機能を行うように、互いに異なる構成を有するものである。これらハードウェア及びソフトウェアの結合からなるそれぞれの機能の詳細な内容は、以下の動作説明において詳細に述べる。
但し、各機関P1〜Pnは、ユーザ装置Uから受信したデータを演算処理し、結果をユーザ装置Uに返信するためのハードウェアがあればよいので、例えばディスプレイ15、キーボード16及びプリンタ17などを適宜、省略してもよい。同様に、ユーザ装置Uにおいても、例えばプリンタ17を省略してもよい。
次に、以上のように構成された秘密分散システムの動作を説明する。
((t,n)型の秘密分散)
各機関P1〜Pnは、公開鍵(e,N)及び秘密鍵dを生成すると、文献[BF97]の方式に基づいて、秘密鍵dを(2,n)型の部分情報とし、そのうちのr+1個の部分情報をそれぞれ各機関P1〜Pnに分散する。
各機関P1〜Pnは、[BF97]の方式によるr+1個の部分情報に基づき、合成数Nにおける互いに異なる2つの素因数p,qと、秘密鍵dとを(n,n)型で秘密共有している。
すなわち、各機関Pi(1≦i≦n)は、図3に示すように、次の(8)式を満たす部分情報diをそれぞれ保管している(ST1)。
d=d1+d2+…+dn …(8)
次に、全ての各機関Piは、自己の部分情報diのディーラーとして機能する。すなわち、全ての各機関Piは、(9)式に示すように、自己の部分情報diを示す(t,n)型の部分乱数情報Sj,l(0≦j≦r,0≦l≦t−2)を生成する(ST2)。但し、r=「logt n」である。
Figure 0004664615
なお、この部分乱数情報Sj,lの生成処理は、全ての各機関Piが、それぞれ次に示す如き、自己の部分情報diを示すr+1個の独立多項式を作成することと等価である。
di=S0,0+S0,1+…+S0,t-2+S0,t-1
=S1,0+S1,1+…+S1,t-2+S1,t-1
= …
=Sj,0+Sj,1+…+Sj,t-2+Sj,t-1
= …
=Sr,0+Sr,1+…+Sr,t-2+Sr,t-1
次に、全ての各機関Piは、識別番号をzとしたとき、以下のステップST3〜ST4に示すように、各機関Pz(1≦z≦n)と互いに部分乱数情報Sj,lを分散しあう。
すなわち、機関Pzの識別番号zを(10)式に示すように、t進数に変換する(ST3)。
z=βr,zr+βr-1,zr-1+…+βj,zj+…+β0,z …(10)
簡単のため、(10)式を(11)式のように表記する。
z(t)=βr,z βr-1,z … βj,z … β0,z …(11)
但し、t進値βr,z∈{0,…,t-1}
また、各機関Piは、z(t)における各桁tj毎のt進値βに基づいて、次に示すr+1個の部分乱数情報を含む集合Sを機関Pzに送信する(ST4)。
Figure 0004664615
各機関Pzは、自己を含む全ての各機関Piから得た集合Sに基づいて、次の(12)式に示すように、各桁j毎の部分乱数情報Sj,lの総和をとって部分情報dj,kを算出する(ST5)。但し、k∈{βr,z βr-1,z … β0,z},0≦j≦rである。
Figure 0004664615
各機関Pzは、桁jの数に対応するr+1個の部分情報dj,kを保管する(ST6)。なお、部分情報dj,kは、秘密鍵dの部分集合である。
秘密鍵dと部分秘密鍵dj,kとの関係は、以下の(13)式に示す通りである。
d=d0,0+d0,1+…+d0,t-1 (t0桁目)
=d1,0+d1,1+…+d1,t-1 (t1桁目)
= … ( … )
=dr,0+dr,1+…+dr,t-1 (tr桁目) …(13)
例えば、(3,27)型の秘密分散における機関z=20の保管情報は、以下の通りである。
r=「log3 27」=3
20=0×33+2×32+0×31+2×30
20(3)=0202 (3進表示)
よって、機関P20は、次の(14)式に示す全ての部分情報のうち、識別番号zの3進表示(0202)に対応する部分情報(d3,0,d2,2,d1,0,d0,2)を保管する。
d=d3,0+d3,1+d3,2 (33桁目)
=d2,0+d2,1+d2,2 (32桁目)
=d1,0+d1,1+d1,2 (31桁目)
=d0,0+d0,1+d0,2 (30桁目) (14)
(分散復号化)
n個の機関P1〜Pnのうち、任意のt個の機関Tz(この集合をΛとする)は、ユーザ装置Uからの復号依頼により、ユーザ装置Uの公開鍵(e,N)で暗号化されたデータC=Me(mod N)を図4のステップST11〜ST16に示すように分散復号化する。
すなわち、ユーザ装置Uは、(15)式に示すように、t個の機関Tzの識別番号zをそれぞれt進表示に変換する(ST11)。
z(t)=βr,z βr-1,z … β0,z …(15)
続いて、ユーザ装置Uは、t個の機関Ta,Tb∈Λ(a≠b)におけるt進表示の各桁tj(0≦j≦r)毎に、t進表示の値βが全て異なる(βj,a ≠ βj,b)という条件を満たす桁tjが有るか否かを判定する(ST12)。
この条件を満たす桁tjがないとき、この集合Λによる分散復号は不可能であるため、集合Λ内の機関Tzを多少入れ換えて(ST13)、ステップST11から再実行する。
ステップST2で条件を満たす桁tjがあるとき、ユーザ装置Uは、暗号化データCを各機関Tzに送信する(ST14)。
各機関Tzは、tj桁に対応する部分情報dj,k(k=βj,z)に基づいて、暗号化データCを復号処理し、得られた部分出力Xz(=Cdj,k (mod N))をそれぞれユーザ装置Uに返信する(ST15)。
ユーザ装置は、t個の各機関Tz(z∈Λ)から受信したt個の部分出力Xz(z∈Λ)を(16)式のように合成し、平文Mを復元することができる(ST16)。
Figure 0004664615
また、以上の動作は、暗号化データC(=Me(mod N))をt個の各機関Tzに送ることにより、平文Mを分散復号した場合である。これに限らず、本実施形態は、図5に示すように、暗号化データCに代えて、署名対象データMをt個の各機関Tzに送信したとき(ST14a)、前述した部分出力Xzの合成により、署名Md(mod N)を得ることもできる(ST16a)。
上述したように本実施形態によれば、n個の各機関P1〜Pnが、公開鍵及び秘密鍵dを生成し、この秘密鍵dに基づいて生成された(n,n)型の1個の部分情報di(0≦i≦n)を保持し、tを底としたnの対数logtn以上の最小の整数をrとしたとき、この部分情報diを(t,n)型のt(r+1)個の部分乱数Sjとし、そのうちのr+1個の部分乱数Sjを各機関Piの識別番号zのt進表示(tj桁目の値k、0≦k≦t−1、0≦j≦r)に基づいて、それぞれ各機関P1〜Pnに分散し、これら分散されたn(r+1)個の部分乱数をt進表示の桁tj毎にまとめてr+1個の部分情報dj,kを得る。
続いて、ユーザ装置Uが、t個の機関Tzを選択して暗号化データC(又は署名対象データ)を送信し、t個の機関Tzが、暗号化データC(又は署名対象データ)を部分情報dj,kに基づいて演算処理し、得られた部分出力Xzをそれぞれユーザ装置Uに返信し、ユーザ装置Uが、t個の部分出力Xzを合成して復号結果(又は署名結果)を得る。
このように、分配者の無い環境で秘密鍵を算出せずに、n個の機関のうち、任意t個の機関による分散復号や署名を実現することができる。また、復号分散時に、ラグランジュの補間係数を算出する手間を省略でき、高い処理効率を実現することができる。
また、本実施形態は、予め暗号文への入力を表として保持でき、ラグランジュの補間係数の算出が不要な分だけ、文献[FMY98]の方式よりも、演算の処理効率を向上させることができる。
さらに、本実施形態は、全ての組合せに応じたラグランジュの補間係数を表として保管する場合、文献[FMY98]の方式よりも、保管する情報の量を低減させることができる。
例えば、文献[FMY98]の方式は、ラグランジュの補間法に基づくしきい値法を用いた分散復号化を行う。ここでは、秘密鍵dが各機関P1〜Pnのもつ部分情報の単純和ではなく、各機関Pjは、前述したラグランジュの補間係数λj,Λを算出し、合成する必要がある。よって、補間係数λj,Λを予め算出して表に保管する場合、1つの部分情報と参加機関Tzの全ての組合せに応じた個の補間係数λj,Λを算出して保管する必要がある。
一方、本実施形態では、「logtn」+1個の部分情報から機関の組合せに対応する部分情報を選択すればよい。よって、保管される部分情報は、「logtn」+1個でよく、少ない情報量となっている。
ところで、本実施形態の方式によれば、t個の機関の組合せが悪いとき、暗号文を分散復号できない場合がある。この場合について(3,27)型の秘密分散を例に挙げて補足的に説明する。今、秘密鍵dについて、以下のr+1個の多項式が成立しているとする。
d=d3,0+d3,1+d3,2 (33桁目)
=d2,0+d2,1+d2,2 (32桁目)
=d1,0+d1,1+d1,2 (31桁目)
=d0,0+d0,1+d0,2 (30桁目)
まず、分散復号が可能な場合を示す。27個の機関のうち、機関P20,P23,P26が分散復号プロトコルに介入するとき、復号操作Cd=Med=Mは成功する。ここで、各機関P20,P23,P26の3進表示は、P20=0202,P23=0212,P26=0222であり、それぞれの保管情報は図6に示す通りとなっている。ここで、31桁に注目すると、(17)式に示すように、d=d1,0+d1,1+d1,2からdによる復号化処理が可能となる。
d1,0・Cd1,1・Cd1,2=Med
=M (mod N) …(17)
ところが、P23に代えてP11を用いた各機関P20,P23,P11では、復号操作は失敗する。すなわち、各機関の3進表示は、P20=0202,P23=0212,P11=0102であり、それぞれの保管情報は図7に示す通りである。
この場合、秘密鍵dを構成する3つの部分情報(dj,0+dj,1+dj,2)がどの桁jでも揃わず、いずれかの部分情報が2つ以上の機関において重複(衝突)している。このように保管する部分情報の重複により、分散復号の不可能な場合がある。
この場合、別のt個の機関を選択し直す必要がある。
ここで、機関の総数nが大きく、t個以上の機関を比較的自由に選択可能な場合、本実施形態の(t,n)型の秘密分散が適している。すなわち、機関の総数nが大きいときには復号不能となっても、t個の機関Pを再編成して分散復号プロトコルをし直せばよい。
逆にnの数が小さく、機関Pの選択の余地がない場合は、全ての組合せに応じた関係式を作成する方式が適している。例えば、エルガマル(ElGamal)暗号系では、n個のうちの任意のt個の機関がグループの鍵で暗号化された暗号文を復号することができる技術が提案されている(T. P. Pedersen, “A threshold cryptosystem without a trusted party”, Advances in Cryptology-Eurocrypt ’91, LNCS 547, pp.522-526, 1991.(以下、文献[Ped91b]という))。すなわち、文献[Ped91b]の方式のように任意のt個の機関で分散復号・鍵復元を行うには、秘密鍵dに関するnt個の独立な関係式を作成すればよい。具体的には、ある組合せ(Λ)のときは(18)式のように該当する関係式により分散復号を行う方式である。
d=d1,Λ+d2,Λ+…+dt,Λ …(18)
しかしながら、文献[Ped91b]の方式では、衝突の可能性はないものの、機関の総数nに比例して関係式の数が膨大になってしまう。よって、衝突の可能性の低い範囲で、独立多項式を最小限に抑えることが好ましい。
各方式はそれぞれ長所・短所があるので、第1実施形態の方式(再編成する方式)、第1実施形態の方式において関係式を用いる方式、あるいは後述する第2の実施形態の方式(補間法を用いる方式)のいずれを選択するかは、機関の総数nや処理効率、使用される環境、復号処理不能が許されるか否かなどの条件に応じて使い分けることが好ましい。
(第2の実施形態)
次に、本発明の第2の実施形態について説明するが、その前に本実施形態の前提となるRSA共通法誤用プロトコルについて述べる。
RSA暗号系において、1つのメッセージMを、互いに共通する法Nと、互いに異なる公開指数e1,e2とを用いる条件の下でそれぞれ暗号化し、得られた2つの異なる暗号文C1,C2があるとする。この場合、合成数Nの素因数が不明でも、2つの暗号文C1,C2からメッセージMを復元できる(G. J. Simmons, “A ‘weak’ privacy protocol using the RSA cryptoalgolithm”, Cryptologia, vol. 7, pp.180-182, 1983.(以下、文献[Sim83]という))。
この文献[Sim83]の方式において、前述した2つの暗号文C1,C2は、次の(19)式〜(20)式に示すように得られている。
1=Me1 (mod N) …(19)
2=Me2 (mod N) …(20)
ここで、異なる公開指数e1,e2の最大公約数gcd(e1,e2)=1である場合、以下のステップSTc1〜STc3を行うと、2つの暗号文C1,C2からメッセージMを復元できる(D. R. Stinson, “CRYPTOGRAPHY : Theory and Practice”, CRC Press, Inc. Boca Raton, Florida, U.S.A., 1995.(以下、文献[Sti95]という))。
(ステップSTc1)a1=e1-1 (mod e2)
(ステップSTc2)a2=(a1e1−1)/e2
(ステップSTc3)M=C1 a1(C2 a2-1 (mod N)
また、上記処理(Step c1〜c3)を次のように表記する。
Common(e1,e2)→M
以上のように、RSA暗号系においては、所定の条件を満たすとき、メッセージMを復元可能なプロトコルが存在する。このプロトコルがRSA共通法誤用プロトコルと呼ばれている。
さて次に、本発明の第2の実施形態に係る秘密分散システムについて説明する。本実施形態は、文献[Sim83]及び[Sti95]等のRSA共通法誤用プロトコルを適用可能な条件で公開鍵を作成し、文献[FMY98]の手法により、秘密鍵dの部分情報sjを分散する(t,n)型の秘密分散システムである。
なお、RSA共通法誤用プロトコルを適用可能な条件とは、次の(a)〜(c)を全て満たすことに相当する。
(a)メッセージMが同じである。
(b)法Nが共通する。
(c)互いに異なる公開指数(e1,e2)の最大公約数gcd(e1,e2)=1である。
但し、以下の説明では、公開指数(e1,e2)を(L2,e)と表記している。また、公開指数L2の元となるLは、L=n!に代えて、L=(n−1)!としてもよい。
また、ユーザ装置及び各機関は、ハードウェア的な構成に関しては図1及び図2に示した通りとし、機能に関しては第1実施形態とは異なるので、以下に説明する。
なお、各機関P1〜Pnは、前述同様に、任意の機関Pi(但し、1≦i≦n)を代表例として説明する。
機関Piは、[FMY98]の方式に基づいて、法Nの部分情報(pj,qj)を作成する機能と、これら部分情報pj,qjをそれぞれ各機関P1〜Pnに分散する機能と、各機関Pjの(pj,qj)を基に、公開鍵(e,N)を生成する機能と、秘密鍵dから(t,n)型の部分情報sjを得る機能と、夫々部分情報(pj,qj)及びsjを保持する機能と、ユーザから受けた暗号文C(=C2=Me (mod N))を復号処理して得られた部分出力Zjをユーザ装置Uに返信する機能とをもっている。
ユーザ装置Uは、n個の機関のうちのt個の機関Tzを選択する機能と、公開鍵(e,N)で暗号化された暗号文C2(=Me(mod N))をt個の各機関Tzに送信する機能と、各機関Tzから受信した部分出力Zjを合成して暗号文C1(=ML2(mod N))を得る機能と、2つの暗号文(ML2,Me)から、前述したRSA共通法誤用プロトコルCommon(L2,e)→Mを用いて、メッセージMを算出する機能とをもっている。
次に、以上のように構成された秘密分散システムの動作を説明する。
((t,n)型の秘密分散)
各機関は互いに、文献[FMY98]の方式に基づいて、秘密鍵dを(t,n)型の部分情報とし、対応する部分情報sjを個別にn個の機関P1〜Pnに分散する。
具体的には、各機関Pjは、法Nの構成要素(pj,qj)を作成し、夫々送信する。各機関Pjは、他の各機関Pjから受けた(pj,qj)の合成N=(p1+p2+…+pn)(q1+q2+…+qn)が異なる2つの素数の積であるか否かを判定し、異なる素数の積であるとき、正当として次に進む。
各機関Pjは(pj,qj)を基に、公開鍵(e,N)を生成し、各機関Pjの保持すべき秘密鍵dの部分情報djを算出する((n,n)型秘密分散完了)。
d=d1+d2+…+dj+…+dn
次に、各機関Pjは、(n,n)型の秘密鍵dをSum-to-Polyの技術により、(t,n)型の秘密鍵dに変換する((t,n)型秘密分散完了)。
このとき、t−1個の乱数{b1,…bt-1}∈Zに対し、(21)式の如き、多項式を定める。
f(x)=d+b1x+b2x2+…+bt-1t-1 …(21)
この式は、y切片を秘密鍵dとしたk−1次の多項式であり、ラグランジュの補間法により、k個の座標点(j,f(j))から一意に定まる性質をもっている。但し、k−1個の座標点からは一意に定まらず、任意のy切片が可能となり、秘密鍵dを得られない性質もある。
各機関Pjは、各機関P1〜Pnの自己の識別番号j(1≦j≦n)を独立変数xとして上記多項式f(x)に代入してf(j)を計算し、f(x)上のy座標を示す部分情報sj(=f(j))を各機関Pj毎に得る。
各機関Pjは、得られた(t,n)型の部分情報sjと、予め保持する、法Nの素因数pqの部分情報(pj,qj)とを保管する。なお、(n,n)型の部分情報djも保持されるが、本実施形態では特に使用されない。
(分散復号化)
n個の機関のうち、任意のt個の機関Tz(この集合をΛとする)は、ユーザ装置Uからの復号依頼により、ユーザ装置Uの公開鍵(e,N)で暗号化されたデータC=Me(mod N)を図8のステップST21〜ST24に示すように分散復号化する。ここで、L=n!かつ最大公約数gcd(e,L2)=1とする。
すなわち、ユーザ装置Uは、暗号文C(=Me (mod N))をt個の各機関Tj(∈Λ)に送信する(ST21)。
各機関Tjは、次の(22)式〜(24)式の通り、それぞれ自己の部分情報sjを用いて部分出力Zjを算出し、得られた部分出力Zjをユーザ装置Uに返信する(ST22)。
Figure 0004664615
ユーザ装置Uは、次の(25)式のように、t個の各機関Tjから受ける部分出力Zjを合成し、暗号文ML2(mod N)を算出する(ST23)。
Figure 0004664615
ユーザ装置Uは、元の暗号文Meと、この暗号文ML2との互いに異なる2つの暗号文(ML2,Me)から、前述したRSA共通法誤用プロトコルCommon(L2,e)→Mを用いて、メッセージMを算出する(ST24)。なお、本実施形態と、前述したプロトコルとの対応関係は、(ML2,Me)=(C1,C2)であり、(L2,e)=(e1,e2)である。ここで、RSA共通法誤用プロトコルは、(26)式に示すように、健全性を有している。
C1a1(C2a2-1=ML2a1−ea2=M(mod N) …(26)
(分散署名)
なお、ユーザ装置Uは、分散復号に限らず、t個の機関Tzに分散署名を行わせてもよい。
この場合、ユーザ装置Uは、図9に示すように、復号対象の暗号文Cに代えて、署名対象データS1(=M)を用い(ST21a)、復号結果の暗号文ML2に代えて、署名結果S2(=(Md)L^2(mod N)、^はべき乗を示す記号)を用いる(ST23a)。
そして、ユーザ装置Uは、(C1,C2)=(MdL^2,M)=((Md)L^2,(Md)e)から、前述同様に、以下のRSA共通法誤用プロトコルに基づいて、署名Mdを算出する(ST24a)。
a1=(L2-1 (mod e)
a2=(a1L2−1)/e
M=C1 a1(C2 a2-1 (mod N)
ここで、RSA共通法誤用プロトコルは、(27)式に示すように、健全性を有している。
C1a1(C2a2-1=Md(L2a1−ea2)
=Md(mod N) …(27)
(分散署名の変形例)
なお、上述した分散署名は、図10に示すように変形してもよい。すなわち、ステップST23aの後、ユーザ装置Uは、この署名対象データS1及び署名結果S2の組を図示しない相手先の署名検証装置に送信する(ST25a)。
署名検証装置は、署名対象データS1及び第1公開鍵(e,N)から第1比較データD1(=Me (mod N))を算出し、署名結果S2及び第2公開鍵(e,N)から第2比較データD2(=ML^2 (mod N))を算出する(ST26a)。
続いて、署名検証装置は、第1並びに第2比較データD1,D2及び下記(28)式〜(30)式のRSA共通法誤用プロトコルに基づいて、演算処理を実行し、出力Mを求める(ST27a)。
a1=(L2-1 (mod e) …(28)
a2=(a1L2−1)/e …(29)
M=D1 a1(D2 a2-1 (mod N) …(30)
ここで、出力Mと署名対象データS1とが一致するとき、署名検証装置は、ユーザ装置Uの署名を正当と認める(ST28a)。
上述したように本実施形態によれば、RSA共通法誤用プロトコルを適用可能な条件のRSA暗号系において、n個の機関P1〜Pnに秘密鍵dの部分情報sjが分散されたとき、ユーザ装置Uが、t個の機関Tzを選択して暗号化データC1を送信し、t個の各機関Tzが、暗号化データC1(=Me (mod N))を演算処理して得られた部分出力Zjをユーザ装置に返信し、ユーザ装置Uが、t個の部分出力Zjを合成して復号結果C2(=ML^2 (mod N))を得ると共に、復号結果C2、処理対象データC1及びRSA共通法誤用プロトコルに基づいて、演算処理を実行し、最終復号結果Mを求める。
これにより、分配者の無い環境で秘密鍵を算出せずに、n個の機関のうち、任意t個の機関による分散復号を実現することができ、また、所定条件の公開鍵を用いたラグランジュ補間法に基づき、高い確実性を実現することができる。
さらに、復号対象データC2に代えて、署名対象データS2(=M)を用い、復号結果C1に代えて、署名結果S1(=MdL^2(mod N)、^はべき乗を示す記号)を用いることにより、RSA共通法誤用プロトコルを用いて、演算処理を実行し、署名Mを求める。
これにより、分散復号と同様に、分散署名を行うことができる。
すなわち、本実施形態によれば、所定の条件で公開鍵を作成することにより、t個の機関の組合せとは無関係に、確実に復号処理・署名処理を実行することができる。
なお、ここでノン・ディーラーモデルでの上述した機能を実現する本実施形態方式と、ディーラーモデルでの機能((t,n)型での分散復号/分散署名)を実現する文献[FGMY97]の方式とを比較して述べる。
本実施形態方式は、文献[FGMY97]の方式と同じく、α,βを係数として次の(30)式のユークリッド公式を前提とする。
eα+L2β=1 …(30)
但し、gcd(e,L2)=1
Figure 0004664615
本実施形態方式では、復号時に部分出力Zjを合成した後に、合成出力からユークリッドアルゴリズムによりMを算出するので、このMの算出処理の分だけ、文献[FGMY97]の方式よりも処理効率が低下している(文献[FGMY97]の方式は、ディーラーが鍵分散時にユークリッド公式を作成するので、復号時に各機関の部分出力を合成し、合成出力がメッセージMとなる)。
しかしながら、文献[FGMY97]の方式は、Nのオイラー関数φ(N)を知るディーラーが必要であり、d≡P+L2k(mod φ(N))を満たすL2kを複数の機関に秘密分散して共有する。ここで、ディーラーが秘密鍵dと素因数p,qを紛失した場合、この複数の機関から秘密鍵dを回復できない。理由は、L2kを回復しても、法φ(N)を紛失しているので、L2kから秘密鍵dを算出できないからである。但し、法φ(N)でdに合同なP+L2kを算出することはできる。
すなわち、文献[FGMY97]の方式では、ディーラーの存在する環境において、分散署名や分散復号を行えるが、ディーラーへのdそのものの鍵回復を行えない。文献[FGMY97]の方式では、鍵回復を行う際に、ディーラーモデルの文献(T. P. Pedersen, “Distributed provers with applications to undeniable signatures”, Advances in Cryptology-Eurocrypt ’91, LNCS 547, pp.221-238, 1991. (以下、文献[Ped91a]という))の方式又は文献[Oka97]の方式といった別の方式を用いる必要がある。ここで、分散RSA暗号系における従来方式及び本発明方式の位置づけを整理すると、各方式は、図11に示すように分類される。
一方、本発明方式は、ディーラーの存在する環境では、文献[Ped91a]との組合せにより分散署名及び分散復号を実現でき、ディーラーの存在しない環境では、前述した通り、文献[FMY98]等との組合せにより分散署名及び分散復号を実現することができる。
なお、上述した第1及び第2の実施形態は、ディーラーの存在しない環境の場合を述べているので、以下に、ディーラーの存在する環境に適用する場合の変形例1,2について簡単に説明する。
すなわち、変形例1は、第1の実施形態をディーラーモデルに適用する場合であり、ディーラーとしてのユーザ装置Uは、(13)式を満たす全ての部分秘密鍵dj,kを作成し、各機関に振り分ける作業を行う。この変形例1によれば、前述したステップST1〜ST4までの複雑な処理を省略できる分だけ、効率を向上させることができる。
また、変形例2は、第2の実施形態を文献[Ped91a]と組合せた場合であり、文献[FMY98]と組合せた結果と同じ機能を果たすことができる。
すなわち、本発明は、(t,n)型の秘密分散であれば、ディーラーの有無とは無関係に実現でき、上述した各実施形態に限らず、n羽の鳥のうち、任意のt羽の鳥を異なる巣箱に入れるような関数群(K. Kurosawa and D. Stinson, Personal communication, June 1996 Referred in Desmedt’s paper.(Y. Desmedt, “Some recent research aspects of threshold cryptography,” Information Security, LNCS 1396, pp. 158-173, 1997.))を適宜利用して実現することができる。
尚、本発明における記憶媒体としては、磁気ディスク、フロッピーディスク、ハードディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
また、本発明は、RSA暗号系に限らず、素因数分解問題に基づく暗号系であれば、RSA暗号系以外の暗号系に適用してもよい。
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
本発明の第1の実施形態に係る秘密分散システムの構成を示す模式図 同実施形態における各機関及びユーザ装置のハードウェア構成を示すブロック図 同実施形態における秘密分散動作を説明するためのフローチャート 同実施形態における復号化動作を説明するためのフローチャート 同実施形態における署名動作を説明するためのフローチャート 同実施形態における復号可能な例を説明するための各機関の保管情報を示す模式図 同実施形態における復号不可能な例を説明するための各機関の保管情報を示す模式図 本発明の第2の実施形態における復号化動作を説明するためのフローチャート 同実施形態における署名動作を説明するためのフローチャート 同実施形態における変形動作を説明するためのフローチャート 従来方式と本発明方式との位置付けを示す分類図 従来の方式における各機関に保管される部分情報の集合を示す模式図 従来の方式における機関の組合せと対象の部分情報を示す模式図
符号の説明
1…ネットワーク、U…ユーザ装置、P1〜Pn,Pi…機関

Claims (1)

  1. 素因数分解問題に基づく暗号系に用いられ、秘密鍵を生成して分配する分配者が無い環境で、互いに送受信可能なn個の機関装置及びユーザ装置を備え、n個の機関装置に秘密鍵の部分最終情報が分散され、且つ、いずれの機関装置も自己の部分最終情報だけでは前記秘密鍵を算出不可能な環境にあるとき、前記n個の機関装置のうち、任意のt個の機関装置により、前記秘密鍵を算出せずに、公開鍵に基づく暗号化データから復号結果を生成可能で署名対象データから署名結果を生成可能な(t,n)型の秘密分散システムであって、
    前記n個の各機関装置は、
    前記公開鍵及び前記秘密鍵を生成する手段と、
    前記秘密鍵の(n,n)型の部分情報を保持する手段と、
    前記部分情報を(t,n)型の部分乱数情報として当該各機関装置の識別番号のt進表示に基づいて当該各機関装置と互いに分配しあう手段と、
    前記分配しあった部分乱数情報を前記t進表示の桁毎にまとめて複数の部分最終情報を得る手段と、
    前記ユーザ装置から受けた前記暗号化データ又は前記署名対象データである処理対象データを前記部分最終情報に基づいて演算処理し、得られた部分出力を前記ユーザ装置に返信する手段とを有し、
    前記ユーザ装置は、
    前記t個の機関装置を選択し、この選択したt個の各機関装置に前記処理対象データを送信する手段と、
    前記t個の各機関装置から受信した部分出力を合成して前記復号結果又は署名結果を得る手段とを備えたことを特徴とする秘密分散システム。
JP2004117134A 2004-04-12 2004-04-12 秘密分散システム Expired - Lifetime JP4664615B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004117134A JP4664615B2 (ja) 2004-04-12 2004-04-12 秘密分散システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004117134A JP4664615B2 (ja) 2004-04-12 2004-04-12 秘密分散システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP20989199A Division JP3560860B2 (ja) 1999-07-23 1999-07-23 秘密分散システム、装置及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2004246377A JP2004246377A (ja) 2004-09-02
JP4664615B2 true JP4664615B2 (ja) 2011-04-06

Family

ID=33028590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004117134A Expired - Lifetime JP4664615B2 (ja) 2004-04-12 2004-04-12 秘密分散システム

Country Status (1)

Country Link
JP (1) JP4664615B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5063777B2 (ja) 2008-03-10 2012-10-31 三菱電機株式会社 秘密情報管理装置及び情報処理装置及び秘密情報管理システム
JP5669204B2 (ja) * 2011-03-17 2015-02-12 Necソリューションイノベータ株式会社 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3027988B2 (ja) * 1991-01-31 2000-04-04 松下電器産業株式会社 識別情報に基づく秘密鍵生成方法

Also Published As

Publication number Publication date
JP2004246377A (ja) 2004-09-02

Similar Documents

Publication Publication Date Title
JP3560860B2 (ja) 秘密分散システム、装置及び記憶媒体
Ostrovsky et al. A survey of single-database private information retrieval: Techniques and applications
US8559631B1 (en) Systems and methods for efficient decryption of attribute-based encryption
May Using LLL-reduction for solving RSA and factorization problems
US5146500A (en) Public key cryptographic system using elliptic curves over rings
US8520854B2 (en) Sharing a secret using polynomials over polynomials
Dartois et al. SQISignHD: new dimensions in cryptography
EP0936776B1 (en) A network system using a threshold secret sharing method
US6731755B1 (en) Split-key cryptographic system and method
Joux et al. The past, evolving present, and future of the discrete logarithm
Frikken Practical private DNA string searching and matching through efficient oblivious automata evaluation
CN108718231A (zh) 一种全同态加密方法、装置和计算机可读存储介质
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN110750797B (zh) 基于组合加密的云数据库加密方法
De Santis et al. Efficient provably-secure hierarchical key assignment schemes
Hui-Min et al. A cryptographic implementation for dynamic access control in a user hierarchy
Mohan et al. Homomorphic encryption-state of the art
Andreevich et al. Pseudo-probabilistic block ciphers and their randomization
JP4664615B2 (ja) 秘密分散システム
Koç et al. Development of Cryptography since Shannon
JP4528114B2 (ja) 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム
Fuchsbauer An introduction to probabilistic encryption
Blass et al. Epic: Efficient privacy-preserving counting for mapreduce
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
Katti et al. Nonce Generation For The Digital Signature Standard.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110107

R151 Written notification of patent or utility model registration

Ref document number: 4664615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

EXPY Cancellation because of completion of term