明 細 書
統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性 検証装置及びミックスネットシステム
技術分野
[0001] 本発明は、匿名通信路の構成などに使われる統合証明付シャッフル技術による統 合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及び ミックスネットシステムに関する。
背景技術
[0002] [従来の技術 (1) ]
従来の証明付シャッフルの技術について、例えば、特開 2001— 251289号公報( 以下では、特許文献 1と称する)の記載が参照される。図 1に、特許文献 1に記載され た構成を示す。なお、説明に用いている図面中で、合流する矢印は、矢印の元の情 報が、全て集まって矢印の先へ送られることを意味する。分岐する矢印は、矢印の元 の情報全て又は一部がそれぞれの矢印の先へ送られることを意味する。また、特許 文献 1の再暗号シャッフルを、以下では、シャッフルと称する。
[0003] 図 1において、暗号文と公開鍵 100がシャッフルステップ 101に入力されてシャツフ ルされる。シャッフルの後、入力された暗号文とシャッフルを特定する情報であるシャ ッフル情報 102が同一変換証明ステップ 103に送られる。また、シャッフル情報 102 が置換証明ステップ 104に送られる。同一変換証明ステップ 103は、シャッフル情報 102を受信すると、同一変換証明文 105を生成して出力すると同時に、証明文生成 に使用した乱数 106を置換証明ステップ 104に送る。置換証明ステップ 104は置換 証明文 107を出力する。リスポンス生成ステップ 108は、同一変換証明文 105と置換 証明文 104と暗号文と公開鍵 100とシャッフル済み暗号文 109とが入力されると、同 一変換証明文 105と置換証明文 104と暗号文とにリスポンスを加えてシャッフル証明 文 110を生成して出力する。
[0004] 同一変換証明文 105は、リスポンスと合さって、入力文の順番の入れ替えや暗号化 である暗号文の変換内容の知識を持っていることの証明である。それと同時に、同一
変換証明文 105は、入力される暗号文が複数の整数の要素となる場合、それぞれの 要素が同じ順番の入れ替えと対応する暗号ィ匕の処理とを受けたことの証明でもある。 置換証明文 107は、リスポンスと合さって、入力される暗号文に対しての、順番の入 れ替えが正しくなされたことの証明である。
[0005] 図 1に示されるシャッフルとは、入力された暗号文の順序を入れ替えて再び暗号ィ匕 することである。この処理が正当であることを証明するために、同文献では同一変換 証明ステップと置換証明ステップの二つの証明ステップを用いて 、る。この証明対象 の分割により同文献ではシャッフル証明文生成の効率ィ匕を達成して 、る。
[0006] [従来の技術 (2) ]
従来の証明付シャッフル復号を用いたミックスネットの技術 200につ 、て、例えば、 Kazue Sako, Joe Kilian: Receipt-Free Μιχ-Type Voting scheme - A Practi cal Solution to the Implementation of a Voting Booth. EURO CRYPT 1995:
393-403, Springer"の記載が参照される。
[0007] 図 2【こ示すよう【こ、ここで ίま、複数のミキサー(201,202, 203, 204, 205, 206)に よる証明付シャッフルを、連続して行うことにより、入力された複数の暗号文 207の順 序を入れ替え、かつ再暗号ィ匕して出力 208している。各ミキサーが独立して暗号文 の順序を入れ替えるため、全てのミキサーがどのように順番を入れ替えたかを知らな ければ、全体としてどのように順番が入れ替えたかが分力もなくなつている。このよう にして、入力された暗号文と出力された暗号文の対応は、全てのミキサーが結託して 情報を漏洩しなければ分力もない。このような技術は電子投票等で、投票者と投票内 容の関係を秘匿した 、場合に有効位である。
[0008] しかし、本方法では全てのミキサーが結託しさえすれば、入力と出力の対応関係が 分力つてしまう。そのため、このような結託をより起きに《するために、ミキサーの数を 十分に多くすることが重要である。
[0009] [従来の技術 (3) ]
従来の技術(2)以外にも、ミックスネットを用いて電子投票を実現している例力 "Ju n Furukawa, Hiroshi Miyauchi, Kengo Mori, Satoshi Obana, Kazue Sako: A n Implementation of a Universally Verifiable Electronic Voting Scheme based
on Shuffling. Financial Cryptography 2002, : 16—30, LNCS 2339, Springer,,に 記載されている。ここでは、最初に投票を管轄するセンターが、全ての投票者より投 票内容を暗号ィ匕した暗号文を受付ける。次に、このセンターが暗号文全ての集合を 、複数のミキサーに順番に渡す。各ミキサーはこの暗号文の集合の順序を入れ替え 、かつ再暗号ィ匕した後にセンターに返還する。これをセンターが次のミキサーへ渡す という作業を全てのミキサーに関して繰り返す。最後のミキサーから受け取った暗号 文を復号して、投票結果を集計する。
発明の開示
[0010] し力しながら、上記従来の技術は下記記載の問題点を有している。
[0011] 従来の技術(1)を複数のミキサーで連続して行うことにより、従来の技術(2)で述べ たミックスネットを構成した場合を考える。このようなミックスネットは電子投票を行う際 には有効な方法である。しかし、電子投票において、投票の十分な匿名性を求めた 場合、上述したように、ミキサーの数を増やす必要がある。一方、各ミキサーが正しく 振る舞つたことを確認しなければ、投票の正当性が確認できない。そのため、従来の 技術( 1)で示したように、選挙を監視する人々がミキサーの振る舞 、を検証する必要 がある。この検証作業に必要な計算量は大きい。すなわち、投票に十分な匿名性を 求めた場合、ミキサーの数を多くする必要があり、検証は各ミキサーに関して行う必 要があることから、ミックスネット全体の検証には多大な時間が力かることになる。
[0012] 本発明は上述したような従来の技術が有する問題点を解決するためになされたも のであり、検証者の必要な計算量力ミキサーの数によらず一定の大きさとなる統合シ ャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミツ タスネットシステムを提供することを目的とする。
[0013] 上記目的を達成するための本発明の統合シャッフル正当性証明装置は、順番を表 す整数である順序数 Kに対応して設けられ、自装置と該順序数の異なる統合シャツ フル正当性証明装置と協調し、ミックスネット入力暗号文が入力されると、ミックスネッ ト入力暗号文をシャッフルした結果であるミックスネット出力暗号文とシャッフルの正 当性を証明するための同一変換知識証明コミットメント及び置換証明コミットメントとを 出力し、その後、認証のための挑戦値を受信すると、挑戦値に対応するレスポンスを
出力する単一のシャッフル正当性証明装置の一部を構成する複数の統合シャッフル 正当性証明装置であって、
コミットメント用公開鍵が入力され、順序数が 1から κ 1までの統合シャッフル正当 性証明装置による置換証明文を含む置換蓄積コミットメントを外部力 受信すると、置 換蓄積コミットメント〖こ自装置による置換証明文を付加した置換証明コミットメントをコ ミツトメント用公開鍵で暗号ィ匕して外部に送信する置換証明コミットメント装置を有する 構成である。
[0014] 一方、上記目的を達成するための本発明の証明統合装置は、順番を表す整数で ある順序数 Kに対応して設けられた複数の統合シャッフル正当性証明装置と協調す ることで、ミックスネット入力暗号文が入力されると、ミックスネット入力暗号文をシャツ フルした結果であるミックスネット出力暗号文とシャッフルの正当性を証明するための 同一変換知識証明コミットメント及び置換証明コミットメントとを出力し、その後、認証 のための挑戦値を受信すると、挑戦値に対応するレスポンスを出力する単一のシャツ フル正当性証明装置として動作する証明統合装置であって、
順序数が 1から複数の統合シャッフル正当性証明装置の数である最大数まで割り 振られた複数の統合シャッフル正当性証明装置のそれぞれとの通信手段と、 統合シャッフル正当性証明装置より順序数が 1から κまでの置換証明文を含む置 換証明コミットメントを受信すると、順序数が κ + 1の統合シャッフル正当性証明装置 に対して、置換証明文を要求するために置換証明コミットメントを置換蓄積コミットメン トとして送信する置換証明コミットメント統合装置と、
を有する構成である。
[0015] また、上記目的を達成するための本発明の統合シャッフル正当性検証装置は、順 番を表す整数である順序数 κに対応して設けられた、複数の統合シャッフル正当性 証明装置と協調してシャッフルの正当性を証明する証明統合装置と通信する手段を 有する統合シャッフル正当性検証装置であって、
ミックス用公開鍵とコミットメント用公開鍵と疑似公開鍵と共通参照基底と乱数とミツ タスネット入力暗号文とミックスネット出力暗号文とが入力され、
シャッフルの正当性を証明するための統合同一変換コミットメント及び統合置換証
明コミットメントを証明統合装置より受信するコミットメント受信装置と、 ランダムな数の列である挑戦値を生成して証明統合装置に送信する挑戦値生成装 置と、
複数の統合シャッフル正当性証明装置の数である最大数が順序数として割り振ら れた置換証明コミットメントと、最大数が割り振られた挑戦値とが入力されると、統合置 換証明コミットメントの暗号文を生成し、証明統合装置と通信することで、統合置換証 明コミットメントの暗号文の分散復号の結果から求められた復号統合置換証明コミット メントが正しく生成された力否かを検証する復号統合置換証明コミットメント受信装置 と、
証明統合装置より統合レスポンスを受信し、証明統合装置より復号統合置換証明コ ミツトメントを受信するレスポンス受信装置と、
統合同一変換コミットメントと統合置換証明コミットメントと挑戦値と統合レスポンスと 復号統合置換証明コミットメントとから、ミックスネット出力暗号文がミックスネット入力 暗号文カゝら正しく生成されているか否かを示す検証結果を出力する検証装置と、 を有する構成である。
[0016] また、上記目的を達成するための本発明のミックスネットシステムは、上記本発明の 統合シャッフル正当性証明装置複数と、上記本発明の証明統合装置と、上記本発明 の統合シャッフル正当性検証装置とを有する構成である。
[0017] さらに、上記本発明のミックスネットシステムにおいて、
上記証明統合装置は、
ミックスネット暗号文が入力され、複数の統合シャッフル正当性証明装置のそれぞ れと通信を行うことで、ミックスネット暗号文を取得し、ミックスネット暗号文を統合シャ ッフル正当性検証装置に送信し、その後、シャッフルの正当性を証明するためのコミ ットメントを統合した統合コミットメントを生成して統合シャッフル正当性検証装置に送 信し、統合シャッフル正当性検証装置から挑戦値を受信すると、挑戦値に対応する 統合レスポンスを生成して統合シャッフル正当性検証装置に送信し、統合置換証明 コミットメントから復号統合置換証明コミットメントを生成して統合シャッフル正当性検 証装置に送信し、統合シャッフル正当性検証装置と通信することで、復号統合置換
証明コミットメントの正当性を証明し、
上記統合シャッフル正当性検証装置は、
挑戦値を生成すると、挑戦値を証明統合装置に送信し、証明統合装置との通信に より取得したデータから、ミックスネット出力暗号文がミックスネット入力暗号文の順番 を入れ替えて再暗号ィ匕したものである力否かを調べることで、ミックスネットの処理が 正しく行われた力否かを判定した結果を出力する、こととしてもよい。
[0018] 本発明の統合シャッフル正当性証明装置では、統合シャッフル正当性証明装置は 順序数が自分より前の装置力も受け取る置換蓄積コミットメントに自装置の置換証明 文を付加している。そのため、順序数の順に置換蓄積コミットメントに各統合シャツフ ル正当性証明装置の置換証明文が蓄積され、シャッフルを行う全ての装置のシャツ フルの正当性を証明する情報がまとめられる。その結果、まとめられた情報力 全体 のシャッフルの検証を効率的に行うことが可能となる。
[0019] 本発明の証明統合装置は、複数の統合シャッフル正当性証明装置のそれぞれと通 信を行って、各装置でのシャッフルの正当性の情報を一つにまとめることで、ミックス ネット全体を一つのシャッフルとみなして処理することが可能となる。また、本発明の 統合シャッフル正当性検証装置では、シャッフルの正当性に関する情報を証明統合 装置から受信して検証すればょ 、ため、従来のように複数の統合シャッフル正当性 証明装置との間でデータをやりとりしなくてすむ。さらに、本発明のミックスシステムで は、これら 3つの装置の効果を有している。
[0020] よって、本発明によれば、複数のミキサーがシャッフルを行うミックスネットの正当性 の検証を行うときに、検証者の必要とする計算量がミキサーの数、すなわち、行われ るシャッフルの回数に依存しなくなる。これは検証者の負担を軽くすることができるた め、ミキサーの数を増やすことを容易にし、より強い匿名性を持ったミックスネットを構 成できる。
図面の簡単な説明
[0021] [図 1]図 1は従来の技術(1)の構成を説明するための図である。
[図 2]図 2は従来の技術 (2)の構成を説明するための図である。
[図 3]図 3は本発明の実施例 1の統合シャッフル正当性証明装置の構成を示す図で
ある。
[図 4]図 4は本発明の実施例 2の証明統合装置の構成を示す図である。
[図 5]図 5は本発明の実施例 3の統合シャッフル正当性検証装置の構成を示す図で ある。
[図 6]図 6は本発明の実施例 4のミックスネットシステムの構成を示すブロック図である 符号の説明
[0022] 300 統合シャッフル正当性証明装置
400 証明統合装置
500 統合シャッフル正当性検証装置
600 ミックスネットシステム
発明を実施するための最良の形態
[0023] 本発明のミックスネットシステムの実施例について図面を参照して説明する。以下の 実施例では、楕円 ElGamal暗号を使った例に即して説明する。この例に限らず、離散 対数問題の難 、巡回群であればょ 、。
はじめに、本発明にて前提となる事項力 順に説明して 、く。
「記号」
M (X)を E上の点をなす k行 n列の行列とする。
k, n
Xは楕円 E、 Zあるいは ElGamal暗号文の空間 ECの場合を考える。ただし、 ECの点
q
は Eの点二つからなり、 M (EC) =M (E)である。
k, n k, 2n
今ここで、 A M (X)とするとき、 Aの (i, j)成分を Aと記す。
k, n l]
また、 B E M (Y)とするとき、 ABは k行 m列の行列で、その(i, j)成分を、(AB) ij
n, m
=∑ nA Bと定義する。
g = l ig gj
[0024] この定義において、乗算は、 X, Yが共に Zであれば Z上の乗算とし、 Xが Zで、 Y
q q q 力 ¾であれば、楕円曲線のスカラー倍として定義する。一方、加算は、 X, Yが共に Z
q であれば Z上の加算とし、 Xが Zで、丫カ¾であれば、楕円曲線の加算として定義す
q q
る。
今ここで、 A, B≡M (X)に対して、 A(§)Bを (A(§)B) =Α Βと定義する。
[0025] [楕円 ElGamal公開鍵暗号方式]
楕円 ElGamal暗号方式は、公開鍵暗号系に属する暗号方式である。最初に、関係 q mod3 = 2となる素数を qとし、位数が qの楕円曲線を Eとし、 Eの生成元を Gとし、 Eの 単位元を Oとする。すなわち、任意の E上の点 Pは、 [q]P = 0を満たす。ここで、 [X] Gは、 Gの X倍点を表す。
楕円 ElGamal公開鍵暗号方式は次の三つのアルゴリズムからなる。
「鍵生成アルゴリズム」
乱数が入力され、秘密鍵 Xを Zの要素ランダムに選び、公開鍵 Mを M= [x]Gを計算 して求め、秘密鍵 Xと公開鍵 Mを出力する。
「暗号化アルゴリズム」
平文 ME Eと公開鍵 Mと乱数とが入力され、 sを Zの要素ランダムに選び、暗号文を C= (G , M ) = ( [s]G, M+ [s]M)と計算し、これを出力する。
「復号アルゴリズム」
暗号文 Cと秘密鍵 Xが入力され、復号文 M' =M — [x]Gを出力する。復号アルゴリ ズムの出力 M,が暗号化された平文 Mに一致することは、 M,=M— [x]G =M+ [ s]M— [x] [s]G = M+ [s]M- [s]M = Mから明らかである。
「再暗号アルゴリズム」
暗号文 (G が入力され、ランダムに選ばれた Zqの要素 tを用いて、再暗号文( G, , M, ) = ( [t]G + G , [s]M + M )
を出力する。(G^, と(G^ の復号結果は同じになる。
[0026] [再暗号の記号]
C≡M (EC)、 Yを ElGamal暗号文の公開鍵とする。このとき、 Y * C E M (EC) を、(Y* C) 力 の Yを用いて再暗号したものとなるものとする。
また、 0 EM (Ζ )である場合、 Υ* 0 EM (EC)は、(Υ* 0 )が(【0 ]G)に対 して Yを用いて再暗号したものとなるものとする。
C' EM (EC)である場合、 C + C,EM (EC)は、(C + C,)が Cと C,の復号文 の E上での和を暗号化したものとする。
「秘密鍵分散と分散復号」
秘密鍵が yであり、公開鍵が Y=[y]Gであるときに、秘密鍵 yが分散所持されてい るとする。すなわち、 y=∑ V )mod
qが成り立ち、各 y(K)のそれぞれが別個に所持されている。本実施例では、この y(K) を分散された秘密鍵と呼ぶ。
このとき、公開鍵 Yによる暗号文 (G , M )を完全に復号するには、 Mを各復号用の 秘密鍵を用いて計算した値力も [y(K)]Gを順に引いていく操作を、全ての κに関し て行う。
[y )]Gを秘密鍵 y )による分散復号の結果と呼ぶ。
「ミックスネットシステムとミキサー」
ミックスネットシステムは複数のミキサーを有する構成である。本発明では、ミキサー の数をえとする。ミックスネットシステムに用いる ElGamal暗号方式の公開鍵を Mとし、 これをミックス用の公開鍵とする。ミックスネットシステムに入力される暗号文の列がミ ックスネット入力暗号文を構成する。
「ミキサー」
このミキサーには 1から Xまでの順番が付けられている。 κ番目のミキサーを Ρ(κ)と記 す。また、 κを順序数と呼ぶ。
「ミックスネット入力暗号文」
ミックスネットに入力される k個の暗号文を、 (G, M), 1=1, . . . , kとする。それぞれ の暗号文の各要素は Eの元である。
G(1) EM (E)をその(i, 1)成分が Gである列ベクトル (k行 1列の行列)とし、 M(1)
k, 1 i
M (E)をその(i, 1)成分が Mである列ベクトル (k行 1列の行列)とする。
k, 1 i
「ミックスネット出力暗号文」
ミックスネットから出力される k個の復号文を、 (C , M), 1=1, ... , kとする。それ ぞれの復号文の各要素は Eの元である。
GU+1) M (E)をその(i, 1)成分が G,である列ベクトル (k行 1列の行列)とし、 M(
k, 1 i
λ+1)≡Μ (Ε)をその(i, 1)成分が M,である列ベクトル (k行 1列の行列)とする。
k, 1 i
これらは k個の暗号文(G, M), i=l, . . . , kを、ランダムに選ばれた Zの要素であ る s (1=1, . . . , k)と、ミックス用公開鍵 Mで([s]G + G, [s]M + M), i=l, . . .
, kと再暗号化し、さらにそれらの順番を入れ替えたものである。この操作をシャッフル と呼ぶ。
[0028] 「置換行列」
置換行列について説明する。「置換行列」を、各行各列に 0でない成分が唯一存在 し、その値が Z上の 1である k行 k列の正方行列とする。このような置換行列の集合を PM (Z )と表す。 ≡PM (Z )の逆行列を φ *と表す。
k, k q k, k q
≡PM (Z )の例として、
4, 4 q
0, 1, 0, 0
0, 0, 0, 1
0, 0, 1, 0
1, 0, 0, 0
があげられる。
「各ミキサーの入出力」
各ミキサーは統合シャッフル正当性証明装置により実現される。
[0029] 次に、本実施形態のミックスネットシステムは、入力されるデータをシャッフルする統 合シャッフル正当性証明装置と、シャッフルによる同一変換知識証明及び置換証明 をまとめる証明統合装置と、まとめられた証明の正当性を検証するための統合シャツ フル正当性検証装置とを有する構成である。統合シャッフル正当性証明装置は複数 設けられている。統合シャッフル正当性証明装置の個数をえとする。統合シャッフル 正当性証明装置と証明統合装置が通信回線で接続され、証明統合装置と統合シャ ッフル正当性検証装置が通信回線で接続されている。以下に各構成について説明 する。
実施例 1
[0030] 本発明のミックスネットシステムの一部となる統合シャッフル正当性証明装置につ!ヽ ての一構成例を、図 3を参照して説明する。本実施例におけるミックスネットシステム は、 λ個のミキサーを有する構成であり、 k個の暗号文をシャッフルするものとする。
[0031] 統合シャッフル正当性証明装置 300は、外部の他の装置とデータを送受信するた めのインターフェース部を含む入力装置及び出力装置と、データを保存するための
記憶装置と、各部を制御する制御装置とを有するサーバで構成される。制御装置に は、プログラムにしたがって所定の処理を実行する CPU (Central
Processing Unit)と、プログラムを格納するためのメモリが設けられている。
[0032] 図 3に示すシャッフル装置 301、同一変換知識証明コミットメント装置 309、第一置 換証明コミットメント装置 310、第一置換証明コミットメント逆送装置 311、第二置換証 明コミットメント装置 312、第二置換証明コミットメント逆送装置 313、第三置換証明コ ミットメント装置 314、レスポンス生成装置 315、置換証明コミットメント統合装置 316、 及び分散復号証明装置 317は、 CPUがプログラムを実行することで、サーバ内に仮 想的に構成される。
[0033] 統合シャッフル正当性証明装置 300には、自装置が実現するミキサーの順番を表 す番号である順序数 305となる κと、シャッフルする暗号文の個数 kと、楕円曲線 Eを 表すパラメタ一と、 Eの生成子 GEE = M (E)とが入力される。また、 E上力 ランダ ムに選ばれた点による疑似公開鍵 306となる Fとミックス用公開鍵 307aとなる ME E が統合シャッフル正当性証明装置 300に入力される。これらの情報は記憶装置に格 納され、全てのステップのいずれにおいても利用可能となる。入力される暗号文はミ ックス用公開鍵 307aで暗号ィ匕されているものとする。
[0034] また、順序数 305の κが入力された統合シャッフル正当性証明装置 300の秘密鍵 308¾y(K) ezとする。そして、 Y=∑ " [y )]GeE = M (E)をコミットメント用 公開鍵 307bとする。図 3に示す公開鍵 307は、上記ミックス用公開鍵 307a及びコミ ットメント用公開鍵 307bを含むものである。順序数 305の κが入力された統合シャツ フル正当性証明装置 300に y >と Yが入力される。統合シャッフル正当性証明装置 3 00には乱数 303が入力される。これらの情報も記憶装置に格納される。
[0035] 統合シャッフル正当性証明装置 300に入力される上述の κ , k, Μ, F, y ), Y及 び乱数 303に関しては、その入力を明示的に図に示さないが、各ステップで記憶装 置から自由に読み出すことが可能である。なお、 Οは Εの無限遠点 F' (1) =G' (1) = M ,ω=οとする。
[0036] [シャッフル装置 301]
二つの k成分列ベクトルである入力暗号文列 302として、(G(K), M ))≡ (M (E
) , M (E) )が証明統合装置 400から入力される。次に、ランダムな k行 k列の置換 k, 1
行列 φ (K) EPM (Ζ )を、乱数 303を用いて生成する。次に、ランダムな k成分列べ k, k q
タトル (k行 1列行列) 0 (K) EM (Ζ )を、乱数 303を用いて生成する。
k, 1 q
[0037] Φ (κ)、 θ (κ)は入力された乱数より一意的に作られるため、入力された乱数にあらか じめ含まれていたと考える。すなわち、以下の装置において、統合シャッフル正当性 証明装置 300に入力された乱数を用いれば、 φ及び 0のような乱数力 作られたデ ータは、同一のものを再度生成することができる。
[0038] 次に、二つの k成分列ベクトルである出力暗号文列 304として、(G"+1), M +1)) ≡ (M (E), M (E))を (G"+1), Μ(κ+1)) = ([ (κ)]0(κ) + [θ(κ)]0, [φ(κ)]Μ(κ) k, 1 k, 1
+ [ Θ )]M)と生成する。出力暗号文列 304は入力暗号文列 302の各暗号文を再喑 号したうえで、それらの順番を入れ替えた (置換した)ものとなっている。統合シャツフ ル正当性証明装置 300は、出力暗号文列 304として、 (G +1), M +1))≡ (M (E k, 1
), M (E))を証明統合装置 400に出力する。
k, 1
[0039] [シャッフル証明に関する装置(309〜317)の説明始まり]
[同一変換知識証明コミットメント装置 309]
同一変換コミットメント基底 318として、 F(K)EM (E)と、 F,(K)EE = M (E)と、 k, k,
G,iK)≡E = M (E)と、 M'(K)EE = M (E)とが証明統合装置 400から入力される
。次に、ランダムな k成分行ベクトル (1行 k列行列) φ (K)EM (Z )を、乱数 303を用
1, k q
いて生成する。次に、ランダムな Z上の点 (1行 1列行列) p )≡Z =M (Z )を、乱 q q 1, 1 q 数 303を用いて生成する。
[0040] 次に、 F(K+1)EM (E)を F(K+1)= ([ φ )]F(K) + [ Θ )]F)と生成する。
k, 1
次に、 F,(K+1)EM (Z )と、 G,(K+1)EM (Z )と、 M,(K+1)EM (Z )とを、 F,(K+1) = (K)]F(O q)]F + F,(K)、 Q Q
G,(K+1) = (K)]G(K) + [P(K)]G + G,(K)、
Μ,(κ+1) = [φ(κ)]Μ(κ) + [Ρ(κ)]Μ + Μ,(κ)、
と生成する。統合シャッフル正当性証明装置 300は、 F +1)EM (E)と、 F' +1)e k, 1
E = M (E)と、 G,、K+1)EE = M (E)と、 M,(K+1)EE = M (E)とを、同一変換 知識証明コミットメント 319として証明統合装置 400に出力する。
[0041] [第一置換証明コミットメント装置 310]
C ω≡Μ (EC)は、その全ての成分 0EZの Yによる暗号文であるとする。第一
1 k, 1 q
置換蓄積コミットメント 320として C )≡M (EC)が証明統合装置 400から入力さ
1 k, 1
れる。次に、 C +1)≡M (EC)を、 C (κ+1)= (φ(κ)φ(κ)*) *Y+(C (κ)[φ(κ)*])* Yと生成する。統合シャッフル正当性証明装置 300は、 C iK+1)≡M (EC)を第一
1 k, 1
置換証明コミットメント 321として証明統合装置 400に出力する。
[第一置換証明コミットメント逆送装置 311]
C U+1) = C U+1)≡M (EC)とする。第一逆置換蓄積コミットメント 322として、 C
2 1 k, 1 2 +1) M (EC)が証明統合装置 400から入力される。次に、 C (K) EM (EC)を k, 1 2 k, 1
、 c (K)= (C (κ+1)[ (κ)1) *Yと生成する。統合シャッフル正当性証明装置 300は、 C
2 2
) M (EC)を第一逆置換証明コミットメント 323として証明統合装置 400に出力
2 k, 1
する。また、これを記憶装置に保存しておく。
[第二置換証明コミットメント装置 312]
C (1)=C ω≡Μ (EC)とする。第二置換蓄積コミットメント 324として、 C (K)EM
3 2 k, 1 3 k
(EC)が証明統合装置 400から入力される。次に、 C +1)≡M (EC)を、 C +1)
,1 3 k, 1 3
=(c (Κ)®[ (Κ)]) *Y+(C (κ)[ *Y ャッフル
2 3 (κ)1) と生成する。統合シ 正当性証明 装置 300は、 C +1)≡M (EC)を第二置換証明コミットメント 325として証明統合
3 k, 1
装置 400に出力する。
[0042] [第二置換証明コミットメント逆送装置 313]
C U+1) = C U+1)≡M (EC)とする。第二逆置換蓄積コミットメント 326として、 C
4 3 k, 1 4 +1) M (EC)が証明統合装置 326から入力される。次に、 C (K) EM (EC)を k, 1 4 k, 1
、 c )= (C (κ+1)[ (κ)1) *Yと生成する。統合シャッフル正当性証明装置 300は、 C
4 4
) M (EC)を、第二逆置換証明コミットメント 327として証明統合装置 400に出
4 k, 1
力する。また、これを記憶装置に保存しておく。
[第三置換証明コミットメント装置 314]
C
(EC)が証明統合装置 400から入力される。次に、 C +1) M (EC)を、 C +1)
,1 5 k, 1 5
=(c (κ)®[ (κ)]) *Y+(C (κ)[ (κ)1) *Yと生成する。統合シャッフル正当性証明
装置 300は、 C +1)≡M (EC)を第三置換証明コミットメント 329として証明統合
5 k, 1
装置 400に出力する。
[0043] なお、同一変換知識証明コミットメントが同一変換証明文に相当し、置換証明コミツ トメントが置換証明文に相当する。
[0044] [レスポンス生成装置 315]
挑戦値 r"+1) EM (Z )が統合シャッフル正当性検証装置 300によりランダムに
1, k q
選ばれるとする。また、 r' "+1)=0とする。なお、挑戦値の生成方法については実施 例 2及び実施例 3で詳細に説明する。挑戦値 330として、 r(K+1)EM (Z )と!
1, k q
≡M (Z )=Zとが証明統合装置 400から入力される。
1, 1 q q
[0045] 次に、 r")EM (Z )tr, )≡M (Z ) =Zとを
1. k q 1, 1 q q
r = (r φ ) + φ 、
r = (r Θ ) + β +r 、
と生成する。統合シャッフル正当性証明装置 300は、 r(K) M (Z )と r,(K) M ( l, k q 1, 1
Z )=Zとをレスポンス 331として証明統合装置 400に出力する。
q q
[0046] [置換証明コミットメント統合装置 316]
λ番目の統合シャッフル正当性証明装置 300の出力した第一置換証明コミットメン ト 321の C "+1)EM (EC)と、第二置換証明コミットメント 325の C EM (E
1 k, 1 2 k, 1
C)と、第三置換証明コミットメント 329の C (λ+1)≡Μ (EC)とが入力される。 λ番目
3 k, 1
の統合シャッフル正当性証明装置 300に入力された挑戦値として r"+1)EM (Z ) l, k q と r'"+i)EM (Z ) =Zとが入力される。
1, 1 q q
[0047] 次に、上述の第一置換証明コミットメント 321、第二置換証明コミットメント 325およ び第三置換証明コミットメント 329をまとめた統合置換証明コミットメントの暗号文 C ≡
6
M (EC)を、 C =[rU+1)]C U+1) + [rU+1)®rU+1)]C U+1) + [1]C と生成
1, 1 6 1 2 3 する。ただし、上式の [1]とは、 M (Z )の要素で、その成分が全て 1EZであるもの
1. k q q である。また、 Cの第一成分を C とし、第二成分を C とする。
6 6, 1 6, 2
[0048] 次に、秘密鍵 308の y(K)を用いて、この統合置換証明コミットメントの暗号文の分散 復号を行い、分散復号の結果 332として C (K)EEを、 C ) = [y )]C と計算
6, 2 6, 2 6, 2 して証明統合装置 400に出力する。
[0049] [分散復号証明装置 317]
ランダムな y,(K ) ezを選び、 C [y' )]C を生成して証明統合装置 400 q , ) =
6, 2 6, 2
に出力する。復号証明の挑戦値として s EZが証明統合装置 400から入力される。復 q
号証明のレスポンスとして t(K) eZを、 t(K) =y")s+y,( と生成して証明統合装置 4 q
00に出力する。
[シャッフル証明に関する装置の説明終わり]
[0050] 本実施例の統合シャッフル正当性証明装置は、順序数が自分より前の装置から受 け取る置換蓄積コミットメントに自装置の置換証明文を付加している。順序数の順に 置換蓄積コミットメントに各統合シャッフル正当性証明装置の置換証明文が蓄積され ることで、シャッフルを行う全ての装置のシャッフルの正当性を証明する情報がまとめ られる。その結果、まとめられた情報力 全体のシャッフルの検証を効率的に行うこと が可能となる。
実施例 2
[0051] 本発明のミックスネットシステムの一部となる証明統合装置についての一構成例を 図 4を参照して説明する。
[0052] 証明統合装置 400は、外部の他の装置とデータを送受信するためのインターフ 一ス部を含む入力装置及び出力装置と、データを保存するための記憶装置と、各部 を制御する制御装置とを有するサーバで構成される。制御装置には、プログラムにし たがって所定の処理を実行する CPUと、プログラムを格納するためのメモリが設けら れている。
[0053] 図 4に示すミックス装置 405、同一変換知識証明コミットメント統合装置 409、第一 置換証明コミットメント統合装置 410、第一置換証明コミットメント統合逆送装置 411、 第二置換証明コミットメント統合装置 412、第二置換証明コミットメント統合逆送装置 4 13、第三置換証明コミットメント統合装置 414、コミットメント装置 415、レスポンス統合 装置 416、統合置換証明コミットメント復号装置 417、及び統合分散復号証明装置 4 18は、 CPUがプログラムを実行することで、サーバ内に仮想的に構成される。
[0054] 証明統合装置 400は、インターフェース部を介して、実施例 1で説明した複数の統 合シャッフル正当性証明装置 300、及び統合シャッフル正当性検証装置 500と通信
可能に接続される。なお、統合シャッフル正当性証明装置 300の個数を実施例 1と同 様に λとする。
[0055] 証明統合装置 400には、複数の暗号文からなる、ミックスネット入力暗号文 401が 入力される。この暗号文の個数を kとする。証明統合装置 400は、 λ個の統合シャツ フル正当性証明装置 300と通信することで、ミックスネット入力暗号文 401から、その 順序を入れ替えた値に再暗号を行ったデータであるミックスネット出力暗号文 402を 生成し、これを統合シャッフル正当性検証装置 500に出力する。
[0056] さらに、証明統合装置 400は、 λ個の統合シャッフル正当性証明装置 300と通信 することで、証明のために必要なデータを準備する。そして、このデータを利用して、 統合シャッフル正当性検証装置 500と通信することで、統合シャッフル正当性検証装 置 500にミックスネットとして正当性を証明する。以下に各構成要素につ 、て詳細に 説明する。
[入力装置]
証明統合装置 400に、楕円曲線 Εを指定するパラメタ一と、 Εの生成元 GEEと、ミ ックス用公開鍵 307aの ME Eと、疑似公開鍵 306の FEEと、コミットメント用公開鍵 3 07bの YEEと、ミックス用公開鍵 307aの Mで暗号ィ匕されたミックスネット入力暗号文 401として(G, M), 1=1, . . . , ke(E, E)kと、ランダムに選ばれる共通参照基底 403として (F , . . . , F ) EE"kと、乱数 404とが入力される。これらの情報は記憶装
1 k
置に格納される。
[0057] [ミックス装置 405]
1番目の入力暗号文列となる(G(1), M(1)) e (M (E))2について、 G(1)EM (E
k, 1 k, 1
)をその(i, 1)成分が Gである列ベクトル (k行 1列の行列)として生成し、 M(1)
i k, 1
(E)をその(i, 1)成分が Mである列ベクトル (k行 1列の行列)として生成する。そして 、 κ = 1から κ = λまで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の入力暗号文列 406として (G(K), Μ(Κ)) Ε(Μ (Ε))2を、 κ番目の統合シ
k, 1
ャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300 力も κ番目の出力暗号文列 407として (G(K+1), M +1)) e(M (E))2を受信する
κ = λでなければ、(G(K+1), M +1))e(M (E) )2を κ +1番目の入力暗号文列
k, 1
とする。
[繰り返し処理終わり]
λ番目の出力暗号文列 (G"+1), MU + 1))e(M (E)) 2からミックスネット出力暗号
k, 1
文 402となる(G,, M,), i=l, ... , ke (E, E)
kを、 G,が G"
+1)の i番目の成分と なり、
+1)の i番目の成分となるように生成する。証明統合装置はミックスネッ
ト出力暗号文 402を出力し、出力暗号文 402を統合シャッフル正当性検証装置に送 信する (符号 408)。
[証明統合に関する装置 409〜418]
[同一変換知識証明コミットメント統合装置 409]
1番目の同一変換コミットメント基底 419の(F(1) EM (E) , F'(1)£M (E) , G,(
k, 1 1, 1
1]≡M (E), M'(1)£M (E))を共通参照基底 403から次のように生成する。 F(1) ≡M (E)をその(i, 1)成分が Fである列ベクトル (k行 1列の行列)として、 F' (1)= k, 1 i
0≡M (E), G,(1)=0≡M (E), Μ,ω=0≡Μ (E)とする。そして、 κ = 1 カゝら κ = λまで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の同一変換コミットメント基底 419を (F(K)EM (E), F' )£M (E), G,(
k, 1 1, 1
K)≡M (E), M' )£M (E))として、 K番目の統合シャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300から、 κ番目の同一変換 知識証明コミットメント 420として (F(K+1)EM (E), F, +1)≡M (E), G,(K+1)
k, 1 1, 1
≡M (E), M' +1)£M (E))を受信する。
κ = λでなければ、(F(K+1)EM (Ε), F, +1)≡M (Ε), G, +1)≡M (Ε) , M, +1)≡M (Ε))を κ +1番目の同一変換知識証明コミットメント 420とする。
[繰り返し処理終わり]
λ番目の同一変換知識証明コミットメント 420の (F(K+1)EM (E), F, +1)≡M
k, 1 1, 1
(E), G, +1)≡M (E), M, +1)≡M (E))を、統合同一変換コミットメントとす る。同一変換知識証明コミットメント統合装置 409は統合同一変換コミットメント 434を
コミットメント装置 415に出力する。
[0059] [第一置換証明コミットメント統合装置 410]
1番目の第一置換蓄積コミットメント 421となる C ω≡Μ (EC)を、その全ての成
1 k, 1
分が 0EZの Yによる暗号文であるとする。そして、 κ = 1から κ = λまで以下に示す 手順を繰り返す。
[繰り返し処理始め]
κ番目の第一置換蓄積コミットメント 421を、 C )≡M (EC)として、 κ番目の統
1 k, 1
合シャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300から κ番目の第一置換証明コミットメント 422の C +1)≡M (EC)を受信する
1 k, 1 κ = λでなければ、 C (K +1) EM (EC)を κ + 1番目の第一置換証明コミットメント
1 k, 1
422とする。
[繰り返し処理終わり]
λ番目の第一置換証明コミットメント 422の C i K +1)≡M (EC)を、統合第一置換証
1 k, 1
明コミットメントとする。第一置換証明コミットメント統合装置 410は統合第一置換証明 コミットメント 435をコミットメント装置 415に出力する。
[0060] [第一置換証明コミットメント統合逆送装置 411]
λ番目の第一逆置換蓄積コミットメント 423を C U + 1) = C i l +1)≡M (EC)とする
2 1 k, 1
。そして、 κ = λ力ら κ = 1まで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の第一逆置換蓄積コミットメント 423を C +1)≡M (EC)として κ番目の統
2 k, 1
合シャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300から κ番目の第一逆置換証明コミットメント 424の C )≡M (EC)を受信する
2 k, 1 κ = 1でなければ、 C (K ) EM (EC)を κ—1番目の第一逆置換蓄積コミットメント 4
2 k, 1
24とする。
[繰り返し処理終わり]
1番目の第一逆置換証明コミットメント 424となる C ω≡Μ (EC)を統合第一逆置
換証明コミットメントとする。
[0061] [第二置換証明コミットメント統合装置 412]
1番目の第二置換蓄積コミットメント 425を C (1) =C ω≡Μ (EC)とする。そして、
3 2 k, 1
κ = 1から κ = λまで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の第二置換蓄積コミットメント 425を C )≡M (EC)として κ番目の統合シ
3 k, 1
ャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300 力も κ番目の第二置換証明コミットメント 426の C i K + 1)≡M (EC)を受信する。
3 k, 1
κ = λでなければ、 C (K +1) EM (EC)を κ + 1番目の第二置換証明コミットメント
3 k, 1
426とする。
[繰り返し処理終わり]
λ番目の第二置換証明コミットメント 426の C i K +1)≡M (EC)を、統合第二置換証
3 k, 1
明コミットメントとする。第二置換証明コミットメント統合装置 412は統合第二置換証明 コミットメント 436をコミットメント装置 415に出力する。
[0062] [第二置換証明コミットメント統合逆送装置 413]
λ番目の第二逆置換蓄積コミットメント 427を C U + 1) = C i l +1)≡M (EC)とする
4 3 k, 1
。そして、 κ = λ力ら κ = 1まで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の第二逆置換蓄積コミットメント 427を C +1)≡M (EC)として κ番目の統
4 k, 1
合シャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300から κ番目の第二逆置換証明コミットメント 428の C )≡M (EC)を受信する
4 k, 1 κ = 1でなければ、 C (K ) EM (EC)を κ—1番目の第二逆置換蓄積コミットメント 4
4 k, 1
28とする。
[繰り返し処理終わり]
1番目の第二逆置換証明コミットメント 428となる C ω≡Μ (EC)を統合第二逆置
4 k, 1
換証明コミットメントとする。
[0063] [第三置換証明コミットメント統合装置 414]
1番目の第三置換蓄積コミットメント 429を C (1)=C ω≡Μ (EC)とする。そして、
5 4 k, 1
κ = 1から κ = λまで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の第三置換蓄積コミットメント 429を C )≡M (EC)として κ番目の統合シ
5 k, 1
ャッフル正当性証明装置 300に送る。 κ番目の統合シャッフル正当性証明装置 300 力も κ番目の第三置換証明コミットメント 430の C +1)≡M (EC)を受信する。
5 k, 1
κ = λでなければ、 C (K +1) EM (EC)を κ + 1番目の第三置換証明コミットメント
5 k, 1
430とする。
[繰り返し処理終わり]
λ番目の第三置換証明コミットメント 430となる C iK+1)≡M (EC)を統合第三置換
5 k, 1
証明コミットメントとする。第三置換証明コミットメント統合装置 414は統合第三置換証 明コミットメント 437をコミットメント装置 415に出力する。
[0064] [コミットメント装置 415]
証明統合装置 400は、統合同一変換コミットメント 434と、統合第一置換証明コミツ トメント 435と、統合第二置換証明コミットメント 436と、統合第三置換証明コミットメント 437とをまとめて統合コミットメント 508を生成して、統合シャッフル正当性検証装置 5 00に送信する。
[0065] [レスポンス統合装置 416]
統合シャッフル正当性検証装置 500から統合挑戦値 509として c"+1)EM (Z )
1, k q が入力される。統合挑戦値 509を用いて λ番目の挑戦値 431となる (r"+1), r'U+1) )≡(M (Z ), M (Z ))を以下のようにして生成する。ただし、 r"+1)=c"+1), r,
1. k q 1, 1 q
"+1)=0とする。 K = λ力ら K =1まで以下に示す手順を繰り返す。
[繰り返し処理始め]
κ番目の挑戦値 431を r(K+1)EM (Z )と r,(K+1)EM (Z )=Zとして κ番目の
1. k q 1, 1 q q
統合シャッフル正当性証明装置 300に送信する。 κ番目の統合シャッフル正当性証 明装置 300から κ番目のレスポンス 432の r(K)£M (Z)とr,(κ)eM (Z ) =Zと
1. k q 1, 1 q q を受信する。
κ =1でなければ、 r(K) EM (z;^r,(K)EM (Z ) =Zとを κ 1番目の挑戦値
431とする。
[繰り返し処理終わり]
1番目のレスポンス 432の r(1) EM (Z ) tv, (1)≡M (Z ) =Zとを統合レスポンス
1. k q 1, 1 q q
510とする。レスポンス統合装置 416は統合レスポンス 510を統合シャッフル正当性 検証装置 500に送信する。
[0066] [統合置換証明コミットメント復号装置 417]
統合置換証明コミットメントの暗号文 C = [rU +1)]C U +1) + [rU +1)®rU +1)]C U +
6 1 2
" + [i]c を生成する。ここで、 Cの第一成分を C とし、第二成分を C とす
3 6 6, 1 6, 2 る。 κ = 1から κ = λまでの統合シャッフル正当性証明装置 300と通信して、それぞ れの κに関する Cの分散復号の結果 433として C (Κ ) ΕΕを得る。これらを合わせ
6 6, 2
て、 ΗΕΕを、 H = C —∑ XC ")と生成する。統合置換証明コミットメント復号
6, 1 κ =1 6, 2
装置 417は、この Hを復号統合置換証明コミットメント 511として統合シャッフル正当 性検証装置 500に送信する。
[0067] [統合分散復号証明装置 418]
統合分散復号証明装置 418は、以下のようにして、 κ = 1から κ = λまでの統合シ ャッフル正当性証明装置 300と通信すること (符号 442)と、統合シャッフル正当性検 証装置 500と通信すること (符号 443)で、統合シャッフル正当性検証装置 500に対 して、上記 Ηが正当な統合置換証明コミットメントの暗号文の復号文であることを証明 する。
[0068] κ = 1から κ = λまでの統合シャッフル正当性証明装置 300と通信して、各統合シ ャッフル正当性証明装置力 C' )≡Zを受け取る。続いて、分散復号の証明の
6, 2 q
コミットメント C, =∑ "C ")を生成して、統合シャッフル正当性検証装置 50
6, 2 κ =1 6, 2
0に送信する。また、統合シャッフル正当性検証装置 500より復号証明の挑戦値 Zを受け取ると、これを κ = 1から κ = λまでの統合シャッフル正当性証明装置 300 に送信する。続いて、 κ = 1から κ = λまでの統合シャッフル正当性証明装置 300と 通信して、各統合シャッフル正当性証明装置 300から復号証明のレスポンス t ) を受け取る。そして、復号証明の統合レスポンス t=∑ ( κ )を生成して、統合シャ ッフル正当性検証装置 500に送信する。
[0069] 本実施例の証明統合装置は、複数の統合シャッフル正当性証明装置のそれぞれと 通信を行って、各装置でのシャッフルの正当性の情報を一つにまとめることで、ミック スネット全体を一つのシャッフルとみなして処理することが可能となる。
実施例 3
[0070] 本発明のミックスネットシステムの一部となる統合シャッフル正当性検証装置につ!ヽ ての一構成例を図 5を参照して説明する。
[0071] 統合シャッフル正当性検証装置 500は、外部の他の装置とデータを送受信するた めのインターフェース部を含む入力装置及び出力装置と、データを保存するための 記憶装置と、各部を制御する制御装置とを有するサーバで構成される。制御装置に は、プログラムにしたがって所定の処理を実行する CPUと、プログラムを格納するた めのメモリが設けられている。
[0072] 図 5に示すコミットメント受信装置 502、挑戦値生成装置 503、レスポンス受信装置 504、複合統合置換証明コミットメント受信装置 505、分散復号検証装置 506、及び 検証装置 507は、 CPUがプログラムを実行することで、サーバ内に仮想的に構成さ れる。また、統合シャッフル正当性検証装置 500は、実施例 2と同様に、インターフエ 一ス部を介して証明統合装置 400と通信可能に接続される。以下に、各構成要素に ついて詳細に説明する。
[入力装置]
楕円曲線 Eを指定するパラメタ一と、 Eの生成元 GEEと、ミックス用公開鍵 307aの MEEと、疑似公開鍵 306の FEEと、コミットメント用公開鍵 307bの YEEとが入力さ れる。また、ミックス用公開鍵 307aの Mで暗号ィ匕されたミックスネット入力暗号文 401 となる(G, M), 1=1, . . . , ke(E, E)kと、ミックスネット出力暗号文 402の(G, , M,), i=l, . . . , k≡(E, E)kと、共通参照基底 403の(F , . . . , F ) EE'kと、乱 i 1 k 数 501とが入力される。これらの情報は記憶装置に格納される。
[0073] [コミットメント受信装置 502]
証明統合装置 400より統合同一変換コミットメント (F(K+1)EM (E), F, +1) M
k, 1
(E), G, +1)≡M (E), M' +1)£M (E))と、統合第一置換証明コミットメ ント C +1) M (EC)と、統合第二置換証明コミットメント C +1) M (EC)と、
統合第三置換証明コミットメント C (K+1)≡M (EC)とを含む統合コミットメント 508を
5 k, 1
受信する。
[挑戦値生成装置 503]
ランダムな統合挑戦値 509として c"+1)eM (Z )を生成して、証明統合装置 40
1, k q
0に送信する。
[レスポンス受信装置 504]
証明統合装置 400より統合レスポンス 510の r("EM (Z )と r, ω≡M (Z ) =Z
1, k q 1, k q qを受信する。
[復号統合置換証明コミットメント受信装置 505]
証明統合装置 400より復号統合置換証明コミットメント 511の HEEを受信する。
[0074] [分散復号検証装置 506]
証明統合装置 400と通信すること (符号 443)で、証明統合装置 400から受信した 復号統合置換証明コミットメント 511の Hにより正当な統合置換証明コミットメントの喑 号文の復号文であることを、以下のようにして証明する。
証明統合装置 400より分散復号の証明のコミットメント C' EEを受け取る。復号証
6, 2
明の挑戦値としてランダムな sEZを生成して、証明統合装置 400に送信する。復号 証明の統合レスポンスとして t≡ Zを証明統合装置 400から受信する。
[0075] [検証装置 507]
暗号文 C =[rU+1)]C U+1) + [rU+1)®rU+1)]C U+1) + [1]C を生成する。
6 1 2 3 ここで、 Cの第一成分を C とし、第二成分を C とする。次の式が成り立つことを確
6 6, 1 6, 2
認する。
[
r,(i)]
F+ [
r(i)]
F(i)
=F,"+i)
+ [
c"+i)
F"+i)
[t]C =[s] (C -H)+C 、
6, 2 6, 1 6, 2
[∑ ^( 1))3— (Ci (1))3}]G=H、の 5式である。
[0076] これらが成り立てば、ミックスネット出力暗号文がミックスネット入力暗号文力も正しく 生成され、「正当」であるものと判定する。一方、これらが成り立たなければ、ミックスネ
ット出力暗号文がミックスネット入力暗号文から正しく生成されておらず、「不当」であ ると判定する。そして、その判定結果を検証結果 512として出力装置から出力する。
[0077] 本実施例の統合シャッフル正当性検証装置は、シャッフルの正当性に関する情報 を証明統合装置力も受信して検証すればよいため、従来のように複数の統合シャツ フル正当性証明装置との間でデータをやりとりしなくてすむ。
実施例 4
[0078] 本発明の一実施例をなす統合シャッフル正当性証明装置、証明統合装置、及び統 合シャッフル正当性検証装置がなす、検証可能なミックスネットシステム 600につ ヽ て、図 6を参照して説明する。
[0079] ミックスネットシステム 600は、実施例 1で説明した統合シャッフル正当性証明装置 3 00と、実施例 2で説明した証明統合装置 400と、実施例 3で説明した統合シャッフル 正当性検証装置 500とを有する。統合シャッフル正当性証明装置 300は複数設けら れている。ここでは、統合シャッフル正当性証明装置の個数をえとし、統合シャッフル 正当性証明装置に符号 300— 1〜300— λを記す。
[0080] 各統合シャッフル正当性証明装置 300と証明統合装置 400はインターフェース部 を介して相互に通信可能である。また、証明統合装置 400と統合シャッフル正当性 検証装置 500はインターフェース部を介して相互に通信可能である。
[0081] 統合シャッフル正当性証明装置 300— 1〜300—えのそれぞれには、自装置が実 現するミキサーの順番を表す順序数 κと、シャッフルする暗号文の個数 kと、楕円曲 線 Eを表すパラメタ一と、 Eの生成子 G EE = M (E)と、ミックス用公開鍵 Mと、各統 合シャッフル装置の秘密鍵 y( K )EZと、コミットメント用公開鍵 Yと、乱数とが入力され る。
[0082] 証明統合装置 400には、楕円曲線 Eを指定するパラメタ一と、 Eの生成元 G EEと、 ミックス用の公開鍵 M EEと、疑似公開鍵 FEEと、コミットメント用公開鍵 YEEと、ミツ タス用公開鍵 Mで暗号ィ匕されたミックスネット入力暗号文 401の(G , M ) , 1= 1, . . . , k≡ (E, E) kと、共通参照基底の(F , . . . , F ) EE'kとが入力される。
1 k
[0083] 統合シャッフル正当性検証装置 500には、楕円曲線 Eを指定するパラメタ一と、 Eの 生成元 G EEと、ミックス用の公開鍵 M E Eと、疑似公開鍵 FEEと、コミットメント用公
開鍵 YEEと、ミックス用公開鍵 Μで暗号ィ匕されたミックスネット入力暗号文( M.) , i= l, . . . , ke (E, E)kと、ミックスネット出力暗号文(G, , M' ) , i= l, . . . , k≡ (E, E)kと、共通参照基底の (F , . . . , F ) EE'kと、乱数とが入力される。
1 k
[0084] 証明統合装置 400は、全ての統合シャッフル正当性証明装置 300— 1〜300— λ と通信を行うことにより(符号 601— 1〜601— λ )、ミックスネット出力暗号文 402を生 成する(符号 602)。そして、ミックスネット出力暗号文 402を統合シャッフル正当性検 証装置 500に送信する(符号 603)。統合シャッフル正当性検証装置 500はミックス ネット出力暗号文 402を証明統合装置 400から受信する。
[0085] 続いて、証明統合装置 400は、全ての統合シャッフル正当性証明装置 300— 1〜3 00—えと通信を行うことにより(符号 601— 1〜601— λ )、統合コミットメントを生成 する。そして、統合コミットメントを統合シャッフル正当性検証装置 500に送信する。統 合シャッフル正当性検証装置 500は統合コミットメントを証明統合装置 400から受信 すると、統合挑戦値を生成して証明統合装置 400に送信する。
[0086] 証明統合装置 400は、統合シャッフル正当性検証装置 500から統合挑戦値を受信 すると、統合シャッフル正当性証明装置 300— 1〜300—えのそれぞれに挑戦値を 送信し、それぞれからレスポンスを受信する(符号 601—1〜601—え)。そして、統 合シャッフル正当性証明装置 300— 1〜300— λ力 受信したレスポンスをまとめて 統合レスポンスを生成する。続いて、証明統合装置 400は、統合レスポンスを統合シ ャッフル正当性検証装置 500に送信する。
[0087] その後、証明統合装置 400は、全ての統合シャッフル正当性証明装置 300— 1〜3 00—えと通信を行うことにより(符号 601— 1〜601— λ )、復号統合置換証明コミツ トメントを生成する。そして、復号統合置換証明コミットメントを統合シャッフル正当性 検証装置 500に送信する。統合シャッフル正当性検証装置 500は復号統合置換証 明コミットメントを証明統合装置 400から受信する。
[0088] さらに、証明統合装置 400は、統合シャッフル正当性検証装置 500と通信すること で (符号 604)、復号統合置換証明コミットメントの正当性を証明する。ただし、この証 明のために、証明統合装置 400は全ての統合シャッフル正当性証明装置 300— 1〜 300—えと通信を行う。
[0089] 統合シャッフル正当性検証装置 500は、証明統合装置 400との通信で得られた全 てのデータから、上記ミックスネット出力暗号文 402が、上記ミックスネット入力暗号文 401の順番を入れ替えて再暗号ィ匕したものであるか否かを判定する。すなわち、正し くミックスネットの処理が行われているカゝ否かを判定した検証結果 512を出力する。
[0090] 本発明のミックスネットシステムは、ミックスネット全体を一つのシャッフルと見なして 、この一つのシャッフルの正当性の証明を複数のミキサーが協力して検証者に対し て出力することにより、検証者の必要な計算量力ミキサーの数によらず一定の大きさ にすることが可能となる。
[0091] また、本発明のミックスネットシステムは、ミックスネット全体を一つのシャッフルと見 なして、この一つのシャッフルの正当性の証明を複数のミキサーが協力して検証者に 対して出力している。そのため、複数のミキサーがシャッフルを行うミックスネットの正 当性の検証を行うときに、検証者の必要とする計算量がミキサーの数、すなわち行わ れるシャッフルの回数に依存しなくなる。その結果、検証者の負担を軽くすることがで きる。そのため、ミキサーの数を増やすことを容易にし、より強い匿名性を持ったミック スネットを構成できると ヽぅ効果を奏する。
[0092] この効果は電子投票システムに用いると効果的である。例えば、従来の技術(3)の 電子投票の管理センターが証明統合装置を操作し、各ミキサーが統合シャッフル正 当性検証性装置を用いる。統合シャッフル正当性検証装置は個別の検証者と通信し てその電子投票の正当性を証明してもょ 、が、統合シャッフル正当性検証装置の出 力する統合挑戦値と復号証明の挑戦値の代りに、ハッシュ関数の出力を用いること で、統合シャッフル正当性検証装置と通信を行うことなぐ証明作業を完遂することが できる。
[0093] この証明作業において、ノ、ッシュ関数を用いずに、検証者と通信して証明していれ ば検証者に送ったであろうデータを、ミックスネットの証明文として出力する。このミツ タスネットの証明文を用いれば、誰でもミックスネットの正当性を検証することができる 。よって、管理センターはこの証明文を投票の正当性を検証したい人、例えば全ての 投票者、に配布し、その正当性を証明することができる。この配布した証明文の大き さは、本発明を適用した場合、ミックスネットを構成するミキサーの数に依存しない。そ
のため、小さな計算パワーしか所持しない多くの投票者でも、ミキサーの数が多い場 合にさえ、容易に電子投票の正当性を検証することができる。
また、本発明は上記実施例に限定されることなぐ発明の範囲内で種々の変形が可 能であり、それらも本発明の範囲内に含まれることはいうまでもない。