準同型暗号化の範囲

多くの人はすでに準同型暗号化の概念に精通しており、2009年にCraig Gentryが最初の完全準同型暗号システムを発見したことを知っていると思います。 近年、インターネット全体がこのトピックに関するニュースでいっぱいになりました。主に英語のリソースです。 しかし、ロシア語のサイトでは、特にこのイノベーションの適用に関する情報はまだ多くありません。 この記事では、準同型暗号化の使用がさまざまな分野でどのように役立つかについてお話したいと思います。



準同型の概念と歴史は、次の記事でHabréに非常に簡単かつ明確に説明されています: onetwo 、したがって、それらについては説明しませんが、すぐにビジネスに取り掛かります。 最も単純な例から始めましょう。



クラウドシステム(クラウドシステム、クラウドコンピューティング)


クラウドシステム-このデータの処理を可能にするリモートストレージシステムとサービス。 興味深いのは非常に広範です。 もちろん、情報を保護するために特定の暗号化メカニズムが提供されています。 ただし、ほとんどすぐに、このようなシステムの1つの欠点が発見されます。リモートデータを変更するには、ネットワーク経由で秘密鍵を送信する必要があります。 単に公開するだけで、セキュリティが危険にさらされます



次の状況を想像してください。特定のクラウドサーバーには収入に関する情報が含まれ、そのデータは税務サービスによって定期的に処理され、税額を計算します。 ただし、計算を実行するには、サービスが復号化された情報にアクセスできる必要があります。これにより、通信チャネルを通じて秘密キーを送信する必要があります。 暗号化されたデータを処理するだけでなく、開くことができるツールを使用する方が簡単ではないでしょうか? そのようなツールは存在しますか? 答えはイエスであり、これは準同型暗号化です。



電子投票


現在、暗号化は投票システムで広く使用されています。その優れた例は、ビットコインやブラインド署名です。 しかし、この記事のこの部分では、もちろん、集合選択の過程で準同型暗号化がどのように役立つかについて説明します。



たとえば、ハブでの暗号化に関する最高の記事を選択するタスクがあります。 投票に含まれるリストの作成元の候補のセットがあります。 投票のイニシエーターは、たとえば加算演算(平文の加算演算と乗算演算が暗号文の同じ演算に対応すると仮定)に関する準同型の特性を持つ暗号システムを所有し、投票で公開鍵を投票者に配布します。 だから私たちは持っています:

-ベクトルとしての速報(K 1 、K 2 、...、K n

-公開鍵-OK



次に、各有権者は優先度ベクトルを作成します- (1、2、...、n) 、各i∈{0、1} 、その後、彼はそこから各要素を暗号化し、暗号化されたゼロと1のリストを投票開始者に送信します。 投票数の最後のことは、結果の配列の対応する要素を加算して解読することです。 イニシエーターの暗号システムの均一性により、結果のベクトルの最大要素のインデックスは、勝者候補のインデックスになります。



これは準同型暗号化を使用した最も単純な投票方式であり、もちろん、その変更も可能です。 障害を発見しようとすると、すぐに次のような質問が発生します。送信された投票の整合性を確保する方法は? (頭に浮かぶ最初の解決策は投票に署名することです)。 あなたはまだ問題のある領域を見つけることができると思うが、それらにこだわるな。



それでも、説明されている手順を使用すると、参加者の選択の機密性を維持することができ、非常に簡単であり、ネットワーク上で投票を整理するために使用できます。



開示なしの検索(個人情報の取得)


そのため、人は情報を操作する必要があります。情報を検索し、処理し、同化し、ストレージに関連する問題を解決できます。 幸いなことに、今日、この点で生活を簡素化し、いくつかの困難を克服するのに役立つ多くのサービスがあります。 ただし、顧客の要件を常に満たすとは限りません。 たとえば、現在すべての検索エンジンがプライベート検索をサポートしているわけではありません。 検索サーバーがユーザーに送信する要求について何も知らない検索。 そのようなことは彼らの利益の機密性を維持したい人々にとって非常に必要でしょうが。



上記の問題に対する最も簡単な解決策は、すべてのデータをサーバーからユーザーに転送することです。 その場合、データベースの所有者は、リクエスターが何を必要としているかを正確に知りません。 しかし、大量のデータがある場合はどうでしょうか? それでも暗号化する必要がある場合は? 絞る? 時間とリソースに関して深刻な問題が発生します。 しかし、ここでは準同型暗号化が助けになります。



簡単にするために、 nビットのベクトルxが何らかのサーバーに格納されており、クライアントがi番目のビットを知っている必要があると仮定します。 アイデアは非常にシンプルで、すべての独創的です。 ユーザーは、i番目のビットを除き、各ビットが暗号化されたゼロである暗号化されたバイナリベクトルをサーバーに送信します(当然、準同型アルゴリズムを使用)。 サーバーは、結果のベクトルとxのスカラー乗算を実行します。 結果はクライアントに送信され、クライアントは受信したデータを単純に復号化し、リクエストに対する応答を受信します。



ソース



1)DS Maimut、A。Patrascu、E。Simion。 安全なデジタル世界のための準同型暗号化スキームとアプリケーション// JMEDS-2012-No. 4。

2)M. van Dijk、C。Gentry、S。Halevi、およびV. Vaikuntanathan整数上の完全準同型暗号化// In Proc。 EurocryptのLNCSのボリューム6110-2010-28 p。



All Articles