共有文字列の1sの数x 0の数の安全なマルチパーティ計算


8

ある仮定当事者は、各々がビットと。1の数と0の数の積を計算したい、つまり。N>2pjbj{01}R=Σbj×NΣbj

計算は、誰も最終結果超えて学習できないという意味で安全でなければなりません。たとえば、が既知になり、合計が私の問題の影響を受けやすいため、安全な合計を実行することは問題です。それで、需要に適合する既存の安全な計算プロトコルはありますか?RΣbj

編集:数の問題では、少なくとも上で、大きく、。したがって、効率的な安全なマルチパーティ計算が必要です。安全な合計プロトコルは効率的かもしれませんが、ブール回路のような一般的なSMCはあまりにも多くの計算を必要とするかもしれません。だから私は効率的なプロトコルが必要です。N1000


4
マルチパーティの安全な計算の一般的な実現可能性の結果と、完全準同型暗号化に関する最近の研究を知っていますか?どちらもあなたの問題を解決するからです。
Sasho Nikolov、2012

1
多分それは答えになるはずです、@ SashoNikolov
Suresh Venkat

2
@Suresh彼が追加の制限を明確にする機会を彼に与えると思いました、なぜなら彼が安全な合計について間違いなく知っているなら、彼は実現可能性の結果について知っているべきだからです。
Sasho Nikolov、2012

3
問題はmin {∑b_j、N-∑b_j}を安全に計算することと同等ですか?もしそうなら、乗算に焦点を当てることは私にとって気が散るだけのようです。
伊藤剛

2
@TsuyoshiItoそれは同等です
Sasho Nikolov

回答:


2

後者は非常に非効率的である可能性があるため、この答えは完全準同型ではない準同型暗号に基づく実行可能なソリューションに関するものです(効率に関して以下に提供されるものに匹敵する効率的な完全準同型暗号システムがある場合、私は喜んでいますそれらについて聞いてください)。

必要な乗算は1つだけなので、完全準同型暗号化よりも潜在的に安価なソリューションがあります[1]および[2]。後者は入力の暗号化されたビット分解で機能するため、[3]や[6]のようなビット分解プロトコルが必要になりますが、前者は値全体で機能します。完全を期すために、前者は[4]のオペランド乗算に拡張されていますが、OPはこれを必要としない場合もあります。これらのソリューションは非インタラクティブであり、2者間で機能するはずです。d

2つ以上のパーティがあり、何らかの相互作用が可能である場合、[5]は「安全な乗算ゲート」を提供します。これは潜在的に効率が高く、無限の乗算を可能にします。基本的には、準同型暗号化された値をある種の秘密共有に変換し、結果を(インタラクティブに)乗算してから、準同型暗号に変換します。

[1] 暗号文での2-DNF式の評価

[2] NC1の非対話型暗号計算

[3] 平等、比較、ビット、べき乗のための無条件に安全な一定ラウンドのマルチパーティ計算

[4] dオペランド乗算を用いた加法同型暗号

[5] しきい値準同型暗号からのマルチパーティ計算

[6] Paillier暗号化値の効率的なバイナリ変換


4
正直なところ、私はこの答えと質問の関係を理解することができません。
伊藤剛

@TsuyoshiIto:この回答は、「乗算の安全な計算」を提供するために使用できるいくつかの参照を一覧表示し、特に、乗算が1つだけ含まれるOPが提供する式に合わせて調整されています。また、OPの要求に応じて、比較的「効率的な」メソッドをリストします。私は実際にはあなたの反対をまったく見逃しています。
Mohammad Alaggan、2012

4
質問へのコメントで書いたように、乗算は質問では本質的ではありません。質問のタイトルが間違っています。
伊東剛

1
したがって、タイトルを変更する必要があります。そうでなければ、多分誰かが私の質問と同じような何かを見つけることを期待してこの質問に後で来るでしょう。
Mohammad Alaggan、2012

2

新しい答え(10/24):次の論文は、あなたの問題に対するエレガントで効率的な解決策を提供すると思います:

これらは、次の2つの有用なプロパティを使用して、公開鍵暗号化アルゴリズムを構築する方法を示しています。E

  • 相加的に準同型。E y )が与えられれば、誰でもE x + y )を計算できます。EバツEyEバツ+y

  • 乗算できます(1回)。与えられたE Y (いずれも、乗算操作の結果として生成された)、誰でもすることができるコンピューティングE X Y 。結果は加算演算で使用できますが、乗算演算では使用できません(乗算の結果は汚染されており、汚染された値は別の乗算への入力として使用できません)。EバツEyEバツy

結果は、二次多変量多項式が与えられ、E x 1E x n)が与えられると、誰でもΨ x 1x n。これはあなたの状況にとても役立ちます。Ψバツ1バツEバツ1EバツΨバツ1バツ

具体的には、あなたの状況では、我々は多項式を形成することができます これは二次多変量多項式であるため、E b i)がすべて与えられれば、誰でもE Ψ b 1b N)を計算できることに注意してください

Ψb1b2bN=Σj[b1bj]
EbEΨb1bN。また、なので、この多項式の値を正確に計算しようとしていることに注意してください。R=Ψb1bN

これは、上記で参照した論文の暗号化スキームのしきい値バージョンを使用して、問題に自然なプロトコルを提案します。

  • 誰もが共同でこのスキームのしきい値バージョンの公開/秘密鍵ペアを生成します。これにより、公開鍵はすべての人に知られ、秘密鍵はすべての人の間で共有されます(この公開鍵で暗号化された暗号文を復号化するには、すべての当事者の協力が必要です)。公開鍵は、N人の参加者全員にブロードキャストされます。NN
  • EbEb
  • ER=EΨb1bNEb1EbN
  • NRER
  • 誰もが何らかの方法で(おそらくZKの証明によって)、各ステップを正しく実行したことを証明します。

詳細を記入する必要がありますが、このスケッチ/アウトラインを拡張して、問題を効率的かつ安全に解決するプロトコルを取得できます。


私の古い答え:

S=Σjbj

S<N/2

SRSRQS{QNQ}

jEcjcj=bbjEΣ<jcj=Rこれから。解決すべき詳細がいくつかあり、脅威モデルは期待したものとは異なる場合がありますが、このようなものを作成できる可能性があります。


それは非常に興味深いアイデアです。正確には生成されませんが、xorを使用すると、0または1であるかどうかの情報が実際に隠されます。xorの安全な計算
Richard

1
bjbjEcjcj=bbjjb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.