JP4758814B2 - 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 - Google Patents
匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4758814B2 JP4758814B2 JP2006123081A JP2006123081A JP4758814B2 JP 4758814 B2 JP4758814 B2 JP 4758814B2 JP 2006123081 A JP2006123081 A JP 2006123081A JP 2006123081 A JP2006123081 A JP 2006123081A JP 4758814 B2 JP4758814 B2 JP 4758814B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- public key
- elliptic curve
- ciphertext
- unit
- 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
Links
Images
Description
ElGamal暗号では、m∈Zp *を平文、(C1,C2)を暗号文とする。なお、pは、十分大きな素数であり、Zp *は、位数pの乗法群を意味する。
十分大きい素数pを生成し、乗法群Zp *の生成元gを求める。また、乱数x∈UZp−1を定め、y=gx mod pを計算する。なお、UZp−1は、0以上p−1未満の任意の整数を意味する。ここで、
<秘密鍵>x
<公開鍵>y,g,p
とする。但し、g,pは、システム共通の値であってもよい。
〔暗号化〕
乱数t∈UZp−1を生成し、Enc(m, y)=(C1, C2)=(gtmod p, m・yt mod p)によって平文mを暗号化する。
〔復号〕
Dec(C2, C1, x)=C2/C1 x mod p=mによって復号を行う。
図13(a)に例示するように、このシステムでは、Universal re-encryptionを行う機能を具備する複数のクライアント装置が通信可能に接続され、通信ネットワークを構成する。暗号文を生成するクライアント装置は、公開サーバ装置で公開されている必ずしも匿名でない公開鍵のリストから、暗号文の宛先の装置(宛先装置)となるクライアント装置で利用可能な秘密鍵に対応する公開鍵を取得する。公開鍵を取得したクライアント装置は、この公開鍵を用いて暗号文を生成し、さらに暗号文と公開鍵とのペアをUniversal re-encryptionし、他の任意のクライアント装置に送信する。なお、匿名性を維持するため、最初に暗号文を生成するクライアント装置は、宛先装置であるクライアント装置と直接通信を行わないものとする。他のクライアント装置から暗号文と公開鍵とのペアを受け取ったクライアント装置は、その暗号文が、自ら利用可能な秘密鍵によって復号可能であるか否かを判定し、復号可能な暗号文については秘密鍵を用いて復号し、復号できない暗号文については、その暗号文と対応する公開鍵とのペアをUniversal re-encryptionしてさらに他の任意なクライアント装置に送信する(図13(b)参照)。これにより、1以上のクライアント装置を中継し、不特定多数の匿名のメッセージを宛先装置であるクライアント装置に伝送することができる。
Philippe Golle, Markus Jakobsson, Ari Juels, and Paul Syverson, "Universal re-encryption for mixnets," In Proceedings of the 2004 RSA Conference, Cryptographer's track, San Francisco, USA, February 2004.
ここで、検査鍵G(j),Y(j)が格納された上記通信装置は、以下のように、受信した暗号文の宛先を判定する。
ペアリング関数の性質(詳細は後述)により、ペアリング関数に代入される公開鍵と検査鍵とが同じ値であった場合、その代入結果値には、公開鍵と検査鍵との値が反映されず、必ず1となる。これは、本発明における暗号文の宛先判定の誤りの原因となる。検査鍵が属する第1巡回群と、公開鍵が属する第2巡回群とを重複させない構成とすることにより、このような問題を回避できる。
さらに好ましくは、公開鍵g(j,1)は、集合E[p]上の元を第2巡回群に写す一方向性準同型写像である関数ψに、検査鍵G(j)を代入して生成され、検査鍵Y(j)は、検査鍵G(j)を楕円曲線E上でx(j)倍算を行って生成され、公開鍵y(j,1)は、検査鍵Y(j)を関数ψに代入して生成される。
このような第1巡回群と第2巡回群とは、元が重複しない。よって、ペアリング関数に代入される公開鍵と検査鍵とが一致し、その代入結果値が1になってしまい、暗号文の宛先を判定する際に誤りが発生してしまうことを防止できる。
〔技術的な前提・定義〕
まず、各実施の形態の説明に入る前に、技術的な前提や定義を説明する。
<楕円曲線>
まず、体K上で定義された楕円曲線について説明する。
一般に、体K上で定義された楕円曲線Eとは、a1,a2,a3,a4,a6∈Kとして、等式
E: y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(1)
を満たす点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したものである。体K上に定義された楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ有限回のKの体演算により定義できる。また、以下の性質を持つことにより、体K上に定義された楕円曲線Eは楕円加算に関して群をなす。
[2]体K上に定義された楕円曲線E上の任意の3点R1,R2,R3に対して、R1+(R2+R3)=(R1+R2)+R3が成り立つ(結合律)。
[3]無限遠点Oに関して、体K上に定義された楕円曲線E上の任意の点R1に対して、R1+O=O+R1=R1が成り立つ(単位元の存在)。
[4]体K上に定義された楕円曲線E上の任意の点R1に対して逆元(−R1)が存在してR1+(−R1)=(−R1)+R1=Oが成立する(逆元の存在)。
[5]体K上に定義された楕円曲線E上の任意の2点R1,R2に対して、R1+R2=R2+R1が成り立つ(交換律)。
[1]E[p]上の任意の2点R1,R2に対して、楕円加算R1+R2はE[p]上の点である。
[2]楕円加算の結合律は、E[p]上でも成立する。
[3]楕円加算の交換律は、E[p]上でも成立する。
[4]無限遠点OはE[p]上の点であり、E[p]上の任意の点R1に対して、O+R1=R1が成立する。
[5]E[p]上の任意の点R1に対して逆元(−R1)はE[p]上に唯一存在する。
[1]E[p]上の任意の点R1及び体Z/pZの任意の元α1に対して、楕円スカラー倍α1R1はE[p]上の点である。
[2]E[p]上の任意の点R1及び体Z/pZの任意の2元α1,α2に対して、(α1+α2)R1=α1・R1+α2・R1が成り立つ。
[3]E[p]上の任意の2点R1,R2及び体Z/pZの任意の元α1に対して、α1・(R1+R2)=α1・R1+α1・R2が成り立つ。
[4]E[p]上の任意の点R1及び体Z/pZの任意の2元α1,α2に対して、(α1・α2)・R1=α1・(α2・R1)が成り立つ。
[5]E[p]上の任意の点R1及び体Z/pZの任意の乗法単位元1に対して、1・R1=R1が成り立つ。
次に、楕円曲線Eに基づく楕円ElGamal暗号について説明する。楕円ElGamal暗号は、前述したElGamal暗号における有限体上の乗法演算を、楕円曲線E上の加法演算に対応させることで構成できる。
楕円ElGamal暗号では、m∈E[p]を平文、(C1,C2)∈E[p]を暗号文とする。
[鍵生成]
まず、生成元g∈E[p]を求める。そして、乱数x∈UZpを定め、楕円曲線E上での楕円スカラー倍算値y=x・gを計算する。ここで、
[秘密鍵]x
[公開鍵]g,y,E[p]
とする。但し、g,E[p]は、システム共通の値であってもよい。
乱数t∈UZpを生成し、楕円曲線E上でEnc(m, y)=(C1, C2)=(t・g, m+t・y)の演算を行って平文mを暗号化する。
〔復号〕
楕円曲線E上でDnc(C2, C1, x)=C2‐x・C1=mの演算を行って復号を行う。
次に、有限体のフロベニウス写像について説明する。
ここで、γを整数、qを素数又はその冪とする。有限体GF(qγ)上の元wを表現するのに、有限体GF(q)上のγ個の元の組wi(0≦i<γ)を用いることができる。γ個のwi∈GF(q)(0≦i<γ)の組をGF(qγ)上の元に対応させる代表的な方法は、γ個のδi∈GF(qγ)(0≦i<γ)を使って、
(δ+θ)q=δq+θq
が成立する。さらに、c∈GF(q)なるcに関して、cq=cが成立する。
f(δ1,δ2,…,δn)q=f(δ1 q,δ2 q,…,δn q) …(2)
が成立する。従って、
となるとき、
次に、楕円曲線のフロベニウス写像について説明する。
γを整数、qを素数又はその冪とする。有限体GF(q)上に定義された(a1,a2,a3,a4,a6∈GF(q)とする)楕円曲線
E: y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(3)
上の有限体GF(qγ)有理点RをR=(r1,r2)とする。そして、
[1]楕円曲線のフロベニウス写像は、有限体GF(q)上に定義された楕円曲線E上の自己同型写像である。つまり、φ(R1+R2)=(φR1)+(φR2)が成り立つ。
[2]楕円スカラー倍と楕円曲線のフロベニウス写像は可換である。つまり、φ(α・R)=α(φR)が成り立つ。
[3]特に、E[p]上の点は楕円曲線のフロベニウス写像によってE[p]上の点に移る。つまり、∀R∈E[p],p(φR)=φ(p・R)=Oである。
nを整数として、一般に楕円曲線Eのqn乗フロベニウス写像φnは、
次に、フロベニウス写像の固有空間と射影について説明する。
参考文献1:「イアン・F・ブラケ,ガディエル・セロッシ,ナイジェル・P・スマート=著、鈴木治郎=訳,「楕円曲線暗号」,出版=ピアソン・エデュケーション,ISBN4-89471-431-0,p112」
にあるように、フロベニウス写像φは式(3)で表される楕円曲線上の任意のGF(qγ)有理点Rに対して、
(φ2‐t・φ+q)・R=O …(4)
を満たす(但しtは、q,a1,a2,a3,a4,a6によって一意に決定される整数である。)。フロベニウス写像φに関する多項式φ2‐t・φ+qを特性多項式と呼ぶ。楕円曲線をE[p](但しpは素数とする。)に限定すると、楕円スカラー倍はZ/pZで考えればよい。Z/pZ係数の特性多項式は分解体上で、
φ2‐t・φ+q=(φ‐λ1)(φ‐λ2) …(4-1)
と分解でき、λ1、λ2をフロベニウス写像φの固有値と呼ぶ。以下においては、λ1、λ2∈Z/pZでかつλ1≠λ2である場合を考える。線形空間であるE[p]の線形変換関数ψλ1,ψλ2(但し、下付き添え字のλ1及びλ2は、それぞれλ1及びλ2を表す。)を
ψλ1=(λ1‐λ2)-1(φ‐λ2) …(4-2)
ψλ2=(λ2‐λ1)-1(φ‐λ1) …(4-3)
と定義すると、任意のE[p]上の点Rに対して、
P=ψλ1R=(λ1‐λ2)-1(φR‐λ2R) …(5)
Q=ψλ2R=(λ2‐λ1)-1(φR‐λ1R) …(6)
なるE[L]上の点P,Qが存在し、点Rは、
R=P+Q …(7)
と一意に分解できる。
φP=λ1P
が成り立つ。また、楕円曲線E上の点から固有空間ψλ1(E[p])への準同型写像を、ψλ1(E[p])への「射影」と呼ぶ。さらに、この射影がE[p]の元を固有空間ψλ1(E[p])へ写すものであった場合、この射影は同型写像となる。なお、線形変換関数ψλ1は、E[p]からψλ1(E[p])への同型写像である射影の1つである。
φQ=λ2Q
が成り立つ。楕円曲線E上の点から固有空間ψλ2(E[p])への準同型写像を、ψλ2(E[p])への「射影」と呼ぶ。さらに、この射影がE[p]の元を固有空間ψλ2(E[p])へ写すものであった場合、この射影は同型写像となる。なお、線形変換関数ψλ2は、ψλ2(E[p])への同型写像である射影の1つである。また、式(7)に示される分解を、フロベニウス写像φの固有空間に関する固有分解と呼ぶ。固有空間は、それぞれ、位数pの巡回群となり、
E[p]=ψλ1(E[p])×ψλ2(E[p])
を満たす。
(φn)2‐tn・(φn)+qn=(φn‐λ1 n)(φn‐λ2 n)
(tnはt,n,qによって決まる整数)を考えることによって、上記と同様に、固有値、固有空間、固有分解、射影などを構成できる。そこで、本発明における「フロベニウス写像φ」とはqn乗フロベニウス写像φn(nは1以上の整数)をいうものとする。
次に、射影の一方向性について説明する。pが十分に大きい素数であるとして、E[p]に関して、フロベニウス写像φの固有値λ1,λ2が、λ1,λ2∈Z/pZかつλ1≠λ2である場合を考える。固有空間ψλ1(E[p])の任意の生成元P’及び固有空間ψλ2(E[p])の任意の生成元Q’を用い、E[p]上の任意の点Rは、
R=α1・P’+α2・Q’
と書ける(但し、α1,α2∈Z/pZである)。点Rを生成元として生成される巡回群〈R〉上の任意の点R1から、固有空間ψλ1(E[p])或いは固有空間ψλ2(E[p])への射影は、それぞれ式(5)(6)に従って、楕円加算、楕円逆元、楕円スカラー倍、フロベニウス写像を用いて効率的に演算できる。一方、α1≠0かつα2≠0の時、R1の射影P1=ψλ1R1或いはQ1=ψλ2R1のいずれか一方からR1を求めることは、楕円曲線Eが超特異楕円曲線(supersingularcurve)である場合を除いて、一般には困難である。即ち、射影は一方向性を有する。
次に、ペアリング(pairing)について説明する。なお、本明細書で用いる「ペアリング関数」との用語もペアリングと同義である。
参考文献2:「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」
μpを、楕円曲線の定義体Kの代数閉体上の乗法単位元1のp乗根の作る乗法群とする。参考文献2に示すように、ペアリングepとは、
ep:E[p]×E[p]=μp …(8)
なる関数であり、次の性質を持つ。
[2]E[p]上の任意の2点R1、R2に対して、ep(R1,R2)=ep(R2,R1)−1が成り立つ。
[3]E[p]上の任意の3点R1,R2,R3に対して、ep(R1+R2,R3)=ep(R1,R3)ep(R2,R3)であり、ep(R1,R2+R3)=ep(R1,R2)ep(R1,R3)が成り立つ。
[4]E[p]上の任意の点R1に対して、ep(R1,O)=1が成り立つ。
[5]E[p]上のある点R1がE[p]上の全ての点R2に対して、ep(R1,R2)=1を満たすなら、R1=Oが成り立つ。
参考文献4:「M. Scott, P. S. L. M. Barreto, "Generating more NMT elliptic curve s," http://eprint .iacr. org/2004/058/」
参考文献5:「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」
参考文献6:「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」
〔第1の実施の形態〕
次に、本発明における第1の実施の形態について説明する。
まず、第1の実施の形態の構成について説明する。
[全体構成]
まず、第1の実施の形態における匿名暗号文通信システム1の全体構成を説明する。
図1は、第1の実施の形態における匿名暗号文通信システム1の全体構成を例示した概念図である。
図1に例示するように、匿名暗号文通信システム1は、鍵生成を行う鍵生成装置10と、クライアント装置20,30−1,30−2,30−3,30−4,50等と、公開サーバ装置60とを有している。各装置は、例えば、所定のプログラムが公知の通信可能なコンピュータに読み込まれることにより構成される。
次に、鍵生成装置10の構成を説明する。
図2は、第1の実施の形態における鍵生成装置10のハードウェア構成を例示したブロック図である。
図2に例示するように、この例の鍵生成装置10は、CPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16、バス17及び通信部18を有している。
次に、クライアント装置20の詳細構成を説明する。
図4は、第1の実施の形態のクライアント装置20の機能構成を例示したブロック図である。なお、前述のように、本形態では、クライアント装置20が暗号文を生成する場合を例にとって説明する。そこで、クライアント装置20については、暗号文の生成に関連する機能構成のみを説明し、他の機能構成の説明を省略する。すなわち、クライアント装置20は、暗号文を中継するクライアント装置30−1,30−2,30−3,30−4などの機能構成を具備していてもよいし、具備していなくてもよい。
次に、クライアント装置30の詳細構成を説明する。
図5は、クライアント装置30の機能構成を例示したブロック図である。なお、クライアント装置30とは、暗号文の中継を行うクライアント装置30−1,30−2,30−3,30−4である。以下、クライアント装置30−1,30−2,30−3,30−4を総称する場合には、クライアント装置30と表現し、クライアント装置30−1,30−2,30−3,30−4を区別する必要がある場合には、クライアント装置30−1,30−2,30−3,30−4と表現する。なお、前述のように、本形態では、クライアント装置30が暗号文の中継を行う場合を例にとって説明する。そこで、クライアント装置30については、暗号文の中継に関連する機能構成のみを説明し、他の機能構成の説明を省略する。すなわち、クライアント装置30は、暗号文を生成するクライアント装置20の機能構成を具備していてもよいし、具備していなくてもよい。
次に、第1の実施の形態における処理を説明する。
[前処理]
まず、前述の参考文献3〜6に記載されている手法などを用い、ペアリングが効率的に計算可能な有限上に定義された非超特異楕円曲線である楕円曲線Eを生成する。次に、生成された楕円曲線E上の点Rのうち、p・R=Oを満たす点Rの集合E[p]を生成する。なお、集合E[p]の具体的なデータ構成としては、例えば、集合E[p]の各元を示すデータや、集合E[p]を導出可能な数式やパラメータなどを例示できる。すなわち、集合E[p]の元の選択処理や、集合E[p]上での楕円加算や楕円スカラー倍算等を行うために必要な情報が反映されたデータ構成であればよい。さらに、生成された楕円曲線Eのパラメータを用い、楕円曲線Eに対応する特性多項式を求め、さらに楕円曲線のフロベニウス写像φの固有値λ1,λ2を求める(式(4−1)参照)。また、楕円曲線のフロベニウス写像φと固有値λ1,λ2とを用い、式(4−2)(4−3)により、線形変換関数ψλ1,ψλ2を生成する。ここまでの演算は、鍵生成装置10で行ってもよいし、図示していない他のコンピュータを用いてもよい。
次に、鍵生成装置10の処理について説明する。
図6は、第1の実施の形態の鍵生成装置10の処理を説明するためのフローチャートである。以下、このフローチャートに従い、第1の実施の形態の鍵生成装置10の処理を説明する。
,Y(j)を所定のクライアント装置に渡す。本形態では、クライアント装置30−2にクライアント装置50に対応する検査鍵G(j),Y(j)が渡される。クライアント装置30−2は、そのメモリ30aの格納部30aeに、検査鍵G(j),Y(j)を宛先装置jであるクライアント装置50に関連付けて格納する。なお、クライアント装置30−1には、クライアント装置50以外のクライアント装置に対応する検査鍵が格納されているものとする。
次に、クライアント装置20が行う暗号文生成処理について説明する。
図7は、第1の実施の形態における暗号文生成処理を説明するためのフローチャートである。以下、図7を用いて、クライアント装置20の暗号文生成処理を説明する。
まず、クライアント装置20は、公開サーバ装置60にアクセスし、宛先装置jであるクライアント装置50に対応する公開鍵g(j,1)と公開鍵y(j,1)との送信を要求する。この要求に対し、公開サーバ装置60は、公開鍵g(j,1)と公開鍵y(j,1)とをクライアント装置20に送信し、クライアント装置20は、受信部20bでこれを受信する。受信された公開鍵g(j,1)と公開鍵y(j,1)とは、それぞれメモリ20aの格納部20ab,20acに格納される(ステップS11)。
ランダム数t(t∈UZp)を生成してメモリ20aの格納部20aeに格納する(ステップS13)。なお、ランダム数tの生成には、例えば、所定の擬似乱数生成アルゴリズムを用いるが、特にこれには限定されず、ランダム数tはシリアルに生成される値であってもよいし、固定値であってもよい。また、ランダム数tが固定値である場合、ステップS13の処理を省略してもよい。
C2,1=C1,1+u1・g(j,1)とC2,2=C1,2+u1・y(j,1)とを求め、C(j,2)=(C2,1,C2,2)を新たな暗号文として、メモリ20aの格納部20aiに格納する(ステップS17)。
ここでは、まず、クライアント装置30が実行する中継通信処理について説明し、その後、クライアント装置30−1,30−2の具体的な処理を説明する。
図8は、クライアント装置30が実行する中継通信処理を説明するためのフローチャートである。まず、このフローチャートを用いて、クライアント装置30の中継通信処理を説明する。
ここで、ep(g(j,i),Y(j’))=ep(y(j,i),G(j’))であると判断された場合、判定部30eの判定処理部30ebは、メモリ30aの格納部30aeで検査鍵G(j’),Y(j’)に関連付けられている宛先装置j’が、暗号文C(j,i)の宛先であると判定し、送信部30gに、格納部30abに格納されている暗号文C(j,i)を、宛先装置j’であるクライアント装置50に送信させる。
検査鍵G(j’),Y(j’)に関連付けられている宛先装置j’が、暗号文C(j,i)の宛先であるとは、j=j’であるということである。j=j’である場合、第1代入結果値はep(g(j,i),Y(j))となる。そして、前述のステップS3よりY(j)=x(j)・G(j)の関係を満たすため、第1代入結果値はep(g(j,i),x(j)・G(j))と書ける。さらに、〔技術的な前提・定義〕で説明したペアリングの性質[3]「E[p]上の任意の3点R1,R2,R3に対して、ep(R1+R2,R3)=ep(R1,R3)ep(R2,R3)であり、ep(R1,R2+R3)=ep(R1,R2)ep(R1,R3)が成り立つ。」により、第1代入結果値はx(j)・ep(g(j,i),G(j))と変形できる。
まず、再暗号化部30fのランダム数生成部30faが、整数のランダム数u0,u1(u0,u1∈UZp)を生成してメモリ30aの格納部30ahに格納する(ステップS27)。ランダム数u0,u1の生成には、例えば、擬似乱数生成アルゴリズムを用いる。
そして、公開鍵更新部30fbは、楕円曲線E上での楕円スカラー倍算によってg(j, i+1)=u0・g(j,i)とy(j,i+1)=u0・y(j,i)とを求め、これらを新たな公開鍵g(j,i+1),y(j,i+1)として、メモリ30aの格納部30ai,30ajにそれぞれ格納する(ステップS28)。
C2,1=C1,1+u1・g(j,i)とC2,2=C1,2+u1・y(j,i)とを求め、C(j,i+1)=(C2,1,C2,2)を新たな暗号文として、メモリ30aの格納部30akに格納する(ステップS29)。
以上のクライアント装置30の処理をクライアント装置30−1に当てはめて説明する。前述のようにクライアント装置30−1に格納される検査鍵は、クライアント装置50に対応するものではない。すなわち、j’≠jである。この場合、クライアント装置30−1は、ステップS21〜S25、S27〜S30の処理を実行し、再暗号化された暗号文C(j,3)と公開鍵g(j,3),y(j,3)とをクライアント装置30−2,30−3に送信する。
前述のように、クライアント装置30−2には、クライアント装置50に対応する検査鍵が格納される。すなわち、j’=jである。この場合、クライアント装置30−2は、クライアント装置30−1から暗号文C(j,3)と公開鍵g(j,3),y(j,3)とを受け取り、ステップS21〜S26の処理を実行し、暗号文C(j,3)を宛先装置であるクライアント装置50に送信する。
次に、本発明における第2の実施の形態について説明する。
本形態は、第1の実施の形態の変形例であり、鍵生成装置の公開鍵の生成方法のみが相違する。以下では、鍵生成装置及び鍵生成方法の相違点のみについて説明する。
図9は、第2の実施の形態における鍵生成装置110の機能構成を例示したブロック図である。なお、図9において第1の実施の形態と共通する部分については、図3と同じ符号を用いた。
図9に例示するように、本形態の鍵生成装置110は、メモリ10aと、ランダム数生成部10bと、検査鍵生成部10c,10dと、公開鍵生成部110e,110fと、送信部10gと、出力部10hと、一時メモリ10iと、制御部10jとを有している。なお、本形態の鍵生成装置110も、公知のコンピュータに所定のプログラムが読み込まれることにより構成されるものである。
次に、鍵生成装置110の処理について説明する。
図10は、第2の実施の形態の鍵生成装置110の処理を説明するためのフローチャートである。以下、このフローチャートに従い、第2の実施の形態の鍵生成装置110の処理を説明する。
以上のように公開鍵を定めることとしても、各クライアント装置は、第1の実施の形態と同じ処理を実行できる。さらに、関数を用いるのではなく、公開鍵と検査鍵とを独立に生成することとしたため、公開鍵から検査鍵が推測されることはない。
次に、本発明における第3の実施の形態について説明する。
本形態は、第1,2の実施の形態の変形例である。楕円曲線Eのフロベニウス写像φの固有値λ1に関する固有空間ψλ1(E[p])を第1巡回群として用い、
楕円曲線Eのフロベニウス写像φの固有値λ2(≠λ1)に関する固有空間ψλ2(E[p])を第2巡回群として用いる。また、元の線形成を保ったまま、固有空間ψλ1(E[p])の元を、固有空間ψλ2(E[p])に映す写像を定義することは困難であるため、第2の実施の形態と同様、固有空間ψλ1(E[p])及び固有空間ψλ2(E[p])、それぞれで楕円スカラー倍演算を実行し、検査鍵及び公開鍵を生成する。以下では、鍵生成装置及び鍵生成方法の相違点のみについて説明する。
図11は、第3の実施の形態における鍵生成装置210の機能構成を例示したブロック図である。なお、図11において第1の実施の形態と共通する部分については、図3と同じ符号を用いた。
図11に例示するように、本形態の鍵生成装置210は、メモリ10aと、ランダム数生成部10bと、検査鍵生成部210c,10dと、公開鍵生成部210e,210fと、送信部10gと、出力部10hと、一時メモリ10iと、制御部10jとを有している。なお、本形態の鍵生成装置210も、公知のコンピュータに所定のプログラムが読み込まれることにより構成されるものである。
次に、鍵生成装置210の処理について説明する。
図12は、第3の実施の形態の鍵生成装置210の処理を説明するためのフローチャートである。以下、このフローチャートに従い、第3の実施の形態の鍵生成装置210の処理を説明する。
その後、第1の実施の形態におけるステップS6,S7と同じ処理が実行される(ステップS66,S67)。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施の形態では、楕円ElGamal暗号を用いた場合を例にとって説明したが、効率的にペアリング関数の演算が可能な楕円曲線上で実装可能な公開鍵暗号であって、再暗号化が可能なものであれば楕円ElGamal暗号以外の暗号系に本発明を適用してもよい。
また、上述の各実施の形態では、クライアント装置とは別に鍵生成装置を設けることとしたが、各クライアント装置が自らの秘密鍵、公開鍵、検査鍵を生成する構成であってもよい。
20,30,50 クライアント装置
Claims (16)
- 1以上の通信装置を経由し、匿名で暗号文を伝送する匿名暗号文通信システムに用いられる鍵を生成する鍵生成装置であって、
上記暗号文の宛先となる宛先装置j(jは自然数)に対応する秘密鍵x(j)(x(j)は整数)を格納する秘密鍵格納部と、
有限体上に定義された楕円曲線E上の点から構成される第1巡回群の元を、上記宛先装置jに対応する検査鍵G(j)として格納する検査鍵格納部と、
上記楕円曲線E上の点から構成される第2巡回群の元を、上記宛先装置jに対応する公開鍵g(j,1)として格納する公開鍵格納部と、
上記検査鍵G(j)の上記楕円曲線E上でのx(j)倍算値Y(j)=x(j)・G(j)を、上記宛先装置jに対応する検査鍵Y(j)として求める検査鍵生成部と、
上記公開鍵g(j,1)の上記楕円曲線E上でのx(j)倍算値y(j,1)=x(j)・g(j,1)を、上記宛先装置jに対応する公開鍵y(j,1)として求める公開鍵生成部と、
を有することを特徴とする鍵生成装置。 - 請求項1に記載の鍵生成装置であって、
上記第2巡回群は、
上記第1巡回群の何れの元も含まない巡回群である、
ことを特徴とする鍵生成装置。 - 請求項2に記載の鍵生成装置であって、
上記第1巡回群は、
上記楕円曲線E上でのp倍算値(pは素数)が無限遠点となる上記楕円曲線E上の点Rの集合E[p]から、上記楕円曲線Eのフロベニウス写像の各固有値に関する各固有空間を除いた非固有空間における位数pの巡回群であり、
上記第2巡回群は、
上記楕円曲線Eのフロベニウス写像の何れかの固有値に関する固有空間である、
ことを特徴とする鍵生成装置。 - 請求項3に記載の鍵生成装置であって、
上記公開鍵g(j,1)は、
上記集合E[p]上の元を上記第2巡回群に写す一方向性準同型写像である関数ψに、上記検査鍵G(j)を代入して得られた値ψ(G(j))であり、
上記検査鍵生成部は、
上記検査鍵G(j)の上記楕円曲線E上でのx(j)倍算を行い、上記検査鍵Y(j)を求め、
上記公開鍵生成部は、
上記検査鍵Y(j)を上記関数ψに代入し、上記公開鍵y(j,1)を求める、
ことを特徴とする鍵生成装置。 - 請求項4に記載の鍵生成装置であって、
上記関数ψは、同型写像である、
ことを特徴とする鍵生成装置。 - 請求項4に記載の鍵生成装置であって、
上記楕円曲線Eは、
非超特異楕円曲線であり、
上記関数ψは、
上記集合E[p]上の元を上記第2巡回群に写す射影である、
ことを特徴とする鍵生成装置。 - 請求項2に記載の鍵生成装置であって、
上記第1巡回群は、
上記楕円曲線Eのフロベニウス写像の第1固有値に関する第1固有空間であり、
上記第2巡回群は、
上記楕円曲線Eのフロベニウス写像の第2固有値(≠第1固有値)に関する第2固有空間である、
ことを特徴とする鍵生成装置。 - 匿名で暗号文を伝送する匿名暗号文通信システムを構成する通信装置であって、
請求項1に記載の検査鍵G(j),Y(j)を、それらに対応する宛先装置j(jは自然数)に関連付けて格納する検査鍵格納部と、
請求項1に記載の公開鍵g(j,1)の楕円曲線E上でのv倍算値(vは整数)である公開鍵g(j,i)(iは自然数)と、請求項1に記載の公開鍵y(j,1)の当該楕円曲線E上でのv倍算値である公開鍵y(j,i)とを、暗号文C(j,i)に対応する公開鍵として、他の通信装置から受信する受信部と、
上記公開鍵g(j,i)と上記公開鍵y(j,i)とを格納する暗号化鍵格納部と、
ペアリング関数に上記公開鍵g(j,i)と上記検査鍵Y(j)とを代入した第1代入結果値を求める第1ペアリング演算部と、
上記ペアリング関数に上記公開鍵y(j,i)と上記検査鍵G(j)とを代入した第2代入結果値を求める第2ペアリング演算部と、
上記第1代入結果値と上記第2代入結果値とを比較し、上記第1代入結果値と上記第2代入結果値とが一致した場合に、上記検査鍵G(j),Y(j)に関連付けられている上記宛先装置jが上記暗号文C(j,i)の宛先である、と判定する判定部と、
を有することを特徴とする通信装置。 - 1以上の通信装置を経由し、匿名で暗号文の伝送を行う匿名暗号文通信システムであって、
上記暗号文の宛先となる宛先装置j(jは自然数)に対応する秘密鍵x(j)(x(j)は整数)を格納する秘密鍵格納部と、有限体上に定義された楕円曲線E上の点から構成される第1巡回群の元を、上記宛先装置jに対応する検査鍵G(j)として格納する検査鍵格納部と、上記楕円曲線E上の点から構成される第2巡回群の元を、上記宛先装置jに対応する公開鍵g(j,1)として格納する公開鍵格納部と、上記検査鍵G(j)の上記楕円曲線E上でのx(j)倍算値Y(j)=x(j)・G(j)を、上記宛先装置jに対応する検査鍵Y(j)として求める検査鍵生成部と、上記公開鍵g(j,1)の上記楕円曲線E上でのx(j)倍算値y(j,1)=x(j)・g(j,1)を、上記宛先装置jに対応する公開鍵y(j,1)として求める公開鍵生成部と、を具備する鍵生成装置と、
上記検査鍵G(j),Y(j)を、それらに対応する宛先装置jに関連付けて格納する検査鍵格納部と、上記公開鍵g(j,1)の上記楕円曲線E上でのv倍算値(vは整数)である公開鍵g(j,i)(iは自然数)と、上記公開鍵y(j,1)の当該楕円曲線E上でのv倍算値である公開鍵y(j,i)とを、暗号文C(j,i)に対応する公開鍵として、他の通信装置から受信する受信部と、上記公開鍵g(j,i)と上記公開鍵y(j,i)とを格納する暗号化鍵格納部と、ペアリング関数に上記公開鍵g(j,i)と上記検査鍵Y(j)とを代入した第1代入結果値を求める第1ペアリング演算部と、上記ペアリング関数に上記公開鍵y(j,i)と上記検査鍵G(j)とを代入した第2代入結果値を求める第2ペアリング演算部と、上記第1代入結果値と上記第2代入結果値とを比較し、上記第1代入結果値と上記第2代入結果値とが一致した場合に、上記検査鍵G(j),Y(j)に関連付けられている上記宛先装置jが上記暗号文C(j,i)の宛先である、と判定する判定部と、を具備する通信装置と、
を有することを特徴とする匿名暗号文通信システム。 - 1以上の通信装置を経由し、匿名で暗号文を伝送する匿名暗号文通信システムに用いられる鍵を生成する鍵生成装置の鍵生成方法であって、
秘密鍵格納部に、上記暗号文の宛先となる宛先装置j(jは自然数)に対応する秘密鍵x(j)(x(j)は整数)を格納しておき、
検査鍵格納部に、有限体上に定義された楕円曲線E上の点から構成される第1巡回群の元を、上記宛先装置jに対応する検査鍵G(j)として格納しておき、
公開鍵格納部に、上記楕円曲線E上の点から構成される第2巡回群の元を、上記宛先装置jに対応する公開鍵g(j,1)として格納しておき、
検査鍵生成部が、上記検査鍵G(j)の上記楕円曲線E上でのx(j)倍算値Y(j)=x(j)・G(j)を、上記宛先装置jに対応する検査鍵Y(j)として求めるステップと、
公開鍵生成部が、上記公開鍵g(j,1)の上記楕円曲線E上でのx(j)倍算値y(j,1)=x(j)・g(j,1)を、上記宛先装置jに対応する公開鍵y(j,1)として求めるステップと、
を実行することを特徴とする鍵生成方法。 - 匿名で暗号文を伝送する匿名暗号文通信システムを構成する通信装置の通信処理方法であって、
検査鍵格納部に、請求項8に記載の検査鍵G(j),Y(j)を、それらに対応する宛先装置j(jは自然数)に関連付けて格納しておき、
受信部が、請求項8に記載の公開鍵g(j,1)の楕円曲線E上でのv倍算値(vは整数)である公開鍵g(j,i)(iは自然数)と、請求項8に記載の公開鍵y(j,1)の当該楕円曲線E上でのv倍算値である公開鍵y(j,i)とを、暗号文C(j,i)に対応する公開鍵として、他の通信装置から受信するステップと、
暗号化鍵格納部に、上記公開鍵g(j,i)と上記公開鍵y(j,i)とを格納するステップと、
第1ペアリング演算部が、ペアリング関数に上記公開鍵g(j,i)と上記検査鍵Y(j)とを代入した第1代入結果値を求めるステップと、
第2ペアリング演算部が、上記ペアリング関数に上記公開鍵y(j,i)と上記検査鍵G(j)とを代入した第2代入結果値を求めるステップと、
判定部が、上記第1代入結果値と上記第2代入結果値とを比較し、上記第1代入結果値と上記第2代入結果値とが一致した場合に、上記検査鍵G(j),Y(j)に関連付けられている上記宛先装置jが上記暗号文C(j,i)の宛先である、と判定するステップと、
を実行することを特徴とする通信処理方法。 - 1以上の通信装置を経由し、匿名で暗号文の伝送を行う匿名暗号文通信方法であって、
鍵生成装置の秘密鍵格納部に、上記暗号文の宛先となる宛先装置j(jは自然数)に対応する秘密鍵x(j)(x(j)は整数)を格納しておき、
上記鍵生成装置の検査鍵格納部に、有限体上に定義された楕円曲線E上の点から構成される第1巡回群の元を、上記宛先装置jに対応する検査鍵G(j)として格納しておき、
上記鍵生成装置の公開鍵格納部に、上記楕円曲線E上の点から構成される第2巡回群の元を、上記宛先装置jに対応する公開鍵g(j,1)として格納しておき、
上記鍵生成装置の検査鍵生成部が、上記検査鍵G(j)の上記楕円曲線E上でのx(j)倍算値Y(j)=x(j)・G(j)を、上記宛先装置jに対応する検査鍵Y(j)として求めるステップと、
上記鍵生成装置の公開鍵生成部が、上記公開鍵g(j,1)の上記楕円曲線E上でのx(j)倍算値y(j,1)=x(j)・g(j,1)を、上記宛先装置jに対応する公開鍵y(j,1)として求めるステップと、を実行し、
いずれかの通信装置の検査鍵格納部に、上記検査鍵G(j),Y(j)を、それらに対応する宛先装置jに関連付けて格納しておき、
上記通信装置の受信部が、上記公開鍵g(j,1)の上記楕円曲線E上でのv倍算値(vは整数)である公開鍵g(j,i)(iは自然数)と、上記公開鍵y(j,1)の当該楕円曲線E上でのv倍算値である公開鍵y(j,i)とを、暗号文C(j,i)に対応する公開鍵として、他の通信装置から受信するステップと、
上記通信装置の暗号化鍵格納部に、上記公開鍵g(j,i)と上記公開鍵y(j,i)とを格納するステップと、
上記通信装置の第1ペアリング演算部が、ペアリング関数に上記公開鍵g(j,i)と上記検査鍵Y(j)とを代入した第1代入結果値を求めるステップと、
上記通信装置の第2ペアリング演算部が、上記ペアリング関数に上記公開鍵y(j,i)と上記検査鍵G(j)とを代入した第2代入結果値を求めるステップと、
上記通信装置の判定部が、上記第1代入結果値と上記第2代入結果値とを比較し、上記第1代入結果値と上記第2代入結果値とが一致した場合に、上記検査鍵G(j),Y(j)に関連付けられている上記宛先装置jが上記暗号文C(j,i)の宛先である、と判定するステップと、を実行する、
ことを特徴とする匿名暗号文通信方法。 - 請求項1から7の何れかに記載の鍵生成装置としてコンピュータを機能させるための鍵生成プログラム。
- 請求項8に記載の通信装置としてコンピュータを機能させるための通信処理プログラム。
- 請求項13に記載の鍵生成プログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項14に記載の通信処理プログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006123081A JP4758814B2 (ja) | 2006-04-27 | 2006-04-27 | 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006123081A JP4758814B2 (ja) | 2006-04-27 | 2006-04-27 | 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007295444A JP2007295444A (ja) | 2007-11-08 |
JP4758814B2 true JP4758814B2 (ja) | 2011-08-31 |
Family
ID=38765594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006123081A Expired - Fee Related JP4758814B2 (ja) | 2006-04-27 | 2006-04-27 | 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4758814B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5326715B2 (ja) * | 2009-03-24 | 2013-10-30 | 富士通株式会社 | 楕円曲線暗号を用いた認証処理に対する故障利用攻撃を検知する認証用媒体 |
JP5562284B2 (ja) * | 2011-04-12 | 2014-07-30 | 日本電信電話株式会社 | 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム |
JP6262104B2 (ja) * | 2014-09-01 | 2018-01-17 | Kddi株式会社 | 匿名化メッセージシステム、端末ノード、パブリックノード、方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4098510B2 (ja) * | 2001-10-30 | 2008-06-11 | 日本電信電話株式会社 | 匿名通信方法、その装置処理方法、そのプログラムおよびその記録媒体 |
JP4146252B2 (ja) * | 2003-01-24 | 2008-09-10 | 日本電信電話株式会社 | 不正者特定可能な匿名通信方法、それに使用される利用者装置、及び中継サーバ装置 |
JP3890398B2 (ja) * | 2004-02-19 | 2007-03-07 | 海 西田 | ピアツーピア型匿名プロキシにおける安全性の高い匿名通信路の検証及び構築する方法 |
-
2006
- 2006-04-27 JP JP2006123081A patent/JP4758814B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007295444A (ja) | 2007-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Polyakov et al. | Fast proxy re-encryption for publish/subscribe systems | |
KR101418254B1 (ko) | 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 | |
Paulet et al. | Privacy-preserving and content-protecting location based queries | |
US20170353296A1 (en) | Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium | |
KR101456579B1 (ko) | 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체 | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
US20120027210A1 (en) | Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium | |
WO2018016330A1 (ja) | 通信端末、サーバ装置、プログラム | |
JP2011147074A (ja) | 暗号化された情報のためのキーワード検索システム、キーワード検索方法、検索要求装置、検索代行装置、プログラム、記録媒体 | |
JP4758814B2 (ja) | 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 | |
JP5730805B2 (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
JP4528114B2 (ja) | 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム | |
JP2010160235A (ja) | 検索システム、端末装置、データベース装置、検索方法及びプログラム | |
JP4875448B2 (ja) | 鍵生成装置、匿名署名システム、管理装置、匿名署名方法及びプログラム | |
JP4773941B2 (ja) | 代理署名装置、署名者装置、署名検証装置及びそれらのプログラム | |
Yakupoglu et al. | Prefhe, prefhe-aes and prefhe-sgx: Secure multiparty computation protocols from fully homomorphic encryption and proxy reencryption with aes and intel sgx | |
JP4685621B2 (ja) | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム | |
JP2009130872A (ja) | 鍵共有方法、第1装置、第2装置、及び、それらのプログラム | |
JP5097137B2 (ja) | 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム | |
Couteau et al. | Secure distributed computation on private inputs | |
US20220094532A1 (en) | Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
Attrapadung et al. | Token-Based Multi-input Functional Encryption | |
JP4790736B2 (ja) | 返信経路情報生成装置、通信装置、匿名通信方法、プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080804 |
|
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: 20110524 |
|
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: 20110603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4758814 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140610 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |