"ネットワークに接続された投票者端末100,110,140と、公開情報から前記投票者端末100,110,140毎に第1暗号化パラメータを生成する第1データ変換手段206を有し、前記第1暗号パラメータを前記投票者端末100,110,140に送信する第1の暗号サーバ200と、前記公開情報から前記投票者端末100,110,140毎に第2暗号化パラメータを生成する第2データ変換手段405,415,445を有し、前記第2暗号化パラメータを前記投票者端末100,110,140に送信する第2の暗号サーバ400,410,440と、前記投票者端末100,110,140から暗号化投票データを受信し、該受信した暗号化投票データの内で有効な暗号化投票データのリストを作成し、該作成したリストを前記ネットワーク経由で送信する投票サーバ200と、前記投票サーバ200から受信した前記有効な暗号化投票データのリストを復号し、該リストの順序を入れ換えた平文の候補者名リストを生成し、前記ネットワーク経由で送信する復号サーバ500とを備え、前記投票サーバ200は、前記復号サーバ500から前記平文の候補者名リストを受信し、該受信した候補者名リストに基づいて投票結果を集計し、前記投票者端末100,110,140は、投票内容を前記第1及び第2暗号化パラメータに基づいて暗号化して暗号化投票データを生成する暗号化手段104,114,144を有し、該暗号化投票データを前記投票サーバ200に送信することを特徴とする匿名電子投票システム。前記第1の暗号サーバ200と前記投票サーバ200とが同一のサーバ上で作動する、請求項1に記載の匿名電子投票システム。前記投票者端末100,110,140は、前記暗号化投票データに加えて、暗号化証明データを作成して前記投票サーバ200に送信し、前記投票サーバ200は、少なくとも前記暗号化証明データを検証して正当性を検証した後に、対応する暗号化投票データを前記有効な暗号化投票データとして認める、請求項1又は2に記載の匿名電子投票システム。投票者名簿に含まれる投票者又は投票者端末の識別情報をリストとして記憶する記憶装置を有し、前記投票者端末100から前記暗号化投票データ及び識別情報を受信し、前記記憶装置に記憶された識別情報に基づいて前記暗号化投票データを認証する認証サーバ300を更に備え、前記投票サーバ200は、少なくとも前記認証サーバ300により認証情報が付加された暗号化投票データを前記有効な暗号化投票データとして認める、請求項1~3の何れか一に記載の匿名電子投票システム。認証サーバ300を更に備えており、前記投票者端末110は、前記暗号化投票データと、組織内識別情報と、秘密鍵とに基づいて、組織内デジタル署名を生成する組織内署名生成手段113を有し、前記認証サーバ300は、前記投票者端末110から前記暗号化投票データと、組織内識別情報と、組織内デジタル署名とを受信し、公開鍵に基づいて前記組織内デジタル署名を認証し、前記投票サーバ200は、少なくとも前記認証サーバ300により認証情報が付加された暗号化投票データを前記有効な暗号化投票データとして認める、請求項1~3の何れか一に記載の匿名電子投票システム。第1の暗号サーバ200で、公開情報から前記投票者端末100,110,140毎に第1暗号化パラメータを生成し、該第1暗号パラメータを投票者端末100,110,140に送信する段階と、第2の暗号サーバ400,410,440で、前記公開情報から前記投票者端末100,110,140毎に第2暗号化パラメータを生成し、該第2暗号化パラメータを前記投票者端末100,110,140に送信する段階と、前記投票者端末100,110,140で、投票者の投票内容を前記第1及び第2暗号化パラメータに基づいて暗号化して暗号化投票データを生成し、該暗号化投票データを投票サーバ200に送信する段階と、投票サーバ200で、受信した暗号化投票データの内で有効な暗号化投票データのリストを作成し、該作成したリストを前記ネットワーク経由で送信する段階と、復号サーバ500で、前記投票サーバ200から受信した前記有効な暗号化投票データのリストを復号し、該リストの順序を入れ換えた平文の候補者名リストを作成して、前記ネットワーク経由で送信する段階と、前記投票サーバ200で、前記平文の候補者名リストを受信し、該受信した候補者名リストに基づいて投票結果を集計する段階とを備えることを特徴とする匿名電子投票方法。前記暗号化投票データを作成する段階が、前記暗号化投票データの正当性を証明する暗号化証明データを作成し、前記投票サーバ200で、少なくとも前記暗号化証明データを検証して正当性を検証した後に、対応する暗号化投票データを前記有効な暗号化投票データとして認める段階を更に備える、請求項6に記載の匿名電子投票方法。認証サーバ300で、前記投票者端末100から前記暗号化投票データ及び識別情報を受信し、記憶装置に記憶された識別情報に基づいて前記暗号化投票データを認証する段階と、前記投票サーバ200で、少なくとも前記認証情報が付加された暗号化投票データを前記有効な暗号化投票データとして認める段階とを更に備える、請求項6に記載の匿名電子投票方法。前記投票者端末110で、前記暗号化投票データと、組織内識別情報と、秘密鍵とに基づいて、組織内デジタル署名を生成する段階と、前記認証サーバ300で、前記投票者端末110から前記暗号化投票データと、組織内識別情報と、組織内デジタル署名とを受信し、公開鍵に基づいて前記組織内デジタル署名を認証する段階と、前記投票サーバ200で、少なくとも前記認証情報が付加された暗号化投票データを前記有効な暗号化投票データとして認める段階とを更に備える、請求項6に記載の匿名電子投票方法。従来の匿名電子投票システムでは、投票者が使用するクライアント端末が携帯電話機のような記憶容量や処理能力の乏しい機器である場合には、投票の秘密が守られた投票が難しい、という問題点がある。その理由は、従来の匿名電子投票システムで投票者が行なう暗号化処理プログラムは、記憶容量や処理能力の乏しい機器には実装するのが難しく、一方、他の機器に投票内容を送って暗号化処理を行なうこととすると、暗号化処理を行なう機器には投票内容がわかってしまうからである。また、従来の匿名電子投票システムでは、広く一般の人を有権者とするような投票例えば公職選挙において、有権者の認証が困難であり、非有権者の投票や重複投票を防止することが難しい、という問題点もある。その理由は、従来の匿名電子投票システムでは、有権者の認証に利用するデジタル署名において、すべての投票者が共通の公開鍵認証基盤に登録されていることを前提としているが、現在、一般にはそのような基盤が普及していないためである。そこで本発明の第1の目的は、携帯電話機などの記憶容量や処理能力の小さい機器からも投票の秘密を守りつつ投票を行なえる電子投票システム及び匿名電子投票方法を提供することである。本発明の第2の目的は、すべての有権者が共通の公開鍵認証基盤に登録されているような条件が整備されていない場合であっても、有権者認証の行なえる匿名電子投票システム及び匿名電子投票方法を提供することである。本発明は、第1の視点において、候補者名と暗号化候補者名との組合わせをリストとして含むデータを受信して、選択された候補者の前記暗号化候補者名をネットワーク経由で送信する投票者端末と、前記暗号化候補者名を受信し再度暗号化して暗号化投票データを作成し、該暗号化投票データを、前記暗号化候補者名を送信した当該投票者端末に前記ネットワーク経由で返信する少なくとも1つの暗号サーバと、前記投票者端末から暗号化投票データを受信し、該受信した暗号化投票データの内で有効な暗号化投票データのリストを作成し、該作成したリストを前記ネットワーク経由で送信する投票サーバと、前記投票サーバから受信した前記有効な暗号化投票データのリストを復号し、該リストの順序を入れ換えた平文の候補者名リストを前記ネットワーク経由で送信する復号サーバとを備え、前記投票サーバは、前記復号サーバから前記平文の候補者名リストを受信し、該受信した候補者名リストに基づいて投票結果を集計することを特徴とする電子投票システムを提供する。本発明の第1の視点に係る匿名電子投票システムの好ましい態様では、投票サーバは復号サーバ匿名復号システムと接続され、投票サーバには暗号化手段を備え、暗号化手段をもたない投票者端末は暗号サーバと接続されており、共通基盤署名生成手段をもたない投票者端末は認証サーバと接続される。暗号サーバには再暗号化手段を備え、認証サーバにはID連携手段と共通基盤署名生成手段を備える。上記構成において、投票サーバは暗号化手段をもたない投票者端末に対しては平文の候補者名と暗号化された候補者名の組を送信し、暗号化手段をもたない投票者端末は、投票者の選んだ候補者名に対応する、暗号化された候補者名を、暗号サーバを介して再度暗号化してから投票サーバに送信し、投票サーバは、受信したすべての暗号データを匿名復号システムにより復号する。これにより、本発明の第1の目的を達成することができる。また、共通基盤署名生成手段をもたない投票者端末は、認証サーバと通信を行なって組織内での個人認証を行ない、認証サーバは組織内に閉じた投票者IDをID連携手段により共通基盤におけるIDに変換し、このIDと投票データの組に認証サーバの共通基盤デジタル署名を付与して投票サーバに送信する。このように、既存の認証基盤を利用して個人認証を行なったことを認証サーバのデジタル署名により証明することで、本発明の第2の目的を達成することができる。本発明は、第2の視点において、ネットワークに接続された投票者端末と、公開情報から前記投票者端末毎に第1暗号化パラメータを生成する第1データ変換手段を有し、前記第1暗号パラメータを前記投票者端末に送信する第1の暗号サーバと、前記公開情報から前記投票者端末毎に第2暗号化パラメータを生成する第2データ変換手段を有し、前記第2暗号化パラメータを前記投票者端末に送信する第2の暗号サーバと、前記投票者端末から暗号化投票データを受信し、該受信した暗号化投票データの内で有効な暗号化投票データのリストを作成し、該作成したリストを前記ネットワーク経由で送信する投票サーバと、前記投票サーバから受信した前記有効な暗号化投票データのリストを復号し、該リストの順序を入れ換えた平文の候補者名リストを生成し、前記ネットワーク経由で送信する復号サーバとを備え、前記投票サーバは、前記復号サーバから前記平文の候補者名リストを受信し、該受信した候補者名リストに基づいて投票結果を集計し、前記投票者端末は、投票内容を前記第1及び第2暗号化パラメータに基づいて暗号化して暗号化投票データを生成する暗号化手段を有し、該暗号化投票データを前記投票サーバに送信することを特徴とする匿名電子投票システムを提供する。上記本発明の第2の視点に係る匿名電子投票システムの好ましい態様では、投票サーバが、第1の視点の匿名電子投票システムにおける暗号化手段にかえて第1の変換手段を備え、第1の視点の匿名電子投票システムにおける暗号サーバの再暗号化手段にかえて第2の変換手段を備え、投票者端末が暗号化手段暗号データ作成手段を備える。上記好ましい態様の第2の視点に係る匿名電子投票システムでは、投票サーバは、第1の変換手段により投票内容の暗号化処理に必要な演算の一部を行なってその結果である暗号パラメータを投票者端末へ送信し、暗号サーバも同様に第2の変換手段により投票内容の暗号化処理に必要な演算の一部を行なってその結果である暗号パラメータを投票者端末へ送信し、投票者端末では投票内容とともに、投票サーバから受信した第1の変換結果と暗号サーバから受信した第2の変換結果とを暗号データ作成手段に入力して暗号化投票データを作成することで、本発明の第1の目的を達成することができる。本発明の匿名電子投票システムは、記憶容量や処理能力の小さい機器からも電子投票を行なえる、という効果を有する。その理由は、暗号化処理のすべて、もしくは、暗号化処理のうちで計算量の多い変換処理を、投票者端末で行なう必要がないからである。また本発明の匿名電子投票システムは、記憶容量や処理能力の小さい機器を使って電子投票を行なっても、投票の秘密を守ることができる、という効果を有する。その理由は、暗号化投票データの復号は復号サーバによって行なわれるため、すべての暗号化投票データが復号されても、どの投票者の暗号化投票データがどの平文に対応するかがわからないことと、投票内容の平文は投票サーバと暗号サーバの両方の処理により暗号化され、投票サーバや暗号サーバは、単独では投票された暗号化投票データを復号できないからである。さらに本発明の好ましい態様のの匿名電子投票システムは、すべての有権者が共通の公開鍵認証基盤に登録されているような条件が整備されていなくても、不正投票を防止しつつ投票を行なえる、という効果を有する。その理由は、組織内に限られた認証手段しかもたない有権者を認証サーバが認証し、その投票データに認証サーバのデジタル署名を付与することで、認証サーバによる投票者の認証が行なわれているデータであることを確認できるからである。次に、本発明の好ましい実施の形態について、図面を参照して詳細に説明する。《第1の実施形態》図1は、本発明の第1の実施形態の匿名電子投票システムの構成を示している。この匿名電子投票システムは、それぞれ構成要素や処理能力などが異なっている投票者端末100,110,120,130,140,150と、投票センタ投票サーバ200と、認証サーバ300と、暗号サーバ400,410,440と、匿名復号システム500とから構成される。暗号サーバ400,410,440は、それぞれ、投票者端末100,110,140と接続している。後述する説明から明らかなように、投票者端末100,110,120,130,140,150からの投票センタ200への接続形態は多様であり、あるものは投票センタ200に直接接続し、別のものは認証サーバ300を介して投票センタ200に接続し、また別のものは、直接接続と認証サーバ300を介した接続とを併用している。ここでは簡単のため図示を省略するが、投票者端末100,110,120,130,140,150は、それぞれ、複数存在してもかまわない。また、投票者端末ひとつにつきひとつの暗号サーバが接続される構成としてもよいし、いくつかの投票者端末がひとつの暗号サーバと接続される構成としてもよい。また、暗号サーバと認証サーバとが同一のサーバ上で動作することも可能である。まず、各投票者端末100,110,120,130,140,150の構成について説明する。投票者端末100は、ディスプレイなどの表示装置101と、ボタンやキーボードなどの入力装置102と、機器側認証手段103とを備え、投票サーバ200、認証サーバ300、暗号サーバ400と通信回線などにより接続されている。投票者端末110は、ディスプレイなどの表示装置111と、ボタンやキーボードなどの入力装置112と、組織内基盤署名生成手段113とを備え、投票サーバ200、認証サーバ300、暗号サーバ410と通信回線などにより接続されている。投票者端末120は、ディスプレイなどの表示装置121と、ボタンやキーボードなどの入力装置122と、機器側認証手段123と、暗号化手段124とを備え、投票サーバ200、認証サーバ300と通信回線などにより接続されている。投票者端末130は、ディスプレイなどの表示装置131と、ボタンやキーボードなどの入力装置132と、組織内基盤署名生成手段133と、暗号化手段134とを備え、投票サーバ200、認証サーバ300と通信回線などにより接続されている。投票者端末140は、ディスプレイなどの表示装置141と、ボタンやキーボードなどの入力装置142と、共通基盤署名生成手段143とを備え、投票サーバ200、暗号サーバ440と通信回線などにより接続されている。投票者端末150は、ディスプレイなどの表示装置151と、ボタンやキーボードなどの入力装置152と、共通基盤署名生成手段153と、暗号化手段154とを備え、投票サーバ200と通信回線などにより接続されている。投票サーバ200は、有権者名簿データベース201と、共通基盤署名検証手段202と、暗号化手段203と、ハードディスクドライブなどの記録装置204とを備え、投票者端末100,110,120,130,140,150及び認証サーバ300と通信回線などにより接続されている。認証サーバ300は、サーバ側認証手段301と、組織内基盤署名検証手段302と、共通基盤署名生成手段303と、ID連携手段304とを備えている。暗号サーバ400,410,440は、それぞれ再暗号化手段401,411,441を備えている。投票者端末100,120の機器側認証手段103,123は、認証サーバ300のサーバ側認証手段301と通信を行ない、投票者端末を操作している投票者の識別子がIDjであることの認証を受けるとともに、このサーバ側認証手段301と通信を行ない、投票者端末100,120を操作している投票者jの識別子IDjを認証サーバ300に通知する。投票者端末120,130,140,150と投票サーバ200とにそれぞれ設けられた暗号化手段124,134,144,154,203は、暗号化公開鍵Yと平文投票データvを入力とし、Yによりvを暗号化した暗号化投票データEvを出力する。暗号サーバ400,410,440の再暗号化手段401,411,441は、いずれも、暗号化公開鍵Yと暗号化投票データEvを入力とし、YによりEvを再度暗号化した暗号化投票データE’vを出力する。投票者端末110,130の組織内署名生成手段113,133は、暗号化投票データEvjと投票者jの組織内識別子IIDjと署名用秘密鍵djとを入力とし、データEvj,IIDjに対する投票者jの組織内向けデジタル署名Sejを出力する。認証サーバ300の組織内署名検証手段302は、暗号化投票データEvjと組織内識別子IIDjと組織内向けデジタル署名Sejと検証用公開鍵Pjとを入力とし、SejがデータEvj,IIDjに対して署名用秘密鍵djにより正しく計算されたものかどうかを判定する。投票者端末140,150の共通基盤署名生成手段143,153は、暗号化投票データEvjと投票者jの共通識別子CIDjと署名用秘密鍵djを入力とし、データEvj,CIDjに対する投票者jの共通基盤デジタル署名Sejを出力する。認証サーバ300の共通基盤署名生成手段303は、暗号化投票データEvjと投票者jの共通識別子CIDjと、認証サーバの署名用秘密鍵dkを入力とし、データEvj,CIDjに対する認証サーバの共通基盤デジタル署名Sekを出力する。投票センタ200の共通基盤署名検証手段202は、暗号化投票データEvjと共通識別子CIdjと共通基盤デジタル署名Sekを入力とし、SekがデータEvj,CIDjに対して署名用秘密鍵dkにより正しく計算されたものかどうかを判定する。認証サーバ300のID連携手段304には、組織内識別子IIDjと共通識別子CIDjとの対応関係が記録されており、組織内識別子IIDjが入力されると対応する共通識別子CIDjを出力する。匿名復号システム500は、外部から入力された初期設定情報に従って暗号化公開鍵Yを生成して出力し、外部から暗号化投票データEvjのリストが入力されると、Evjのリストを復号し、順番をランダムに並びかえた平文投票データvjのリストと、入力されたEvjのリストと出力したvjのリストとの間に1対1の対応関係があることの証明データとを出力する。投票者端末110,130の組織内署名生成手段113,133と、投票者端末140,150の共通基盤署名生成手段143,153と、認証サーバ300の共通基盤署名生成手段303は、いずれもデジタル署名を作成するものであり、これに対し認証サーバ300の組織内署名検証手段302と投票サーバ200の共通基盤署名検証手段202とは、デジタル署名の検証を行うものである。ここでのデジタル署名には、例えばRSA暗号などの公開鍵暗号を用いるデジタル署名を用いることができる。RSA暗号を用いる場合、署名者jのデータVに対する署名Sjvは、Vと署名者jの署名用秘密鍵djを用いて、Sjv=V^djmodnにより計算され、署名検証は、VとSjvと、djに対応する検証用公開鍵ejを用いて、Sjv^ej=Vmodnが成り立てば合格となる。なお、^はべき乗を表わす記号であり,V^djはVをdj回べき乗した結果すなわちVdjを表わす。ここで、dj,ej,nは、二つの素数p,qに対して、n=p×q,dj×ej=1modp-1×q-1と表わされる整数であり、あらかじめ各署名者jごとに相異なるdj,ejの組を作成し、djは各署名者jが秘密に保持し、n,ejの組は署名者jの識別子IDjと関連づけて公開しておくようにする。署名検証においては、公開されているIDjとn,ejとの対応関係を検索してn,ejを取得して署名検証の処理を行なう。djは署名生成用秘密鍵、n,ejは署名検証用公開鍵とよばれる。組織内署名生成手段113,133及び組織内署名検証手段302においては、識別子IDjは例えば社員番号など、ある組織の内部でのみ公開利用される組織内識別子であり、別々の組織に属する別の個人に割り振られた識別子が同じIDjになっている可能性もあり、また、有権者名簿に登録される有権者の識別子有権者名などとの対応関係は公開されているとは限らない。IDjに対応する署名検証用公開鍵n,ejの組も同様に、組織の内部にのみ公開される場合もある。一方、共通基盤署名生成手段143,153,303及び共通基盤署名検証手段202においては、署名者の識別子IDjとn,ejとは広く一般に公開され、別の個人に同じ識別子が割り振られることのない、共通識別子であり、有権者名簿データベース201には共通識別子を含む情報が記録される。投票者端末100,120の機器側認証手段103,123と、認証サーバ300のサーバ側認証手段301は、個人認証を行うものである。ここでは、ID文字列とパスワードによる個人認証や、携帯電話の端末認証に基づいた個人認証などを用いることができる。ID文字列とパスワードによる個人認証を行なう場合、認証サーバ300にはあらかじめ投票者の組織内識別子とパスワードの対応関係を記録しておく。機器側認証手段103,123は、入力装置102,122から入力された投票者の組織内識別子IIDjを認証サーバ300に送る。認証サーバ300は、サーバ側認証手段301により、受信したIIDjがあらかじめ記録された組織内識別子のリストに含まれることを確認し、乱数cを生成して投票者端末100,120へ返信する。機器側認証手段103,123は、入力装置102,122から入力されたパスワードpwと乱数cとをSHA1などのハッシュ関数に入力し、出力された値rを認証サーバ300に返信する。サーバ側認証手段301は、あらかじめ記録された組織内識別子とパスワードのリストをIIDjをキーとして検索し、IIDjに対応するpwを取得し、SHA1などのハッシュ関数にpwとcとを入力し、出力された値が投票者端末100,120から返信された値rと一致すれば、投票者端末100,120を操作している投票者をIIDjで示される投票者であると認める。本実施形態において、投票者端末120,130,150及び投票サーバ200に設けられる暗号化手段123,133,153,203と、暗号サーバ400,410,440に設けられる再暗号化手段401,411,441と、匿名復号システム500については、例えば特許文献1に示された技術を用いることができる。特許文献1に示された技術を用いる場合、匿名復号システム500は、投票センタ200からセキュリティパラメータpL,qL,tとセッションIDが入力されると、pL,qL,tに従って公開情報p,q,gと秘密鍵Xを生成し、公開情報に公開鍵Yを加えた公開情報p,q,g,Yを出力して投票センタ200に返信する。ここで、p,qはエルガマル暗号のパラメータであり、ある整数kによりp=k×q1という関係にある素数である。gは、法pにおける位数qの部分群を生成する生成元である。また、pL,qLは、素数p,qの長さであり、tは、順番入れ替え処理が正しいことを証明するためにデータの生成時および検証時に使用する繰り返し回数である。セッションIDは処理対象を識別するための識別子である。ここで、処理対象は、例えば県知事選挙、市議会議員選挙などである。公開鍵Yは復号鍵Xに対して、Y=g^Xmodqの計算によって得られた値であり、復号鍵Xは無作為に選ばれたq未満の乱数である。暗号化手段123,133,153,203は、公開情報p,q,g,Yと平文投票データviを入力とし、暗号化投票データEviを出力する。EviはGi,Viという組で表され、Gi,Vi=g^rmodp,vi×Y^rmodpの計算によって得られる。ここでrは、平文投票データviに対して無作為に選んだ乱数である。なお本実施形態においては、このとき、正しくrを知って暗号化投票データを作成したことの証明を作成することができる。例えば、viの暗号化において乱数siを生成し、αi=g^simodp,ci=HASHp,q,g,Y,Gi,Vi,αi,ti=ci×risimodpにより、乱数証明データαi、tiを生成する。この証明は、ci=HASHp,q,g,Gi,αiを計算し、g^ti×Gi^{-ci}=αimodpが成り立つかどうかを確認することで検証できる。ここで、HASHp,q,g,Y,Gi,Vi,αiはSHA1などのハッシュ関数にp,q,g,Y,Gi,Vi,αiを入力して得られる値である。再暗号化手段401,411,441は、公開情報p,q,g,Yと暗号化投票データEvi=Gi,Viを入力とし、暗号化投票データE’viを出力する。E’viはG’i,V’iという組で表され、G’i,V’i=Gi×g^smodp,Vi×Y^smodpの計算によって得られる。ここで、sは暗号化投票データEviに対して無作為に選んだ乱数である。なお、G’i,V’i=Gi×g^smodp,Vi×Y^smodp=g^{rs}modp,vi×Y^{rs}modpの等式が成り立っており、Eviに対する復号処理と同じ処理をE’viに施すことで平文投票データviを得ることができる。つまり、EviとE’viとは復号処理に関しては同様に扱える。投票センタ200がEi=Gi,Viのリストと、セッションIDとを匿名復号システム500に入力すると、匿名復号システム500は、セッションIDにより特定された公開情報p,q,g,Yおよび復号鍵XによりGi,Viのリストを復号し、順番をランダムに並びかえた平文投票データviのリストと、Gi,Viのリストとviのリストとの間に1対1の対応関係があることの証明データとを投票センタ200に返信する。p,q,g,Xの生成、Gi,Viのリストの復号と順番の並べかえ、Gi,Viのリストとviとの間に1対1の対応関係があることの証明とその検証方法については、特許文献1に記載の方法を用いる。ここでは、特許文献1の技術を用いる場合の、主に各構成要素の入出力について説明した。なお、暗号データのリストを、復号後に出力されるデータリストとの間に1対1の対応関係があることを、具体的な対応関係そのものの情報は一切漏らさずに証明する技術は、特開2001-251289号公報特許文献2、特開2002-344445号公報特許文献3などにも示されており、これらの技術を用いて暗号化手段123,133,153,再暗号化手段401,411,441、匿名復号システム500を実現することも可能である。次に、本実施形態の匿名電子投票システムの全体の動作について説明する。図2には、この匿名電子投票システムでの初期設定の動作が記述されている。まず、投票サーバ200は、セキュリティパラメータpL,qL,tとセッションIDとを匿名復号システム500に送信するステップA1。匿名復号システム500は、pL,qL,tにしたがって公開情報p,q,g,Yを作成しステップA2、投票サーバ200へ返信するステップA3。投票サーバ200は、p,q,g,Yを記録装置204に記録するステップA4。以上により、初期設定が終了する。次に、図3~図9を参照して、投票者端末100,110,120,130,140,150を使った投票の動作を説明する。ここで、図3~図8は、それぞれ、投票者端末100,110,120,130,140,150での処理及びそれらの投票者端末での処理に関連する投票サーバ、認証サーバ及び暗号サーバでの処理を示している。また、図9は、投票受付け後から開票に相当する作業までの処理を説明している。投票期間が始まると、有権者である投票者は、投票者端末100,110,120,130,140,150のいずれかにより投票サーバ200へアクセスする。このとき、投票者端末100,110,140からの投票では暗号投票情報要求を送信し図3、図4、図7のステップA5-1、投票者端末120,130,150からの投票では単なる投票情報要求を送信する図5、図6、図8のステップA5-2。投票サーバ200は、投票者端末100,110,140からの暗号投票情報要求を受信すると、その暗号化手段203により、すべての候補者名vjを公開情報p,q,g,Yで暗号化することによってvj,Evjのリストを作成し図3、図4、図7のステップA6、公開情報p,q,g,Yとvj,Evjのリストとを投票者端末100,110,140に返信する図3、図4、図7のステップA7-1。また、投票者端末120,130,150からの単なる投票情報要求を受信すると、投票サーバ200は、公開情報p,q,g,Yと平文の候補者名vjのリストとを投票者端末120,130,150に返信する図5、図6、図8のステップA7-2。以下、投票データの送信までの処理を、投票者端末100,110,120,130,140,150ごとに別々に説明する。投票者端末100は、図3に示すように、p,q,g,Yとvj,Evjのリストとを受信すると、その表示装置101においてvjのリストを投票者に対して表示し、投票者は入力装置102によりvjのリストから候補者名viを選択して入力するステップA100-1。そして投票者端末100は、viに対応するEviと公開情報p,q,g,Yとを暗号サーバ400に送信するステップA100-2。次に、暗号サーバ400は、受信したEviと公開情報p,q,g,Yとを再暗号手段401に入力してEviを再度暗号化したE’viを計算しステップA100-3、E’viを投票者端末100に返信するステップA100-4。次に、投票者端末100は、入力装置102により投票者の組織内識別子IIDiを取得し、機器側認証手段103により認証サーバ300に対して投票者iの組織内識別子IIDiの認証を行ないステップA100-5、E’viを認証サーバ300に送信するステップA100-6。認証サーバ300は、サーバ側認証手段301により確認した投票者の組織内識別子IIDiをID連携手段304に入力し、対応する共通識別子CIDiを得るステップA100-7。次に、認証サーバ300では、共通基盤署名生成手段303にE’vi,CIDiの組と認証サーバ300の署名用秘密鍵dkとが入力されて、E’vi,CIDiに対する認証サーバ300の共通基盤署名Sekが生成されるステップA100-8。そして、認証サーバ300は、Ei,CIDi=E’vi,CIDiとSekとを投票サーバ200に送信するステップA100-9。投票者端末110は、図4に示すように、p,q,g,Yとvj,Evjのリストとを受信すると、その表示装置111においてvjのリストを投票者に対して表示し、投票者は入力装置112によりvjのリストから候補者名viを選択して入力する図4のステップA110-1。そして、投票者端末110は、viに対応するEviと公開情報p,q,g,Yとを暗号サーバ410に送信する図4のステップA110-2。暗号サーバ410は、受信したEviと公開情報p,q,g,Yとを再暗号手段411に入力してEviを再度暗号化したE’viを計算しステップA110-3、E’viを投票者端末110に返信するステップA110-4。次に、投票者端末110は、組織内署名生成手段113に投票者iの組織内識別子IIDiと署名用秘密鍵diとE’viとを入力し、E’vi,IIDiに対する組織内向けデジタル署名Seiを計算しステップA110-5、E’vi,IIDiとSeiとを認証サーバ300に送信するステップA110-6。認証サーバ300は、その組織内署名検証手段302により、SeiがE’vi,IIDiに対して署名用秘密鍵diにより正しく計算されたものかどうかを検証しステップA110-7、合格であれば、ID連携手段304によってIIDiに対応する共通識別子CIDiを取得するステップA110-8。次に、認証サーバ300は、共通基盤署名生成手段303にE’viとCIDiと認証サーバ300の署名用秘密鍵dkとを入力して、E’vi,CIDiに対する認証サーバ300の共通基盤デジタル署名Sekを出力しステップA110-9、Ei,CIDi=E’vi,CIDiとSekとを投票サーバ200に送信するステップA110-10。投票者端末120は、図5に示すように、p,q,g,Yとvjのリストとを受信すると、その表示装置121においてvjのリストを投票者に対して表示し、投票者は入力装置122によりvjのリストから候補者名viを選択して入力するステップA120-1。そして投票者端末120は、viと公開情報p,q,g,Yとを暗号化手段124に入力し、viをYにより暗号化したEviを得るステップA120-2。次に、投票者端末120は、機器側認証手段123により認証サーバ300に対して投票者iの組織内識別子IIDiの認証を行ないステップA120-3、Eviを認証サーバ300に送信するステップA120-4。認証サーバ300は、サーバ側認証手段301により確認した投票者の組織内識別子IIDiをID連携手段304に入力し、対応する共通識別子CIDiを得るステップA120-5。次に、認証サーバ300は、共通基盤署名生成手段303にEvi,CIDiの組と認証サーバ300の署名用秘密鍵dkを入力して、Evi,CIDiに対する共通基盤署名Sekを生成しステップA120-6、Ei,CIDi=Evi,CIDiとSekとを投票サーバ200に送信するステップA120-7。投票者端末130は、図6に示すように、p,q,g,Yとvjのリストとを受信すると、その表示装置131においてvjのリストを投票者に対して表示し、投票者は入力装置132によりvjのリストから候補者名viを選択して入力するステップA130-1。そして投票者端末130は、viと公開情報p,q,g,Yとを暗号化手段134に入力し、viをYにより暗号化したEviを得るステップA130-2。次に投票者端末130は、組織内署名生成手段133に投票者iの組織内識別子IIDiと署名用秘密鍵diとEviとを入力し、Evi,IIDiに対する組織内向けデジタル署名Seiを計算しステップA130-3、Evi,IIDiとSeiとを認証サーバ300に送信するステップA130-4。認証サーバ300は、組織内署名検証手段302により、SeiがEvi,IIDiに対して署名用秘密鍵diにより正しく計算されたものかどうか検証しステップA130-5、合格であれば、ID連携手段304によりIIDiに対応する共通識別子CIDiを取得するステップA130-6。次に認証サーバ300は、共通基盤署名生成手段303にEviとCIDiと認証サーバ300の署名用秘密鍵dkとを入力して、Evi,CIDiに対する認証サーバ300の共通基盤デジタル署名Sekを出力しステップA130-7、Ei,CIDi=Evi,CIDiとSekとを投票サーバ200に送信するステップA130-8。投票者端末140は、図7に示すように、p,q,g,Yとvj,Evjのリストとを受信すると、その表示装置141においてvjのリストを投票者に対して表示し、投票者は入力装置142によりvjのリストから候補者名viを選択して入力するステップA140-1。そして投票者端末140は、viに対応するEviと公開情報p,q,g,Yとを暗号サーバ440に送信するステップA140-2。次に暗号サーバ440は、受信したEviと公開情報p,q,g,Yとを再暗号手段441に入力してEviを再度暗号化したE’viを計算しステップA140-3、E’viを投票者端末140に返信するステップA140-4。次に投票者端末140は、共通基盤署名生成手段143に投票者iの共通基盤識別子CIDiと署名用秘密鍵diとE’viとを入力し、E’vi,CIDiに対する共通基盤デジタル署名Seiを計算しステップA140-5、Ei,CIDi=E’vi,CIDiとSeiとを投票サーバ200に送信するステップA140-6。投票者端末150は、図8に示すように、p,q,g,Yとvjのリストとを受信すると、表示装置151においてvjのリストを投票者に対して表示し、投票者は入力装置152によりvjのリストから候補者名viを選択し入力するステップA150-1。そして投票者端末150は、viと公開情報p,q,g,Yとを暗号化手段154に入力してviをYにより暗号化したEviを得るステップA150-2。次に投票者端末150は、共通基盤署名生成手段153に投票者iの共通基盤識別子CIDiと署名用秘密鍵diとEviとを入力し、Evi,CIDiに対する共通基盤デジタル署名Seiを計算しステップA150-3、Ei,CIDi=Evi,CIDiとSeiとを投票サーバ200に送信するステップA150-4。以上が、投票データの送信までの処理である。つづいて、投票データの受付けと投票締切後の開票集計処理について、図9を用いて説明する。投票サーバ200は、認証サーバ300からEi,CIDiとSekとを受信すると、共通基盤署名検証手段202によりSekがEi,CIDiに対する認証サーバ300の正しい署名であることを確認しステップA8-1、有権者名簿データベース201を検索してCIDiが登録されていることとCIDiの投票をまだ受付けていないこととを確認しステップA9-1、投票データ記録装置204にEi,CIDiとSekとを記録するとともに、有権者名簿データベース201にCIDiが投票済みであることを記録するステップA10-1。また、投票サーバ200は、投票者端末140,150からEi,CIDiとSeiとを受信すると、共通基盤署名検証手段202によりSeiがEi,CIDiに対する投票者iの正しい署名であることを確認しステップA8-2、有権者名簿データベース201を検索してCIDiが登録されていることとCIDiの投票をまだ受付けていないこととを確認しステップA9-2、投票データ記録装置204にEi,CIDiとSekとを記録するとともに、有権者名簿データベース201にCIDiが投票済みであることを記録するステップA10-2。投票が締め切られた後、投票サーバ200は、投票データ記録装置204に記録したすべてのEiのリストと、ステップA2で匿名復号システム500へ送信したセッションIDとを匿名復号システム500へ送信するステップA11。匿名復号システム500は、セッションIDで指定された公開情報p,q,g,Yと秘密鍵Xとに基づいてEiのリストを復号し、順番を無作為に並べかえた平文投票データvjのリストと、Eiのリストとvjのリストとの間に1対1の対応関係が存在することの証明データzと、を作成しステップA12、投票サーバ200に対してvjのリストとzとを返信するステップA13。投票サーバ200は、受信した平文投票データvjのリストにより投票の集計を行い、集計結果を発表するステップA14。次に、本実施形態の効果について説明する。本実施形態では、投票サーバ200が投票者端末100,110,140に暗号化投票データを送り、投票者が選んだ暗号化投票データを暗号サーバ400,410,440によりさらに暗号化して投票サーバ200に送信するため、暗号手段を備えない投票者端末からでも、投票の秘密を守りつつ、投票を行なえる。また、投票者端末100,120に機器側認証手段103,123を備え、認証サーバ300にサーバ側認証手段301を備えることでデジタル署名に依らない認証を行ない、認証サーバ300の共通基盤デジタル署名を付与して投票サーバ200に暗号化投票データを送ることで、署名生成手段を備えない投票者端末からも投票を行なえる。また、投票者端末110,130に組織内基盤署名生成手段113,133を備え、認証サーバ300に組織内基盤署名検証手段302とID連携手段304を備えることで、組織内向けデジタル署名が付与された暗号化投票データを認証サーバ300で検証し、組織内識別子から共通基盤識別子への変換を行なったのち、認証サーバ300の共通基盤デジタル署名を付与して投票サーバ200へ送ることで、すべての投票者が共通の公開鍵認証基盤に登録されていなくとも、投票を行なえる。なお、ここでは認証サーバ300はひとつだけとして説明したが、投票者によって異なる組織に所属している場合には、組織ごとに別の認証サーバを導入することで対応が可能である。《第2の実施形態》次に、本発明の第2の実施形態について図面を参照して説明する。図10に示した第2の実施形態の匿名電子投票システムは、図1に示された第1の実施形態の匿名電子投票システムにおいて、投票者端末100,110,140内にそれぞれ暗号データ作成手段104,114,144を設けるとともに、投票サーバ200の暗号化手段203に代えて第1の変換手段206と暗号化証明検証手段207とを設け、暗号サーバ400,410,440における再暗号化手段401,411,441に代えてそれぞれ第2の変換手段405,415,445を設け、さらに、変換検証手段701を備える変換検証サーバ700を加えたものである。ここで第1の変換手段206は、公開情報を入力とし、第1の変換データ第1暗号パラメータと第1の変換証明データとを出力するものである。第2の変換手段405,415,445は、公開情報を入力とし、第2の変換データ第2暗号パラメータと第2の変換証明データとを出力する。暗号データ作成手段104,114,144は、公開情報、第1の変換データ、第1の変換証明データ、第2の変換データ、第2の変換証明データ及び平文の投票内容viを入力として、暗号化投票データEviを出力するとともに、Eviを正しく生成したことを証明する暗号化証明を出力する。暗号化証明検証手段207は、公開情報と暗号化投票データEviと暗号化証明データとを入力とし、Eviが正しく生成されたものかどうかを検証する。第1の変換手段206、第2の変換手段405,415,445、暗号データ作成手段104,114,144及び暗号化証明検証手段207は、匿名復号システム500に対して特許文献1に示された技術を用いる場合、以下のように動作する。第1の変換手段206は、公開情報p,q,g,Yが入力されると、q未満の乱数rとdとを無作為に選び、第1の変換データGr,Yr,rとして、Gr,Yr,r=g^rmodp,Y^rmodp,rを計算して出力し、第1の変換証明データGd,dとして、Gd,d=g^dmodp,dを計算して出力する。第2の変換手段405,415,445は、公開情報p,q,g,Yが入力されると、q未満の乱数sを選び、第2の変換データGs,Ys,sとして、Gs,Ys,s=g^smodp,Y^smodp,sを計算して出力し、第2の変換証明データGu,uとして、Gu,u=g^umodp,uを計算して出力する。ここで、uは無作為に選んだq未満の乱数である。暗号データ作成手段は、第1の変換データGr,Yr,r、第1の変換証明データGd,d、第2の変換データGs,Ys,s、第2の変換証明データGu,u及び平文の投票内容viが入力されると、暗号化投票データEviとして、Evi=Gr×Gsmodp,vi×Yr×Ysmodpを計算する。さらに、α=Gu×Gdmodp,c=HASHp,q,g,Y,Gi,Vi,α,t=c×rsudmodqを計算して暗号化証明データα,tを計算し、暗号化投票データGi,Viとともにこの暗号化証明データα,tを出力する。暗号化証明データによる証明は、暗号化証明検証手段207によりc=HASHp,q,g,Y,Gi,Vi,αを計算し、g^t×Gi^{-c}=αmodpが成り立つかどうかを確認することで行う。変換検証手段701は変換データGr,Yr,rと変換証明データGd,dとについて、公開情報p,q,g,Yから正しく作成されたものかどうかを検証する。匿名復号システム500に対して特許文献1に示された技術を用いる場合、変換検証手段701は公開情報p,q,g,Yと変換データGr,Yr,rと変換証明データGd,dとを入力とし、Gr=G^rmodp,Yr=Y^rmodp,Gd=Y^dmodpの等式がいずれも成り立てば合格と判定し、どれかひとつでも成り立たなければ不合格と判定する。次に、本実施形態の匿名電子投票システムの動作について説明する。図11~図13は、それぞれ、投票者端末100,110,140での処理及びそれらの投票者端末での処理に関連する投票サーバ、認証サーバ及び暗号サーバでの処理を示しており、図14は、投票受付け後から開票に相当する作業までの処理を説明している。なお、本実施形態での初期設定の動作は第1の実施の形態と同じであり、また、投票者端末120,130,150の動作も第1の実施の形態におけるものと同じであるから、これらの動作については記載を省略する。以下、投票者端末100,110,140による投票サーバ200へのアクセスから投票データの送信までの処理を説明する。投票者端末100,110,140は、投票情報要求と変換データ要求とを投票サーバ200へ送信する図11、図12、図13のステップB5。投票サーバ200は、変換データ要求を受信すると、その第1の変換手段206に公開情報p,q,g,Yを入力し、第1の変換データGr,Yr,rと第1の変換証明データGd,dとを作成し図11、図12、図13ステップB6、投票者端末100,110,140にこれらp,q,g,Y,Gr,Yr,r,Gd,dを返信する図11、図12、図13のステップB7。投票者端末100,110,140は、投票サーバ200からp,q,g,Y,Gr,Yr,r,Gd,dを受信すると、それぞれ暗号サーバ400,410,440に、p,q,g,Yと変換データ要求とを送信する図11、図12、図13のステップB100-1、B110-1、B140-1。暗号サーバ400,410,440は、公開情報p,q,g,Yと変換データ要求とを受信すると、それぞれその第2の変換手段405,415,445に公開情報p,q,g,Yを入力して第2の変換データGs,Ys,sと第2の変換証明データGu,uとを生成し図11、図12、図13のステップB100-2、B110-2、B140-2、投票者端末100,110,140にGs,Ys,sとGu,uとを返信する図11、図12、図13のステップB100-3,B110-3,B140-3。以下、投票データの送信までの処理のうち第1の実施の形態と異なる部分を、投票者端末100,110,140ごとに別々に説明する。投票者端末100は、図11に示すように、第1の変換データGr,Yr,r、第1の変換証明データGd,d、第2の変換データGs,Ys,s及び第2の変換証明データGu,uを受信すると、その暗号データ作成手段104に対して、投票者iが入力した投票内容viと、Gr,Yr,r,Gd,d,Gs,Ys,s及びGu,uとを入力し、暗号化投票データEviと暗号化証明データα,tとを計算するステップB100-4。そしてIIDiの認証ののちEviとα,tとを認証サーバ300に送信するステップB100-6。認証サーバ300は、Evi,α,t,CIDiに対する認証サーバ300の共通基盤デジタル署名Sekを作成しステップB100-8、Evi,α,t,CIDiとSekとを投票サーバ200に送信するステップB100-9。投票者端末110は、図12に示すように、第1の変換データGr,Yr,r、第1の変換証明データGd,d、第2の変換データGs,Ys,s及び第2の変換証明データGu,uを受信すると、投票者iが入力した投票内容viと、Gr,Yr,r,Gd,d,Gs,Ys,s及びGu,uとを暗号データ作成手段114に入力し、暗号化投票データEviと暗号化証明データα,tとを計算するステップB110-4。そして、投票者端末110は、Evi,α,t,IIDiに対する組織内向けデジタル署名Seiを作成しステップB110-5、Evi,α,t,IIDiとSeiとを認証サーバ300に送信するステップB110-6。認証サーバ300は、SeiがEvi,α,t,IIDiに対するIIDiの正しい署名であることを確認しステップB110-7、そのID連携手段304によりIIDiに対応する共通識別子CIDiを取得しステップA110-8、Evi,α,t,CIDiに対する認証サーバ300の共通基盤デジタル署名Sekを作成しステップB110-9、Ei=Evi,α,t,CIDiとSekとを投票サーバ200に送信するステップB110-10。投票者端末140は、図13に示すように、第1の変換データGr,Yr,r、第1の変換証明データGd,d、第2の変換データGs,Ys,s及び第2の変換証明データGu,uを受信すると、投票者iが入力した投票内容viとGr,Yr,r,Gd,d,Gs,Ys,s及びGu,uとを暗号データ作成手段144に入力し、暗号化投票データEviと暗号化証明データα,tとを計算するステップB140-4。そして、Evi,α,t,CIDiに対する共通基盤デジタル署名Seiを作成しステップB140-5、Ei=Evi,α,t,CIDiとSeiとを投票サーバ200に送信するステップB140-6。以上が投票データの送信までの処理である。続けて、投票データの受付け以降の処理について、図14を用いて、第1の実施の形態と異なる部分を説明する。投票サーバ200は、認証サーバ300からEi,α,t,CIDiとSekとを受信すると、共通基盤署名検証手段202によりSekがEi,CIDiに対する認証サーバ300の正しい署名であることを確認しステップB8-1、暗号化証明検証手段207により、Eiが正しく作られたものであることを確認しステップB9-1、有権者名簿データベース201を検索してCIDiが登録されていることとCIDiの投票をまだ受付けていないこととを確認しステップB10-1、投票データ記録装置204にEi,α,t,CIDiとSekとを記録するとともに、有権者名簿データベース201にCIDiが投票済みであることを記録するステップB11-1。また、投票サーバ200は、投票者端末140,150からEi,α,t,CIDiとSeiとを受信すると、共通基盤署名検証手段202によりSeiがEi,α,t,CIDiに対する投票者iの正しい署名であることを確認しステップB8-2、暗号化証明検証手段207により、Eiが正しく作られたものであることを確認しステップB9-2、有権者名簿データベース201を検索してCIDiが登録されていることとCIDiの投票をまだ受付けていないこととを確認しステップB10-2、投票データ記録装置204にEi,CIDiとSekとを記録するとともに、有権者名簿データベース201にCIDiが投票済みであることを記録するステップB11-2。なお、投票者端末100,110,140により投票を行なった投票者は、投票データの受け付けが終わった後、投票サーバから受信した公開情報p,q,g,Yと第1の変換データGr,Yr,r、第1の変換証明データGd,dとを変換検証サーバ700の変換証明手段701に入力し、第1の変換データ、第1の変換証明データが正しく公開情報p,q,g,Yから作成されたものかどうかを検証してもよい。また、暗号サーバ400,410,440から受信した第2の変換データGs,Ys,s、第2の変換証明データGu,uについても、同様に変換検証サーバ700の変換検証手段701により、公開情報p,q,g,Yから正しく作成されたものかどうかを検証してもよい。投票締切り後の処理については、第1の実施の形態の場合と同じであるので、ここでは説明を省略する。次に、本実施形態の効果について説明する。本実施形態では、投票者端末100,110,140にそれぞれ暗号データ作成手段104,114,144を備え、投票サーバ200に第1の変換手段206を備え、暗号サーバ400,410,440にそれぞれ第2の変換手段405,415,445を備えることで、投票者端末100,110,140では複雑な演算を行なうことなく、暗号化投票データの作成が行なえる。また、暗号化投票データは第1の変換データと第2の変換データの両方をもとに計算されるため、投票サーバ200や暗号サーバ400,410,440は、単独では、投票者の暗号化投票データから平文の投票内容を知ることはできない。また、暗号データ作成手段104,114,144により生成される暗号化証明データは、投票者端末120,130,150の暗号化手段124,134,154が生成する暗号化証明データと同じ処理で検証が可能である。また、投票者端末100,110,140に暗号データ作成手段104,114,144を備えるため、投票内容となる候補者名などあらかじめ決められているような投票に限らず、投票者が自由に投票内容を決める自由記述による投票やアンケートなどにも本実施形態は適用可能である。また、投票サーバ200が送信する第1の変換データ、第1の変換証明データ、および、暗号サーバ400,410,440が送信する第2の変換データ、第2の変換証明データは、変換検証手段701を用いることで、公開情報p,q,g,Yから正しく作成されたものかどうかを確認できる。そのため、投票サーバ200や暗号サーバ400,410,440が不正な変換データ、変換証明データを投票者端末に送信して投票を妨害しようとした場合、その不正が発覚する。これにより、投票サーバ200、暗号サーバ400,410,440での不正行為を抑止することができる。《第3の実施形態》次に、本発明の第3の発明形態について図面を参照して説明する。図15に示した第3の実施形態の匿名電子投票システムは、図1に示された第1の実施形態の匿名電子投票システムにおいて、さらに暗号証明検証サーバ600を設けるとともに、投票サーバ200の暗号化手段203に代えて証明付き暗号化手段205を設け、暗号サーバ400,410,440の再暗号化手段401,411,441に代えてそれぞれ証明付き再暗号化手段402,412,442を設け、暗号証明検証サーバ600には暗号化証明検証手段601と再暗号化証明検証手段602とを設けたものである。証明付き暗号化手段205は、暗号化公開鍵Yを含む公開情報と平文データvとを入力とし、Yによりvを暗号化したEvと、EvがYによりvを正しく暗号化したことを示す証明データwとを出力する。証明付き再暗号化手段402,412,442は、暗号化公開鍵Yを含む公開情報と暗号データEvとを入力とし、YによりEvを再度暗号化したE’vと、E’vがYによりEvを正しく再度暗号化したことを示す証明データw’とを出力する。暗号化証明検証手段601は、暗号化公開鍵Yを含む公開情報と平文データvと暗号データEvと証明データwとを入力とし、EvがYによりvを正しく暗号化したものかどうかを検証する。再暗号化証明検証手段602は、暗号化公開鍵Yを含む公開情報と暗号データEvとEvを再度暗号化したE’vと証明データw’とを入力とし、E’vがYによりEvを正しく暗号化したものかどうかを検証する。特許文献1に示された技術を用いる場合、証明付き暗号化手段205は、公開情報p,q,g,Yと平文投票データviを入力とし、暗号化投票データEviと証明データwとを出力する。EviはGi,Viという組で表され、Gi,Vi=g^rmodp,vi×Y^rmodpの計算によって得られる。ここで、rは平文投票データviに対して無作為に選んだ乱数である。そして、証明データwとしてrが出力される。証明付き再暗号化手段205は、公開情報p,q,g,Yと暗号化投票データEvi=Gi,Viとを入力とし、暗号化投票データE’viと証明データw’とを出力する。E’viはG’i,V’iという組で表され、G’i,V’i=Gi^smodp,Vi×Y^smodpの計算によって得られる。ここで、sは平文投票データviに対して無作為に選んだ乱数である。そして、証明データw’としてsが出力される。暗号化証明検証手段601は、viとp,q,g,YとEvi=Gi,Viとwとを入力とし、Gi=g^wmodp,Vi=vi×Y^wmodpの等式が両方とも成り立てば証明を合格と判定し、どちらか一方でも等式が成り立たなければ証明を不正と判定する。再暗号化証明検証手段602は、Gi,Viとp,q,g,YとE’vi=G’i,V’iとw’とを入力とし、G’i=Gi^w’modp,V’i=Vi×Y^w’modpの等式が両方とも成り立てば証明を合格と判定とし、どちらか一方でも等式が成り立たなければ証明を不正と判定する。次に、本実施形態の匿名電子投票システムの動作について説明する。図16~図18は、それぞれ、投票者端末100,110,140での処理及びそれらの投票者端末での処理に関連する投票サーバ、認証サーバ及び暗号サーバでの処理を示しており、図19は、投票受付け後から開票に相当する作業までの処理を説明している。なお、本実施形態での初期設定の動作は第1の実施の形態と同じであり、また、投票者端末120,130,150の動作も第1の実施の形態におけるものと同じであるから、これらの動作については記載を省略する。以下、投票者端末100,110,140による投票サーバ200へのアクセスから投票データの送信までの処理を説明する。投票者端末100,110,140は、投票サーバ200に対し、暗号投票情報要求を送信する。投票サーバ200は、暗号投票情報要求を受信すると、証明付き暗号化手段205により、すべての候補者名vjについて、vjを公開情報p,q,g,Yで暗号化してEvjを作成し、そのEvjがvjをp,q,g,Yにより正しく暗号化したものであることの証明データwjを作成し図17、図18、図19のステップC6、公開情報p,q,g,Yとvj,Evj,wjのリストとを投票者端末100,110,140に返信する図16、図17、図18のステップC7。また、暗号サーバ400,410,440は、投票者端末からEviと公開情報p,q,g,Yとを受信すると、それぞれ証明付き再暗号手段402,412,442にEviとp,q,g,Yを入力し、Eviを再度暗号化したE’viとEviからp,q,g,Yにより正しく暗号化したことの証明データw’iとを作成し図16、図17、図18のステップC100-1,C110-1,C140-1、投票者端末100,110,140にE’viとw’iとを返信する図16、図17、図18のステップC100-2,C110-2,C140-2。以上が投票データの送信までの処理のうち、第1の実施形態と異なる部分である。次に、図19のフローチャートを参照し、投票受付け後の投票者の処理について説明する。投票者端末100,110,140により投票を行なった投票者は、投票データの受付けが終わった後、投票サーバ200から受信した公開情報p,q,g,Yとvj,Evj,wjのリストと、暗号サーバから受信したE’vi,w’iとEviとを暗号証明検証サーバ600に送信するステップC15。暗号証明検証サーバ600は、公開情報p,q,g,Yとvj,Evj,wjのリストとを暗号化証明検証手段601に入力し、すべてのEvjがvjをp,q,g,Yにより正しく暗号化されているかどうかを検証しステップC16、さらに、E’vi,Evi,w’を再暗号化検証手段602に入力し、E’viがEviをp,q,g,Yにより正しく再度暗号化したものかどうか検証しステップC17、検証結果を出力するステップC18。次に、本実施形態の効果について説明する。本実施形態では、投票サーバ200に証明付き暗号化手段205を備え、投票者端末にはvj,Evj,wjのリストが送信され、暗号化証明検証手段601によりEvjがvjをp,q,g,Yにより正しく暗号化されたものかどうかを確認できるため、投票サーバ200がvjを暗号化したものと偽ってvj,Ev’j,wを投票者端末に送信した場合、その不正が発覚する。これにより、投票サーバ200での不正行為を抑止することができる。また、暗号サーバ400,410,440にそれぞれ証明付き再暗号手段402,412,442を備え、投票者端末にはE’vi,Evi,w’が送信され、暗号化証明検証手段602によりE’viがEviをp,q,g,Yにより正しく暗号化したものかどうかを確認できるため、暗号サーバがEviを再度暗号化したものと偽ってE’v,Evi,w’を投票者端末に返信した場合、その不正が発覚する。これにより、暗号サーバ400,410,440での不正行為を抑止することができる。なおここでは、暗号化証明検証手段601を別のサーバ暗号証明検証サーバ600に備え、投票終了後に検証を行なう構成を示したが、投票者端末内にその構成要素として暗号化証明検証手段を設け、投票中に検証を行なえるようにする構成も可能である。また、暗号化検証手段を構成要素として暗号サーバ内に設け、投票サーバの暗号証明の検証のみを投票中に行ない、暗号サーバの証明データの検証のみを投票後に行なう構成をとることも可能である。また、投票者端末に暗号化証明検証手段601と再暗号化証明検証手段602とを備え、投票中にすべての検証を行なう構成にしてもよい。《第4の実施形態》次に、本発明の第4の実施形態について図面を参照して説明する。第1の実施形態の匿名電子投票システムにおいて、1つの投票者端末が複数の暗号サーバを用いるようにすることによって、投票の秘密をさらに頑強ロバストに守ることができるようになる。本実施形態は、1つの投票者端末に対応する暗号サーバの台数を増やしたものである。図20に示した第4の実施形態の匿名電子投票システムは、図1に示された第1の実施形態の匿名投票システムにおいて、kを2以上の整数として、投票者端末100がk台の暗号サーバ400-1~400-kと接続し、同様に投票者端末110,140がそれぞれ暗号サーバ410-1~410-k、暗号サーバ440-1~440-kと接続されるようにしたものである。各暗号サーバ400-1~400-k,410-1~410-k,440-1~440-kには、それぞれ、再暗号化手段401-1~401-k,411-1~411-k,441-1~441-kが備えられている。投票者端末100,110,120,130,140,150、投票サーバ200及び認証サーバ300の構成は、図1に示した第1の実施形態の場合と同じである。次に、本実施形態の匿名電子投票システムの動作について説明する。図21~図23は、それぞれ、投票者端末100,110,140での処理及びそれらの投票者端末での処理に関連する投票サーバ、認証サーバ及び暗号サーバでの処理を示している。なお、本実施形態での初期設定の動作は第1の実施の形態と同じであり、また、投票者端末120,130,150の動作も第1の実施の形態におけるものと同じであるから、これらの動作については記載を省略する。以下、投票者端末100,110,140による投票サーバ200へのアクセスから投票データの送信までの処理を説明する。投票者端末100,110,140は、投票サーバ200へ暗号投票情報要求を送信する図21、図22、図23のステップA5-1。投票サーバ200は、暗号投票情報要求を受信すると、その暗号化手段203により、すべての候補者名vjについて、vjを公開情報p,q,g,Yで暗号化してEvjを作成し図21、図22、図23のステップA6、公開情報p,q,g,Yとvj,Evjのリストとを投票者端末100,110,140に返信する図21、図22、図23のステップA7-1。投票者端末100,110,140は、p,q,g,Yとvj,Evjのリストとを受信すると、その表示装置101,111,141においてvjのリストを投票者に表示し、投票者は入力装置102,112,142によりvjのリストから候補者viを選択して入力する図21、図22、図23のステップA100-1、A110-1、A140-1。そして、投票者端末100,110,140は、viに対応する暗号データEviと公開情報p,q,g,Yとを1番目の暗号サーバ400-1,410-1,440-1に送信する図21、図22、図23のステップD101-1,D111-1,D141-1。暗号サーバ400-1,410-1,440-1は、受信した暗号データEviと公開情報p,q,g,Yとを再暗号化手段401-1,410-1,440-1に入力してEviを再度暗号化したE’1viを計算し図21、図22、図23のステップD101-2,D111-2,D141-2、E’1viを投票者端末100,110,140に返信する図21、図22、図23のステップD101-3,D111-3,D141-3。次に、投票者端末100,110,140は、1番目の暗号サーバ400-1,410-1,440-1から得たE’1viを2番目の暗号サーバ400-2,410-2,440-2に対して送信することにより、E’1viをもう一回暗号化させてE’2viを得る。以下、このような処理をk個の暗号サーバ400-1~400-k,410-1~410-k,440-1~440-kのすべてについて繰り返し、暗号データE’kviを得る図21、図22、図23のステップD10k-3,D11k-3,D14k-3。暗号データE’kviはEviをk回にわたって再暗号化したデータに該当する。投票者端末100,110,140は、E’kviを認証サーバ300や投票サーバ200へ送る暗号データE’viとする図21、図22、図23のステップD100-6,D110-5,D140-5。以降の処理は、第1の実施形態における処理と同じである。次に、本実施形態の効果について説明する。本実施形態では、投票者端末100,110,140に、それぞれ、暗号サーバ400-1~400-k、暗号サーバ410-1~410-k、暗号サーバ440-1~440-kが接続され、投票者端末100,110,140は、投票サーバ200から受信した暗号データEviを合計k回にわたって再暗号化して得られるE’viを投票サーバ200に送る。そのため、投票サーバとk個の暗号サーバとがすべて結託しない限り、E’viから平文の投票内容viが判明することはなく、投票の秘密をより強く求めることができる。なお、ここでは、投票者端末100,110,140に接続される暗号サーバの個数をいずれもk個としたが、同数である必要はなく、それぞれ別の数であってもよい。また、第1の実施形態と同じく、いくつかの投票者端末がいくつかの暗号サーバを共用することも可能である。また、図15に示された第3の実施形態の場合と同様に、各暗号サーバには証明付き再暗号化手段を備え、暗号化の証明データを作成するようにしてもよい。《第5の実施形態》次に、本発明の第5の実施形態について図面を参照して説明する。第2の実施形態の匿名電子投票システムにおいて、1つの投票者端末が複数の暗号サーバを用いるようにすることによって、投票の秘密をさらに頑強ロバストに守ることができるようになる。本実施形態は、1つの投票者端末に対応する暗号サーバの台数を増やしたものである。図24に示した第5の実施形態の匿名電子投票システムは、図10に示された第2の実施形態の匿名投票システムにおいて、kを2以上の整数として、投票者端末100がk台の暗号サーバ400-1~400-kと接続し、同様に投票者端末110,140がそれぞれ暗号サーバ410-1~410-k、暗号サーバ440-1~440-kと接続されるようにしたものである。各暗号サーバ400-1~400-k,410-1~410-k,440-1~440-kには、それぞれ、第2の変換手段405-1~405-k,415-1~415-k,445-1~445-kが備えられている。mは1≦m≦kである整数として、m番目の暗号サーバ400-m,410-m,440-mの第2の変換手段405-m,415-m,445-mは、第2の変換データGsm,Ysm,smと第2の変換証明データGum,umを作成する。ここで、Gsm,Ysm,sm=g^smmodp,Y^smmodp,sm,Gum,um=g^ummodp,umである。投票者端末100,110,140の暗号データ作成手段104,114,144は、投票サーバからの第1の変換データGr,Yr,r=g^rmodp,Y^rmopp,r及び第1の変換証明データGd,d=g^rmodp,dと、k個の暗号サーバからのk個の第2の変換データGs1,Ys1,s1~Gsk,Ysk,sk及びk個の第2の変換証明データGu1,u1~Guk,ukと、平文の投票内容viとが入力されると、下記式にしたがって、暗号化投票データEviを計算する。Evi=Gi,Vi=Gr×Gs1×Gs2×...×Gskmodp,vi×Yr×Ys1×Ys2×...×Yskmodpさらに、暗号データ作成手段104,114,144は、a=Gu×Gd1×Gd2×...×Gdkmodp,c=HASHp,q,g,Y,Gi,Vi,a,t=c×rs1s2...skud1d2...dkmodqを計算して、暗号化証明データa,tを計算し、暗号化投票データGi,Viとともに出力する。この証明は、暗号化証明検証手段207により、c=HASHp,q,g,Y,Gi,Vi,aを計算して、g^t×Gi^{-c}=amodpが成り立つかどうかを確認することで、検証できる。なお、投票者端末120,130,150、投票サーバ200及び認証サーバ300の構成は、図10に示した第2の実施形態の場合と同じである。次に、本実施形態の匿名電子投票システムの動作について説明する。図25~図27は、それぞれ、投票者端末100,110,140での処理及びそれらの投票者端末での処理に関連する投票サーバ、認証サーバ及び暗号サーバでの処理を示している。なお、本実施形態での初期設定の動作は第2の実施の形態と同じであり、また、投票者端末120,130,150の動作も第2の実施の形態におけるものと同じであるから、これらの動作については記載を省略する。以下、投票者端末100,110,140による投票サーバ200へのアクセスから投票データの送信までの処理を説明する。投票者端末100,110,140は、投票サーバ200への変換データ要求を送信する図25、図26、図27のステップB5。投票サーバ200は、変換データ要求を受信すると、第1の変換手段206に公開情報p,q,g,Yを入力し、第1の変換データGr,Yr,rと第1の変換証明データGd,dとを作成し図25、図26、図27のステップB6、投票者端末100,110,140に、p,q,g,Y,Gr,Yr,r,Gd,dを返信する図25、図26、図27のステップB7。投票者端末100,110,140は、投票サーバ200からp,q,g,Y,Gr,Yr,r,Gd,dを受信すると、それぞれ、暗号サーバ400-1,410-1,440-1にp,q,g,Yと変換データ要求とを送信する図25、図26、図27のステップE101-1,E111-1,E141-1。暗号サーバ400-1,410-1,440-1は、公開情報p,q,g,Yと変換データ要求とを受信すると、それぞれ、第2の変換手段405-1,415-1,445-1にp,q,g,Yを入力して、第2の変換データGs1,Ys1,s1と第2の変換証明データGu1,u1とを生成し図25、図26、図27のステップE101-2,E111-2,E141-2、投票者端末100,110,140に、Gs1,Ys1,s1とGu1,u1とを返信する図25、図26、図27のステップE101-3,E111-3,E141-3。次に、投票者端末100,110,140は、2番目の暗号サーバ400-1,410-1,440-1に対して同じ処理を繰り返し、以下同様にして、k個の暗号サーバ400-1~400-k,410-1~410-k,440-1~440-kのすべてについて繰り返し、k個の第2の変換データGs1,Ys1,s1~Gsk,Ysk,skとk個の第2の変換証明データGu1,u1~Guk,ukとを得る図25、図26、図27のステップE10k-3,E11k-3,E14k-3まで。続いて投票者端末100,110,140は、投票者が入力したviと、第1の変換データGr,Yr,r、第1の変換証明データGd,d、k個の第2の変換データGs1,Ys1,s1~Gsk,Ysk,sk及びk個の第2の変換証明データGu1,u1~Guk,ukとを暗号データ作成手段104,114,144に入力し、暗号化投票データEviと暗号化証明データa,tとを計算する図25、図26、図27のステップE100-4,E110-4,E140-4。これ以降の処理は、第2の実施形態の場合と同様である。次に、本実施形態の効果について説明する。本実施形態では、投票者端末100,110,140に、それぞれ、暗号サーバ400-1~400-k、暗号サーバ410-1~410-k、暗号サーバ440-1~440-kが接続され、投票者端末100,110,140は、投票サーバ200から受信した第1の変換データとk個の暗号サーバから受信したk個の第2の変換データにより暗号データEviを作成し、この暗号データEviを投票サーバ200に送る。そのため、投票サーバとk個の暗号サーバがすべて結託しない限り、E’viから平文の投票内容viが判明することはなく、投票の秘密をより強く求めることができる。なお、ここでは、投票者端末100,110,140に接続される暗号サーバの個数をいずれもk個としたが、同数である必要はなく、それぞれ別の数であってもよい。また、第2の実施形態と同じく、いくつかの投票者端末がいくつかの暗号サーバを共用することも可能である。なお、投票サーバ200に第1の変換手段を備えない構成とし、k個の暗号サーバから受信した第2の変換データ、第2の変換証明データのみを用いて暗号化投票データEvi及び暗号化証明データα,tを作成することとしてもよい。この場合、投票者端末100,110,140を含めすべての投票者端末は投票サーバ200に単なる投票情報要求を送信し、投票サーバ200はすべての投票者端末に対して公開情報p,q,g,Yと候補者情報を送信する。投票者端末100,110,140の暗号データ作成手段104,114,144は、k個の第2の変換データGs1,Ys1,s1~Gsk,Ysk,sk及びk個の第2の変換証明データGd1,d1~Gdk,dkにより、下記のように暗号化投票データEvi、暗号化証明データα,tを計算する。Evi=Gi,Vi=Gs1×Gs2×...×Gskmodp,vi×Ys1×Ys2×...Yskmodp,α=Gd1×Gd2×...Gdkmodp,c=HASHp,q,g,Y,Gi,Vi,α,t=c×s1s2...skd1d2...dkmodqなお、投票サーバは、第1の変換データ、第1の変換証明データをあらかじめ計算しておくことも可能であるし、同様に、公開情報p,q,g,Yをあらかじめ暗号サーバに配布しておき、第2の変換データ、第2の変換証明データを事前に計算しておくようにすることも可能である。以上、本発明の好ましい実施の形態について説明したが、上述した匿名電子投票システムを構成する投票者端末、投票サーバ、認証サーバ、暗号サーバ及び暗号証明検証サーバは、いずれも、それらの機能を実現するためのコンピュータプログラムを、サーバ用コンピュータやパーソナルコンピュータなどのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。こうしたコンピュータプログラムは、磁気テープやCD-ROMなどの記録媒体によって、あるいは、ネットワークを介してコンピュータに読み込まれる。言い換えれば、投票者端末、投票サーバ、認証サーバ、暗号サーバ及び暗号証明検証サーバにおけるそれぞれの構成要素は、いずれも、ソフトウェアによってもハードウェアによっても実現できるものである。特に、投票者端末を実現するためのコンピュータとしては、データ処理能力とネットワーク接続機能とを有する携帯電話機や各種の携帯情報端末PDAなどの、コンピュータとして見たときには比較的処理能力や記憶能力が小さいものを使用することができる。"