数学において、関数体篩法は有限体における離散対数問題 (DLP) を解くための最も効率的なアルゴリズムの 1 つです。ヒューリスティックな準指数的複雑性を持っています。Leonard Adleman が1994 年に開発し[ 1 ]、その後 1999 年に MD Huang と共に詳細化しました[ 2 ]。以前の研究には、D. Coppersmith による標数 2 の体における DLP に関する 研究[ 3 ]が含まれます。
有限体における離散対数問題は、次の方程式を解くことから成ります。 のために、 素数と整数。関数固定の場合DLPは暗号化で使用される一方向関数です。Diffie -Hellman鍵交換、El Gamal暗号システム、デジタル署名アルゴリズムなど、いくつかの暗号化方式はDLPに基づいています。
させて有限体上の代数曲線を定義する多項式である関数体は、アフィン座標環の分数体と見なすことができる。、 どこは、によって生成されるイデアルを表します。これは代数関数体の特殊な場合です。有限体上で定義されます。そして、超越次数は1である。超越元は、で表す。。
関数体における評価環と場所の同値類の間、および評価環と評価の同値類の間には全単射が存在する。[ 4 ]この対応関係は関数体篩アルゴリズムで頻繁に使用される。
関数場の離散的な評価すなわち、離散的な評価環は、唯一の最大イデアルを持つ関数体の素数と呼ばれる。はまた、定義も。
除数は-すべての素数に対する線形結合なので、どこそして、和の要素のうち非ゼロの要素は有限個だけである。要素の約数は次のように定義される。、 どこプライムに対応する評価額は約数の次数は。
関数体篩アルゴリズムは、次数が低い既約多項式の離散対数を求める事前計算と、それらを対数に結合する削減ステップから構成されます。。
ある境界よりも小さい次数を持つ既約関数に分解される関数と呼ばれる-滑らか。これは滑らかな数の定義に類似しており、このような関数は分解が比較的速く見つかるため有用です。これらの関数の集合は因数基数と呼ばれます。関数のペア二重に滑らかであるのは、そして両方とも滑らかで、要素の規範は以上、は何らかのパラメータであり、関数フィールドの要素として見なされる 。
アルゴリズムのふるい分けステップは、二重に滑らかな関数のペアを見つけることから成ります。次のステップでは、それらを使用して、分解内の関数の対数を含む線形関係を見つけます。線形システムを解くことで、対数を計算します。還元ステップでは、以前に見つけた対数の組み合わせとして、DLP を解決します。
このアルゴリズムには、以下のパラメータが必要です:既約関数学位関数そして曲線与えられた程度のそのため。 ここ基本場の次数におけるパワーは。 させて関数フィールドは次のように定義される。。
これは同型写像につながる準同型写像 :\mathbb {F} _{p}[x,y]/C\to \mathbb {F} _{p}[x]/f,y\mapsto m.} 同型写像を用いて、各要素はは多項式とみなすことができる。
滑らかさの限界を設定する必要もある要素ベースの場合。
このステップでは、関数の二重平滑ペアが発見されました。
関数の形式を考える、次に分割しますいかなる可能な限り何度も。この過程で1に縮小されるのは-滑らかさ。これを実現するには、グレイコードを使用して、与えられた多項式の倍数を効率的にステップ実行できます。
これは、数体篩法や指数計算アルゴリズムなどの他の篩法アルゴリズムにおける篩法ステップと完全に類似しています。数値の代わりに、関数を篩い分けます。しかし、それらの関数は、数が素数に因数分解できるのと同様に、既約多項式に因数分解することができる。
これはアルゴリズムの中で最も難しい部分であり、上述のように定義された関数体、位、 および除数に関わる。目標は、二重平滑な関数のペアを用いて、因数基底の要素の離散対数を含む線形関係を見つけることである。
因子基底内の各既約関数に対して、のそれらの上に横たわる代用機能場所に対応するもの。代理関数場所に対応する満たすどこクラス番号はそして固定離散評価はこのように定義された関数は、定数を除いて一意である。 。
除数の定義によりのためにこれと、次のような式が得られます。
どこどのような評価でもすると、代理関数の除数は定数を除いて一意であるという事実を利用して、次の式が得られる。
私たちは今、そして、この式の既約多項式への分解は既知である。力となるこの分解では。
ここでは、方程式の離散対数を1まで取ることができます。これは制限付き離散対数と呼ばれます。。それは次の式で定義されます。ある単位に対して。
どこは逆ですモジュロ。
表現そして対数は未知である。この形式の方程式が十分に見つかれば、線形システムを解いて を求めることができる。すべての人々のために式全体を取り上げて未知数であるため、時間を稼ぐのに役立ちます。、、または計算する必要はありません。最終的には各制限された離散対数に対応する単位を計算すると、次のようになります。。
初めモジュール ランダムに計算されます十分に高い確率でこれは-滑らかであるため、次のように因数分解できます。のためにとこれらの多項式のそれぞれCoppersmith法の一般化を用いることで、より低い次数の多項式に還元できる。[ 2 ]次数を下げて、積が滑らかな多項式。次に、底の対数を取る。最終的に計算できます
関数フィールドシーブは、準指数時間で実行されると考えられています。
L記法を使用する。この複雑さの厳密な証明はない。なぜなら、いくつかのヒューリスティックな仮定に依存しているからである。例えば、ふるい分けのステップでは、次の形式の数値を仮定する。特定の範囲内の乱数のように振る舞う。
離散対数問題を準指数時間で解く、よく知られたアルゴリズムが他に2つあります。インデックス計算アルゴリズムと数体篩法の1つです。[ 5 ]最も簡単な形式では、どちらも素数位数の有限体でDLPを解きますが、拡張してDLPを解くことができます。同じように。
DLP 用の数値フィールド篩複雑さは[ 6 ]そのため、関数フィールドシーブの最高のパフォーマンスよりもわずかに遅くなります。ただし、関数フィールドシーブよりも高速なのは、数体と関数体を用いた類似のアルゴリズムが2つ存在することは驚くべきことではない。実際、これら2種類のグローバル体の間には広範な類似性がある。
インデックス計算アルゴリズムは、高度な代数構造を必要としないため、関数体篩法や数体篩法よりもはるかに簡単に記述できます。漸近的に遅く、計算量は数体篩法と関数体篩法が高速である主な理由は、これらのアルゴリズムがより小さな平滑度境界で実行できるためである。そのため、ほとんどの計算はより小さな数値で行うことができます。