Können wir eine k-weise unabhängige Permutation auf [n] konstruieren, indem wir nur konstante Zeit und Raum verwenden?

10

Sei eine feste Konstante. Bei einer gegebenen ganzen Zahl wollen wir eine Permutation so konstruieren, dass:n σ S nk>0nσSn

  1. Die Konstruktion verwendet konstante Zeit und Raum (dh die Vorverarbeitung benötigt konstante Zeit und Raum). Wir können Randomisierung verwenden.

  2. Wenn , kann in konstanter Zeit und Raum berechnet werden.σ ( i )i[n]σ(i)

  3. Die Permutation ist weise unabhängig, dh für alle sind die Zufallsvariablen unabhängig und gleichmäßig über .k i 1 , , i k σ ( i 1 ) , , σ ( i k ) [ n ]σki1,,ikσ(i1),,σ(ik)[n]

Das einzige, was ich derzeit weiß, verwendet den logarithmischen Raum und die Polynomberechnungszeit pro Wert von Verwendung von Pseudozufallsgeneratoren.σ(i)


Hintergrund

Ich brauchte etwas wie das oben Genannte für einige neuere Arbeiten, und am Ende habe ich etwas Schwächeres verwendet: Ich habe wiederholte Einträge zugelassen und überprüft, ob alle benötigten Zahlen abgedeckt waren (dh ein Durcheinander). Insbesondere habe ich eine weise unabhängige Sequenz erhalten, die in -Zeit und unter Verwendung eines konstanten Raums berechnet werden kann . Es wäre schön, etwas Einfacheres zu haben oder einfach zu wissen, was bekannt ist.O ( 1 )kO(1)

Annahmen

Ich gehe vom RAM-Modell mit Stückkosten aus. Jedes Wort im Speicher / Register hat die Größe , und jede grundlegende arithmetische Operation benötigt Zeit. Ich bin bereit, jede vernünftige kryptografische Annahme anzunehmen (Einwegfunktion, diskretes Protokoll usw.).O ( 1 )O(logn)O(1)

Aktuelles Ding

Wie von Kaveh vorgeschlagen, ist hier der "einfache" Hack, den ich derzeit habe (dies ist ziemlich Standard): Sei sei ein Polynom über einer Primzahl (denke an als ). Hier wird jedes gleichmäßig und zufällig aus abgetastet . Es ist leicht zu erkennen, dass eine Sequenz ist, die Wiederholungen aufweist, aber weise unabhängig und ungefähr der Zahlen von erscheinen in dieser Reihenfolge. Beachten Sie jedoch, dass es sich bei der Wiederholung von Zahlen in dieser Reihenfolge nicht um eine Permutation handelt.p p n a i [ p ] σ ( 1 ) , σ ( 2 ) , , σ ( n ) k n ( 1 - 1 / e ) [ n ]σ(x)=i=0k+2aiximodpppnai[p]σ(1),σ(2),,σ(n)kn(11/e)[n]

Sariel Har-Peled
quelle
1
Nein. In konstanter Zeit können Sie nur eine konstante Ausgabemenge angeben. Für jeden Algorithmus mit konstanter Zeit und ausreichend großen sind die Unterstützungen der Zufallsvariablen in Bedingung 3 strenge Teilmengen von . [ n ]n[n]
2
Ich benötige einen konstanten Rechenaufwand pro Eintrag der Permutation - daher kann die Gesamtberechnungszeit für die gesamte Permutation linear sein.
Sariel Har-Peled
1
Was den Raum betrifft - ich nehme das Wortmodell an -, so nimmt jedes Wort konstant viel Platz ein, selbst wenn es eine logarithmische Anzahl von Bits hat.
Sariel Har-Peled
1
Teillösung: Angenommen, ist eine Primzahl und . Sei ein Feld mit . Setze für zufällig mit . Dann ist eine paarweise unabhängige Permutation für Elemente, die in "konstanter Zeit" berechnet werden kann. Vielleicht verallgemeinert dies. k = 2 F | F | = n σ ( x ) = a x + b a , b F a 0 σ nnk=2F|F|=nσ(x)=ax+ba,bFa0σn
Thomas
1
Yeh. Ich weiß das ;). Das Problem ist, dass viel größer sein muss und nur die linearen Polynome Permutationen sind, nicht die höhergradigen. k
Sariel Har-Peled

Antworten:

3

Wenn Sie bereit sind, kryptografische Techniken zu verwenden und sich auf kryptografische Annahmen zu verlassen und eine rechnerische Vorstellung von weiser Unabhängigkeit zu akzeptieren , ist es möglicherweise hilfreich, dass die formaterhaltende Verschlüsselung (FPE) hilfreich ist. Lassen Sie mich einige verschiedene Konstruktionen dieser Art skizzieren.k

(Mit "rechnerischer Begriff der weisen Unabhängigkeit" meine ich, dass kein Gegner mit einer angemessenen Laufzeit von einer weisen unabhängigen Permutation unterscheiden kann, außer mit vernachlässigbarem Vorteil. Diese Schemata sind nicht informationstheoretisch - weise unabhängig, aber sie werden "im Wesentlichen so gut wie weise unabhängig" sein, vorausgesetzt, die gesamte Berechnung in Sichtweite ist rechnerisch begrenzt.)σ k k kkσkkk

Ein praktisches Schema für kleineren

Verwenden Sie insbesondere eine FPE-Konstruktion, um eine Blockverschlüsselung (Pseudozufallspermutation, PRP) mit der Signatur . Für Werte von , die kleiner als , ist es wahrscheinlich das beste Schema, eine Feistel-Konstruktion mit einer festen Anzahl von Runden (z. B. 10) und einer Rundenfunktion zu verwenden, die eine von AES abgeleitete PRF ist. Die Laufzeit zu bewerten für einen einzigen Wert von sein wird AES Invokationen. Jeder AES-Aufruf wird in konstanter Zeit ausgeführt.σk:[n][n]n2128σk(i)iO(1)

Schließlich ist zu beachten, dass jede pseudozufällige Permutation automatisch weise unabhängig ist. Insbesondere garantiert der Luby-Rackoff-Satz, dass Sie mit mindestens 3 Runden (ungefähre) weise Unabhängigkeit erhalten, wenn , vorausgesetzt, AES ist sicher. Bei mehr Runden ist es wahrscheinlich, dass es ein stärkeres Ergebnis gibt, aber die Theoreme sind schwerer zu beweisen und technischer zu werden, obwohl allgemein angenommen wird, dass eine konstante Anzahl von Runden ausreichen sollte, um eine extrem hohe Sicherheit (und damit im Wesentlichen perfektes - zu erhalten). weise Unabhängigkeit für alle vernünftigen Werte von ).kkkn1/4kk

Verallgemeinerung auf größeren

Wenn größer ist, werden die Dinge seltsamer, weil das RAM-Modell mit Stückkosten implizit kostenlos bis zu Parallelität zulässt . Mir ist nicht klar, wie hoch die Kosten für PRPs in diesem Modell sein sollten (konstant? Steigend mit ? Ich weiß nicht).nO(lgn)n

Eine dritte mögliche Konstruktion

Sei ein RSA-Modul, der etwas größer als . Definieren Sie als die Untergruppe von die die Elemente enthält, deren Jacobi-Symbol . Definiere durchm2nG(Z/mZ)+1π:GG

π(x)=x3modm.

Definieren Sie als Nächstes durchσ

σ(i)=g(π(f(i)),

wobei zufällige bijektive 2-unabhängige Hash-Funktionen sind.f,g

Ich vermute, dass diese Konstruktion unter einer RSA-ähnlichen Annahme die Chance hat, (ungefähr) weise unabhängig zu sein. Ich habe keinen Beweis, nur eine Intuition. Die wichtigste bekannte Regelmäßigkeit von ist, dass es multiplikativ homomorph ist: . Ich kenne keine anderen relevanten Regelmäßigkeiten, auch keine weise Abhängigkeit. Die Anwendung einen 2-unabhängigen Hash vor und nach eliminiert beweisbar diese Regelmäßigkeit: Wenn ist -wise Unabhängigkeit mit Ausnahme von multiplikativen homomorphicity, dann ist das 2-weise unabhängig Hashes scheint , wie sie voll zur Verfügung stellen solltekππ(xy)=π(x)π(y)kππkk-weise Unabhängigkeit. Aber das ist super skizzenhaft und Lichtjahre von einem Beweis der weisen Unabhängigkeit entfernt.k

Beachten Sie, dass Sie formatbewahrende Verschlüsselungstechniken verwenden müssen (z. B. die Fahrradtechnik), um sicherzustellen, dass eher auf als auf funktioniert . Dieses Schema sollte eine (erwartete) Laufzeit von haben, um bei einer gegebenen Eingabe mit einer geeigneten Wahl von zu bewerten .f,gG(Z/mZ)O(1)σ(i)if,g

In gewissem Sinne missbraucht diese Kandidatenkonstruktion auch das Einheitskosten-RAM-Modell, indem sie sich auf die Fähigkeit stützt, mit Bit-Zahlen in -Zeit für große Werte von , was in nicht wirklich vernünftig ist trainieren. (Diese letzte Konstruktion ist für kleine Werte von nicht sicher , daher beruht dieser letzte Ansatz im Wesentlichen auf dem großen Regime, damit es eine Chance hat, zu arbeiten ... genau dem Regime, in dem das RAM-Modell mit Stückkosten am meisten ist zweifelhaft.)O ( 1 ) n n nlgnO(1)nnn

Ich gebe frei zu, dass dies eine ziemliche Strecke ist, aber ich erwähne es für den Fall, dass es Inspiration für eine bessere Lösung auslöst.

Zum Beispiel könnte es möglich sein, durch eine geeignete elliptische Kurvengruppe zu ersetzen , so dass wir über (denken Sie daran, dass elliptische Kurvengruppen normalerweise die additive Notation anstelle der multiplikativen Notation verwenden). Die gute daran ist , dass es nicht völlig unvernünftig ist , dass zu vermuten, wenn die Elliptische - Kurven - Gruppe richtig gewählt wird, wie eine „Black-Box - Gruppe“ verhalten, was ich denke , effektiv bedeuten könnte , dass sein -weise unabhängig "mit Ausnahme von Effekten, die durch multiplikativen Homomorphismus impliziert werden". Ich habe keine vollständige Konstruktion bereit vorzuschlagen (das fehlende Stück ist, wie man wähltπ ( x ) = e x G G G π k G f , g kGπ(x)=exGGGπkGund wie man konstruiert und wie man weise Unabhängigkeit davon beweist), aber es könnte möglich sein, die Teile irgendwie zusammenzusetzen.f,gk

DW
quelle
Das ist sehr interessant - ich bin für die nächsten Wochen unterwegs, aber ich würde das prüfen, wenn ich zurück bin. Vielen Dank!
Sariel Har-Peled