2017-12-25 47 views
-4

私は数字のリストを持っています。私はこれらの番号のリストで何らかの操作を実行して、最終結果を返しますサービスを呼び出します(会計サービスを考えましょう)。番号暗号化アルゴリズム

データをプレーンな形式で渡したくありません。サービスが算術演算を実行して結果を返すような方法で数字を暗号化したいのですが、実際の結果を元に戻すことができます。

+0

ないプログラミングの質問のこのタイプのためのより良い場所であるが、「暗号化を保存フォーマット」と「準同型暗号を」アップになります。 –

+0

多くは、サービスが受け入れる内容によって異なります。サービスは何を受け入れますか? –

+0

@JamesKPolk数字でも準同型暗号化を使用できます –

答えて

1

はい。 Homomorphic encryptionと呼ばれるものを使用することができます。これは、暗号文の計算を可能にする暗号化の形式であり、暗号化された結果を生成し、暗号化された結果を生成し、その結果がプレーンテキストで実行されたかのように一致させます。この種の暗号化では、Partially homomorphicまたはFully homomorphicとなります。完全同型暗号はarbitrary computation (also called "bignum arithmetic" or "Arbitrary-precision arithmetic")をサポートすることができますが、部分準同形アルゴリズムはサポートできません。 this threadユーザmikeazoによってcryptography stack exchange上に述べたように、

エルガマルは意味論的に安全な、multiplicativey準同型暗号です。 Paillierは、意味的に安全で付加的な準同型暗号です。

ユーザーはさらに詳しく説明し、暗号化のこの形式の大幅なマイナス面に言及:

準同型暗号は、一般的に、自分自身の、検証可能なコンピューティングを提供していないません。言い換えれば、データを暗号化してクラウドに送信し、クラウドでそれを計算させます。クラウドが正しい計算を実行したことをどのように知っていますか?このような保証を得るには、他の機械が必要です。

あなたのケースでは、(私は仮定している)評判の良いAPIを使用して送信することになるため、これはあなたの懸念事項ではない可能性があります。

私の研究から、あなたの最善の賭けはおそらくGentry's cryptosystemになるでしょう。これを(プログラム内で)使用するには、HElibがうまく動作するはずです。将来的には

、crypto.stackexchange.comは、おそらくそれはオフトピックですので、質問

+1

ありがとうございました.... –

+0

あなたはこれをあなたの質問に対する答えとすることができますか?私はその甘い甘い評判が必要です:P –