Sichere Mehrparteienberechnung der Anzahl von 1s mal der Anzahl von 0s in einer gemeinsam genutzten Zeichenfolge


8

Angenommen, es gibt N.>2 Parteien pj mit jeweils einem Bit . Ich möchte die Multiplikation der Anzahl von Einsen mit der von Nullen berechnen, dh . R = ( b j ) × ( N - b j )bj{0,1}}R.=(bj)×(N.- -bj)

Die Berechnung sollte in dem Sinne sicher sein, dass keine Partei mehr als das Endergebnis lernen kann . Zum Beispiel ist es nicht in Ordnung, eine sichere Summe auszuführen, da dann bekannt wird und die Summe in meinem Problem empfindlich ist. Gibt es also ein sicheres Berechnungsprotokoll, das den Anforderungen entspricht?b jR.bj

Bearbeiten: Die Zahl im Problem ist groß, mindestens über . Daher ist eine effiziente sichere Mehrparteienberechnung erforderlich. Ein sicheres Summenprotokoll könnte effizient sein, aber generische SMC-ähnliche Boolesche Schaltungen könnten zu rechenintensiv sein. Ich brauche also ein effizientes Protokoll.1000N.1000


4
Sie kennen die allgemeinen Machbarkeitsergebnisse für sichere Mehrparteienberechnungen sowie die jüngsten Arbeiten zur vollständig homomorphen Verschlüsselung? weil beide dein Problem lösen.
Sasho Nikolov

1
Vielleicht sollte es eine Antwort sein, @SashoNikolov
Suresh Venkat

2
@Suresh Ich dachte, ich würde ihm die Möglichkeit geben, zusätzliche Einschränkungen zu klären, denn wenn er über sichere Summen Bescheid weiß, sollte er über die Machbarkeitsergebnisse Bescheid wissen.
Sasho Nikolov

3
Entspricht das Problem der sicheren Berechnung von min {∑b_j, N-∑b_j}? Wenn ja, scheint mir der Fokus auf Multiplikation nur eine Ablenkung zu sein.
Tsuyoshi Ito

2
@ TsuyoshiIto es ist gleichwertig
Sasho Nikolov

Antworten:


2

Bei dieser Antwort handelt es sich um praktikable Lösungen, die auf einer homomorphen Verschlüsselung basieren, die NICHT vollständig homomorph ist, da letztere äußerst ineffizient sein kann (wenn es effiziente vollständig homomorphe Kryptosysteme gibt, die hinsichtlich der Effizienz mit den unten angegebenen vergleichbar sind, würde ich mich freuen von ihnen hören).

Da Sie nur eine Multiplikation benötigen, gibt es Lösungen, die möglicherweise kostengünstiger sind als eine vollständig homomorphe Verschlüsselung: [1] und [2]. Letzteres funktioniert mit verschlüsselten Bitzerlegungen der Eingabe, sodass ein Bitzerlegungsprotokoll wie [3] und [6] erforderlich ist, ersteres jedoch mit ganzen Werten. Der Vollständigkeit halber wurde Ersteres in [4] auf die Operanden-Multiplikation ausgedehnt , obwohl das OP dies möglicherweise nicht benötigt. Diese Lösungen sind nicht interaktiv und sollten im Zwei-Parteien-Fall funktionieren.d

Wenn Sie mehr als zwei Parteien haben und sich eine Interaktion leisten könnten, bietet [5] ein "sicheres Multiplikationsgatter", das möglicherweise effizienter ist und eine unbegrenzte Anzahl von Multiplikationen ermöglicht. Es funktioniert im Wesentlichen, indem die homomorph verschlüsselten Werte in eine Art Geheimfreigabe konvertiert werden, das Ergebnis (interaktiv) multipliziert und dann wieder in homomorphe Verschlüsselung konvertiert wird.

[1] Auswertung von 2-DNF-Formeln für Chiffretexte

[2] Nicht interaktives Kryptocomputing für NC1

[3] Bedingungslos sichere Mehrparteienberechnung mit konstanten Runden für Gleichheit, Vergleich, Bits und Potenzierung

[4] Additiv homomorphe Verschlüsselung mit d-Operanden-Multiplikationen

[5] Mehrparteienberechnung aus homomorpher Schwellenwertverschlüsselung

[6] Effiziente binäre Konvertierung für Paillier-verschlüsselte Werte


4
Um ehrlich zu sein, sehe ich keinen Zusammenhang zwischen dieser Antwort und der Frage.
Tsuyoshi Ito

@TsuyoshiIto: Diese Antwort listet einige Referenzen auf, die zur Bereitstellung einer "sicheren Berechnung für die Multiplikation" verwendet werden könnten, und ist speziell auf die vom OP bereitgestellte Formel zugeschnitten, die nur eine Multiplikation enthält. Außerdem werden relativ "effiziente" Methoden gemäß der Anforderung des OP aufgeführt. Ich sehe Ihren Einwand überhaupt nicht.
Mohammad Alaggan

4
Wie ich in einem Kommentar zur Frage geschrieben habe, ist die Multiplikation in der Frage unwesentlich. Der Titel der Frage ist einfach falsch.
Tsuyoshi Ito

1
Der Titel sollte also geändert werden. Andernfalls kommt vielleicht später jemand zu dieser Frage und erwartet, dass sie etwas Ähnliches wie meine Antwort findet.
Mohammad Alaggan

2

Neue Antwort (24.10.): Ich denke, das folgende Papier bietet eine elegante und effiziente Lösung für Ihr Problem:

Sie zeigen, wie ein Verschlüsselungsalgorithmus mit öffentlichem Schlüssel mit den folgenden zwei nützlichen Eigenschaften erstellt wird:E()

  • Additiv homomorph. Mit und E ( y ) kann jeder E ( x + y ) berechnen .E(x)E(y)E(x+y)

  • Kann (einmal) multiplizieren. Mit und E ( y ) (von denen keines als Ergebnis einer Multiplikationsoperation erzeugt wurde) kann jeder E ( x y ) berechnen . Sie können das Ergebnis in Additionsoperationen verwenden, aber Sie können es nicht in Multiplikationsoperationen verwenden (das Ergebnis einer Multiplikation ist fehlerhaft, und fehlerhafte Werte können nicht als Eingabe für eine andere Multiplikation verwendet werden).E(x)E(y)E(xy)

Die Folge ist, dass bei einem quadratischen multivariaten Polynom und bei E ( x 1 ) , , E ( x n ) jeder eine Verschlüsselung von Ψ ( x 1 , , berechnen kann ). x n ) . Dies ist sehr nützlich für Ihre Situation.Ψ(x1,,xn)E.(x1),,E.(xn)Ψ(x1,,xn)

Insbesondere können wir in Ihrer Situation das Polynom Beachten Sie, dass dies ein quadratisches multivariates Polynom ist. Wenn also alle E ( b i ) gegeben sind, kann jeder E berechnen ( Ψ ( b 1 , , b N ) ).

Ψ(b1,b2,,bN.)=ichj[bich(1- -bj)]].
E.(bich)E.(Ψ(b1,,bN.)). Beachten Sie auch, dass , also versuchen wir, den Wert dieses Polynoms genau zu berechnen.R.=Ψ(b1,,bN.)

Dies schlägt ein natürliches Protokoll für Ihr Problem vor, bei dem eine Schwellenwertversion des Verschlüsselungsschemas in dem oben genannten Dokument verwendet wird:

  • Jeder generiert gemeinsam ein öffentliches / privates Schlüsselpaar für eine Schwellenwertversion dieses Schemas, sodass der öffentliche Schlüssel allen bekannt ist, der private Schlüssel jedoch von allen gemeinsam genutzt wird (es erfordert die Zusammenarbeit aller Parteien, um einen unter diesem öffentlichen Schlüssel verschlüsselten Chiffretext zu entschlüsseln ). Der öffentliche Schlüssel wird an alle N Teilnehmer gesendet .N.N.
  • Jeder Teilnehmer berechnet E ( b i ) und sendet E ( b i ) an alle anderen Teilnehmer. Jeder überprüft, ob dies ehrlich getan wurde.ichE.(bich)E.(bich)
  • Jeder Teilnehmer berechnet Verwendung der homomorphen Eigenschaften dieses Verschlüsselungsschemas und der Kenntnis von E ( b 1 ) , , E ( b N ) . Jeder prüft, ob er den gleichen Wert hat.E.(R.)=E.(Ψ(b1,,bN.))E.(b1),,E.(bN.)
  • Die Teilnehmer verwenden gemeinsam das Schwellenwertentschlüsselungsprotokoll, um R von E ( R ) wiederherzustellen . (Beachten Sie, dass sie das Schwellenwert-Entschlüsselungsprotokoll nur auf diesen einen Chiffretext anwenden. Die ehrlichen Teilnehmer werden sich weigern, an der Entschlüsselung anderer Chiffretexte teilzunehmen.)N.R.E.(R.)
  • Jeder beweist irgendwie (vielleicht durch ZK-Beweise), dass er jeden Schritt korrekt ausgeführt hat.

Sie müssten einige Details eingeben, aber ich wette, Sie könnten diese Skizze / Gliederung erweitern, um ein Protokoll zu erhalten, das Ihr Problem effizient und sicher löst.


Meine alte Antwort:

Ich würde mir noch ein sicheres Mehrparteienprotokoll für die Berechnung der Summe ansehen .S.=jbj

S.<N./.2

S.R.S.R.Q.S.{Q.,N.- -Q.}}

ich,jE.(cich,j)cich,j=bichbjE.ich<jcich,j=R.davon. Es müssen einige Details herausgearbeitet werden, und das Bedrohungsmodell entspricht möglicherweise nicht Ihren Erwartungen, aber es ist möglich, dass Sie in der Lage sind, so etwas zum Laufen zu bringen.


Das ist eine sehr interessante Idee. Obwohl es die Produktion nicht genau erzeugt, verbirgt die Verwendung von xor tatsächlich die Information, ob es 0 oder 1 ist. Ein Problem ist jedoch, ob xor im Schema im Klartext berechnet wird? irgendeine sichere Berechnung für xor?
Richard

1
ichbichjbjE.(cich,j)cich,j=bichbj.ichjichbich
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.