明 細 書
シャッフル復号正当性証明装置と方法、シャッフル復号検証装置と方法、 プログラムと記録媒体
技術分野
[0001] 本発明は、匿名通信路の構成などに使われる、証明付シャッフル技術及び証明付 復号技術に関する。
背景技術
[0002] [従来の技術 (1) ]
従来の証明付シャッフルの技術について、例えば、特開 2001— 251289号公報 に開示される発明がある。図 1に、上記公報に記載される構成を示す。なお、本願添 付図面中で、合流する矢印は、矢印の元の情報が、全て集まって矢印の先へ送られ ることを意味し、分岐する矢印は矢印の元の情報全てまたは一部が、それぞれの矢 印の先へ送られることを意味する。また、上記公報の言う再暗号シャッフルは、本明 細書中ではシャッフルと言っている。
[0003] 図 1において、暗号文と公開鍵 100がシャッフルステップ 101に入力されてシャツフ ルされる。この時入力された暗号文と公開鍵 100とシャッフルを特定する情報である シャッフル情報 102が同一変換証明ステップ 103に送られ、また、シャッフル情報 10 2が置換証明ステップ 104に送られる。同一変換証明ステップ 103は同一変換証明 文 105を生成して出力すると同時に、同一変換証明文 105の生成に使用した乱数 1 06を置換証明ステップ 104に送る。置換証明ステップ 104は置換証明文 107を出力 する。リスポンス生成ステップ 108は同一変換証明文 105と置換証明文 107と暗号文 と公開鍵 100とシャッフル済み暗号文 109とを入力し、同一変換証明文 105と置換証 明文 107と暗号文とにリスポンスをカ卩えてシャッフル証明文 110を生成し出力する。
[0004] 同一変換証明文 105は、リスポンスと合わさって、入力文の順番の入れ替えや暗号 化である暗号文の変換内容の知識を持っていることの証明であると同時に、入力され る暗号文が複数の整数の要素となる場合はそれぞれの要素が同じ順番の入れ替え と対応する暗号ィ匕の処理とを受けたことの証明でもある。置換証明文 107は、リスポ
ンスと合わさって、入力される暗号文に対しての、順番の入れ替えが正しくなされたこ との証明である。
[0005] 図 1に示されるシャッフルとは、入力された暗号文をの順序を入れ替えて再び暗号 化することである。この処理が正当であることを証明するために、同文献では同一変 換証明ステップと置換証明ステップの二つの証明ステップを用いて 、る。この証明対 象の分割により同文献ではシャッフル証明文生成の効率ィ匕を達成して 、る。
[0006] [従来の技術 (2) ]
従来の証明付復号の技術について、例えば、特開平 08— 263575号公報の記載 が参照される。図 2は上記公報に記載される構成を示す図である。
[0007] 図 2において、シャッフル済み暗号文 200と秘密鍵 201が復号ステップ 203に入力 されて復号される。この時入力されたシャッフル済み暗号文 200と秘密鍵 201と、これ らにより復号された復号文 204が復号証明ステップ 205に送られる。これらの情報より 復号証明ステップ 205は復号証明文 206を出力する。
[0008] ここで、復号とは、暗号文を分散所持されている秘密鍵の一部を使って、部分的に 暗号文を復号することであり、秘密鍵の一部を全て用いて復号を繰り返すと完全な復 号がなされる。
[0009] [従来の技術 (3) ] (従来の技術による証明付シャッフル復号方法)
従来の技術 1と従来の技術 2とを合わせることにより証明付シャッフル復号方法が構 成できる。
[0010] 図 3は従来の技術による証明付シャッフル復号方法を示す図である。これは、従来 の技術 1と従来の技術 2を単純につなげることにより構成された証明付シャッフル復 号方法である。
[0011] 図 3における暗号文と公開鍵 301、シャッフルステップ 302、シャッフル情報 303、 シャッフル済み暗号文 304、同一変換証明ステップ 307、乱数 308、同一変換証明 文 309、置換証明ステップ 310、置換証明文 311、リスボンステップ生成ステップ 312 、シャッフル証明文 313のそれぞれは、図 1における暗号文と公開鍵 100、シャッフル ステップ 101、シャッフル情報 102、シャッフル済み暗号文 109、同一変換証明ステツ プ 103、乱数 106、同一変換証明文 105、置換証明ステップ 104、置換証明文 107
、リスボンステップ生成ステップ 108、シャッフル証明文 110と同じものであり、図 3に おける秘密鍵 300、シャッフル済み暗号文 304、復号ステップ 305、復号文 306、復 号証明ステップ 314、復号証明文 315のそれぞれは、図 2における秘密鍵 201、シャ ッフル済み暗号文 200、復号ステップ 203、復号文 204、復号証明ステップ 205、復 号証明文 206と同じものである。
[0012] 図 3に示される方法は、シャッフル済み暗号文 304がシャッフル復号証明文 316に 含まれていることと、シャッフル済み暗号文 304が復号証明ステップ 314に入力され ることと、リスポンス生成ステップ 312への入力がな ヽこととが特徴である。
[0013] [従来の技術 (4) ]
従来の証明付シャッフル復号の技術について、例えば、特開 2002— 344445号 公報の記載が参照される。
[0014] 上記公報にお!、て、シャッフル済暗号文をシャッフル復号文にカ卩えな 、が、上記公 報に記載の発明では、シャッフル済暗号文の不完全なコミットメントをシャッフル済復 号文に加えている。従来の技術 1と 2に変更を加えて改良することで、シャッフル済暗 号文がなくとも、シャッフル済暗号文の不完全なコミットメントがあればシャッフルと復 号の正当性を可能にしている。ここで言う、不完全なコミットメントとは、シャッフル済暗 号文であるコミットされる対象の情報が一部漏れてしまう様なコミットメントのことである 。そのため、漏れたデータを使って暗号システムを攻撃することが可能な場合がある 発明の開示
発明が解決しょうとする課題
[0015] し力しながら、上記した従来の技術は下記記載の問題点を有している。
[0016] 入力された暗号文をシャッフルし、さらに、その結果に対してを復号を施して復号文 を出力し、上記処理の正当性証明文を生成して出力する通信路を考える。これは従 来技術 1と従来技術 2を連続して使用して構成することができるが(従来技術 3)、この 手法では不要な情報であるシャッフル済み暗号文を出力しなければ正当性の証明 ができない。このシャッフル済暗号文は、復号に用いた秘密鍵の知識を一部漏らして いる。このような通信路を暗号システムの一部として使った場合、漏れた知識によりシ
、可能性がある。
[0017] 従来技術 4では、シャッフル済暗号文を証明文の中に加えることなぐその不完全 なコミットメントをカ卩えることで、より漏らされる知識の量を少なくすることに成功してい る。しかし、依然として一部の知識を漏らしており、完全な置換と復号の隠蔽にはなつ ていない。
[0018] 本発明は、上記問題点に鑑みてなされたものであって、その目的は、シャッフルと 復号の正当性を証明するにあたり、一切の秘密情報に関する知識を漏らさないことで 、より強い安全性を持ったシャッフル復号証明方法、これによる装置を提案することで ある。本提案方法を使えば、より匿名性の高い匿名通信路が構成可能になる。 課題を解決するための手段
[0019] 本発明によるシャッフル復号正当性証明装置は、複数の暗号文と、公開鍵と、復号 の秘密鍵と、乱数と、が入力され、前記複数の暗号文を前記公開鍵によりそれぞれ 暗号化し、それらの順番を入れ替え、前記秘密鍵によりそれぞれ復号した結果であ る複数の復号文を生成し、前記暗号化と順番の入れ替えと復号とに対する正当性を シャッフル復号検証装置に対して証明するシャッフル復号正当性証明装置において 前記シャッフル復号検証装置と通信するデータに、前記複数の暗号文を前記公開 鍵により暗号ィ匕し、その順番を入れ替えた暗号文であるシャッフル済み暗号文のコミ ットメントを含めることを特徴とする。
[0020] 本発明によるシャッフル復号検証装置は、複数の暗号文と、複数の復号文と、公開 鍵と、乱数とが入力され、前記複数の復号文が、前記暗号文を暗号化し、さらに順番 を入れ替えた後に前記公開鍵に対応する秘密鍵により復号されたデータであること のシャッフル復号正当性証明装置による証明の正当性を検証するシャッフル復号検 証装置において、
前記シャッフル復号正当性証明装置と通信するデータに、前記複数の暗号文を前 記公開鍵により暗号ィ匕し、その順番を入れ替えた暗号文であるシャッフル済み暗号 文のコミットメントを含めることを特徴とする。
[0021] 上記のシャッフル復号正当性証明装置において、
前記複数の暗号文と前記公開鍵と乱数とが入力され、前記複数の暗号文を前記公 開鍵によりそれぞれ暗号化し、その結果である複数の暗号文の順番を入れ替える処 理を行 、、その結果である複数のシャッフル済み暗号文を出力するシャッフル装置と 前記複数のシャッフル済み暗号文と前記秘密鍵とが入力され、前記複数のシャツフ ル済み暗号文を前記秘密鍵によりそれぞれ復号し、その結果である複数の復号文を 出力する復号装置と、
前記複数のシャッフル済み暗号文と乱数とが入力され、前記複数のシャッフル済み 暗号文のコミットメントを生成し、その結果であるシャッフル済み暗号文コミットメントを 出力するシャッフル済み暗号文コミットメント装置と、
を含むこととしてもよい。
また、前記乱数が入力され、暗号文の順番の入れ替え前後の対応関係である置換 と暗号ィ匕の乱数とのコミットメントであるシャッフルコミットメントを生成し、前記シャツフ ルコミットメント及びこれらコミットされた前記置換と前記暗号ィ匕の乱数との知識の証明 のコミットメントとからなる置換証明コミットメントを生成し、前記置換証明コミットメントを 出力する置換証明コミットメント装置と、
前記複数の暗号文と前記公開鍵と前記複数のシャッフル済み暗号文のコミットメン トと乱数とが入力され、前記コミットされた複数のシャッフル済み暗号文が前記シャツ フルコミットメントにコミットされた置換と暗号ィ匕の乱数とを用いて前記複数の暗号文を シャッフルして生成されていることの証明のコミットメントである同一変換証明コミットメ ントを生成し出力する同一変換証明コミットメント装置と、
前記の複数のシャッフル済み暗号文のコミットメントと前記複数の復号文と前記秘 密鍵と乱数とが入力され、前記コミットされた複数のシャッフル済み暗号文を前記秘 密鍵を用いて復号した結果が,前記複数の復号文となることの証明のコミットメントで ある復号証明コミットメントを生成する復号証明コミットメント装置と、
前記シャッフル復号検証装置に対して、前記複数のシャッフル済み暗号文のコミツ トメントと、前記シャッフルコミットメントと、前記置換証明コミットメントと、前記同一変換 証明コミットメントと、前記復号証明コミットメントと、力もなるシャッフル復号証明コミット
メントを送付し、前記シャッフル復号検証装置カゝら乱数の列である挑戦値が送られて くるのを待ってこれを受信する挑戦値獲得装置と、
前記挑戦値と乱数と前記秘密鍵とを含むデータの演算力 計算できるデータであ るレスポンスを生成し、前記シャッフル復号検証装置に送るレスポンス生成装置と、を 含むこととしてもよい。
また、上記のシャッフル復号検証装置において、
前記シャッフル復号証明装置より、複数のシャッフル済み暗号文のコミットメントと、 シャッフルコミットメントを含む置換証明コミットメントと、同一変換証明コミットメントと、 復号証明コミットメントと、力もなるシャッフル復号証明コミットメントが送付されるのを 待ち、これらを受信すると、一定の長さの乱数を挑戦値として選び、前記シャッフル復 号証明装置に送付する挑戦値生成装置と、
前記シャッフルコミットメントと前記置換証明コミットメントと前記レスポンスと挑戦値と が入力され、前記シャッフルコミットメントが置換と暗号ィ匕の乱数のコミットメントである かどうかに応じて「正当」または「不当」の検証結果を生成する置換検証装置と、 前記同一変換証明コミットメントと前記暗号文と前記複数のシャッフル済み暗号文 のコミットメントと前記公開鍵と前記レスポンスと挑戦値とが入力され、前記コミットされ た複数のシャッフル済み暗号文が前記置換証明装置にてコミットされた置換と暗号 化の乱数とを用いてシャッフルされたかに応じて「正当」または「不当」の検証結果を 生成する同一変換検証装置と、
前記復号証明文と前記複数のシャッフル済暗号文のコミットメントと前記復号文と前 記公開鍵と前記レスポンスと挑戦値とが入力され、前記コミットされた複数のシャツフ ル済み暗号文を復号した結果が前記複数の復号文となるかに応じて「正当」または「 不当」の検証結果を生成する復号検証装置と、
を含み、
前記置換検証装置と同一変換検証装置と復号検証装置の検証結果の全てが「正 当」であれば、前記シャッフル復号文が入力された前記暗号文を正しくシャッフル復 号した結果であることの検証結果として「正当」を、一つでも「不当」を出力することとし てもよい。
[0024] 本発明によるプログラムは上記の方法における各ステップをコンピュータに実行さ せるものであり、本発明による記録媒体にはこのプログラムを格納している。
発明の効果
[0025] 上記のように構成される本発明によれば、シャッフルと復号を行ったことを証明する にあたり、より強い秘密情報の隠蔽を行うことができる、という効果を奏する。
図面の簡単な説明
[0026] [図 1]従来の技術 1の構成を示す図である。
[図 2]従来の技術 2の構成を示す図である。
[図 3]従来の技術 3の構成を示す図である。
[図 4]本発明の実施例におけるシャッフル復号正当性証明装置の構成を示す図であ る。
[図 5]本発明の実施例におけるシャッフル復号検証装置の構成を示す図である。 符号の説明
[0027] 401 複数の暗号文
402 公開鍵
403 乱数
404 シャッフル済み暗号文
405 シャツフノレ装置
406 復号装置
407 秘密鍵
409 シャッフル済み暗号文コミットメント装置
410 シャッフル済み暗号文コミットメント
411 置換証明コミットメント装置
412 置換証明コミットメント
413 共通参照基底
414 同一変換証明コミットメント装置
415 同一変換証明コミットメント
416 復号証明コミットメント装置
417 復号証明コミットメント
419 挑戦値
421 レスポンス生成装置
422 レスポンス
500 シャッフル復号検証装置
501 挑戦値生成装置
502 乱数
503 置換検証装置
505 同一変換検証装置
507 復号検証装置
発明を実施するための最良の形態
[0028] 本発明の実施例について図面を参照して説明する。以下の実施例では、楕円 Elga mal暗号を使った例に即して説明する。以下では、本発明にて前提となる事項から順 に説明していく。
[0029] [楕円 Elgamal公開鍵暗号方式]
楕円 ElGamal暗号方式は、公開鍵暗号系に属する暗号方式である。最初に qを関 係 qmod3 = 2となる素数、 Eを位数が qの楕円曲線、 Gを Eの生成元、 Oを Eの単位
0
元とする。すなわち、任意の E上の点 Pは [q]P = 0を満たす。ここで、 [x]Gは、 Gの
0 0
X倍点を表す。
[0030] 楕円 Elgamal公開鍵暗号方式は次の三つのアルゴリズム力 なる。
[0031] [鍵生成アルゴリズム]
乱数が入力され、秘密鍵 Xを Zの要素ランダムに選び、公開鍵 M = [x]Gを計算し q 0 0
、秘密鍵 Xと公開鍵 Mを出力する。
0
[0032] [暗号化アルゴリズム]
平文 MEEと公開鍵 Mと乱数とが入力され、 sを Zの要素ランダムに選び、暗号文
0 q
を C= (G , M ) = ( [s]G , M+ [s]M )と計算し、これを出力する。
1 1 0 0
[0033] [復号アルゴリズム]
暗号文 Cと秘密鍵 Xが入力され、復号文 M' =M— [x]Gを出力する。復号ァルゴ
リズムの出力 M,が暗号化された平文 Mに一致することは、 M,=M— [x]G =M +
1 1
[s]M— [x][s]G =M+[s]M [s]MclO = Mから明らか。
0 0 0
[0034] 秘密鍵 xが分散所持されているとする。すなわち、 x=∑ mxmodqが成り立ち、各 X j=i i
がそれぞれが別個に所持されて ヽる。本実施例ではこの Xを復号用の秘密鍵と呼ぶ [0035] この時暗号文を完全に復号するには、 Mを各復号用の秘密鍵を用いて計算した
1
値から [x]Gを順に引いていく操作を、全ての jに関して行う。本実施例では一つの j 1
復号用の秘密鍵 Xしか扱わないため、これを x'で表す。また公開鍵には Mと Yが含 m 0 まれ、 M =[x]G, Y=[x,]Gとする。
0 0 0
[0036] [暗号文]
本発明方式入力される n個の暗号文を (G, M)i=l, ···, nとする。それぞれの暗 号文の各要素は Eの元である。
[0037] [復号文]
本発明方式で出力される n個の復号文を (G' , M) (1=1, · · ·, n)とする。それぞ れの復号文の各要素は Eの元である。
[0038] これらは n個の暗号文(G, M)i=l, ···, nを公開鍵 Mで([s]G +G, [s]M + i i 0 i 0 i i 0
M.) (i=l, ···, n)と暗号ィ匕し、さらにそれらの順番を入れ替えた後に、を復号用の 秘密鍵で復号したものである。
[0039] [置換行列]
置換行列について説明する。「置換行列」を、各行各列に 0でない成分が唯一存在 し、その値が Z上の 1である n行 n列の正方行列とする。例として、
0, 1, 0, 0
0, 0, 0, 1
0, 0, 1, 0
1, 0, 0, 0
があげられる。
実施例
[0040] [実施例(1)]
本発明の一実施例をなすシャッフル復号正当性証明装置 400について、その構成 を示す図 4を参照して説明する。
[0041] 図 4に示されるシャッフル復号正当性証明装置 400は、複数の暗号文 401、公開 鍵 402、乱数 403、秘密鍵 407および共通参照基底 413を入力し、復号文 408、シ ャッフル復号証明コミットメントおよびレスポンス 422を出力するもので、シャッフル装 置 405、復号装置 406、シャッフル済み暗号文コミットメント装置 409、置換証明コミツ トメント装置 411、同一変換証明コミットメント装置 414、復号証明コミットメント装置 41 6、挑戦値獲得装置 418、レスポンス装置 421から構成されている。
[0042] n個の暗号文をシャッフルして復号するとする。 E上力 ランダムに選ばれた点であ る共通参照基底、 F =ー4, 1, ···, n)と M が本発明装置に入力される。全て
-1
のステップ力も利用できるとする。(以下ではステップへの入力としては明示的に書か ない)
なお、シャッフル復号正当性証明装置 400は、入力装置、出力装置、記憶装置お よび制御装置力もなる一般的なコンピュータシステムにより構成されるもので、シャツ フル装置 405、復号装置 406、シャッフル済み暗号文コミットメント装置 409、置換証 明コミットメント装置 411、同一変換証明コミットメント装置 414、復号証明コミットメント 装置 416、挑戦値獲得装置 418、レスポンス装置 421はコンピュータシステム内に仮 想的に構成される。以下に、各構成要素について詳細に説明する。
[0043] [シャッフル装置 405]
n個の暗号文 401 (G, M) (1=1, · · ·, n)と公開鍵 402 (G , M )と乱数 403が入
i i 0 0
力される。
[0044] 次に、ランダムな nXn置換行列(π ) (i, j = l, ·'·, η)と乱数 π (i=l, ···, n) e Zを、入力された乱数 403より生成する。
[0045] これらの置換と乱数は、入力された乱数 403より一意的に作られるため、入力され た乱数にあら力じめ含まれていたと考える。すなわち、以下の装置において、乱数 40 3が入力されたならば前記(π ) (i, j = l, ·'·, η)、および、 π (i=l, ···, η) Ζ
ji Oi q の様に乱数力 作られたデータを再度生成することができる。
[0046] 次に、シャッフル済み暗号文 404 (G,, M" ) (i=l, · · ·, n)を、(G,, M,,) = (
∑ μ "[π μ μ , ∑ μ η[π μ ]Μ/ζ)と計算する。これが前に述べたようなシャツ
=0 i =0 i
フル、すなわち、暗号ィ匕した後に順番を入れ替えたものであることは次の様に分かる
[0047] π =1となる jと iの間の関係を π (i)=jと書くと、(∑ "[π μ μ , ∑ μ η[π μ
シャッフル装置 405は、シャッフル済み暗号文 404を出力する。
[0048] [復号装置 406]
シャッフル済み暗号文 404と復号用の秘密鍵 407とが入力される。次に、復号文 4 08を (G' , M,) = (G,, [― x,]G' +M,,)と、計算して出力する。
[0049] [シャッフル復号証明装置始まり]
[シャッフル済暗号文完全隠蔽コミットメント装置 409]
次に、シャッフル済み暗号文 404 (G' , M" ) (i=l, ···, n)と乱数 403が入力さ れる。入力された乱数 403より、ランダムな π (i=l, · · ·, n)を選ぶ。
-li q
[0050] シャッフル済暗号文のコミットメント 410:N (i=l, ···, n)を Ν = [π ]Μ +Μ i i -li - 1 ,, i
(i=l, ···, n)と計算し、これを出力する。
[0051] [置換証明コミットメント装置 411]
シャッフル装置で用いられた順番の入れ替えを表す置換行列 π i (j = 1,…, n)と 、暗号ィ匕に用いられた乱数 π i=l,
Oi …, nと、乱数 403が入力される(π i(j = l, ·· と兀 i=l, ···, n)は乱数 403に含まれている)。
Oi(
[0052] 共通基底 413が入力される。入力された乱数 403より、ランダムな π μ ≡Ζ (μ =
0 q
—4, ···, η), π ' μ≡Ζ (μ =—4, ···, η)、 π ≡Ζ (i=l, ···, η)を選ぶ。これ q -2i q
らの値も以下では乱数 403に含まれていると考える。
[0053] 次に、 π =∑ η3π 2π modq (i=l, ···, n)
3i rl jO
π =∑ απ π modq (i=l, · · ·
jO ji , n)
4i j=l
μ = v η[π v μ ¥ v (μ ···, n)
=-4
F =∑ v n[ π ' v ]F v
0 =-4
n 3 ,
w=∑ π — π — π modq
j=-l jO -30 -4
を計算する。
ここで F,(i=0, ... , n)をシャッフルコミットメントとする。
[0054] 最後に、シャッフルコミットメント F, (i=0, ... , η)及び F, , F" , wを置換証明コ
i 0 0
ミットメント 412として出力する。
[0055] [同一変換証明コミットメント装置 414]
シャッフル装置で用いられた順番の入れ替えを表す置換行列 π (i, j = l, ···, n) と、暗号ィ匕に用いられた乱数 π (i=l, ···, η)と、乱数 π (j = 1, .. , η)と、乱数
0i jO
π (j = l, .. , n) (これら上記値は乱数 403に含まれる)と、 n個の暗号文 401 (G,
-10 i
M) (i=l, ···, n)と公開鍵 402 (G, M )と乱数 403が入力される。
i 0 0
[0056] 次に、 G, =∑ V η[π V ]Gv,N =∑ ν η[π ν ]Mvを計算する。
0 =0 0 0 =-1 0
[0057] 最後に、 G' , Nを同一変換証明コミットメント 415として出力する。
0 0
[0058] [復号証明コミットメント装置 416]
n個の復号文 408の一部 G, (i=l, ···, n)と公開鍵 402 (G, M)と、乱数 π と
i 0 0 -10 乱数 403が入力される。
[0059] 入力された乱数より、ランダムな t≡Z (i=l, ···, n)を選ぶ。
[0060] 次に、 Y, 二 [t]G (i=l, ···, n)、N,二 [π ]M +∑ n[t]G,を計算する。
1 i 0 -10 -1 i=l i i
[0061] 最後に, Y'.(i=l, ···, n), N'を復号証明コミットメント 417として出力する。
[0062] [挑戦値獲得装置 418]
シャッフル済暗号文のコミットメント 410N(i=l, ···, n)、シャッフルコミットメント F, (i=0, ···, n)と F, , F" , wからなる置換証明のコミットメント 412、同一変換証明 i 0 0
のコミットメント 415: G, , N、復号証明のコミットメント 417: Y, (i=l, ·'·, η)、Ν,
0 0 i
の全てをシャッフル復号証明のコミットメント 420としてシャッフル復号検証装置 500 に送付し、挑戦値 419が送られるのを待つ。
[0063] 挑戦値 419:cEZ (i=l, ···, n)を受け取る。
[0064] [レスポンス生成装置 421]
シャッフル装置で用いられた順番の入れ替えを表す置換行列 π (i, j = l, ···, n) と、暗号ィ匕に用いられた乱数 π (i=l, ···, η)と、乱数 π V ( ν =—4, .. , η)と、
0i 0
舌し数 π, ν ( ν =—4, · ·, n)と、舌 L数 π (i=l, · ·, n)と、舌 L数 π (i=l, .. , n)
- li -2i
と、乱数 t (i=l, .. , n)と、計算された数: π (i=l, .. , n)と、計算された数: π
i -3i -4i
(i=l, . . , n)が入力される。これらは全て入力された乱数 403に含まれて入力され る。
[0065] 挑戦値 419:c (i=l, . . , n)と、秘密鍵 409: x'とが入力される。以下、 c =1とす
i 0
る。
[0066] レスポンス 422:rv (v =—4, . . , n)、r, v (v =—4, . . , n)、r,,(i=l, . . , n
)を、 Γν =∑ Α( n π v μ c μ modq ( v =— 4, . . , n)
=o
r' v =∑ " π v c + π ' v modq ( v = 4, . . , n)
i=l i i
r =x'c + tmodq(i= 1, . . , n)
を計算する。
[0067] 最後に、 rv (v =—4, . . , n)、r, v (v =— 4, . . , n)、r,,(i=l, . . , n)をシ ャッフル復号証明のレスポンス 422としてシャッフル復号検証装置 500に送付して動 作を修了する。
[0068] [シャッフル復号正当性証明装置 400ここまで]
[実施例 (2)]
本発明の一実施例をなすシャッフル復号検証装置 500について、図 5を参照して 説明する。
[0069] 図 5に示されるシャッフル復号検証装置 500は、複数の暗号文 401、公開鍵 402、 復号文 408、舌 L数 502、共通参照基底 413、シャッフル済み暗号文コミットメント 410 、置換証明コミットメント 412、同一変換証明コミットメント 415、復号証明コミットメント 4 17およびレスポンス 422を入力し、挑戦値 419および結果 509を出力するもので、挑 戦値生成装置 501、置換検証装置 503、同一変換検証装置 505および復号検証装 置 508から構成されて!、る。
[0070] なお、シャッフル復号検証装置 500は、入力装置、出力装置、記憶装置および制 御装置力もなる一般的なコンピュータシステムにより構成されるもので、挑戦値生成 装置 501、置換検証装置 503、同一変換検証装置 505および復号検証装置 508は コンピュータシステム内に仮想的に構成される。以下に、各構成要素について詳細 に説明する。
[0071] [挑戦値生成装置 501]
公開鍵 402: (G , M , Υ)、暗号文 401: (G, Μ) (i=l, ···, η)、復号文 408: (
0 0 i i
G'i, M (i=l, ···, n)が入力される。乱数 502が入力される。
[0072] シャッフル復号証明装置 400より、シャッフル復号証明のコミットメント 420が送られ てくるのを待つ。これを受け取り次第、乱数 502より生成された挑戦値 419:c— iEZ
(i= 1,…, n)をシャッフル復号証明装置 400に送付する。
[0073] シャッフル復号証明装置 400より、シャッフル復号証明のレスポンス 422が送られて くるのを待つ。これが送られてきたら、以下の三つの検証装置を動作させる。
[0074] [置換検証装置 503]
入力された乱数 502より、 d≡Zをランダムに選び、次の式が成り立つことを確認す る。
[0075] ∑ V n[rv +dr
=-4 , v]Fv =F, +[d]F
0 ,, +∑ n[c+dc2]F
0 i=l i i , i
∑ n(r3— c3) =r +r, +wmodq
j=i i i -3 -4
これらが全てが成り立てば「正当」を、成り立たなければ「不当」を出力 504として出力 する。
[0076] [同一変換検証装置 505]
次の式が成り立つことを確認する。
[0077] ∑ V n[rv]Gv =∑ n[c ] G,
∑
これらが成り立てば「正当」を、成り立たなければ「不当」を出力 506として出力する
[0078] [復号検証装置 507]
次の式が成り立つことを確認する。
[0079] [r ]M +∑ n[r,, ]G, =N, +∑ n[c] (N— M,)
- 1 -1 i=l i i i=l i i i
[r,, ]G =[c]Y+Y'
i 0 i i
これらが成り立てば「正当」を、成り立たなければ「不当」を出力 508として出力する。
[0080] 以上三つ置換検証装置と同一変換検証装置と復号検証装置との、全ての出力が 正当であれば「正当」を、一つでも「不当」があれば「不当」を、シャッフル復号検証装 置の出力 509とする。
なお、上述したように、シャッフル復号正当性証明装置 400、シャッフル復号検証装 置 500のいずれも一般的なコンピュータシステムにより構成されるもので、本発明に は、シャッフル装置 405、復号装置 406、シャッフル済み暗号文コミットメント装置 409 、置換証明コミットメント装置 411、同一変換証明コミットメント装置 414、復号証明コミ ットメント装置 416、挑戦値獲得装置 418、レスポンス装置 421をコンピュータシステ ム内に仮想的に構成する、または、挑戦値生成装置 501、置換検証装置 503、同一 変換検証装置 505および復号検証装置 508はコンピュータシステム内に仮想的に構 成するためのプログラムや、該プログラムを格納した記録媒体が含まれる。