Sei eine feste Konstante. Bei einer gegebenen ganzen Zahl wollen wir eine Permutation so konstruieren, dass:n σ ∈ S n
Die Konstruktion verwendet konstante Zeit und Raum (dh die Vorverarbeitung benötigt konstante Zeit und Raum). Wir können Randomisierung verwenden.
Wenn , kann in konstanter Zeit und Raum berechnet werden.σ ( i )
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 ]
Das einzige, was ich derzeit weiß, verwendet den logarithmischen Raum und die Polynomberechnungszeit pro Wert von Verwendung von Pseudozufallsgeneratoren.
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 )
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 )
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 ]
quelle
Antworten:
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 σ k k k
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] n 2128 σk(i) i O(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 ).k k k≪n1/4 k k
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).n O(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 durchm 2n G (Z/mZ)∗ +1 π:G→G
Definieren Sie als Nächstes durchσ
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 π π k k -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,g G (Z/mZ) O(1) σ(i) i f,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 nlgn O(1) n n n
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)=ex G G G π k G und wie man konstruiert und wie man weise Unabhängigkeit davon beweist), aber es könnte möglich sein, die Teile irgendwie zusammenzusetzen.f,g k
quelle