Aus Gründen der Klarheit werde ich Ihre Frage so verallgemeinern, dass sie über dem Merkmal (mit dem Basisfeld F q ) liegt, anstatt dem speziellen Fall von p = q = 2 . Ich nehme p und q als feste Konstanten; Ich überlasse es dem Leser, herauszufinden, wie genau die Abhängigkeit von diesen Parametern ist, da einige Kompromisse eingegangen werden können. Das Endergebnis hier ist, dass Ihr Problem ungefähr dem diskreten Log-Problem für endliche Felder der Charakteristik p entspricht .p>0Fqp=q=2pqp
Um genauer zu sein, sei das gewöhnliche diskrete Protokollproblem über Erweiterungen von gegeben, wenn ein Erweiterungsfeld F von F q gegeben ist und a , b ∈ F eine beliebige ganze Zahl t findet, so dass a = b t ist , oder meldet, dass keine existiert . Das starke diskrete Log-Problem über Erweiterungen von F q sei gegeben, wenn F , a , b wie zuvor gegeben sind, finde ganze Zahlen z , m, so dass
aFqFFqa,b∈Fta=btFqF,a,bz,m für eine ganze Zahl t iffoder melde, dass keinexistiert. Dann gibt es folgende Ermäßigungen:a=btttt=z(modm)t
Es gibt eine deterministische Zuordnungsreduzierung vom diskreten Protokoll über Erweiterungen von zu Ihrem Problem.Fq
Es gibt einen effizienten, deterministischen Algorithmus, der Ihr Problem löst, wenn Sie Zugriff auf ein Orakel erhalten, das das starke Problem des diskreten Protokolls über Erweiterungen von .Fq
Dementsprechend würde ich es für unwahrscheinlich halten, dass jemand in naher Zukunft einen Beweis für die
-Härte oder einen Beweis dafür veröffentlicht, dass Ihr Problem in .P.NPP
Anmerkung: Das starke Problem des diskreten Protokolls über Erweiterungen von
kann auf die folgende scheinbar schwächere Form reduziert werden (obwohl es immer noch scheinbar stärker ist als das normale Problem des diskreten Protokolls): Gegeben ein Erweiterungsfeld von und finden die kleinste nicht negative ganze Zahl so dass . Dies folgt aus der Tatsache, dass die Ordnung von eins plus das kleinste nicht negative so dass .F F q a,b∈ F ta= b t bt b - 1 = b tFqFFqa,b∈Fta=btbtb−1=bt
Erste Reduzierung:
Die Behauptung ist, dass sich das gewöhnliche Problem des diskreten Protokolls über Erweiterungen der Zuordnung von auf dieses Problem reduziert. Dies folgt der Tatsache, dass die Multiplikation in eine lineare Transformation ist, wenn wir als einen dimensionalen Vektorraum über . Daher wird eine Frage der Form über
zu über , wobei sind dimensionale Vektoren und ist einF q n F q n n F q a= b t F q n → a = B t → e F q → a , → e nBn×n F q → a aBb → e 1∈ F q n p=q=2nFqFqnFqnnFqa=btFqna⃗ =Bte⃗ Fqa⃗ ,e⃗ nBn×nMatrix, überall in . Der Vektor kann leicht aus , aus berechnet werden , und
ist nur die Darstellung von , die effizient aufgeschrieben werden kann . Dies scheint immer noch ein schwieriger Fall für das allgemeine Problem des diskreten Logs zu sein, selbst wenn (aber natürlich wächst ). Insbesondere konkurrieren die Leute immer noch darum, wie weit sie es berechnen können.Fqa⃗ aBbe⃗ 1∈Fqnp=q=2n
Zweite Reduzierung:
Die Behauptung ist, dass sich Ihr Problem über Erweiterungen von auf das starke Problem des diskreten Protokolls reduziert . Diese Reduktion hat ein paar Teile, also verzeihen Sie die Länge. Die Eingabe sei die dimensionale Vektor und Matrix , alles über ; das Ziel ist es, so zu finden , dass . nx,yn×nA F q ty= A t xFqnx,yn×nAFqty=Atx
Die Grundidee besteht darin, in jordanischer kanonischer Form (JCF) zu schreiben , aus der wir das Testen von mit einer einfachen Algebra auf das starke diskrete Log-Problem reduzieren können .y = A t xAy=Atx
Ein Grund für die Verwendung einer kanonischen Form unter Ähnlichkeit von Matrizen ist, dass wenn , dann . Daher können wir Transformation zu , in dem sich jetzt in einem viel schöner als das Format ist beliebig . Die JCF ist eine besonders einfache Form, die den Rest des Algorithmus ermöglicht. Nehmen Sie also von nun an an, dass bereits in JCF enthalten ist, lassen Sie jedoch auch zu, dass und Einträge in einem Erweiterungsfeld von
.A t = P - 1 J t P y = A t x ( P y ) = J t ( P x ) J A A x , y , A F qA=P−1JPAt=P−1JtPy=Atx(Py)=Jt(Px)JAAx,y,AFq
Anmerkung: Es gibt einige Feinheiten, die sich aus der Arbeit mit dem JCF ergeben. Insbesondere gehe ich davon aus, dass wir Feldoperationen innerhalb einer beliebigen Erweiterung von (egal wie groß) in einem Zeitschritt ausführen können und dass wir die JCF effizient berechnen können.
a priori ist dies unrealistisch, da für die Arbeit mit dem JCF möglicherweise in einem Erweiterungsfeld (dem Teilungsfeld des charakteristischen Polynoms) mit exponentiellem Grad gearbeitet werden muss. Mit einiger Sorgfalt und unter Verwendung der Tatsache, dass wir über ein endliches Feld arbeiten, können wir diese Probleme jedoch umgehen. Insbesondere werden wir jedem Jordan-Block ein Feld mit einem Grad von höchstens überF ' n F q xy F ' F ' F 'FqF′nFq
so dass alle Einträge in dem Jordan - Block und die entsprechenden Elemente von ,
all lebenden innerhalb . Das Feld kann sich von Block zu Block unterscheiden, aber die Verwendung dieser "gemischten Darstellung" ermöglicht eine effiziente Beschreibung der JCF, die darüber hinaus effizient gefunden werden kann. Der im Rest dieses Abschnitts beschriebene Algorithmus muss jeweils nur mit einem Block arbeiten. Solange er seine Feldoperationen innerhalb des zugehörigen Felds ist der Algorithmus effizient.
[Schlussbemerkung]xyF′F′F′
Die Verwendung von JCF liefert Gleichungen der folgenden Form, wobei jede Gleichung einem Jordan-Block entspricht:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
Der Algorithmus behandelt jeden Block separat. Im allgemeinen Fall haben wir für jeden Block eine Abfrage für unser starkes diskretes Log-Orakel, aus der das Orakel uns eine Modularitätsbedingung mitteilt, . Wir erhalten auch eine Menge so dass
muss . Nachdem wir alle Blöcke verarbeitet haben, müssen wir überprüfen, ob es eine Auswahl von , die die Konjunktionen all dieser Bedingungen erfüllt. Dies kann erreicht werden, indem sichergestellt wird, dass in allen Mengen ein gemeinsames Element vorhanden ist,
so dass die Gleichungen undS ⊆ { 0 , 1 , ⋯ , p - 1 } ⋁ s ∈ S [ t = st=z(modm)S⊆{0,1,⋯,p−1} t s S t = s⋁s∈S[t=s(modp)]tsSt = z jt=s(modp)jt=zj(modmj)sind alle gleichzeitig erfüllt, wobei über die Blöcke reicht.j
Es gibt auch einige Sonderfälle, die während des gesamten Verfahrens auftreten. In diesen Fällen erhalten wir Bedingungen der Form für einen Wert von oder der Form für eine bestimmte Ganzzahl aus bestimmten Blöcken, oder wir stellen möglicherweise sogar fest, dass kein existieren kann . Diese können ohne Probleme in die Logik für den allgemeinen Fall aufgenommen werden.ℓ t = s s tt>ℓℓt=sst
Wir beschreiben nun die Unterprozedur für die Behandlung jedes Jordan-Blocks. Repariere einen solchen Block.
Konzentrieren Sie sich zunächst nur auf die letzte Koordinate im Block. Die Bedingung erfordert, dass . Mit anderen Worten, es ist eine Instanz des Problems des diskreten Protokolls in einer Felderweiterung von . Wir verwenden dann ein Orakel, um es zu lösen, was entweder zu keiner Lösung führt oder eine Modularitätsbedingung für ergibt . Wenn "keine Lösung" zurückgegeben wird, geben wir dies zurück. Andernfalls erhalten wir eine Bedingung , die .y k = λ t x k F q t t = zy=Atxyk=λtxkFqty k = λ t x kt=z(modm)yk=λtxk
Um mit den anderen Koordinaten umzugehen, beginnen wir mit der folgenden Formel (siehe z. B. hier ):
xk=0yk=λtxkyk=0k-1xy(k-1)×(k-1)xk≠0
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λt(t1)λt−1λt(t2)λt−2(t1)λt−1⋱⋯⋯⋱⋱⋯⋯⋮⋱λt(tk−1)λt−k+1(tk−2)λt−k+2⋮⋮(t1)λt−1λt⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
\ ddots & \ ddots & \ vdots \\ & & & & \ lambda ^ t & \ binom {t} {1} \ lambda ^ {t-1} \\ & & & & & \ lambda ^ t \ end {bmatrix }
Lassen Sie uns zunächst den Fall behandeln, in dem
xk=0 . Da wir bereits die Modularitätsbedingung haben, die impliziert , können wir auch annehmen, dass . Aber dann können wir uns nur auf die ersten Einträge von und und die obere linke Submatrix des Jordan-Blocks konzentrieren. wir also von nun an an, dass .
yk=λtxkyk=0k−1xy(k−1)×(k−1)xk≠0
Zweitens werden wir den Fall behandeln, in dem . In diesem Fall haben die Kräfte des Jordan-Blocks eine spezielle Form und erzwingen entweder für einige oder ohne andere Bedingungen. Ich werde die Fälle nicht näher erläutern, aber es reicht zu sagen, dass jeder effizient überprüft werden kann. (Alternativ könnten wir uns auf den Fall reduzieren, in dem invertierbar ist; siehe meinen Kommentar zu der Frage.)t = z z ≤ k t > k A.λ=0t=zz≤kt>kA
Schließlich kommen wir zum allgemeinen Fall. Da wir bereits den Modularität Zustand haben , die das impliziert , können wir davon ausgehen , dass diese Bedingung hält, und die Verwendung als Stand-in für . Allgemeiner können wir , um darzustellen . Daher müssen wir prüfen, ob das folgende System für eine Auswahl von :
yk=λtxkykx−1kλtykx−1kλ−zλt−zt
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ykx−1k(t1)ykx−1kλ−1ykx−1k(t2)ykx−1kλ−2(t1)ykx−1kλ−1⋱⋯⋯⋱⋱⋯⋯⋮⋱ykx−1k(tk−1)ykx−1kλ−(k−1)(tk−2)ykx−1kλ−(k−2)⋮⋮(t1)ykx−1kλ−1ykx−1k⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
y_kx_k ^ {- 1} \ end {bmatrix} \ begin {bmatrix} x_1 \\ x_2 \\ x_3 \\ \ vdots \\ x_ {k-1} \\ x_ {k} \\ \ end {bmatrix} Beachten Sie dies ob die Gleichung gilt, hängt nur von ; Dies liegt daran, dass die Abhängigkeit von nur ein Polynom ist.
t(modp)tt muss eine ganze Zahl sein, und die obigen Gleichungen liegen über einem Feld der Charakteristik . Daher können wir einfach jeden Wert von separat ausprobieren . Die Menge wir zurückgeben werden, ist nur die Auswahl von für die das System erfüllt ist.
pt∈{0,1,…,p−1}St
Mit Ausnahme einiger Sonderfälle hat die Unterprozedur pro Block nun eine Modularitätsbedingung und eine Menge so dass eine von für einige . Diese Bedingungen entsprechen innerhalb dieses spezifischen Jordan-Blocks. Also geben wir diese aus dem Unterverfahren zurück. Die Sonderfälle schließen entweder, dass kein existieren kann (in diesem Fall gibt die Unterprozedur sofort einen Hinweis darauf zurück), oder wir haben eine Modularitätsbedingung und eine Sonderbedingung wie für eine ganze Zahl oder für eine ganze Zahlt=a(modm)St=s(modp)s∈Sy=Atxtt=a(modm)t=sst>ℓℓ . In jedem Fall sind die beteiligten Bedingungen alle äquivalent zu innerhalb dieses Jordan-Blocks. Wie oben erwähnt, gibt die Unterprozedur nur diese Bedingungen zurück.y=Atx
Damit ist die Spezifikation des Unterverfahrens pro Block und des gesamten Algorithmus abgeschlossen. Die Richtigkeit und Effizienz ergeben sich aus der vorangegangenen Diskussion.
Feinheiten bei der Verwendung von JCF in der zweiten Reduktion:
Wie in der zweiten Reduktion erwähnt, gibt es einige Feinheiten, die sich aus der Arbeit mit der JCF ergeben. Es gibt einige Beobachtungen zur Minderung dieser Probleme:
Erweiterungen endlicher Felder sind normal . Dies bedeutet, dass, wenn ein irreduzibles Polynom über , jede Erweiterung von die eine Wurzel von
enthält, alle Wurzeln von . Mit anderen Worten, das Teilungsfeld eines irreduziblen Polynoms
vom Grad hat nur den Grad über .PFqFqPPPddFq
Es gibt eine Verallgemeinerung der kanonischen Form Jordaniens, die als primäre rationale kanonische Form (PRCF) bezeichnet wird und keine Aufschreibung von Felderweiterungen erfordert. Insbesondere wenn eine Matrix mit Einträgen in , können wir für einige Matrizen mit Einträgen in schreiben , wobei außerdem ist in PRCF. Wenn wir außerdem so tun, als ob die Einträge in einem Feld
das und alle Eigenwerte von , dannAFqA=P−1QPP,QFqQAF′FqAQwird in der Tat in JCF sein. Daher können wir die Berechnung der JCF von als einen Sonderfall der Berechnung der PRCF betrachten.A
Mit der Form der PRCF können wir die Berechnung der JCF von als berücksichtigenA
Berechnen der PRCF von überAFq
Berechnen der PRCF jedes Blocks (Ausleihen der Notation aus dem Wikipedia-Artikel) in der PRCF von über ein Erweiterungsfeld , wobei so gewählt wird, dass es alle Eigenwerte vonCAF′F′C
Der Hauptvorteil dieser Faktorisierung besteht darin, dass die charakteristischen Polynome der Blöcke alle irreduzibel sind , und daher können wir nach unserer ersten Beobachtung wählen um einen Grad der Größe von (der höchstens beträgt) ) über . Der Nachteil ist, dass wir jetzt verschiedene Erweiterungsfelder verwenden müssen, um jeden Block der JCF darzustellen, sodass die Darstellung untypisch und kompliziert ist.CF′CnFq
Angesichts der Fähigkeit, die PRCF effizient zu berechnen, können wir daher eine geeignete Codierung der JCF effizient berechnen, und diese Codierung ist so, dass die Arbeit mit einem bestimmten Block der JCF innerhalb eines Erweiterungsfeldes von höchstens über .nFn
Bezüglich der effizienten Berechnung der PRCF liefert die Veröffentlichung " A Rational Canonical Form Algorithm " (KR Matthews, Math. Bohemica 117 (1992) 315-324) einen effizienten Algorithmus zur Berechnung der PRCF, wenn die Faktorisierung des charakteristischen Polynoms von bekannt ist . Für feste Eigenschaften (wie wir sie haben) kann das Faktorisieren von univariaten Polynomen über endliche Felder in deterministischer Polynomzeit erfolgen (siehe z. B. " Über einen neuen Faktorisierungsalgorithmus für Polynome über endliche Felder " (H. Niederreitter und R. Gottfert, Math. Of Computation 64 (1995) 347-353).), So dass die PRCF effizient berechnet werden kann.A