透明で検証可能な選択肢

今日は、投票プロセスをより良く、より信頼できるものにする方法についてお話したいと思います。 まず、TEDでのDavid Bismarckのスピーチまたはここでの私の演技(Andrey Novikによる翻訳)をご覧ください。







どのように機能しますか?



Ben Adidシステムの例として、電子投票システムについて説明します。これは、David Bismarckシステムとは異なりますが、最終的には人々にとって同じ重要な特性をすべて備えています。 両方のオプションは単なる例であり、そのようなシステムは膨大な量になる可能性があります。



現代の投票システムの問題(古典的なものとコンピューター化されたものの両方):人は自分の投票が確実に数えられることを確認できません。 これは通常、投票の匿名性の原則によって説明されますが、これは純粋に技術的な理由です。 慎重に考えれば、受け入れられている基準に違反することなく自分の声をテストする方法を見つけることができます。 適切な比較はATMです。 私たち全員がそれらを使用して信頼していますが、お金は安全なままであり、最も重要なことは、すべての取引を(ウェブサイトまたは銀行で)常にチェックできることです。 優れた電子選挙システムは、すべての段階で検証可能でなければなりません。



このようなシステムでは、次の要件が特定されました。



最後の点については少し後で説明します。



このようなシステムでは、公開鍵と秘密鍵のペアの使用に基づくRSAなどの暗号化アルゴリズムを使用できます。 この例では、 El Gamalスキームを使用します。

  1. 各候補者は、次の情報を生成して公開します。

    • ビッグプライム p
    • a bモジュロ p)
    • 公開鍵y b (y b = a x b mod p)

      • 秘密鍵x b (1からp-1までの乱数。公開されていません!)




  2. 投票者は自分の声を暗号化する必要があります-メッセージm(-1 <m <p)。 各投票者は、それぞれ独自の公開鍵と秘密鍵-y ax aを持っています。

    • 共有キーSK(共有キー)が形成されます: SK =(y bx a =(y ax b
    • 音声はペア(c1、c2)=(ya、m * SK)mod p


  3. 投票が行われた候補者のみが解読できます。

    • (m * SK * SK -1 )mod p =(m * a x a x b * a -x a x b )mod p = m




以下に簡単な例を示します。



1.p = 13、a = 2、y b = 7、x b = 11(7 = 2 11 mod p)。

2.m = 7、(c1、c2)=(2 6、7 *(2 116 )mod 13 =(12、6)

3.(7 * 2 66 * 2 -66 )mod 13 = 7 = m。



ここで、要件のリストの最後の段落について少し説明します。 準同型 (この場合、グループの準同型)です。 数学の群論に精通している場合、この特性を覚えておく必要があります。 つまり、グループは数学的なオブジェクトであり、何らかの操作に関して「閉じた」ものです。 たとえば、加算に関連する整数はグループです。このグループから任意の2つの要素(2つの整数)を取得し、加算演算を適用(これらの数値を加算)すると、別の整数-同じグループの別の要素が得られるためです。 これが「分離」です。 このようなグループは(Z、+)として指定されます。



(G、*)と(H、・)という2つのグループがあるとします。 準同型は関数h:G→H if h(u * v)= h(u)・h(v)です。 私たちの場合、機能は暗号化です。



enc(u v)= enc(u)enc(v)。



このシステムの機能は、一般市民が投票の匿名性に違反することなく投票をカウントできるようにするために必要です。 私たちの場合、準同型は次のとおりです。



enc(m1)・enc(m2)=(y x 1 、m1・SK1)・(y x 2 、m・SK2)mod p =(y x 1 、・(m1・m2)(SK1・SK2))mod p = enc(m1m2)。



投票はどうですか?

  1. 投票者は投票をチェックします。 ゼロ開示証明の原理が使用されます。 投票者は任意の2つの投票を選択し、そのうちの1つから(宝くじのように)乱数(公開鍵)を破棄し、2次元バーコードをスキャンして、そこに示された候補者の順序が暗号化された情報と一致することを確認します。 この投票は無効になり、投票者は2番目の投票を使用します。
  2. 投票者が選択を行います。
  3. 左側の涙。
  4. 公開鍵を破壊します。
  5. ニュースレターをスキャンして、帰宅します。


スキャンされたニュースレターはWebサイトで公開されます。 投票者は、自分の声がカウントされているかどうかを確認でき、カウントされていれば、すべてがエラーなく実行されました。



テスト



このシステムは、オタワ大学、MIT、ハーバード、Unversite Catholique de Louvain(25,000有権者)の大学での地方自治体への選挙でテストされました。 2009年11月3日に、このシステムは米国メリーランド州タコマ公園での選挙に適用されました。



読書へ



[1]ベンアディダ。 暗号投票システムの進歩 。 MIT。 (2006)。

[2] Avi Rubin。 2004年10月、疑い曇った選挙日

[3] Blakley、G. R.暗号キーの保護。 National Computer Conference 48:313-317、(1979)の議事録。

[4]ジョシュD.コーエンとマイケルJ.フィッシャー。 堅牢で検証可能な暗号的に安全な選挙スキーム。 FOCS、372〜382ページ。 IEEEコンピュータ協会、1985年。

[5] S. PobligおよびM. Hellman、GF(p)上の対数を計算するための改善されたアルゴリズムとその暗号的意義、IEEE、Transaction on Information Theory It-24:106-110、(1978)。

[6] T.エルガマル。 公開鍵暗号システムと離散対数に基づく署名スキーム。 IEEEトランザクションに関する情報理論、31、ページ。 469-472。 (1985)

[7]ジミン・パークによるプレゼンテーション、カールトン大学の応用暗号化クラス、2月 2011



All Articles