暗号化で興味深いことが起こっているようです: 最初の準同型暗号化スキームが最近登場しました (説明、HT )。大雑把に言えば、 and を簡単に復元できなくても、簡単に知って計算できるようにエンコードする方法です(およびについてもx
同様) 。f(x)
f(x+y)
f(x)
f(y)
x
y
f(x*y)
このタイプのスキームの実用的なアプリケーションは何ですか (セキュリティが確立された後)? 私には、プライベート データを操作するためのアルゴリズムの記述がはるかに簡単になるように思えます。
ここに私の考えがあります:
- 電子投票
- 個人データの完全性をチェックする
- 一般的にプライバシーに役立つ可能性はありますか?
例: 私は銀行 A、B、C に口座を持っています。エンティティ X は、私の合計が $1000 を超えていることを確認したいと考えています。銀行 A、B、C、または D からの明細書を喜んで受け入れますが、残念ながら、どの口座にも十分なお金がありません。銀行 A は、私の 500 ドルに関する情報を私の公開鍵で暗号化します。同様に、銀行 B と銀行 C は、私がそれぞれ 200 ドルと 300 ドル持っているという情報を暗号化します。彼らはこれらのデータを X に送信し、X はそれらをいくつかの番号に追加します。これは、実際に暗号化された $1000 であることを示しています (私の公開鍵で $1000 を暗号化し、結果が同じであることを示すことにより)。X
私は、各口座にどれだけのお金があるかを明らかにすることなく、何かを証明しました.
別の例: 善良な市民 X_1, ... , X_n がチームを組み、2 人の候補者のうちの 1 人を選択します。1 人はラテを飲むリベルA l で、もう 1 人は聖書を持った銃愛好家です (すべての名前は架空のものです)。彼らは、投票を非公開で迅速に行うことにしました。彼らは投票を(1, vote_A, vote_B, vote_None)
暗号化されたベクトル形式で選挙委員会に送信します。選挙委員会はそれらを公に追加し、形式で結果を取得し(count, count_A, count_B, count_None)
ます。それを確認した後count = count_A + count_B + count_None
、役人は候補者の1人の勝利を宣言し、その後、電子投票とは関係のない何らかの理由で裁判官によって選挙が無効と宣言され、その後10年間法廷で戦いましたが、ねえ、それは私のものではありませんとにかく問題。
注: - これらの特定の例は、以前から RSA で可能だったと思います。これは、1 回の操作で準同型性が必要なだけだからです。より多くの操作を使用して、根本的により興味深いものを実現できることを願っています。そのため、例を考えてみましょう!
SOは理論的なコンピューターサイエンスのディスカッションボードではないため、実際に使用される可能性があるコードおよび/または開発中のフレームワークを含む回答を特に見たいと思います。
以下のコメントで述べたことを繰り返すと、準同型アルゴリズムを使用すると、データを知らなくてもデータを管理するプログラムを作成できます。
if (x=0) ...
残念ながら、プログラムの種類はいくらか限られています。 は暗号化されているため使用できずx
、各ステップは非常に低速です (いくつかのラティスが関係しています)。