実際、オンライン投票はかなり難しいです。
あなたが投票の安全性への最も極端なアプローチをしたい場合、あなたはこのような何かを検討する必要がある場合があります
https://docs.google.com/document/d/1SPYFAkVNjqDP4HOt_A_YGFZy-SFXVxHoN1hpLGNFKXI/pub
それは、それぞれが壊すことができないn個の異なるサーバ間での投票の秘密を配布するアルゴリズムです。投票匿名性匿名性を壊すためには、n台のサーバーすべてが協力しなければならず、サーバーの1つだけがそのトラックをカバーすれば、すべての暗号化データが消去され、投票秘密は永遠に失われ/隠されます。
システムは、オンライン投票のための任意の安全なシステムに固有のいくつかの制限で、票の再送信を扱うことができます。
議決セキュリティを確保するためには、オンラインでは、トラフィック解析に対して脆弱であることを究極的な制約では常にあります。例えば、1日に1人だけ投票すれば、投票結果の更新はその投票者の結果であると結論付けることができる。
完璧な安全なオンライン投票システムは、ワンタイム投票ミキサーと見なす必要があります。それは多数の票を取る。それらをバッファリングし、投票が最終的に閉じられると、それらはすべて一挙にミックスされます。投票を投票者に関連付けることは非常に困難です。これは非常に堅実な技術で実現できます。
しかし、投票を更新したいときは、はるかに扱いにくいものになります。トラフィック分析の可能性を避けたい場合は、同期の必要があります。理想的には、すべての有権者は定期的に(たとえ更新が実際に更新ではなくても)定期的に更新を再送信する必要があります。
これは分散システムであるはずですか?単一の信頼関係者(実行しているWebサイトなど)がある場合、これは実装するのが簡単です。システムのパラメータをよりよく定義する必要があります。 –
この質問はおそらく[暗号化スタックエクスチェンジ](http://crypto.stackexchange.com/)に適しています。 – Wyzard