JP2005321719A - 通信システム、復号装置、復元装置、鍵生成装置及び通信方法 - Google Patents

通信システム、復号装置、復元装置、鍵生成装置及び通信方法 Download PDF

Info

Publication number
JP2005321719A
JP2005321719A JP2004141356A JP2004141356A JP2005321719A JP 2005321719 A JP2005321719 A JP 2005321719A JP 2004141356 A JP2004141356 A JP 2004141356A JP 2004141356 A JP2004141356 A JP 2004141356A JP 2005321719 A JP2005321719 A JP 2005321719A
Authority
JP
Japan
Prior art keywords
information
ciphertext
plaintext
decryption
partial
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
JP2004141356A
Other languages
English (en)
Inventor
Takeshi Ishihara
武 石原
Hiroshi Aono
博 青野
Setsuyuki Hongo
節之 本郷
Junji Yomo
順司 四方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2004141356A priority Critical patent/JP2005321719A/ja
Publication of JP2005321719A publication Critical patent/JP2005321719A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】安全かつ効率的なしきい値暗号方式を実現する。
【解決手段】
暗号化端末10が、公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化し、暗号文Cを生成する。複数の復号サーバ50〜50がそれぞれ、暗号文Cと、分散鍵s〜sとを用いて複数の部分復号情報δ〜δを生成する。復元端末20が、複数の部分復号情報δ〜δを用いて乱数rを計算し、暗号文Cから平文mを復元する。
【選択図】図1

Description

本発明は、通信システム、復号装置、復元装置、鍵生成装置及び通信方法に関する。
従来、安全な通信を行うために、公開鍵暗号方式が用いられている。公開鍵暗号方式では、公開鍵に対する復号鍵を安全に保管しておくことが大きな課題の一つになっている。この課題に対する解決方法の一つとして、種々のしきい値暗号方式が開発されている。しきい値暗号方式とは、公開鍵暗号方式における復号鍵を複数の分散鍵に分散し、分散鍵を持つ複数の装置が協力しなければ、平文を復元できないようにした方式である。
しきい値暗号方式としては、例えば、素因数分解型の暗号方式を用いる方式(例えば、非特許文献1、非特許文献2参照)や、 離散対数型の暗号方式を用いる方式(例えば、非特許文献3参照)等がある。
P.-A. Fouque,G.Poupard and J.Stern,"Sharing Decryption in the Context of Voting or Lotteries", Financial Cryptography 2000 Lecture Notes in Computer Science,pp.90−104,2000 J.Katz and M.Yung, "Threshold Cryptosystems Based on Factoring", ASIACRYPT2002, Lecture Notes in Computer Science, 2501, pp.192-205, Springer-Verlag, 2002 V.Shoup and R.Gennaro, "Securing Threshold Cryptosystems against Chosen Ciphertext Attack", Journal of Cryptology, vol.15, no.2, pp.75-96
しかしながら、素因数分解型のしきい値暗号方式において、法Nのもとでの計算により暗号化及び復号を行う場合は、選択平文攻撃に対する安全性を確保できない可能性があった。一方、選択平文攻撃に耐えるしきい値暗号方式を実現するためには、非特許文献1に示されるようにN乗の計算を行って暗号化を行い、法Nのもとでの計算を行って復号する必要があった。そのため、一定の安全性を確保するためには、法Nのもとでの計算ではなく、N乗や法Nのもとでの計算が必要であった。その結果、暗号化のときも、復号のときも法Nのもとで指数が高いべき乗演算を行う必要があり、暗号化から復号までの全体的な計算量が多くなってしまう問題があった。
又、非特許文献2に示される素因数分解型のしきい値暗号方式では、法Nのもとでの計算により暗号化及び復号を行い、選択平文攻撃に対する安全性を確保できるものの、1ビットしか暗号化できなかった。そのため、暗号化及び復号の効率が非常に悪く、実用的ではなかった。更に、離散対数型のしきい値暗号方式でも、指数が高いべき乗演算を行う必要があった。
そのため、従来のしきい値暗号方式では、暗号化と復号を安全かつ効率的に行うことができなかった。又、携帯性を重視する移動通信端末の場合には、高速のCPUを搭載することが困難なため、従来のしきい値暗号方式はいずれも、その計算量の多さから実用向きではなかった。
そこで、本発明は、安全かつ効率的なしきい値暗号方式を実現することを目的とする。
本発明に係る通信システムは、公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて部分復号情報δを生成する複数の部分復号情報生成部と、複数の部分復号情報生成部により生成された複数の部分復号情報δを用いて、暗号文Cから平文mを復元する平文復元部とを備えることを特徴とする。
このようにして、通信システムによれば、mNをrを用いて暗号化する方式をしきい値暗号方式に適用できる。そのため、安全性を確保するためには計算量が多くなってしまったり、1ビットしか暗号化できない従来のしきい値暗号方式に対して、本発明の通信システムでは、複数ビットの平文mをe乗の計算により暗号化し、かつ、法Nのもとでの計算により復号しても安全性を確保できる。例えば、RSA暗号方式でよく使用されている公開情報(e,N)の値は、N=1024ビット、e=17ビットである。よって、e乗や法Nのもとでの計算は、計算量を少なくできることが分かる。以上のことから、通信システムによれば、安全かつ効率的なしきい値暗号方式を実現することができる。
更に、通信システムは、秘密情報dを複数に分散して複数の分散鍵sを生成する鍵生成部を備える。
又、本発明に係る復号装置は、公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて、部分復号情報δを生成する部分復号情報生成部と、部分復号情報δを、暗号文Cから平文mを復元する復元装置に送信する部分復号情報送信部とを備えることを特徴とする。
このような復号装置によれば、mNをrを用いて暗号化した暗号文Cを、法Nのもとでの計算により部分的に復号でき、生成した部分復号情報δを復元装置に提供できる。そのため、復号装置によれば、mNをrを用いて暗号化する方式をしきい値暗号方式に適用できる。よって、復号装置によれば、安全かつ効率的なしきい値暗号方式を実現することができる。
部分復号情報生成部は、δ=(CmodN)2ΔsmodNを計算することにより、部分復号情報δを生成することが好ましい。Δは、Δ=n!と定義される。nは、分散鍵sの個数である。
本発明に係る復元装置は、公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて部分復号情報δを生成する複数の復号装置から、複数の部分復号情報δを受信する部分復号情報受信部と、複数の部分復号情報δを用いて暗号文Cから平文mを復元する平文復元部とを備えることを特徴とする。
このような復元装置によれば、法Nのもとでの計算による部分的な復号により生成された部分復号情報δを受信し、mNをrを用いて暗号化した暗号文Cから平文mを適切に復元できる。よって、復元装置によれば、mNをrを用いて暗号化する方式をしきい値暗号方式に適用できる。そのため、復元装置によれば、安全かつ効率的なしきい値暗号方式を実現することができる。平文復元部は、部分復号情報δを用いて乱数rを計算し、その乱数rを用いて暗号文Cから平文mを復元することが好ましい。
本発明に係る鍵生成装置は、公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cから部分復号情報δを生成するために用いる複数の分散鍵sを、公開情報(e,N)に対応する秘密情報dを複数に分散して生成する鍵生成部と、複数の分散鍵sを部分復号情報δを生成する複数の復号装置に送信する鍵送信部とを備えることを特徴とする。
このような鍵生成装置によれば、mNをrを用い暗号化した暗号文Cを、法Nのもとでの計算により部分的に復号する際に必要な分散鍵sを生成し、復号装置に提供できる。よって、鍵生成装置によれば、mNをrを用いて暗号化する方式をしきい値暗号方式に適用できる。そのため、鍵生成装置によれば、安全かつ効率的なしきい値暗号方式を実現することができる。
本発明に係る通信方法は、公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて部分復号情報δを生成し、複数の部分復号情報δを用いて暗号文Cから平文mを復元することを特徴とする。
以上説明したように、本発明によれば、安全かつ効率的なしきい値暗号方式を実現できる。
〔通信システム〕
図1に示すように、通信システム100は、暗号化端末10と、復元端末20と、鍵生成サーバ30と、暗号文管理サーバ40と、複数の復号サーバ50〜50と、ネットワーク60とを備える。暗号化端末10と、復元端末20と、鍵生成サーバ30と、暗号文管理サーバ40と、複数の復号サーバ50〜50は、ネットワーク60を介して、情報を送受信する。
鍵生成サーバ30は、平文mの暗号化に用いる公開情報(e,N)と、暗号文Cの復号に用いる秘密情報dとその分散鍵sを生成する鍵生成装置である。鍵生成サーバ30は、鍵生成部31と、鍵データベース32と、送信部33とを備える。鍵生成部31は、公開情報(e,N)と、それに対する秘密情報dと、秘密情報dを複数に分散した分散鍵sとを生成する。鍵生成部31は、n個の分散鍵sを生成する。よって、各分散鍵を区別するときには、i番目の分散鍵を「s」と表す。このように分散鍵sには、1〜nまでの番号が付与される。
鍵データベース32は、公開情報(e,N)を記憶する。送信部33は、鍵成部31が生成した公開情報(e,N)や分散鍵sを暗号化端末10、復元端末20、暗号文管理サーバ40、復号サーバ50〜50に送信する。このような鍵生成サーバ30は、コンピュータを、鍵生成部31と、鍵データベース32と、送信部33として機能させるためのプログラムを、コンピュータが実行することにより実現できる。
暗号化端末10は、平文mを暗号化して暗号文Cを生成する暗号化装置である。暗号化端末10は、受信部11と、暗号文生成部12と、送信部13と、入力部14とを備える。受信部11は、鍵生成サーバ30から公開情報(e,N)を受信する。受信部11は、平文mを受信し、暗号文生成部12に入力してもよい。入力部14は、外部から入力される平文mを取得し、暗号文生成部12に入力する。暗号文生成部12は、公開情報(e,N)と乱数rとを用いて平文mを暗号化し、暗号文Cを生成する際に、mNをrを用いて暗号化する。暗号文生成部12は、入力部14や受信部11から平文mを取得する。暗号文生成部12は、以下に示す(1)式又は(2)式を計算することにより、平文mを暗号化して暗号文Cを生成することが好ましい。
C=r(1+mN)modN (1)式
C=r+mNmodN(2)式
(1)式、(2)式に示すように、mNをrを用いて暗号化する方法は限定されない。例えば、暗号文生成部12は、mNに対してrを乗算又は加算することにより暗号化してもよく、mNからrを減算することにより暗号化してもよく、mNをrで除算することにより暗号化してもよい。又、暗号文生成部12は、mNを少なくともrを用いて暗号化すればよく、rに加え、更に他の数値を用いてmNを暗号化しても構わない。
例えば、暗号文生成部12は、(1)式に示すように、mNに数値を加算又は減算したものにrを乗算したり、mNに数値を加算又は減算したものをrで除算したりしてもよい。尚、(1)式に示すように、mNに対してrを乗算又は除算することにより暗号化する場合は、1からN−1までの値であってZ のいずれかの整数を、mNに加えたものに対して乗算もしくは除算を行う。尚、「Z 」とは、ZかつXと互いに素な整数の集合(Z =(Z/XZ))を表す。この場合、(1)式に示すように、mNに1を加えたものに対して、rを乗算又は除算することが好ましい。又、暗号文生成部12は、(2)式の右辺に数値、例えば、「1」を加算したり、右辺から数値を減算したりしてもよい。
(1)式、(2)式は、mNをrを用いて暗号化する暗号方式である。特に(1)式は、RSA−Paillier暗号と呼ばれる。RSA−Paillier暗号は、例えば、「D. Catalano, R. Gennaro, N. H. -Graham, P. Q. Nguyen,“Paillier's cryptosystem revisited”, ACM Conference on Computer and Communications Security 2001, pp.206-214」等に提案されている。
送信部13は、暗号文生成部12が生成した暗号文Cを、暗号文管理サーバ40に送信する。このような暗号化端末10は、コンピュータを、受信部11と、暗号文生成部12と、送信部13として機能させるためのプログラムを、コンピュータが実行することにより実現できる。
暗号文管理サーバ40は、暗号文Cを暗号化端末10から受信し、暗号文Cを各装置に提供する暗号文管理装置である。暗号文管理サーバ40は、受信部41と、暗号文管理部42と、暗号文データベース43と、送信部44とを備える。受信部41は、暗号化端末10から暗号文Cを受信する。又、受信部41は、復元端末20や復号サーバ50〜50から、暗号文Cの要求を受信する。更に、受信部41は、鍵生成サーバ30から公開情報(e,N)を受信する。
暗号文データベース43は、暗号文Cを記憶する。送信部44は、暗号文Cを復元端末20、復号サーバ50〜50に送信する。このような暗号文管理サーバ40は、コンピュータを、受信部41と、暗号文管理部42と、暗号文データベース43と、送信部44として機能させるためのプログラムを、コンピュータが実行することにより実現できる。
復号サーバ50〜50は、部分復号情報δを生成する。部分復号情報δは、暗号文Cから平文mを復元する際に用いる情報であり、復元端末20が平文mの復元をするために必要な情報である。部分復号情報δは、暗号文Cと分散鍵sとを用いた計算を行うことにより、即ち、暗号文Cを分散鍵sを用いて部分的に復号することにより得られる情報である。複数の復号サーバ50〜50がそれぞれ異なる分散鍵sを用いて部分復号情報δを生成することにより、複数の部分復号情報δが生成される。分散鍵sを用いて生成された部分復号情報は、「δ」と表す。よって、複数の部分復号情報δとして、分散鍵s〜sを用いて部分復号情報δ〜δが生成される。このように部分復号情報δには、1〜nまでの番号が付与される。又、復号サーバ50〜50にも、1〜nまでの番号が付与される。
復号サーバ50〜50はそれぞれ、受信部51〜51と、部分復号情報生成部52〜52と、送信部53〜53とを備える。受信部51〜51は、鍵生成サーバ30から公開情報(e,N)と分散鍵sとを受信する。又、受信部51〜51は、復元端末20から部分復号情報δの要求(以下「復号要求」という)を受信する。更に、受信部51〜51は、暗号文管理サーバ40から暗号文Cを受信する。
部分復号情報生成部52〜52は、暗号文Cと分散鍵sとを用いて、以下に示す(3)式を計算することにより、部分復号情報δを生成する。尚、Δ=n!と定義する。又、鍵生成サーバ30が、公開情報(e,N)の作成時に、GCD(e,Δ)=1となるようにeを定める。尚、「GCD(X,Y)」は、XとYの最大公約数を表す。
δ=(CmodN)2ΔsmodN (3)式
送信部53〜53は、部分復号情報生成部52〜52が生成した部分復号情報δを復元端末20に送信する。又、送信部53〜53は、暗号文Cの要求を暗号文管理サーバ40に送信する。このような復号サーバ50〜50は、コンピュータを、受信部51〜51と、部分復号情報生成部52〜52と、送信部53〜53として機能させるためのプログラムを、コンピュータが実行することにより実現できる。
復元端末20は、暗号文Cから平文mを復元する復元装置である。復元端末20は、受信部21と、平文復元部22と、送信部23と、出力部24とを備える。受信部21は、複数の部分復号情報δを、複数の復号サーバ50〜50から受信する。又、受信部21は、暗号文Cを暗号文管理サーバ40から受信する。更に、受信部21は、鍵生成サーバ30から公開情報(e,N)を受信する。平文復元部22は、複数の部分復号情報δを用いて暗号文Cから平文mを復元する。平文復元部22は、復元した平文mを出力部24に出力する。送信部23は、暗号文Cの要求や、復号要求を送信する。このような復元端末20は、コンピュータを、受信部21と、平文復元部22と、送信部23として機能させるためのプログラムを、コンピュータが実行することにより実現できる。
次に、図1、図2を用いて、平文mの暗号化から復元において通信システム100が行う処理を詳細に説明する。通信システム100では、(t,n)しきい値暗号方式により復号を行う。(t,n)しきい値暗号方式とは、n個の分散鍵s〜sを用いて生成されるn個の部分復号情報δ〜δのうち、t個の部分復号情報を用いれば、平文mが復元できるしきい値暗号方式である。よって、「t」は、(t,n)しきい値暗号方式において必要な部分復号情報δの数を表す。
まず、通信システム1が、mNをrを用いて暗号化する暗号方式を用いる場合を説明する。鍵生成サーバ30の鍵生成部31は、まず、2つの強い素数p,qを選択し、その積を計算して、合成数N=pqを生成する。強い素数p,qとは、p=2p’+1においてp’が素数であり、q=2q’+1においてq’が素数であることをいう。
更に、鍵生成部31は、複数の分散鍵sの個数nよりも大きな素数をeとして選択する。鍵生成部31は、eとして、GCD(e,pq(p−1)(q−1))=1と、GCD(e,2n!)=1とを満たす値を選択する。このようにして、鍵生成部31は、公開情報(e,N)を生成する。更に、p’とq’の積を「L」と定義する。即ち、L=p’q’と定義する。鍵生成部31は、生成した公開情報(e,N)を、鍵データベース32に格納する。鍵生成部31は、生成した公開情報(e,N)を、鍵送信部33に入力する。
次に、鍵生成部31は、公開情報(e,N)に対応する秘密情報dを生成する。鍵生成部31は、秘密情報dが偶数の場合には公開情報eの選択をやり直す。秘密情報dは、(A=AmodNを満たす。又、A∈Z である。そのため、「A」は、0からN―1までの整数のうち、Nと互いに素な整数である。このような「A」であれば、全ての「A」に対して、(A=AmodNが成立する。即ち、秘密情報dは、ed≡1modLを満たす。更に、鍵生成部31は、秘密情報dを複数に分散して複数の分散鍵s、即ち、n個の分散鍵s〜sを生成する。分散鍵s〜sは、相互に異なる秘密情報である。
本実施形態では、分散鍵s〜sの個数nは、復号サーバ50〜50の数と等しい。しかし、一つの復号サーバが複数の分散鍵を用いてもよい。よって、分散鍵sの個数と復号サーバの数は、必ずしも一致するとは限らない。分散鍵s〜sの個数と復号サーバ50〜50の数が一致する本実施形態では、復号サーバ50iが、分散鍵sを用いる。例えば、鍵生成部31は、Shamirにより提案された方法等を用いて、秘密情報dを複数に分散できる。
具体的には、鍵生成部31は、a∈Zφ(N)を乱数として、秘密情報d=aと定義することにより、秘密情報dを生成する。「φ(x)」とは、Xのオイラー関数を表す。φ(N)=(p―1)(q―1)と表すことができる。又、「Z」とは、0以上X未満の整数の集合(Z=Z/XZ)を表す。この場合、鍵生成部31は、以下に示す(4)式を計算することにより、複数の分散鍵s〜sを生成する。鍵生成部31は、(4)式を用いて、s=f(i)modφ(N)を計算することにより分散鍵sを生成する。
Figure 2005321719
あるいは、鍵生成部31は、a{0,1,・・・,L―1}、(i=1,2,・・・,t―1)を乱数として、秘密情報d=aと定義することにより、秘密情報dを生成する。「X∈G」は、集合Gから一様な確率で要素Xを選択することを表す。この場合も、鍵生成部31は、(4)式を計算することにより、複数の分散鍵s〜sを生成する。鍵生成部31は、(4)式を用いて、s=f(i)modLを計算することにより分散鍵sを生成する。鍵生成部31は、生成した複数の分散鍵s〜sを、送信部33に入力する。
更に、鍵生成部31は、部分復号情報δが正しく暗号文Cを部分的に復号したものか否かを判定する際に用いる複数の検証鍵vkを生成する。鍵生成部31は、分散鍵s〜sと同数のn個の検証鍵v〜vkを生成する。鍵生成部31は、以下に示す(5)式を計算することにより検証鍵vk〜vkを生成する。
Figure 2005321719
(5)式において、νはQの生成元である。「Q」は、法Xのもとで平方余剰かつXと互いに素な整数の集合を表す。そのため、「Q」は、Z から要素を一つ取得し、2乗した値の集合となる。「νはQの生成元」とは、ν(kは整数)によって、Qのどの元も表すことができることをいう。鍵生成部31は、生成した複数の検証鍵v〜vkと、Qの生成元νの合計n+1個の値を、送信部33に入力する。
送信部33は、図2に示すように、素数p,qを秘密にしたまま復元端末20に対応する公開情報(e,N)だけを、暗号化端末10、暗号文管理サーバ40、復元端末20に送信する。暗号化端末10の受信部11は、鍵生成サーバ30から公開情報(e,N)を受信し、暗号文生成部12に入力する。暗号文管理サーバ40の受信部41は、鍵生成サーバ30から公開情報(e,N)を受信し、暗号文管理部42に入力する。
更に、送信部33は、公開情報(e,N)と複数の分散鍵s〜sとを対応付けて、複数の復号サーバ50〜50に送信する。このとき、送信部33は、複数の分散鍵s,・・・,s,・・・,sをそれぞれ、復号サーバ50,・・・,50,・・・,50に送信する。復号サーバ50〜50の受信部51〜51は、鍵生成サーバ30から、公開情報(e,N)と分散鍵s〜sを受信し、部分復号情報生成部52〜52に入力する。送信部33は、このようにして、複数の分散鍵sを復号装置に送信する鍵送信部として機能する。
このように、送信部33が、公開情報の「e」に対応する秘密情報dを分散した分散鍵s〜sを、複数の復号サーバ50〜50に分散して提供する。更に、鍵生成サーバ30自身も秘密情報dは、鍵データベース32に格納しない。これにより、秘密情報dは一箇所に管理されず、複数の復号サーバ50〜50によって分散管理される。
又、送信部33は、公開情報(e,N)と検証鍵v〜vkと、Qの生成元νとを対応付けて、復元端末20に送信する。復元端末20の受信部21は、鍵生成サーバ30から、公開情報(e,N)、検証鍵vk〜vk、Qの生成元νを受信し、平文復元部22に入力する。
暗号化端末10の暗号文生成部12は、鍵生成サーバ30から受信した公開情報(e,N)を用いて暗号化する。具体的には、暗号文生成部12は、mNをrを用いて暗号化することにより、平文mを暗号化して暗号文Cを生成する。例えば、暗号文生成部12は、C=r(1+mN)modN(1)式、又は、C=r+mNmodN(2)式を計算することにより平文mを暗号化し、暗号文Cを生成する。平文mは、暗号化端末10が暗号化して秘密にしたい情報である。本実施形態における平文mは、複数の分散鍵s〜sを用いない限り、暗号文Cから平文mを復号できないようにすることにより、暗号化端末10が分散管理したい情報である。
暗号文生成部12は、乱数rを、(1)式を用いて暗号化を行う場合は、平文mがm∈Zのとき、r∈ の中から選択する。暗号文生成部12は、乱数rを、(2)式を用いて暗号化を行う場合は、平文mがm∈Zのとき、r∈ 、もしくは、r∈中から選択する。暗号文生成部12は、生成した暗号文Cを送信部13に入力する。送信部13は、図2に示すように、暗号文Cを暗号文管理サーバ40に送信する。
暗号文管理サーバ40の受信部41は、図2に示すように、暗号化端末10から暗号文Cを受信する。受信部41は、受信した暗号文Cを暗号文管理部42に入力する。暗号文管理部42は、暗号文Cを、鍵生成サーバ30から受信した公開情報(e,N)に対応付けて、暗号文データベース43に格納する。
その後、復元端末20の平文復元部22が、公開情報(e,N)をもとに作成した暗号文Cの要求と、公開情報(e,N)と秘密情報をもとに作成した部分復号情報δを要求する復号要求を生成し、送信部23に入力する。送信部23は、暗号文Cの要求を暗号文管理サーバ40に送信する。暗号文管理サーバ40の受信部41は、復元端末20から暗号文Cの要求を受信し、暗号文管理部42に入力する。暗号文管理部42は、暗号文Cの要求において指定されている公開情報(e,N)に対応する暗号文Cを、暗号文データベース43から取得し、公開情報(e,N)と対応付けて送信部44に入力する。送信部44は、図2に示すように公開情報(e,N)と対応付けられた暗号文Cを復元端末20に送信する。このように公開情報(e,N)は、暗号文Cを識別するための識別データとして用いることができる。
又、送信部23は、復号要求を複数の復号サーバ50〜50に送信する。このとき、送信部23は、復号要求を全ての復号サーバ50〜50にブロードキャストにより送信してもよく、(t,n)しきい値暗号方式において必要な部分復号情報の数tだけ復号サーバを選択し、送信してもよい。
復号サーバ50〜50の受信部51〜51は、復号要求を受信し、部分復号情報生成部52〜52に入力する。部分復号情報生成部52〜52は、復号要求を受け入れた場合、復号要求において指定されている公開情報(e,N)を指定した暗号文Cの要求を生成し、送信部53〜53に入力する。送信部53〜53は、暗号文Cの要求を暗号文管理サーバ40に送信する。尚、部分復号情報生成部52〜52は、復号要求を拒否してもよい。
暗号文管理サーバ40の受信部41は、復号サーバ50〜50から暗号文Cの要求を受信し、暗号文管理部42に入力する。暗号文管理部42は、指定された公開情報(e,N)に対応する暗号文Cを暗号文データベース43から取得し、公開情報(e,N)と対応付けて送信部44に入力する。送信部44は、図2に示すように公開情報(e,N)と対応付けられた暗号文Cを復号サーバ50〜50に送信する。
復号サーバ50〜50の受信部51〜51は、暗号文Cを受信し、部分復号情報生成部52〜52に入力する。部分復号情報生成部52〜52はそれぞれ、受信した暗号文Cと分散鍵s〜sを用いて、(3)式、即ち、δ=(CmodN)2ΔsmodNを計算することにより、暗号文Cを部分的に復号して部分復号情報δ〜δを生成する。部分復号情報生成部52〜52は、復号要求において指定されている公開情報(e,N)に対応する分散鍵s〜sを用いる。
例えば、復号サーバ50iの場合、暗号文Cと分散鍵sを用いて、以下に示す(6)式を計算することにより、部分復号情報δを生成する。
Figure 2005321719
部分復号情報生成部52は、生成した部分復号情報δ〜δを送信部53〜53に入力する。送信部53〜53はそれぞれ、図2に示すように、部分復号情報δ〜δを復元端末20に送信する。尚、全ての復号サーバ50〜50が、部分復号情報δ〜δの生成、送信を行う必要はなく、少なくとも(t,n)しきい値暗号方式において必要な部分復号情報δの数tだけ部分復号情報δを生成し、復元端末20に送信すればよい。
復元端末20の受信部21は、複数の復号サーバ50〜50から複数の部分復号情報δ〜δを受信する。受信部21は、受信した複数の部分復号情報δ〜δを平文復元部22に入力する。このようにして、受信部21は、複数の復号装置から複数の部分復号情報δを受信する復号情報受信部として機能する。尚、受信部21は、全ての復号サーバ50〜50から全ての部分復号情報δ〜δを受信する必要はなく、少なくとも(t,n)しきい値暗号方式において必要な数tの部分復号情報δを受信する。
平文復元部22は、複数の部分復号情報δ〜δを用いて、暗号文Cから平文mを復元する。平文復元部22は、まず、部分復号情報δが正しく復号されたものか否かを判定する。平文復元部22は、暗号文Cの4Δ乗「C4Δ」を底とした部分復号情報の2乗「δ」の対数と、Qの生成元のΔ乗「νΔ」を底とした検証鍵vkの対数が等しいか否かを判定する。平文復元部22は、対数が等しい場合には、部分復号情報δが正しく復号されたものであると判定し、対数が異なる場合には、部分復号情報δは正しく復号されていないと判定する。
平文復元部22は、複数の部分復号情報δ〜δについて、それぞれ検証鍵v〜vkを用いて判定を行う。対数が等しいか否かの判定には、一般的な方法、例えば、文献「FPS00:P.−A. Fouque,G.Poupard and J.Stern,“Sharing Decryption in the Context of Voting or Lotteries”, Financial Cryptography 2000 Lecture Notes in Computer Science,pp.90−104,2000」に記載されている方法を用いることができる。
平文復元部22は、正しく復号されていると判定した部分復号情報δ〜δを用いて、まず、平文mの暗号化に用いた乱数rを計算する。尚、平文復元部22は、全ての復号サーバ50〜50からの全ての部分復号情報δ〜δを用いる必要はなく、(t,n)しきい値暗号方式において必要な数tの部分復号情報δを選択し、用いる。
平文復元部22は、まず、以下に示す(7)式を計算する。平文復元部22は、文献「SHo00:victor Shoup, “Practical Threshold Signatures”,EUROCRYPT,Lecture Notes in Computer Science, pp.207-220,2000」と同様に、(8)式に示す条件で(7)式を計算する。
Figure 2005321719
Figure 2005321719
(7)式、(8)式において、「S」は、復元端末20からの復号要求を受け入れた復号サーバ50〜50の番号の集合を表す。つまり、例えば、番号1、2、5が付与された復号サーバが復号要求を受け入れた場合には、S={1,2,5}と記述される。但し、集合Sに含まれる番号の数は、(t,n)しきい値暗号方式において部分復号情報δが必要な数tに限定される。又、(7)式、(8)式における「λ」は補間係数である。「λ」は、(4)式において、f(0)=aを計算するために用いられ、(9)式に示す関係を持つ。
Figure 2005321719
又、「Πj∈S/{i}(i−j)」は、集合Sに含まれる番号のうちiを除く全ての番号に関してiから引き算した値を考え、それら全ての積を示す。同様に、「Πj∈S/{i}(−j)」は、集合Sに含まれる番号のうちiを除く全ての数字に関して、絶対値を逆にした値の積を示す。
更に、公開情報の「e」の選択方法から、「e」と「4Δ」は互いに素である。そのため、X×4Δ+Y×e=1を満たす整数Xと整数Yの組み合わせが存在する。よって、平文復元部22は、次に、X×4Δ+Y×e=1を満たす整数Xと整数Yの組み合わせを計算する。例えば、平文復元部22は、拡張ユークリッドアルゴリズム(Euclidian algorithm)を用いて、多項式時間で整数X、Yを計算できる。
そして、平文復元部22は、(7)式の計算結果と、求めた整数X、Yを用いて、以下に示す(10)式を計算することにより、乱数rを計算する。尚、(10)式は、非特許文献1に示される原理から(11)式が成立するため、成立する。
Figure 2005321719
Figure 2005321719
次に、平文復元部22は、計算した乱数rを用いて、暗号文Cから平文mを復元する。具体的には、平文復元部22は、mNをrを用いて暗号化する際に用いた式、例えば、C=r(1+mN)modN(1)式、又は、C=r+mNmodN(2)式に、受信した暗号文Cと、計算した乱数rを代入することにより、平文mを復元する。以上のようにして、復元端末20は、復号サーバ50〜50から受信した複数の部分復号情報δ〜δに基づいて、秘密の情報である平文mを復元できる。
尚、平文復元部22は、部分復号情報δが正しく復号されていないと判定した場合には、その部分復号情報δを送信した復号サーバに対する部分復号情報の拒否通知を生成し、送信部23に入力する。送信部23は、拒否通知を復号サーバに送信し、処理を終了する。もしくは、平文復元部22は、他の有効な部分復号情報をもとに秘密情報を復元する。
次に、通信システム100が、(t,n)しきい値暗号方式として、(2,3)しきい値暗号方式を用いた場合の復元の具体例を示す。この場合、i=1の復号サーバ50と、i=2の復号サーバがそれぞれ、(6)式にΔ=n!=3!を代入することにより、(12)式、(13)式に示すように部分復号情報δ、δを計算し、得られた部分復号情報δ、δを復元端末20に送信する。
Figure 2005321719
Figure 2005321719
復元端末20は、受信した部分復号情報δ、δを(14)式に示すように、(7)式に代入して計算する。そして、復元端末20は、(14)式の計算結果を用いて乱数rを計算した後、乱数rと暗号文Cを用いて平文mを復元する。
Figure 2005321719
〔通信方法〕
次に、通信システム100を用いて行う通信方法の手順を説明する。まず、鍵生成サーバ30が、公開情報(e,N)、複数の分散鍵s〜s、複数の検証鍵vk〜vkを生成する(S101)。鍵生成サーバ30は、公開情報(e,N)を復元端末20、復号サーバ50〜50、暗号文管理サーバ40、暗号化端末10に送信する(S102〜S105)。鍵生成サーバ30は、複数の分散鍵s〜sを復号サーバ50〜50に送信する(S106)。鍵生成サーバ30は、複数の検証鍵vk〜vkを復元端末20に送信する(S107)。
暗号化端末10は、例えば、(1)式、(2)式のいずれかを用い、mNをrを用いて暗号化することにより、平文mを暗号化し、暗号文Cを生成する(S108)。暗号化端末10は、生成した暗号文Cを暗号文管理サーバ40に送信する(S109)。暗号文管理サーバ40は、受信した暗号文Cを暗号文データベース43に格納する(S110)。
復元端末20は、暗号文Cを暗号文管理サーバ40に要求する(S111)。暗号文管理サーバ40は、復元端末20の要求に応じて、暗号文データベース43が記憶する暗号文Cを復元端末20に送信する(S112)。暗号文管理サーバ40は、復号サーバ50〜50の要求に応じて、暗号文データベース43が記憶する暗号文Cを復号サーバ50〜50に送信する(S113)。
復元端末20は、復号サーバ50〜50に復号要求を送信する(S114)。復号サーバ50〜50はそれぞれ、暗号文Cと分散鍵s〜sとを用いて、(3)式を計算することにより、部分復号情報δ〜δを生成する(S115)。 復号サーバ50〜50はそれぞれ、生成した部分復号情報δ〜δを復元端末20に送信する(S116)。
復元端末20は、受信した部分復号情報δ〜δが正しく復号されたものか否かを、検証鍵vk〜vkを用いて判定する(S117)。復元端末20は、部分復号情報δ〜δが正しく復号されたものと判定した場合には、部分復号情報δ〜δを用いて乱数rを計算する。そして、復元端末20は、受信した暗号文Cと、計算した乱数rを、mNをrを用いて暗号化する際に用いた式に代入することにより、平文mを復元する(S118)。このようにして、暗号化端末10と、複数の復号サーバ50〜50との間で、秘密の情報である平文mを管理できる。尚、ステップ(S103)、(S113)に代えて、復元端末20から復号サーバ50〜50に公開情報(e,N)や暗号文Cを送信するようにしてもよい。
〔効果〕
このような通信システム100、暗号化端末10、復元端末20、鍵生成サーバ30、暗号文管理サーバ40、複数の復号サーバ50〜50及び通信方法によれば、mNをrを用いて暗号化する方式をしきい値暗号方式に適用できる。そのため、安全性を確保するためには計算量が多くなってしまったり、1ビットしか暗号化できない従来のしきい値暗号方式に対して、通信システム100では、複数ビットの平文mを、e乗の計算により暗号化し、かつ、法Nのもとでの計算により復号しても安全性を確保できる。
例えば、RSA暗号方式でよく使用されている公開情報(e,N)の値は、N=1024ビット、e=17ビットである。よって、e乗や法Nのもとでの計算は、計算量を少なくできることが分かる。以上のことから、通信システム100によれば、安全かつ効率的なしきい値暗号方式を実現することができる。
特に、暗号化端末10や復元端末20が、携帯性を重視する移動通信端末のように高速のCPUを搭載することが困難な装置の場合や、復号サーバ50〜50の計算量力が低い場合、記憶容量が少ない場合においても、計算量が少ない本発明のしきい値暗号方式であれば利用可能である。このように、本発明のしきい値暗号方式は、計算能力が低い暗号化装置や復号装置、復元装置、あるいは、記憶容量が低い暗号化装置や復号装置、復元装置においても、利用可能であり、暗号化と復号を効率的に行うことができる。
尚、本発明は、上記実施の形態に限定されるものではなく、種々の変更が可能である。暗号化端末10、復号サーバ50〜50の一部、又は、復元端末20が、鍵生成サーバ30の機能の一部又は全部を備え、鍵生成装置として機能してもよい。又、通信システム100は、暗号文管理サーバ40を複数備えてもよい。あるいは、暗号化端末10又は復号サーバ50〜50の一部が、暗号文管理サーバ40の機能の一部又は全部を備え、暗号文管理装置として機能してもよい。更に、復号サーバ50〜50の一部が復元端末20の機能の一部又は全部を備え、復元装置として機能してもよい。又、端末装置は、暗号化端末10と復元端末20の機能の両方を備え、平文mの暗号化及び復元の両方を実施できるようにしてもよい。
又、上記実施の形態では、暗号文Cを識別するための識別データとして公開情報(e,N)を用いているが、公開情報以外のデータを識別データとして用いることができる。又、鍵生成サーバ30は、公開情報(e,N)の暗号文管理サーバ40への送信を省略してもよい。尚、この場合には、暗号文管理サーバ40は、暗号文Cの要求と暗号文Cとを対応付けるための識別データとして、公開情報(e,N)以外のものを暗号文Cに付与し、その識別データを復元端末20へ与え、その識別データに対応付けて暗号文Cを暗号文データベース43に格納する。又、鍵生成サーバ30は、公開情報の「e」の復号サーバ50〜50への送信を省略してもよい。
あるいは、鍵生成サーバ30は、公開情報(e,N)を、暗号化端末10、復元端末20、暗号文管理サーバ40、復号サーバ50〜50に送信せずに、これらの装置が自由に閲覧して取得できるようにしてもよい。又、暗号化端末10、復元端末20、暗号文管理サーバ40、復号サーバ50〜50等が、予め公開情報(e,N)や分散鍵s〜s、検証鍵vk〜vk等を保持することにより、鍵生成サーバ30を省略してもよい。
又、復号サーバ50〜50が完全に信用できる場合には検証鍵を用いなくてもよい。その場合には、復元端末20は、部分復号情報δが正しいか否かの判定を行わないため、より高速に処理を行え、効率を向上できる。
本発明の実施の形態に係る通信システムの構成を示す図である。 本発明の実施の形態に係る情報の流れを示す図である。 本発明の実施の形態に係る通信方法の手順を示すフロー図である。
符号の説明
100 通信システム
10 暗号化端末
11,21,41,51〜51 受信部
12 暗号文生成部
13,23,33,44,53〜53 送信部
14 入力部
20 復元端末
22 平文復元部
24 出力部
30 鍵生成サーバ
31 鍵生成部
32 鍵データベース
40 暗号文管理サーバ
42 暗号文管理部
43 暗号文データベース
50〜50 復号サーバ
52〜52部分復号情報生成部
60 ネットワーク

Claims (8)

  1. 公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、前記公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて、部分復号情報δを生成する複数の部分復号情報生成部と、
    該複数の部分復号情報生成部により生成された複数の部分復号情報δを用いて、前記暗号文Cから前記平文mを復元する平文復元部と
    を備えることを特徴とする通信システム。
  2. 前記秘密情報dを複数に分散して複数の分散鍵sを生成する鍵生成部を備えることを特徴とする請求項1に記載の通信システム。
  3. 公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、前記公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて、部分復号情報δを生成する部分復号情報生成部と、
    前記部分復号情報δを、前記暗号文Cから前記平文mを復元する復元装置に送信する部分復号情報送信部と
    を備えることを特徴とする復号装置。
  4. 前記部分復号情報生成部は、δ=(CmodN)2ΔsmodNを計算することにより、前記部分復号情報δを生成することを特徴とする請求項3に記載の復号装置。
  5. 公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、前記公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて部分復号情報δを生成する複数の復号装置から、複数の部分復号情報δを受信する部分復号情報受信部と、
    前記複数の部分復号情報δを用いて前記暗号文Cから前記平文mを復元する平文復元部と
    を備えることを特徴とする復元装置。
  6. 前記平文復元部は、前記部分復号情報δを用いて前記乱数rを計算し、該乱数rを用いて前記暗号文Cから前記平文mを復元することを特徴とする請求項5に記載の復元装置。
  7. 公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cから部分復号情報δを生成するために用いる複数の分散鍵sを、前記公開情報(e,N)に対応する秘密情報dを複数に分散して生成する鍵生成部と、
    前記複数の分散鍵sを前記部分復号情報δを生成する複数の復号装置に送信する鍵送信部と
    を備えることを特徴とする鍵生成装置。
  8. 公開情報(e,N)と乱数rとを用いて平文mを暗号化する際に、mNをrを用いて暗号化した暗号文Cと、前記公開情報(e,N)に対応する秘密情報dを複数に分散した分散鍵sとを用いて部分復号情報δを複数生成し、
    複数の部分復号情報δを用いて前記暗号文Cから前記平文mを復元することを特徴とする通信方法。

JP2004141356A 2004-05-11 2004-05-11 通信システム、復号装置、復元装置、鍵生成装置及び通信方法 Pending JP2005321719A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004141356A JP2005321719A (ja) 2004-05-11 2004-05-11 通信システム、復号装置、復元装置、鍵生成装置及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004141356A JP2005321719A (ja) 2004-05-11 2004-05-11 通信システム、復号装置、復元装置、鍵生成装置及び通信方法

Publications (1)

Publication Number Publication Date
JP2005321719A true JP2005321719A (ja) 2005-11-17

Family

ID=35469040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004141356A Pending JP2005321719A (ja) 2004-05-11 2004-05-11 通信システム、復号装置、復元装置、鍵生成装置及び通信方法

Country Status (1)

Country Link
JP (1) JP2005321719A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007142897A (ja) * 2005-11-18 2007-06-07 Ntt Docomo Inc 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
JP2008135869A (ja) * 2006-11-27 2008-06-12 Ntt Docomo Inc 署名検証装置、暗号化装置、署名検証方法及び暗号化方法
JP2009033608A (ja) * 2007-07-30 2009-02-12 Ntt Docomo Inc 正当性検証装置及び正当性検証方法
JP2012123426A (ja) * 2006-03-23 2012-06-28 Siemens Ag 暗号化方法用の楕円曲線を求める方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6010040303, Catalano, D. et al., "Paillier’s Cryptosystem Revisited", Proceedings of the 8th ACM conference on Computer and Communications Security, 2001, p.206−214 *
JPN6010040306, Galind, D. et al., "A Practical Public Key Cryptosystem from Paillier and Rabin Schemes", Lecture Notes in Computer Science, 2003, Vol.2567, p.279−291 *
JPN6010040696, Fouque, P.−A., et al., "Sharing Decryption in the Context of Voting or Lotteries", Lecture Notes in Computer Science, 2001, Vol.1962, p.90−104 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007142897A (ja) * 2005-11-18 2007-06-07 Ntt Docomo Inc 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
JP2012123426A (ja) * 2006-03-23 2012-06-28 Siemens Ag 暗号化方法用の楕円曲線を求める方法
US8582761B2 (en) 2006-03-23 2013-11-12 Siemens Aktiengesellschaft Cryptographic method with elliptical curves
JP2008135869A (ja) * 2006-11-27 2008-06-12 Ntt Docomo Inc 署名検証装置、暗号化装置、署名検証方法及び暗号化方法
JP2009033608A (ja) * 2007-07-30 2009-02-12 Ntt Docomo Inc 正当性検証装置及び正当性検証方法

Similar Documents

Publication Publication Date Title
Perlner et al. Quantum resistant public key cryptography: a survey
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
Hwang et al. An ElGamal-like cryptosystem for enciphering large messages
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US6813358B1 (en) Method and system for timed-release cryptosystems
US20080063193A1 (en) Crypto-communication method, recipient-side device, key management center-side device and program
JP2018502320A (ja) 公開鍵暗号化システム
Khan et al. Analysis of asymmetric cryptography in information security based on computational study to ensure confidentiality during information exchange
KR20160114624A (ko) 연관된 개인 키 부분을 사용하는 보다 빠른 공개 키 암호화를 위한 시스템들 및 방법들
Son et al. Conditional proxy re-encryption for secure big data group sharing in cloud environment
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
US11075748B2 (en) Encryption for low-end devices through computation offloading
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
Harn et al. A novel threshold cryptography with membership authentication and key establishment
US20080181397A1 (en) Secure data transmission and storage using limited-domain functions
JP2006319485A (ja) 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
JP2005321719A (ja) 通信システム、復号装置、復元装置、鍵生成装置及び通信方法
Wang et al. Secure outsourced calculations with homomorphic encryption
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
Nithin et al. XBMRSA: A new XML encryption algorithm
JP3278790B2 (ja) 公開鍵暗号方法及び公開鍵暗号システム
JP4230162B2 (ja) 公開鍵暗号通信方法
Karki A comparative analysis of public key cryptography

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101124