明確にするために、p = q = 2の特定のケースではなく、特性(ベースフィールドF qを使用)を超えるように質問を一般化します。固定定数としてpとqを使用します。できるトレードオフがいくつかあるので、これらのパラメーターへの正確な依存関係を理解するのは読者に任せます。ここでの最終結果は、問題が特性pの有限体の離散対数問題とほぼ同等になることです。p>0Fqp=q=2pqp
より具体的にできるように、通常の離散対数問題の延長上、拡張フィールド与えられるFのFの Q、及び、B ∈ F、検索任意の整数、Tをそのよう= bはT、またはが存在しないことを報告。ましょ強いの拡張子を超える離散対数問題のF qが与えられ、可能F、、B整数見つけ、以前のようにZを、メートルように、
AFqFFqa,b∈Fta=btFqF,a,bz,m整数 t iff場合、またはが存在しないことを報告します。次に、以下の削減が存在します。a=bttt=z(modm)t
したがって、誰かが硬さの証明またはあなたの問題が近い将来にあるという証明を投稿することはありそうもないと考え
ます。PNPP
備考:拡張に対する強い離散ログ問題
は、次の見かけ上より弱い形式にチューリング還元できます(ただし、通常の離散ログ問題よりもさらに強そうに見えます):拡張フィールドがと、なるように、負でない最小の整数見つけます。これは、の次数が1に負でない最小の加えたものであり、あるという事実にます。F Fの q個の A、B∈ F、T、A= B のT BのTの B - 1 = B TFqFFqa,b∈Fta=btbtb−1=bt
最初の削減:
主張は、拡張に関する通常の離散ログ問題がこの問題をマッピング削減することです。これは、乗算がを上の次元のベクトル空間として見る場合、線形変換であるという。したがって、フォームの質問上
となるオーバー、は次元ベクトル、はFのQ N F Q N N Fの Q = B T FのQ N → A = B T → E Fの Q →、 → E NB、N×N Fの Q → B、B → E 1∈ FのQ n p=q=2nFqFqnFqnnFqa=btFqna⃗ =Bte⃗ Fqa⃗ ,e⃗ nBn×n行列、すべての上。ベクターから容易に計算することができ、から、および
だけである効率的にダウン書き込むことができ、 。これは、であっても、一般的な離散対数問題のハードケースであるように見えます(ただし、もちろんが増加しています)。特に、人々はまだそれをどれだけ遠くまで計算できるかを競い合っています。Fqa⃗ aBbe⃗ 1∈Fqnp=q=2n
2番目の削減:
主張は、あなたの問題が拡張に対する強い離散ログ問題に削減されるということ。この削減にはいくつかの要素があるため、長さは許してください。全体にわたって、入力を次元ベクトルおよび行列とします。目標は、なるようにを見つけることです。 nx、yn×nA F q ty= A t xFqnx,yn×nAFqty=Atx
基本的な考え方は、をヨルダン正準形式(JCF)で記述ことです。これにより、テストを、いくつかの簡単な代数を使用した強力な離散対数問題に削減できます。y = A t xAy=Atx
行列の類似性の下で正準形を使用する1つの理由は、場合、です。したがって、をに変換できます。ここで、は任意のよりもはるかに適切な形式です。JCFは特に単純な形式で、残りのアルゴリズムを有効にします。したがって、これからは、がすでにJCF にあると想定しますが、も許可し、は拡張フィールドにエントリをことができます
。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
備考: JCFの操作から生じるいくつかの微妙な点があります。具体的には、1つのタイムステップで任意の拡張内でフィールド操作を実行でき(大きさに関係なく)、JCFを効率的に計算できると仮定します。
先験的に、これは非現実的です。JCFを使用する場合、指数次数の拡張フィールド(特性多項式の分割フィールド)を使用する必要がある場合があるためです。ただし、注意して、有限のフィールドで作業しているという事実を利用して、これらの問題を回避することができます。特に、各Jordanブロックに、超えての次数のフィールドを関連付けF ′ n F q xy F ′ F ′ F ′FqF′nFq
Jordanブロックのすべてのエントリと、対応する要素が
すべて内に存在するようにします。フィールドはブロックごとに異なる場合がありますが、この「混合表現」を使用すると、JCFの効率的な記述が可能になり、さらに効率的に見つけることができます。このセクションの残りの部分で説明するアルゴリズムは、一度に1つのブロックでのみ動作する必要があるため、関連するフィールド内でフィールド演算を実行する限り、アルゴリズムは効率的です。
【備考】xyF′F′F′
JCFを使用すると、次の形式の方程式が得られます。各方程式はJordanブロックに対応しています:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
アルゴリズムは、各ブロックを個別に処理します。一般的なケースでは、各ブロックについて、強力な離散対数オラクルのクエリがあり、そこからオラクルはモジュール性条件を教えてくれます。また、
が成り立つように、セットも取得します。すべてのブロックを処理した後、これらすべての条件の論理を満たす選択肢があることを確認する必要があります。これは
、方程式およびとなるように、すべてのセット共通の要素があることを確認することで実行できますS ⊆ { 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)がブロック全体に及ぶ場合、すべて同時に満たされます。j
手順全体で発生するいくつかの特殊なケースもあります。これらの場合、特定のブロックから、いくつかの値についてはの形式、または特定の整数についてはの形式の条件を取得します。または、が存在しないことさえあるかもしれません。これらは問題なく一般的なケースのロジックに組み込むことができます。ℓ トン= S S Tt>ℓℓt=sst
次に、各Jordanブロックを処理するためのサブプロシージャについて説明します。そのようなブロックを修正してください。
ブロックの最後の座標のみに注目することから始めます。条件では、が必要です。言い換えれば、これはいくつかのフィールド拡張における離散対数問題のインスタンスです。次に、オラクルを使用してそれを解決します。これにより、解が得られないか、モジュール性の条件が与えられます。「解決策なし」が返された場合は、その旨を表示して返却します。そうでなければ、条件。これは、と同等です。、Y 、K = λ T X K F Q T T = Zy=Atxyk=λtxkFqtY 、K = λ T X Kt=z(modm)yk=λtxk
他の座標を処理するには、次の式から始めます(たとえば、ここを参照)。
Xのk=0、Y、K=λT、X、K、Y、K=0のk-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
最初に、次のケースに注意しましょう
xk=0。を意味するモジュール性の条件が既にあるので、と仮定することもできます。しかし、それからとの最初のエントリ、およびJordanブロックの左上のサブマトリックスに焦点を当てることに減らすことができます。したがって、これからはと仮定し。
yk=λtxkyk=0k−1xy(k−1)×(k−1)xk≠0
次に、場合を処理します。この場合、Jordanブロックのべき乗には特別な形式があり、他の条件なしで、一部のに対してを強制するか、またはを強制します。私は事件を非難するつもりはありませんが、それぞれを効率的にチェックできると言えば十分です。(または、が可逆である場合に減らすことができます。質問に対する私のコメントを参照してください。)、T = Z 、Z ≤ K T > K Aλ=0t=zz≤kt>kA
最後に、一般的なケースに到達します。を意味するモジュール性の条件が既にあるので、その条件が成立すると仮定して、をとして使用ます。より一般的には、を使用してを表すことができます。したがって、次のシステムが選択に当てはまるかどうかを確認する必要があります。
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} 観察する方程式が成立するかどうかは、のみ依存します。これは、への依存が多項式のみであるためです。
t(modp)ttは整数でなければならず、上記の方程式は特性体上にあります。したがって、各値を個別に試すことができます。返される集合は、システムが満足するの選択にすぎません。
pt∈{0,1,…,p−1}St
そのため、いくつかの特別な場合を除いて、ブロックごとのサブプロシージャは、モジュール性条件とセットこれにより、かが、いくつか。これらの条件は、この特定のJordanブロック内のと同等です。したがって、これらをサブプロシージャから返します。特別な場合は、が存在しないと結論付けるか(その場合、サブプロシージャはすぐにその指示を返します)、またはモジュール性の条件と整数ような特別な条件があります、または整数の場合)t=a(modm)St=s(modp)s∈Sy=Atxtt=a(modm)t=sst>ℓℓ。いずれの場合でも、関係する条件はすべて、このJordanブロック内のと同等です。したがって、上記のように、サブプロシージャはこれらの条件を返すだけです。y=Atx
これで、ブロックごとのサブプロシージャの仕様と、アルゴリズム全体の仕様が終わります。これは、前述の説明から正しいことと効率です。
2番目の削減でJCFを使用
する際の微妙さ:2番目の削減で述べたように、JCFとの連携から生じる微妙な点がいくつかあります。これらの問題を軽減するための観察がいくつかあります。
有限体の拡張は正常です。場合、この手段ある既約多項式上、その後の任意の拡張子のルートを含む
含まれている全ての根。換言すれば、既約多項式の分解体
程度の度だけ有する上。PFqFqPPPddFq
ヨルダンの正準形の一般化があり、これは一次有理正準形(PRCF)と呼ばれ、フィールド拡張を書き留める必要はありません。場合は特に、でエントリを有する行列であり、我々は書くことができいくつかの行列ののエントリと、また PRCFにあります。さらに、エントリすべての固有値を含むを
拡張するフィールドにあるとと、AFqA=P−1QPP,QFqQAF′FqAQ実際にはJCFになります。したがって、のJCF を計算することは、PRCFを計算する特別な場合と見なすことができます。A
PRCFの形式を使用すると、のJCFを次ように因数分解できます。A
上ののPRCFの計算AFq
拡張フィールド、のPRCF内の各ブロック PRCFを計算します(Wikipediaの記事からの表記を借用します)。ここで、はすべての固有値を含むように選択されていますCAF′F′C
この因数分解の主な利点は、ブロック特性多項式がすべて既約になるため、最初の観測により、を選択してのサイズ(最大で)。欠点は、JCFの各ブロックを表すために異なる拡張フィールドを使用する必要があるため、表現が非定型で複雑になることです。CF′CnFq
したがって、効率的PRCFを計算する能力が与えられると、我々は、効率的にJCFの適切なエンコーディングを計算することができ、この符号化は、JCFの任意の特定のブロックでの作業は高々度の拡張フィールド内で行うことができるようになるオーバー。nFn
PRCFを効率的に計算することに関して、論文「A Rational Canonical Form Algorithm」(KR Matthews、Math。Bohemica 117(1992)315-324)は、特性多項式の因数分解が知られているときにPRCFを計算するための効率的なアルゴリズムを提供します。(私たちが持っているような)固定特性の場合、有限フィールド上の単変量多項式の因数分解は決定論的多項式時間で実行できます(たとえば、「有限フィールド上の多項式の新しい因数分解アルゴリズムについて」(H. NiederreitterおよびR. Gottfert、Math。of Math。 Computation 64(1995)347-353))、PRCFを効率的に計算できます。A