(57)【要約】【課題】従来の方法の特徴を保ちつつ、二重投票／投票の水増しが行われないようにする。【解決手段】本発明は、投票者装置において投票票内容を暗号化し、乱数で攪乱して前処理文を作成して署名を付けて管理者装置に送信し、選挙管理者は、投票者の正当性を認証し、前処理文にブラインド署名して各投票者装置に送り返す。投票者は前処理文に対するブラインド署名から乱数の影響を取り除き、選挙管理者の署名情報を求め、暗号化投票内容と該署名情報をさらに暗号化し、投票データとして選挙管理者に送り返す。選挙管理者は、ブラインド署名を送信した投票者からの投票データであること検証し、投票データを集計者に送信し、集計者は対応する秘密鍵を使って復号器により上記投票データを復号する【選択図】　　　図１
2004013606.tif 000002
【特許請求の範囲】
【請求項１】
管理者が管理する管理者装置からの投票の承認を得て、投票者が使用する投票者装置が該管理者装置を経由して、集計者が使用する集計者装置に投票データを送信し、該集計者装置が投票を集計する電子投票方法において、
各前記投票者装置は、選択した候補に対応する投票内容を前記集計者装置の公開鍵を用いて暗号化器により暗号化し、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成して、前記管理者装置に送信する第１のステップと、
前記管理者装置は、前記各投票者装置の正当性を確認し、該投票者装置から受信した前記前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して、前記投票者装置に送信する第２のステップと、
前記各投票者装置は、受信した前記前処理文に対する前記ブラインド署名から、前記乱数成分の影響を取り除き、前記暗号化された投票内容を含む情報に対する前記管理者装置の管理者署名を求めて、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、前記集計者装置の公開鍵を用いて暗号化して、前記管理者装置へ投票データとして送信する第３のステップと、
前記管理者装置は、前記投票者装置から受信した前記投票データが、前記ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを前記集計装置に送信する第４のステップと、
前記集計者装置では、前記投票データを受信して、対応する秘密鍵を用いて復号器により該投票データを復号する第５のステップと、
さらに、対応する秘密鍵を用いて復号器により前記投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する第６のステップと、からなることを特徴とする電子投票方法。
【請求項２】
前記第４のステップにおいて、
前記管理者装置は、前記投票者装置から受信した前記投票データを、匿名通信路装置を経由して前記集計者装置に送信する請求項１記載の電子投票方法。
【請求項３】
前記第１のステップにおいて、
前記投票者装置は、前記前処理文に投票者識別情報を付与して、前記管理者装置に送信し、
前記第２のステップにおいて、
前記投票者識別情報に基づいて前記投票者装置の投票者を確認する請求項１記載の電子投票方法。
【請求項４】
前記第５のステップに先立って、
前記集計者装置が、受信した前記暗号化された投票内容と前記署名情報を署名検査器に入力して、前記暗号化された投票内容が前記管理者装置の管理者によって署名されていることを確認し、該暗号化された投票内容を含む情報のリストを公表するステップと、
前記投票者装置が、投票者自身の暗号化投票内容が前記集計者装置が公表するリストに存在することを確認するステップと、を更に行う請求項１記載の電子投票方法。
【請求項５】
前記第１のステップにおいて、
前記暗号化された投票内容を含む情報を攪乱する際に、前記投票者のみが知っているタグを生成するステップと、
前記暗号化された投票内容と前記タグを連結して前記乱数により攪乱するステップと、
前記第６のステップにおいて、前記リスト中の投票データから前記タグを分離し、該タグが自分のものであるかを検査するステップと、を行う請求項１記載の電子投票方法。
【請求項６】
前記第２のステップにおいて、
前記ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表するステップを含み、
前記第４のステップにおいて、
前記投票者リストに自分を表す情報が含まれていることを確認するステップを含む請求項１記載の電子投票方法。
【請求項７】
前記第６のステップにおいて、
前記投票内容の集計結果を公表するステップを含む請求項１または、５記載の電子投票方法。
【請求項８】
前記第１のステップにおいて、
前記投票内容に対する投票者の署名を生成し、該投票内容と共に前記管理者装置に送信するステップを含み、
前記第２のステップにおいて、
前記投票内容に対する前記投票者の署名の正当性を検査するステップを含む請求項１記載の電子投票方法。
【請求項９】
各々異なる集計者により管理される複数の分散集計者装置を有し、
前記複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当て、
前記第４のステップにおいて、前記管理者装置は、前記投票データを全ての分散集計者装置に送信し、
前記第５のステップ及び前記第６のステップにおいて、前記分散集計者装置では、それぞれの復号処理手段により、前記分散秘密鍵を用いて、前記暗号化された投票内容を別々に復号処理して、復号中間データを生成し、
予め決められた１つの分散集計装置に前記復号中間データを集め、復号処理をして前記投票内容を得るステップを含む請求項１記載の電子投票方法。
【請求項１０】
管理者が管理する管理者装置と、投票者が使用する投票者装置と、該投票者からの投票データを集計する集計者装置とを有する電子投票システムであって、
前記投票者装置は、
選択した候補に対応する投票内容を前記集計者装置の公開鍵を用いて暗号化器により暗号化し、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成して、前記管理者装置に送信する前処理文作成手段と、
前記管理者装置から受信した前記前処理文に対するブラインド署名から、前記乱数成分の影響を取り除き、前記暗号化された投票内容を含む情報に対する前記管理者装置の管理者署名を要求して、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、前記集計者装置の公開鍵を用いて暗号化して、前記管理者装置へ投票データとして送信する投票データ作成手段と、を有し、
前記管理者装置は、
前記各投票者装置の正当性を確認し、該投票者装置から受信した前記前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して、前記投票者装置に送信する署名生成手段と、
前記投票者装置から受信した前記投票データが、前記ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを前記集計装置に送信する投票データ確認手段と、を有し、
前記集計者装置は、
前記投票データを前記管理者装置から受信して、対応する秘密鍵を用いて復号器により該投票データを復号する投票データ復号手段と、
前記対応する秘密鍵を用いて復号器により前記投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する集計手段と、を有することを特徴とする電子投票システム。
【請求項１１】
前記管理者装置の前記投票データ確認手段は、
前記投票者装置から受信した前記投票データを、匿名通信路装置を経由して前記集計者装置に送信する手段を含む請求項１０記載の電子投票システム。
【請求項１２】
前記投票者装置の前記前処理文生成手段は、
前記前処理文に投票者識別情報を付与して、前記管理者装置に送信する手段を含み、
前記管理者装置の前記署名生成手段は、
前記投票者識別情報に基づいて前記投票者装置の投票者を確認する手段を含む請求項１０記載の電子投票システム。
【請求項１３】
前記集計者装置は、
前記管理者装置から受信した前記暗号化された投票内容と前記署名情報を署名検査器に入力して、前記暗号化された投票内容が前記管理者装置の管理者によって署名されていることを確認し、該暗号化された投票内容を含む情報のリストを公表する手段を有し、
前記投票者装置は、
投票者自身の暗号化投票内容が前記集計者装置が公表するリストに存在することを確認する手段と、を更に有する請求項１０記載の電子投票システム。
【請求項１４】
前記投票者装置は、
前記暗号化された投票内容を含む情報を攪乱する際に、前記投票者のみが知っているタグを生成する手段と、
前記暗号化された投票内容と前記タグを連結して前記乱数により攪乱する手段と、
前記集計者装置が公表した前記リスト中の投票データから前記タグを分離し、該タグが自分のものであるかを検査する手段とを有する請求項１３記載の電子投票システム。
【請求項１５】
前記集計者装置は、
前記ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表する手段を含み、
前記投票者装置は、
前記投票者リストに自分を表す情報が含まれていることを確認する手段を含む請求項１０記載の電子投票システム。
【請求項１６】
前記集計者装置の前記集計手段は、
前記投票内容の集計結果を公表する手段を含む請求項１０記載の電子投票システム。
【請求項１７】
前記投票者装置の前記前処理文生成手段は、
前記投票内容に対する投票者の署名を生成し、該投票内容と共に前記管理者装置に送信する手段を含み、
前記管理者装置の前記署名生成手段は、
前記投票内容に対する前記投票者の署名の正当性を検査する手段を含む請求項１０記載の電子投票システム。
【請求項１８】
各々異なる集計者により管理される複数の分散集計者装置を有する場合に、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、
前記管理者装置の前記投票データ確認手段は、
前記投票データを全ての分散集計者装置に送信する手段を含み、
前記分散集計者装置は、
それぞれの復号処理手段により、前記分散秘密鍵を用いて、前記暗号化された投票内容を別々に復号処理して、復号中間データを生成する手段と、
予め決められた１つの分散集計装置に前記復号中間データを集め、復号処理をして前記投票内容を得る手段を有する請求項１０記載の電子投票システム。
【請求項１９】
管理者が管理する管理者装置と、投票者からの投票データを集計する集計者装置とを有する電子投票システムにおける投票者装置であって、
選択した候補に対応する投票内容を前記集計者装置の公開鍵を用いて暗号化器により暗号化し、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成し、前記管理者装置に送信する前処理文作成手段と、
前記管理者装置から受信した前記前処理文に対するブラインド署名から、前記乱数成分の影響を取り除き、前記暗号化された投票内容を含む情報に対する前記管理者装置の管理者署名を要求して、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、前記集計者装置の公開鍵を用いて暗号化して、前記管理者装置へ投票データとして送信する投票データ作成手段と、を有することを特徴とする投票者装置。
【請求項２０】
前記前処理文作成手段は、
前記前処理文に投票者識別情報を付与する手段を含む請求項１９記載の投票者装置。
【請求項２１】
前記暗号化された投票内容を含む情報を攪乱する際に、前記投票者のみが知っているタグを生成する手段と、
前記暗号化された投票内容と前記タグを連結して前記乱数により攪乱する手段と、
前記集計者装置が公表した前記リスト中の投票データから前記タグを分離し、該タグが自分のものであるかを検査する手段とを更に有する請求項１９記載の投票者装置。
【請求項２２】
前記前処理文生成手段は、
前記投票内容に対する投票者の署名を生成し、該投票内容と共に前記管理者装置に送信する手段を含む請求項１９記載の投票者装置。
【請求項２３】
投票者装置と、該投票者装置からの投票データを集計する集計者装置とを有する電子投票システムにおける管理者装置であって、
前記各投票者装置の正当性を確認し、該投票者装置から受信した前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して、前記投票者装置に送信する署名生成手段と、
前記投票者装置から受信した前記投票データが、前記ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを前記集計装置に送信する投票データ確認手段と、を有することを特徴とする管理者装置。
【請求項２４】
前記投票データ確認手段は、
前記投票者装置から受信した前記投票データを、匿名通信路装置を経由して前記集計者装置に送信する手段を含む請求項２３記載の管理者装置。
【請求項２５】
前記署名生成手段は、
前記投票者識別情報に基づいて前記投票者装置の投票者を確認する手段を含む請求項２３記載の管理者装置。
【請求項２６】
前記署名生成手段は、
前記投票者装置から受信した投票内容に対する投票者の署名の正当性を検査する手段を含む請求項２３記載の管理者装置。
【請求項２７】
前記投票データ確認手段は、
各々異なる集計者により管理される複数の分散集計者装置を有する場合に、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、前記投票データを全ての分散集計者装置に送信する手段を有する請求項２３記載の管理者装置。
【請求項２８】
投票者装置と、該投票者装置からの投票データを送信する管理者装置とを有する電子投票システムにおける集計者装置であって、
前記投票データを前記管理者装置から受信して、対応する秘密鍵を用いて復号器により該投票データを復号する投票データ復号手段と、
対応する秘密鍵を用いて復号器により前記投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する集計手段と、を有することを特徴とする集計者装置。
【請求項２９】
前記管理者装置から受信した暗号化された投票内容と前記署名情報を署名検査器に入力して、前記暗号化された投票内容が前記管理者装置の管理者によって署名されていることを確認し、該暗号化された投票内容を含む情報のリストを公表する手段を有する請求項２８記載の集計者装置。
【請求項３０】
ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表する手段を含む請求項２８記載の集計者装置。
【請求項３１】
前記集計手段は、
前記投票内容の集計結果を公表する手段を含む請求項２８記載の集計者装置。
【請求項３２】
各々異なる集計者により管理される複数の分散集計者装置が存在する場合に、該複数の分散集計者装置に秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、
それぞれの復号処理手段により、前記分散秘密鍵を用いて、前記暗号化された投票内容を別々に復号処理して、復号中間データを生成する手段と、
予め決められた１つの分散集計装置に前記復号中間データを集め、復号処理をして前記投票内容を得る手段を有する請求項２８記載の集計者装置。
【請求項３３】
管理者が管理する管理者装置と、投票者からの投票データを集計する集計者装置とを有する電子投票システムにおける、投票者装置が実行する電子投票プログラムであって、
投票者のみが知っているタグを生成するステップと、
前記投票内容に対する投票者の署名を生成するステップと、
選択した候補に対応する投票内容を前記集計者装置の公開鍵を用いて暗号化し、暗号化された投票内容と前記タグを連結して乱数により攪乱して前処理文を作成し、該前処理文に投票者識別情報を付与して前記管理者装置に送信する前処理文作成ステップと、
前記管理者装置から受信した前記前処理文に対する前記ブラインド署名から、前記乱数成分の影響を取り除き、前記暗号化された投票内容を含む情報に対する前記管理者装置の管理者署名を要求して、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、前記集計者装置の公開鍵を用いて暗号化して、前記署名を付与して前記管理者装置へ投票データとして送信する投票データ作成ステップと、
前記集計者装置が公表したリスト中の投票データから前記タグを分離し、該タグが自分のものであるかを検査するステップと、をコンピュータに実行させることを特徴とする電子投票プログラム。
【請求項３４】
投票者装置と、該投票者装置からの投票データを集計する集計者装置とを有する電子投票システムにおける、管理者装置が実行する電子投票プログラムであって、
前記投票者装置から取得した投票者識別情報に基づいて、該投票者装置の投票者を確認すると共に、投票内容に対する該投票者の署名の正当性を検査し、該投票者装置から受信した前記前処理文に対するブラインド署名を生成して、前記投票者装置に送信する署名生成ステップと、
前記投票者装置から受信した前記投票データが、前記ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを前記集計装置に匿名通信路装置を経由して送信する投票データ確認ステップと、を有し、
前記投票データ確認ステップは、
各々異なる集計者により管理される複数の分散集計者装置が存在する場合には、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、前記投票データを全ての分散集計者装置に送信するステップをコンピュータに実行させることを特徴とする電子投票プログラム。
【請求項３５】
投票者装置と、該投票者装置からの投票データを送信する管理者装置とを有する電子投票システムにおける、集計者装置が実行する電子投票プログラムであって、
前記管理者装置から受信した投票データに含まれる暗号化された投票内容と署名情報を用いて、前記暗号化された投票内容が該管理者装置の管理者によって署名されていることを確認し、該投票内容を対応する秘密鍵を用いて該投票データを
復号する投票データ復号ステップと、
対応する秘密鍵を用いて前記投票内容を復号して投票内容を得て、該投票内容に対応する候補の得票を集計する集計ステップと、
ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表するステップと、からなり、
自装置が、各々異なる集計者により管理される複数の分散集計者装置である場合に、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているときには、前記投票データ復号処理ステップにおいて、前記分散秘密鍵を用いて、前記暗号化された投票内容を別々に復号処理して、復号中間データを生成するステップと、
予め決められた１つの分散集計装置に前記復号中間データを出力するステップと、
自装置が予め決められた最終データを生成する装置である場合には、前記復号中間データを集め、復号処理をして前記投票内容を得るステップを、コンピュータに実行させることを特徴とする電子投票プログラム。
【請求項３６】
投票者装置と、該投票者装置からの投票データを送信する管理者装置と、該投票データを集計者装置からなる電子投票システムにおける、各装置が実行する電子投票プログラムを格納した記憶媒体であって、
前記請求項３３乃至前記請求項３５記載のプログラムを格納することを特徴とする電子投票プログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子投票方法及び装置及び電子投票プログラム及び電子投票プログラムを格納した記憶媒体に係り、特に、電気通信システムを用いてアンケート調査などを行う場合に、安全な無記名投票を実現しようとする電子投票方法及び装置及び電子投票プログラム及び電子投票プログラムを格納した記憶媒体に関する。
【０００２】
【従来の技術】
投票とは、有権者全員に提示された複数の候補から各投票者が予め指定された数（１又は２以上）の候補を選択し、その選択結果を集計者に与え、集計者は各候補に対する投票数を集計することである。候補としては、政治的選挙における立候補者の名前のみならず、統計調査における選択項目であってもよい。また、投票内容は、投票者が選択した候補を表す識別情報、記号、名前、項目などである。
【０００３】
無記名投票は、投票者と投票内容の対応を秘密にでき、個人の思想信条に関するプライバシーを守るのに適しているので、電子会議やＣＡＴＶ等の双方向通信でのアンケート調査等に利用できる。
【０００４】
電気通信において、安全な無記名投票を行うには、投票者の偽装や二重投票、投票内容の盗聴に伴う投票内容の漏洩等の防止が必要である。これらの問題を解決する方法として、ディジタル署名を用いて電子投票方式が提案されており、例えば、『Ａｔｕｓｈｉ　Ｆｕｊｉｏｋａ，Ｔａｔｓｕａｋｉ　Ｏｋａｍｏｔｏ，　Ｋａｓｕｏ　Ｏｈｔａ：　”Ａ　ｐｒａｃｔｉｃａｌ　ｓｅｃｒｅｔｖｏｔｉｎｇ　ｓｃｈｅｍｅ　ｆｏｒ　ｌａｒｇｅ　ｓｃａｌｅ　ｅｌｅｃｔｉｏｎｓ”，　ｉｎ　Ａｄｖａｎｃｅｓ　ｉｎ　Ｃｒｙｐｔｏｌｏｇｙ−ＡＵＳＣＲＹＰＴ’９２，　Ｌｅｃｔｕｒｅ　Ｎｏｔｅｓ　ｉｎ　Ｃｏｍｐｕｔｅｒ　Ｓｃｉｅｎｃｅ　７１８，　Ｓｐｒｉｎｇ−Ｖｅｒｌａｇ，　Ｂｅｒｌｉｎ，　ｐｐ．２４４−２５１（１９９３）』、『特開平６−１９９４３「電子投票方法及び装置」』に示されている。
【０００５】
この従来の方法では、
▲１▼投票者Ｖｉが投票内容ｖｉを鍵ｋｉにより暗号化して暗号文ｘｉとし、これにブラインド署名を得るための前処理としてｘｉを乱数ｒｉにより攪乱して前処理文ｅｉを作成し、前処理文ｅｉに投票者の署名ｓｉを付けて選挙管理者Ａに送信する。
【０００６】
▲２▼選挙管理者Ａは、署名ｓｉに基づいて投票者Ｖｉの正当性を認証した後、前処理文ｅｉに選挙管理者のブラインド署名ｄｉを付けて投票者に返送する。
【０００７】
▲３▼投票者Ｖｉは、前処理文のｅｉに対するブラインド署名ｄｉから暗号文ｘｉに対する選挙管理者Ａの署名ｙｉを求め、これを暗号文ｘｉと共に集計者Ｃに送信する。
【０００８】
▲４▼集計者Ｃは、暗号文ｘｉが選挙管理者Ａにより署名されていることを確認して、暗号文ｘｉをそのまま一覧公開する。
【０００９】
▲５▼投票者Ｖｉは、自分の暗号文ｘｉが登録されている場合は、投票内容ｖｉの暗号化に使用した鍵ｋｉを集計者Ｃに送り、登録されていない場合は、集計者Ｃに対して意義を申し立てる。
【００１０】
▲６▼集計者Ｃは、投票者から受信した鍵ｋｉを使って暗号文ｘｉから投票内容ｖｉを獲得し、これを集計する。
【００１１】
しかしながら、上記の方法では、投票者Ｖｉが投票締切後に公開された投票一覧から自分の暗号文ｘｉが登録されたことを確認し、鍵ｋｉを集計者Ｃに送信することが必要であり、即ち、投票者の利便性の低いシステムである。この問題を解決する方法として、投票内容ｘｉを集計者の公開鍵ｋＰＣで暗号化する電子投票方式が提案されており、例えば、『Ｍｉｙａｋｏ　Ｏｈｋｕｂｏ，　ＦｕｍｉａｋｉＭｉｕｒａ，　Ｍａｓａｙｕｋｉ　Ａｂｅ，　Ａｔｔｓｕｓｈｉ　Ｆｕｊｉｏｋａ，　Ｔａｔｓｕａｋｉ　Ｏｋａｍｏｔｏ：　”Ａｎ　Ｉｍｐｒｏｖｅｍｅｎｔ　ｏｎ　Ａ　Ｐｒａｃｔｉｃａｌ　Ｓｅｃｒｅｔ　Ｖｏｔｉｎｇ　Ｓｃｈｅｍｅ”，　ＩＳＷ　１９９９，　ｐｐ．２２５−２３４』、『特開２０００−２０７４８３「電子投票方法、投票システム及びプログラム記録媒体」』に示されている。
【００１２】
上記の方式では、▲１▼投票者Ｖｉは、投票内容ｖｉを集計者Ｃの公開鍵ｋＰＣで暗号化し、その暗号化投票内容ｘｉにタグｔｉを連結してｚｉとし、ｚｉを乱数ｒｉで攪乱して前処理文ｅｉを作り、その前処理文に対する署名ｓｉと前処理文ｅｉを選挙管理者Ａに送る。▲２▼選挙管理者Ａは、前処理文ｅｉに対するブラインド署名ｄｉを作成して投票者Ｖｉへ返す。▲３▼投票者は、ブラインド署名ｄｉから乱数ｒｉの影響を除去した選挙管理者の署名情報ｙｉを取得し、投票データ〈ｚｉ，ｙｉ〉を集計者Ｃへ送る。▲４▼集計者Ｃは、選挙管理者の署名ｙｉを検証し、合格したらデータ〈ｚｉ，ｙｉ〉を含む投票リストを作り、投票者に公開する。▲５▼投票者Ｖｉは、その投票リストを検査し、ｚｉ中のタグｔｉが自分のものと一致するデータ〈ｚｉ，ｙｉ〉がリストにあることを確認する。▲６▼集計者Ｃは、ｚｉ中のｘｉを復号化して投票内容ｖｉを取得し、候補に対する投票数を集計する。
【００１３】
【発明が解決しようとする課題】
しかしながら、上記の方法では、投票者は投票するのに、選挙管理者への通信、集計者への通信の２つの通信が必要になる。そのため、選挙管理者への通信後、投票者の端末の異常等により処理が異常終了（例えば、ｚｉ，ｙｉの紛失）下場合、選挙管理者への通信から処理をやり直さなければならない。この性質を利用し、投票者は以下のように二重投票が可能となってしまう。
【００１４】
▲１▼　投票者は、選挙管理者から、投票内容ｖｉに対する投票データ〈ｚｉ，ｙｉ〉を入手する。
【００１５】
▲２▼　投票者は、投票データ〈ｚｉ，ｙｉ〉を集計者に送信する（”Ａｎ　Ｉｍｐｒｏｖｅｍｅｎｔ　ｏｎ　Ａ　Ｐｒａｃｔｉｃａｌ　Ｓｅｃｒｅｔ　Ｖｏｔｉｏｎｇ　Ｓｃｈｅｍｅ”によると、集計者へ匿名性を保障するために、匿名通信路を用いて送信する。そのため、集計者はどの投票者の投票データかを区別できない）。
【００１６】
▲３▼　投票者は、次に、▲１▼の投票データ〈ｚｉ，ｙｉ〉を紛失したとして、再度選挙管理者から投票データ〈ｚｉ’，ｙｉ’〉を入手する。
【００１７】
▲４▼　投票者は、投票データ〈ｚｉ’，ｙｉ’〉を集計者に送信する（集計者は、同じ投票者から投票データが既に受信したかを判断できないため、受理してしまう）。
【００１８】
従来の方法では、選挙管理者で受理した数と、集計者で受理した数の比較を行い二重投票の有無／投票の水増しを確認することができるが、実際に、二重投票／投票の水増しが起きてしまった場合、どれが二重投票／当方の水増しの表（以下不正票と記す）かがわからわず、全員の投票のやり直しになってしまう。
【００１９】
本発明は、上記の点に鑑みなされたもので、従来の方法の特徴を保ちつつ、二重投票／投票の水増しが行われない電子投票方法及びシステム及び投票者装置及び管理装置及び集計者装置及び電子投票プログラム及び電子投票プログラムを格納した記憶媒体を提供することを目的とする。
【００２０】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
【００２１】
本発明は、管理者が管理する管理者装置からの投票の承認を得て、投票者が使用する投票者装置が該管理者装置を経由して、集計者が使用する集計者装置に投票データを送信し、該集計者装置が投票を集計する電子投票方法において、
各投票者装置は、選択した候補に対応する投票内容を集計者装置の公開鍵を用いて暗号化器により暗号化し（ステップ１）、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成して（ステップ２）、管理者装置に送信する（ステップ３）第１のステップと、
管理者装置は、各投票者装置の正当性を確認し、該投票者装置から受信した前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して（ステップ４）、投票者装置に送信する（ステップ５）第２のステップと、
各投票者装置は、受信した前処理文に対するブラインド署名から、乱数成分の影響を取り除き、暗号化された投票内容を含む情報に対する管理者装置の管理者署名を求めて（ステップ６）、取得し（ステップ７）、該管理者署名と該暗号化された投票内容を含む情報を、更に、集計者装置の公開鍵を用いて暗号化して（ステップ８）、管理者装置へ投票データとして送信する（ステップ９）第３のステップと、
管理者装置は、投票者装置から受信した投票データが、ブラインド署名を送信した投票者装置からの投票データであることを確認し（ステップ１０）、該投票データを集計装置に送信する（ステップ１１）第４のステップと、
集計者装置では、投票データを受信して、対応する秘密鍵を用いて復号器により該投票データを復号する（ステップ１２）第５のステップと、
さらに、対応する秘密鍵を用いて復号器により投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する（ステップ１３）第６のステップと、からなる。
【００２２】
本発明は、第４のステップにおいて、
管理者装置は、投票者装置から受信した投票データを、匿名通信路装置を経由して集計者装置に送信する。
【００２３】
本発明は、第１のステップにおいて、
投票者装置は、前処理文に投票者識別情報を付与して、管理者装置に送信し、
第２のステップにおいて、
投票者識別情報に基づいて投票者装置の投票者を確認する。
【００２４】
本発明は、第５のステップに先立って、
集計者装置が、受信した暗号化された投票内容と署名情報を署名検査器に入力して、暗号化された投票内容が管理者装置の管理者によって署名されていることを確認し、該暗号化された投票内容を含む情報のリストを公表するステップと、投票者装置が、投票者自身の暗号化投票内容が集計者装置が公表するリストに存在することを確認するステップと、を更に行う。
【００２５】
本発明は、第１のステップにおいて、
暗号化された投票内容を含む情報を攪乱する際に、投票者のみが知っているタグを生成するステップと、
暗号化された投票内容とタグを連結して乱数により攪乱するステップと、
第６のステップにおいて、リスト中の投票データからタグを分離し、該タグが自分のものであるかを検査するステップと、を行う。
【００２６】
本発明は、第２のステップにおいて、ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表するステップを含み、
第４のステップにおいて、投票者リストに自分を表す情報が含まれていることを確認するステップを含む。
【００２７】
本発明は、第６のステップにおいて、投票内容の集計結果を公表するステップを含む。
【００２８】
本発明は、第１のステップにおいて、投票内容に対する投票者の署名を生成し、該投票内容と共に管理者装置に送信するステップを含み、
第２のステップにおいて、投票内容に対する投票者の署名の正当性を検査するステップを含む。
【００２９】
本発明は、各々異なる集計者により管理される複数の分散集計者装置を有し、複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当て、
第４のステップにおいて、管理者装置は、投票データを全ての分散集計者装置に送信し、
第５のステップ及び第６のステップにおいて、分散集計者装置では、それぞれの復号処理手段により、分散秘密鍵を用いて、暗号化された投票内容を別々に復号処理して、復号中間データを生成し、
予め決められた１つの分散集計装置に復号中間データを集め、復号処理をして投票内容を得るステップを含む。
【００３０】
図２は、本発明の原理構成図である。
【００３１】
本発明は、管理者が管理する管理者装置２００と、投票者が使用する投票者装置１００と、該投票者からの投票データを集計する集計者装置３００とを有する電子投票システムであって、
投票者装置１００は、
選択した候補に対応する投票内容を集計者装置の公開鍵を用いて暗号化器により暗号化し、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成して、管理者装置に送信する前処理文作成手段１３０と、
管理者装置２００から受信した前処理文に対するブラインド署名から、乱数成分の影響を取り除き、暗号化された投票内容を含む情報に対する管理者装置２００の管理者署名を要求して、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、集計者装置の公開鍵を用いて暗号化して、管理者装置へ投票データとして送信する投票データ作成手段１４０と、を有し、
管理者装置２００は、
各投票者装置１００の正当性を確認し、該投票者装置から受信した前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して、投票者装置１００に送信する署名生成手段２３０と、
投票者装置１００から受信した投票データが、ブラインド署名を送信した投票者装置１００からの投票データであることを確認した後、該投票データを集計装置３００に送信する投票データ確認手段２４０と、を有し、
集計者装置３００は、
投票データを管理者装置２００から受信して、対応する秘密鍵を用いて復号器により該投票データを復号する投票データ復号手段３３０と、
対応する秘密鍵を用いて復号器により投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する集計手段３４０と、を有する。
【００３２】
本発明は、管理者装置２００の投票データ確認手段２４０において、
投票者装置１００から受信した投票データを、匿名通信路装置を経由して集計者装置３００に送信する手段を含む。
【００３３】
本発明の投票者装置１００の前処理文生成手段１３０は、
前処理文に投票者識別情報を付与して、管理者装置２００に送信する手段を含み、
管理者装置２００の署名生成手段２３０は、
投票者識別情報に基づいて投票者装置の投票者を確認する手段を含む。
【００３４】
本発明は、集計者装置３００において、
管理者装置２００から受信した暗号化された投票内容と署名情報を署名検査器に入力して、暗号化された投票内容が管理者装置２００の管理者によって署名されていることを確認し、該暗号化された投票内容を含む情報のリストを公表する手段を有し、　投票者装置１００において、
投票者自身の暗号化投票内容が集計者装置３００が公表するリストに存在することを確認する手段と、を更に有する。
【００３５】
本発明は、投票者装置１００において、
暗号化された投票内容を含む情報を攪乱する際に、投票者のみが知っているタグを生成する手段と、
暗号化された投票内容とタグを連結して乱数により攪乱する手段と、
集計者装置が公表したリスト中の投票データからタグを分離し、該タグが自分のものであるかを検査する手段とを有する。
【００３６】
本発明は、集計者装置３００において、ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表する手段を含み、
投票者装置１００において、投票者リストに自分を表す情報が含まれていることを確認する手段を含む。
【００３７】
本発明は、集計者装置３００の集計手段３４０において、投票内容の集計結果を公表する手段を含む。
【００３８】
本発明は、投票者装置１００の前処理文生成手段１３０において、投票内容に対する投票者の署名を生成し、該投票内容と共に管理者装置２００に送信する手段を含み、
管理者装置２００の署名生成手段２３０において、投票内容に対する投票者の署名の正当性を検査する手段を含む。
【００３９】
本発明は、各々異なる集計者により管理される複数の分散集計者装置を有する場合に、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、
管理者装置の投票データ確認手段は、
投票データを全ての分散集計者装置に送信する手段を含み、
分散集計者装置は、
それぞれの復号処理手段により、分散秘密鍵を用いて、暗号化された投票内容を別々に復号処理して、復号中間データを生成する手段と、
予め決められた１つの分散集計装置に復号中間データを集め、復号処理をして投票内容を得る手段を有する。
【００４０】
本発明は、管理者が管理する管理者装置と、投票者からの投票データを集計する集計者装置とを有する電子投票システムにおける投票者装置であって、
選択した候補に対応する投票内容を集計者装置の公開鍵を用いて暗号化器により暗号化し、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成し、管理者装置に送信する前処理文作成手段と、
管理者装置から受信した前処理文に対するブラインド署名から、乱数成分の影響を取り除き、暗号化された投票内容を含む情報に対する管理者装置の管理者署名を要求して、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、集計者装置の公開鍵を用いて暗号化して、管理者装置へ投票データとして送信する投票データ作成手段と、を有する。
【００４１】
本発明の投票者装置は、前処理文作成手段において、前処理文に投票者識別情報を付与する手段を含む。
【００４２】
本発明の投票者装置は、暗号化された投票内容を含む情報を攪乱する際に、投票者のみが知っているタグを生成する手段と、
暗号化された投票内容とタグを連結して乱数により攪乱する手段と、
集計者装置が公表したリスト中の投票データからタグを分離し、該タグが自分のものであるかを検査する手段とを更に有する。
【００４３】
本発明の投票者装置の前処理文生成手段は、投票内容に対する投票者の署名を生成し、該投票内容と共に管理者装置に送信する手段を含む。
【００４４】
本発明は、投票者装置と、該投票者装置からの投票データを集計する集計者装置とを有する電子投票システムにおける管理者装置であって、
各投票者装置の正当性を確認し、該投票者装置から受信した前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して、投票者装置に送信する署名生成手段と、
投票者装置から受信した投票データが、ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを集計装置に送信する投票データ確認手段と、を有する。
【００４５】
本発明の管理者装置の投票データ確認手段は、投票者装置から受信した投票データを、匿名通信路装置を経由して集計者装置に送信する手段を含む。
【００４６】
本発明の管理者装置の署名生成手段は、投票者識別情報に基づいて投票者装置の投票者を確認する手段を含む。
【００４７】
本発明の管理者装置の署名生成手段は、投票者装置から受信した投票内容に対する投票者の署名の正当性を検査する手段を含む。
【００４８】
本発明の管理者装置の投票データ確認手段は、各々異なる集計者により管理される複数の分散集計者装置を有する場合に、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、投票データを全ての分散集計者装置に送信する手段を有する。
【００４９】
本発明は、投票者装置と、該投票者装置からの投票データを送信する管理者装置とを有する電子投票システムにおける集計者装置であって、
投票データを管理者装置から受信して、対応する秘密鍵を用いて復号器により該投票データを復号する投票データ復号手段と、
対応する秘密鍵を用いて復号器により投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する集計手段と、を有する。
【００５０】
本発明の集計者装置は、管理者装置から受信した暗号化された投票内容と署名情報を署名検査器に入力して、暗号化された投票内容が管理者装置の管理者によって署名されていることを確認し、該暗号化された投票内容を含む情報のリストを公表する手段を有する。
【００５１】
本発明の集計者装置は、ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表する手段を含む。
【００５２】
本発明の集計者装置の集計手段は、投票内容の集計結果を公表する手段を含む。
【００５３】
本発明の集計者装置は、各々異なる集計者により管理される複数の分散集計者装置を有する場合に、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、
それぞれの復号処理手段により、分散秘密鍵を用いて、暗号化された投票内容を別々に復号処理して、復号中間データを生成する手段と、
予め決められた１つの分散集計装置に復号中間データを集め、復号処理をして投票内容を得る手段を有する。
【００５４】
本発明は、管理者が管理する管理者装置と、投票者からの投票データを集計する集計者装置とを有する電子投票システムにおける、投票者装置が実行する電子投票プログラムであって、
投票者のみが知っているタグを生成するステップと、
投票内容に対する投票者の署名を生成するステップと、
選択した候補に対応する投票内容を集計者装置の公開鍵を用いて暗号化し、暗号化された投票内容とタグを連結して乱数により攪乱して前処理文を作成し、該前処理文に投票者識別情報を付与して管理者装置に送信する前処理文作成ステップと、
管理者装置から受信した前処理文に対するブラインド署名から、乱数成分の影響を取り除き、暗号化された投票内容を含む情報に対する管理者装置の管理者署名を要求して、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、集計者装置の公開鍵を用いて暗号化して、署名を付与して管理者装置へ投票データとして送信する投票データ作成ステップと、
集計者装置が公表したリスト中の投票データからタグを分離し、該タグが自分のものであるかを検査するステップと、をコンピュータに実行させる。
【００５５】
本発明は、投票者装置と、該投票者装置からの投票データを集計する集計者装置とを有する電子投票システムにおける、管理者装置が実行する電子投票プログラムであって、
投票者装置から取得した投票者識別情報に基づいて、該投票者装置の投票者を確認すると共に、投票内容に対する該投票者の署名の正当性を検査し、該投票者装置から受信した前処理文に対するブラインド署名を生成して、投票者装置に送信する署名生成ステップと、
投票者装置から受信した投票データが、ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを集計装置に匿名通信路装置を経由して送信する投票データ確認ステップと、を有し、
投票データ確認ステップは、
自装置が、各々異なる集計者により管理される複数の分散集計者装置である場合に、該秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているとき、投票データを全ての分散集計者装置に送信するステップをコンピュータに実行させる。
【００５６】
本発明は、投票者装置と、該投票者装置からの投票データを送信する管理者装置とを有する電子投票システムにおける、集計者装置が実行する電子投票プログラムであって、
管理者装置から受信した投票データに暗号化された投票内容と署名情報を用いて、暗号化された投票内容が管理者装置の管理者によって署名されていることを確認し、該投票内容を対応する秘密鍵を用いて該投票データを復号する投票データ復号ステップと、
対応する秘密鍵を用いて投票内容を復号して投票内容を得て、該投票内容に対応する候補の得票を集計する集計ステップと、
ブラインド署名を与えた投票者を表す情報のリストを投票者リストとして公表するステップと、からなり、
自装置が、各々異なる集計者により管理される複数の分散集計者装置である場合に、該複数の分散集計者装置において、秘密鍵を分割してそれぞれの分散秘密鍵として割り当てられているときには、投票データ復号処理ステップにおいて、分散秘密鍵を用いて、暗号化された投票内容を復号処理して、復号中間データを生成するステップと、
予め決められた１つの分散集計装置に復号中間データを出力するステップと、自装置が予め決められた最終データを生成する装置である場合には、復号中間データを集め、復号処理をして投票内容を得るステップを、コンピュータに実行させる。
【００５７】
本発明は、投票者装置と、該投票者装置からの投票データを送信する管理者装置と、該投票データを集計者装置からなる電子投票システムにおける、各装置が実行する電子投票プログラムを格納した記憶媒体であって、
請求項３３乃至請求項３５記載のプログラムを格納する。
【００５８】
上記のように、本発明は、投票者が投票者装置において、投票票内容を集計者の公開鍵で暗号化し、さらにその暗号化投票内容を乱数で攪乱して前処理文を作成して、その前処理文に署名を付けて選挙管理者の管理者装置に送信する。選挙管理者は、付加された署名を用いて、投票者の正当性を認証した後に、前処理文にブラインド署名して前処理文に対するブラインド署名を各投票者の投票者装置に送り返す。投票者は前処理文に対するブラインド署名から乱数の影響を取り除いて暗号化投票内容に対する選挙管理者の署名情報を求める。その後、投票者は暗号化投票内容と上記署名情報をさらに集計者の公開鍵で暗号化し、投票データとして選挙管理者に送り返す。選挙管理者は、ブラインド署名を送信した投票者からの投票データであることを確認した後、受信した投票データを集計者に送信し、集計者は対応する秘密鍵を使って復号器により上記投票データを復号する。また、選挙管理者は受信した投票データを、匿名通信路を経由させて集計者へ送信してもよい。ここで、匿名通信路を経由させることにより、入力文に対して、順序の入れ替え及び再暗号化を行い、出力することで、入力と出力の対応関係を分からなくすることができる。集計者は、投票データを一度復号し、暗号化投票内容と署名情報を取り出し、上記暗号化投票内容に対する署名情報が選挙管理者によって署名されることを確認した後、投票データを公開する。それぞれの投票者が、公開された投票データのリストに自分の暗号化投票内容が登録されていることを確認した後に、集計者は、自らが保持する秘密鍵を用いて暗号化投票内容から投票内容を取り出し、これを集計する。もし、投票リストに暗号化投票内容が登録されていない場合には、集計者に対して異議を申し立てる。
【００５９】
これにより、投票の承認（ブラインド署名発行）から集計者装置に投票データを送信するまでを選挙管理者と投票者が一連の流れで行うため、従来の方法の課題であった投票中の異常を装い、二重投票／票の水増しを防ぐことが可能となる。　また、暗号化投票の内容は、投票内容を乱数で攪乱しているので、選挙管理者、及び、集計者は、攪乱された投票内容から投票内容を求めることができず、当方の無記名性が保障できる。
【００６０】
ここで、復号化鍵は集計者が保持しており、投票者は、開票のために再度集計者へ通信を行う必要がない。
【００６１】
また、集計者を複数とし、それぞれが復号鍵の一部を保持し、集計者全員もしくは、一定数が協力することによって、暗号化投票内容からすべての投票内容を取り出すようにしてもよい。これにより、集計者を複数とすれば、それらが協力することにより、暗号化された投票内容を開票する場合は、異議申し立て時に、自分が正当な投票者であることは、暗号化されている投票内容と選挙管理者の署名を送るだけで示すことができる。即ち、複数存在する集計はの一部に不正者が存在したとしても、全員もしくは、一定数の集計者が協力しない限り、投票内容が明らかになることはない。
【００６２】
また、分散された集計者の各集計者装置には、暗号化された投票内容が集まるので、この場合も全員もしくは、一定数の集計者が協力しないかぎり、投票の間にその途中経過は明らかにならないので、公平な投票方式となっている。
【００６３】
さらに、集計者全員でなく一定数が協力するだけで開票が可能な場合は、集計者内の何人かが不正者、もしくあ、開票への協力が不可能となっても、正しく開票作業を行うことができるので、耐故障性が高くなる。
【００６４】
【発明の実施の形態】
以下、図面と共に本発明の実施の形態について説明する。
【００６５】
以下の説明では、投票の例として、政治的選挙における投票に本発明を適用した場合について説明するが、前述のように、本発明の意図する投票原理は統計調査における投票にもそのまま適用できる。
【００６６】
［第１の実施の形態］
図３は、本発明の第１の実施の形態における投票システムの構成図である。
【００６７】
Ｔ人の投票者の装置である投票者装置１００と集計者Ｃの装置である集計者装置３００及び、選挙管理者Ａの装置である選挙管理者装置２００とがネットワークを介して接続されている。集計者Ｃは、集計者装置３００において、投票内容の一覧（投票リスト及び得票数リスト）を公開し、投票者は、全員、投票者装置１００よりこれにアクセスが可能であるとする。
【００６８】
以下では、特に、投票者Ｖｉが選挙管理者Ａから投票の承認を得た後に、集計者Ｃに対して投票手続きする場合について説明する。
【００６９】
ここで、以下の説明に使用される記法をまとめて示す。
【００７０】
ｃｉｐｈｅｒ＝ξＣ（ｐｌａｉｎ，　ｋＰＣ）：集計者Ｃの暗号化関数（ｃｉｐｈｅｒ：暗号文、ｐｌａｉｎ：平文、ｋＰＣ：集計者の公開鍵）
ｔｅｘｔ＝ρＣ（ｐｌａｉｎ，　ｋＳＣ）：集計者Ｃの復号化関数（ｋＳＣ：集計者の秘密鍵）
ｓ＝σｉ（ｅ）：投票者Ｖｉの署名作成関数（ｓ：署名、ｅ：暗号化投票内容）
ｅ＝ζｉ（ｓ）：投票者Ｖｉの署名に対する検証関数
ｄ＝σＡ（ｅ）：選挙管理者Ａのブラインド署名作成関数（ｄ：ブラインド署名）
ｚ＝ζＡ（ｙ）：選挙管理者Ａの署名に対する検証関数（ｙ：署名、ｚ：投票用紙）
ｅ＝ωＡ（ｚ，ｒ）：攪乱関数（ｒ：乱数）
ｙ＝δＡ（ｄ，ｒ）：乱数成分除去関数（ｄ：ブラインド署名）
ここで、集計者Ｃの暗号化関数ξＣと復号化関数ρＣは、周知の公開鍵暗号方式で使用されているものであり、集計者Ｃは、集計者装置３００内に秘密鍵ｋＳＣを秘密に保持し、公開鍵ｋＰＣを投票者に公開しているものとする。また、投票者が投票者装置１００よりブラインド署名を要求する際に、署名対象のメッセージｍを乱数ｒでブラインドする（ブラインド署名のための前処理をする）ための攪乱関数ωＡ（ｚ，ｒ）と、受け取ったブラインド署名ｄから乱数成分ｒを除去して投票用紙ｚに対する選挙管理者Ａの署名ｙを取り出す。乱数成分除去関数δＡ（ｄ，ｒ）は、選挙管理者Ａが使用するブラインド署名関数σＡが決まれば、必然的に決まるものある。このような署名関数については、例えば、ＲＳＡ暗号の暗号化関数と復号化関数があり（Ｒｏｎａｌｄ　Ｒｉｖｅｓｔ，　Ａｄｉ　Ｓｈａｍｉｒ，　Ｌｅｏｎａｒｄ　Ａｄｌｅｍａｎ：　”Ａ　ｍｅｔｈｏｄ　ｆｏｒ　ｏｂｔａｉｎｉｎｇ　ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅｓ　ａｎｄ　ｐｕｂｌｉｃ−ｋｅｙｃｒｙｐｔｏｓｙｓｔｅｍｓ”，　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ　ｏｆ　ｔｈｅ　ＡＣＭ，　Ｖｏｌ．２１，　Ｎｏ．２，　ｐｐ．１２０−１２６（Ｆｅｂ．，１９７８））、ブラインド署名を要求するための前処理としての乱数による攪乱の手法についての詳細は、『Ｄａｖｉｄ　Ｃｈａｕｍ：”Ｓｅｃｕｒｉｔｙ　ｗｉｔｈｏｕｔ　ｉｄｅｎｔｉｆｉｃａｉｔｏｎ：　Ｔｒａｎｓａｃｔｉｏｎｓｙｓｔｅｍｓ　ｔｏ　ｍａｋｅｂｉｇ　ｂｒｏｔｈｅｒ　ｏｂｓｏｌｏｅｔｅ”，　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ　ｏｆ　ｔｈｅ　ＡＣＭ，　Ｖｏｌ．２８，　Ｎｏ．１０，　ｐｐ１０３０−１０４４（Ｏｃｔ．，　１９８５）』に記述されている。
【００７１】
次に、投票者装置１００について説明する。
【００７２】
図４は、本発明の第１の実施の形態における投票者装置の構成を示す。
【００７３】
同図に示す投票者装置１００は、記憶部１０１、暗号化器１０２、タグ発生器１０３、連結器１０４、乱数発生器１０５、攪乱部１０６、署名生成器１０７、送受信部１０８、乱数成分除去器１０９、署名検査部１１０、連結器１１１、暗号化器１１２、送受信部１１３、リスト検査部１１４から構成される。
【００７４】
記憶部１０１には、予め投票者の識別情報ＩＤｉと名前Ｖｉが保持されている。また、装置内で生成されるデータのうち、後の処理に使用されるデータも当該記憶部１０１に保持される。
【００７５】
暗号化器１０２は、投票者Ｖｉが選択した投票内容ｖｉ（ここでは、例えば、候補者名ＣＮＤｈ）集計者Ｃの公開鍵ｋＰＣで暗号化し、暗号文ｘｉ＝ξＣ（ｖｉ，ｋＰＣ）を得る。
【００７６】
タグ発生器１０３は、乱数ｔｉを発生し、その乱数ｔｉは、投票者Ｖｉのみが知っているタグとして後述のように使用される。
【００７７】
連結器１０４は、暗号文ｘｉとタグｔｉを連結してｚｉ＝ｘｉ‖ｔｉを出力する。以降、ｚｉを投票用紙と呼ぶことにする。
【００７８】
乱数発生器１０５は、乱数ｒｉを発生する。
【００７９】
攪乱部１０６は、ブラインド署名のあめの前処理として、攪乱関数ｅｉ＝ωＡ（ｚｉ，ｒｉ）により投票用紙ｚｉを乱数ｒｉで攪乱し、前処理文ｅｉを生成する。
【００８０】
署名生成器１０７は、前処理文ｅｉに対し、投票者Ｖｉのものであることを示すための署名ｓｉ＝σｉ（ｅｉ，ＩＤｉ）を生成する。データ〈ｅｉ，ｓｉ，ＩＤｉ〉は、送受信部１０８から通信路を介して選挙管理者装置２００に送信される。通信路による選挙管理装置２００との接続は、選挙管理者装置２００からブラインド署名ｄｉを受信し、投票データを選挙管理装置２００へ送信するまで維持され、本通信をセッション識別子Ｉとして管理する。
【００８１】
乱数成分除去器１０９は、選挙管理者装置２００から送受信部１０８により受信したブラインド署名ｄｉから乱数ｒｉを使って乱数成分除去関数
ｙｉ＝δＡ（ｄｉ，ｒｉ）
により乱数成分を除去し、ｙｉを投票用紙ｚｉに対する選挙管理者Ａの署名として得る。
【００８２】
署名検査部１１０は、検証関数
ｚｉ＝ζＡ（ｙｉ）
が成立するかを検査することにより、ｙｉが正当であるか検証する。
【００８３】
連結器１１１は、ｚｉ，ｙｉを連結してｚｉ‖ｙｉを暗号器１１２に出力する。
【００８４】
暗号器１１２は、ｚｉ‖ｙｉを集計者Ｃの公開鍵ｋＰＣで暗号化し、暗号文
ｘｘｉ＝ξＣ（ｚｉ‖ｙｉ）
を得る。これにより、ｘｘｉと現在の通信を識別するためのセッション識別子Ｉと共に、投票データとして送受信部１０８から選挙管理者装置２００に送信される。
【００８５】
リスト検査部１１４は、集計者装置３００にアクセスして送受信部１１３より得た投票リスト３２０Ａを検査する。
【００８６】
次に、選挙管理者装置２００について説明する。
【００８７】
図５は、本発明の第１の実施の形態における集計者装置の構成図であり、図６は、本発明の第１の実施の形態における各装置が有するリストを示す図である。選挙管理者装置２００は、送受信部２０１、投票者検査部２０２、署名検査部２０３、署名作成器２０４、セッションＩＤ作成器２０５、比較器２０６、記憶部２０７、投票者リスト作成部２０８から構成される。
【００８８】
送受信部２０１は、投票者装置１００とのデータの送受信を行う。
【００８９】
記憶部２０７は、図６（Ａ）に示す有権者の識別情報ＩＤｉが予め記録された有権者リストと、図６（Ｂ）に示す投票の承認を与えた投票者識別情報ＩＤｉを書き込む投票者リストを記憶する。
【００９０】
投票者検査部２０２は、投票者が有権者であるかを記憶部２０７の有権者リストを参照して確認する。
【００９１】
署名検査部２０３は、投票者装置１００から受信した投票者の前処理文ｅｉに対する投票者の署名ｓｉが正しいかを検証関数ｅｉ＝ζｉ（ｓｉ）が成立するかにより検査する。
【００９２】
署名作成器２０４は、前処理文ｅｉに対するブラインド署名ｄｉ＝σＡ（ｅｉ）を生成する。
【００９３】
セッションＩＤ作成器２０５及び比較器２０６は、ブラインド署名を与えた投票者との通信を維持しているかを確認する。
【００９４】
投票者リスト作成部２０８は、正当な投票者を記憶部２０７の所定の領域に書き込んで投票者リストを作成する。
【００９５】
次に、集計者装置３００について説明する。
【００９６】
図７は、本発明の第１の実施の形態における集計者装置の構成を示す。
【００９７】
集計者装置３００は、受信部３０１、復号器３０２、３０７分離器３０３、３０６、署名検査部３０４、投票リスト作成部３０５、集計器３０８、記憶部３０９、送受信部３１０から構成される。
【００９８】
受信部３０１は、投票者装置１００から投票データを受信する。
【００９９】
復号器３０２は、受信部３０１により受信した投票データｘｘｉを復号して、
ｚｉ‖ｙｉ＝ρＣ（ｘｘｉ，ｋＳＣ）
を求める。
【０１００】
分離器３０３は、復号器３０２で求められたｚｉ‖ｙｉのｚｉとｙｉを分離する。
【０１０１】
署名検査部３０４は、ｚｉと選挙管理者Ａの署名ｙｉに対し、検査関数ζＡ（ｙｉ）が成立するかを検査することにより署名ｙｉを検証する。
【０１０２】
投票リスト作成部３０５は、投票データ〈ｚｉ，ｙｉ〉に通し番号をｑｉを付与して、図６（Ｃ）に示すように投票リストに加える。
【０１０３】
記憶部３０９は、投票リスト作成部３０５により生成された投票リスト及び有権者リストを保持する。
【０１０４】
分離器３０６は、投票用紙ｚｉ＝ｘｉ‖ｔｉから暗号文ｘｉを分離する。
【０１０５】
復号器３０７は、集計者の秘密鍵ｋＳＣを使って復号関数ρｃによりｘｉを復号してｖｉ＝ρｃ（ｘｉ，ｋＳＣ）を投票内容として得る。
【０１０６】
集計器３０８は、投票内容ｖｉを集計する。また、記憶部３０９に保持されている投票リスト３０２Ａの通し番号ｑに対応する投票データに図６（Ｄ）に示すように復号された投票内容ｖｉを追加する。集計結果は、図６（Ｅ）に示すように各候補（ＣＮＤｈ：ｈ＝１，２，…）の得票数Ｃ＃ｈ（ｈ＝１，２，…）を得票数リストとして記憶部３０９に保持する。
【０１０７】
送受信部３１０は、投票リスト３２０Ａと得票数リスト３２０Ｂの内容をアクセスした投票者装置１００に送信する。
【０１０８】
次に、上記の構成における動作を説明する。
【０１０９】
図８は、本発明の第１の実施の形態における投票のシーケンスチャートである。
【０１１０】
ステップ１０１）　投票者Ｖｉは、投票者装置１００より投票の準備を以下のように行う。
【０１１１】
▲１▼　投票者Ｖｉは、投票者装置１００により投票内容ｖｉを暗号化器１０２で集計者Ｃの公開鍵ｋＰＣと暗号化関数ξＣにより暗号化し、暗号文ｘｉ＝ξＣ（ｖｉ，ｋＰＣ）を作成する。さらに、タグ発生器１０３によりタグｔｉを生成し、連結器１０４によりｘｉと連結して投票用紙ｚｉ＝ｘｉ‖ｔｉを得る。タグｔｉは、例えば乱数であり、投票者Ｖｉのみが自分のものであることを知っている。
【０１１２】
▲２▼　投票者Ｖｉは、乱数発生器１０５を用いて乱数ｒｉを生成し、攪乱部１０６を用いてｚｉをｒｉにより攪乱して前処理文ｅｉ＝ωＡ（ｚｉ，ｒｉ）を作成する。
【０１１３】
▲３▼　投票者Ｖｉは、署名生成器１０７を用いて、前処理文ｅｉと識別情報ＩＤｉに対する署名ｓｉ＝σｉ（ｅｉ，ＩＤｉ）を作成し、データ〈ｅｉ，ＳＩ，ＩＤｉ）を送受信部１０８から選挙管理者装置２００に送信する。
【０１１４】
ステップ１０２）　選挙管理者装置２００は、登録された有権者名Ｖｉとその識別情報ＩＤｉの関係を図６（Ａ）に示すように、有権者リストとして予め有しており、更に、投票の承認を与えた有権者の名前Ｖｉまたは、識別情報ＩＤｉを投票者リスト作成部２０８により書き込むための投票者リスト（図６（Ｂ））を有している。投票者リストは投票受付終了後に公開されるので、承認された投票者の名前Ｖｉを公開してよいのであれば、投票者名Ｖｉを書き込むが、投票者の名前が知られるのを避けるのであれば、識別情報ＩＤｉを記録する。投票システムとしていずれか一方に決めておく。以下の説明では、投票者Ｖｉの識別情報ＩＤｉを投票者リスト（図６（Ｂ））に書き込むこととする。投票受付開始時点では、投票者リストの中には何も記録されない。選挙管理者装置２００よる承認手続を以下のように行う。
【０１１５】
▲１▼　選挙管理者Ａは、投票者が有権者であることを、有権者リスト（図６（Ａ））に識別情報ＩＤｉがあるか否かを投票者検査部２０２により調べて確認する。もし無ければ、選挙管理者Ａは承認を拒否する。
【０１１６】
▲２▼　選挙管理者Ａは、これ以前に投票者Ｖｉが選挙管理者Ａによる承認を受けているか否かを、投票者リスト（図６（Ｂ））にＩＤｉが既に書き込まれているかを投票者検査部２０２により調べて検査する。もし、ＩＤｉが既に承認されていたならば、選挙管理者Ａは二重投票として承認を拒否する。
【０１１７】
▲３▼　ＩＤｉがまだ書き込まれていなければ、選挙管理者Ａは、署名検査部２０３を用いて、ｓｉとｅｉが、
ｅｉ＝ζｉ（ｓｉ）
を満足するか検査し、もし、合格ならば選挙管理者Ａは、ｅｉを署名作成器２０４に通して、署名ｄｉ＝σＡ（ｅｉ）を計算し、ｄｉを送受信部２０１から投票者装置１００に送信すると共に、投票者リスト作成部２０８により記憶部２０７内の投票者リスト（図６（Ｂ））に投票者ＶｉのＩＤｉを追加する。
【０１１８】
▲４▼　投票受付終了後、選挙管理者Ａは、投票者リストと投票者数を公表する。公表の方法は、予め有権者に所定の日時から一定期間内に任意の通信路を介して選挙管理者装置２００の記憶部２０７内の投票者リストにアクセス可能であることを告知しておく。このリストへのアクセス方法は、例えば、予め決められた電話番号により行うようにすることができる。投票者リストの公表場所は選挙管理者装置２００内ではなく、インターネット上の予め決めたアドレスに公表してもよい。
【０１１９】
ステップ１０３）　投票者Ｖｉは、投票者装置１００により投票用紙とその署名情報を以下のように作成する。
【０１２０】
▲１▼　投票者Ｖｉは、ｄｉとｒｉを乱数成分除去器１０９に入力して、投票用紙ｚｉに対する署名情報ｙｉ＝δＡ（ｄｉ，ｒｉ）を求める。
【０１２１】
▲２▼　投票者Ｖｉは、署名検査部１１０を用いて、ｙｉが選挙管理者Ａの署名であることをｚｉ＝ζＡ（ｙｉ）が成立するかにより確認する。もし、不合格であったなら、投票者Ｖｉは、データ〈ｅｉ，ｄｉ〉を示すことにより、選挙管理者Ａの不正を主張する。
【０１２２】
▲３▼　投票者Ｖｉは、署名確認が合格であれば、連結器１１１により、ｚｉ、ｙｉを連結し（ｚｉ‖ｙｉ）、さらに、暗号化器１１２により集計者Ｃの公開鍵ｋＰＣと暗号化関数ξＣにより暗号化し、暗号文ｘｘｉ＝ξＣ（ｚｉ‖ｙｉ，ｋＰＣ）を作成する。送受信部１０８からデータｘｉｉと現在のセッションを示すセッション識別子Ｉを選挙管理者装置２００に通信路を介して送信する。
【０１２３】
ステップ１０４）　管理者は、投票者Ｖｉから送られたセッション識別子Ｉが現在通信中のセッション識別子かを比較器２０６を利用して確認し、合格であれば、ｘｉｉを集計者装置３００に送信する。
【０１２４】
ステップ１０５）　集計者Ｃは、集計者装置３００により以下のようにして票を収集する。
【０１２５】
▲１▼　集計者Ｃは、投票者から受信部３０１により、ｘｉｉを受信して、復号器３０２にて開票し、秘密鍵ｋＳＣを使って投票内容ｚｉ‖ｙｉを
ｚｉ‖ｙｉ＝ρＣ（ｘｘｉ，ｋＳＣ）
により求め、分離器３０３によりｚｉ，ｙｉを分離する。署名検査部３０４を用いて、ｙｉが投票用紙ｚｉに対する正当な署名であることをｚｉ＝ζＡ（ｙｉ）が成立するかを検査することにより確認する。もし、合格ならば、投票リスト作成部３０５により投票リスト（図６（Ｃ））に、それぞれの投票用紙ｚｉとその署名ｙｉに一連の番号ｑにより番号付けし、投票データ〈ａ，ｚｉ，ｙｉ〉として掲載する。
【０１２６】
▲２▼　すべての投票後、集計者Ｃは、送受信部３１０を通して記憶部３０９にアクセス可能とすることにより投票リストを公表する。この投票リストはすべての投票者からアクセスが可能であるとする。公表方法は、前述の投票者リストの場合と同様に、公報期間、公開場所を予め告知しておく。
【０１２７】
ステップ１０６）　投票者Ｖｉは、投票者装置１００により以下のようにして検証を行う。
【０１２８】
▲１▼　投票者Ｖｉは、送受信部１１３により集計者装置３００の記憶部３０９にアクセスし、投票リストの内容を受信し、投票リストに掲載された投票の数がステップ１０２の▲４▼で公表された投票者の数と一致するかをリスト検査部１１４で検査する。もし、不合格ならば、番号ｑと乱数ｒｉを公表して、選挙管理者Ａの不正を主張する。
【０１２９】
▲２▼　投票者Ｖｉは、自らの投票用紙ｚｉが、投票リストに掲載されているかをリスト検査部１１４で検査する。その検査として、ｚｉそのものがリスト中にあるかを検査してもよいし、ｚｉ＝ｘｉ‖ｔｉ中のタグが自分のものであるかを検査してもよい。もし、掲載されていなければ、投票データ〈ｚｉ，ｙｉ〉を示して、集計者Ｃに不正を主張する。
【０１３０】
ステップ１０７）　集計者Ｃは、集計者装置３００により以下のようにして開票、及び集計を行う。
【０１３１】
▲１▼　受信部３０１により投票者Ｖｉからの投票用紙ｚｉと署名ｙｉの受信開始後、前述の不正の通知が所定時間内になければ、集計者Ｃは、分離器３０６で投票用紙ｚｉ＝ｘｉ‖ｔｉからｘｉを分離し、復号器３０７にて開票し、秘密鍵ｋＳＣを使って投票内容ｖｉをｖｉ＝ρＣ（ｘｉ，ｋＳＣ）により求め、投票内容ｖｉが正しい投票か、つまり、投票内容ｖｉが予め提示した候補を表す名前または、記号となっているかを検査する。なっていなければ、無効投票とされる。
【０１３２】
▲２▼　集計者Ｃは、図６（Ｃ）の投票リストの投票内容ｖｉを、集計器３０８を用いて集計し、各候補に対する投票数を得て、その結果を図６（Ｅ）に示す得票数リストとして公表すると共に、ｑ番目の投票データ〈ｘｉ，ｔｉ，ｙｉ〉に対し、図６（Ｄ）に示すように、ｖｉを追加する。集計結果は投票リストに添付して公表する。
【０１３３】
ステップ１０８）　投票者Ｖｉは、投票者装置１００により集計者Ｃの操作が正しいことを確認する。つまり、図６（Ｃ）に示す投票リスト中に全てのｖｉが追加されたか、また投票者Ｖｉのｘｉとｖｉとが対応しているかを確認する。
【０１３４】
なお、上記のステップ１０５は省略してもよいし、さらに、ステップ１０７の▲２▼における得票数リストの公表及びステップ１０８も省略してもよい。
【０１３５】
［第２の実施の形態］
前述の第１の実施の形態では、投票者Ｖｉが集計者Ｃの暗号化関数ξＣを使って投票内容ｖｉをｘｉ＝ξＣ（ｖｉ，ｋＰＣ），ｘｘｉ＝ξＣ（ｚｉ‖ｙｉ，ｋＰＣ）と暗号化し、選挙管理者装置２００を経由して集計者装置３００に投票データを送るので、集計者装置Ｃは、もしそのつもりなれば、ステップ１０５の▲２▼で投票リストを公開する前であっても集計者の秘密鍵ｋＰＣを使って投票用紙ｚｉ中のｘｉを復号関数ｖｉ＝ρＣ（ｘｉ，ｋＳＣ）により復号してｖｉを得ることができる。即ち、投票リストの公開を待たずに投票の傾向、途中結果などの情報を得て、その情報を公式の集計結果が出る前に特定な人に漏らすことができるので、選挙の公平性の点から好ましくない。また、第１の実施の形態では、集計者装置３００が故障した場合、投票の集計をスケジュール通りに完了できないこともある。そこで、図９に示すように、複数の集計者によりそれぞれ管理される複数の集計者装置３００１…３００ｎにより暗号化投票内容を復号し、集計することによりこれらの点について改善することができる。
【０１３６】
ここで、分散集計者の暗号関数（暗号化関数ξＣ、復号化関数ρＣ）は、公開鍵暗号方式で使用されるものであるが、各暗号文ｘｉに対して全ての分散集計者がそれぞれ持っている分散秘密鍵ｋＳＣｊで復号処理を行うことではじめて、暗号文が復号可能となったり、または、復号処理に必要な人数に閾値Ｕｔ（２＜Ｕｔ＜Ｕ）が存在し、一定数の閾値付分散集計者が集まれば、復号可能なようなものとする。このような暗号関数については、例えば、ＥｌＧａｍａｌ暗号（Ｔａｈｅｒ　ＥｌＧａｍａｌ：”Ａ　ｐｕｂｌｉｃ　ｋｅｙｃｒｙｐｔｏｓｙｓｔｅｍ　ａｎｄ　ａ　ｓｉｇｎａｔｕｒｅ　ｓｃｈｅｍｅ　ｂａｓｅｄ　ｏｎ　ｄｉｓｃｒｅｔｅ　ｌｏｇａｒｉｔｈｍｓ，”　ＩＥＥＥ　Ｔｒａｎｚａｃｔｉｏｎｓ　ｏｎ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｔｈｅｏｒｙ，　Ｖｏｌ．　ＩＴ−３１，　Ｎｏ．４，　ｐｐ．４６９−４７２（Ｊｕｌｙ，　１９８５））の暗号化関数と復号化関数があり、これの分散した復号者による復号の手法や閾値を導入した手法についての詳細は、『Ｙｖｏ　Ｄｅｓｍｅｄｔ，　Ｙａｌｅ　Ｆｒａｎｋｅｌ：　”Ｔｈｒｅｓｈｏｌｄ　ｃｒｙｐｔｏｓｙｓｔｅｍｓ”　ｉｎ　Ａｄｖａｎｃｅｓ　ｉｎ　Ｃｒｙｐｔｏｌｏｇｙ−ＣＲＹＰＴＯ’８９，　Ｌｅｃｔｕｒｅ　Ｎｏｔｅｓ　ｉｎ　Ｃｏｍｐｕｔｅｒ　Ｓｃｉｅｎｃｅ　４３５，　Ｓｐｒｉｏｎｇｅｒ−Ｖｅｒｌａｇ，　Ｂｅｒｌｉｎ，　ｐｐ．３０７−３１５（１９９０）』に記述されている。また、特開２０００−２０７４８３「電子投票方法、投票システム及びプログラム記録媒体」にも記述されている。
【０１３７】
また、上記の第１の実施の形態及び第２の実施の形態における、投票者装置、選挙管理者装置、及び集計者装置の各動作をプログラムとして構築し、ネットワークを介して流通させる、または、投票者装置、選挙管理者装置、及び集計者装置として利用されるコンピュータにインストールすることも可能である。
【０１３８】
また、構築されたプログラムを投票者装置、選挙管理者装置、及び集計者装置として利用されるコンピュータに接続されるハードディスク装置や、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際にコンピュータにインストールすることも可能である。
【０１３９】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【０１４０】
【発明の効果】
上述のように、本発明によれば、投票者が管理者及び集計者の両者に投票データを送るのではなく、管理者のみに投票データを送り、管理者が集計者に投票データを送ることによって、投票者が投票処理の異常を装って二重投票を防ぐことができる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の第１の実施の形態における投票システムの構成図である。
【図４】本発明の第１の実施の形態における投票者装置の構成図である。
【図５】本発明の第１の実施の形態における選挙管理者装置の構成図である。
【図６】本発明の第１の実施の形態における各装置が有するリストである。
【図７】本発明の第１の実施の形態における集計者装置の構成図である。
【図８】本発明の第１の実施の形態における投票のシーケンスチャートである。
【図９】本発明の第２の実施の形態におけるシステム構成図である。
【符号の説明】
１００　投票者装置
１０１　記憶部
１０２　暗号化器
１０３　タグ発生器
１０４　連結器
１０５　乱数発生器
１０６　攪乱部
１０７　署名生成器
１０８　送受信部
１０９　乱数成分除去器
１１０　署名検査部
１１１　連結器
１１２　暗号化器
１１３　送受信部
１１４　リスト検査部
１３０　前処理文作成手段
１４０　投票データ作成手段
２００　管理者装置、選挙管理者装置
２０１　送受信部
２０２　投票者検査部
２０３　署名検査部
２０４　署名作成部
２０５　セッションＩＤ作成器
２０６　比較器
２０７　記憶部
２０８　投票者リスト作成部
２３０　署名生成手段
２４０　投票データ確認手段
３００　集計者装置
３０１　受信部
３０２　復号器
３０３　分離器
３０４　署名検査部
３０５　投票リスト作成部
３０６　分離器
３０７　復号器
３０８　集計器
３０９　記憶部
３１０　送受信部
３２０Ａ　投票者リスト
３２０Ｂ　得票数リスト
３３０　投票データ復号手段
３４０　集計手段
【図１】
2004013606.tif 000003
【図２】
2004013606.tif 000004
【図３】
2004013606.tif 000005
【図４】
2004013606.tif 000006
【図５】
2004013606.tif 000007
【図６】
2004013606.tif 000008
【図７】
2004013606.tif 000009
【図８】
2004013606.tif 000010
【図９】
2004013606.tif 000011