数学 では、与えられた実数に対してそして対数数字ですそのため離散対数は群論における類似の概念である。どの群においても、力すべての整数に対して定義できる、そして離散対数整数ですそのため整数を法とする算術演算の特殊な場合より一般的に使われる用語はインデックスです。次のように書くことができます。いつ。
離散対数はいくつかの特殊なケースでは高速に計算できますが、一般的に効率的な計算方法は知られていません。Diffie –HellmanやElGamalを含むいくつかの暗号システムは、慎重に選択された群上の離散対数問題には効率的な解がないという困難性の仮定に基づいてセキュリティを構築しています。[ 1 ]一般に、ブラックボックス群に対しては準指数時間解はありません。[ 2 ]
させてを任意の群とする。その群演算を乗法で、単位元をで表す。。 させての要素である任意の正の整数に対して表現の積を表す自身と回数: [ 3 ]
同様に、の積を表す自身と回数。、力はアイデンティティである:。
させてまた、整数方程式を解くは、離散対数(またはこの文脈では単に対数)と呼ばれます。基地へ一人はこう書いている。
10のべき乗は
任意の数に対してこのリストでは、計算することができます。 例えば、、 そしてこれらは離散対数問題の一例である。
実数における他の10を底とする対数は、非整数指数を含むため、離散対数問題の例ではありません。例えば、次の式つまり整数指数は積と逆数を使って任意の群で定義できますが、1.724276…のような任意の実数指数は指数関数などの他の概念を必要とします。
同様の例は、ゼロでない任意の実数にも当てはまる。累乗は乗法的な部分群を形成する。ゼロでない実数の。任意の要素についての計算できる。
離散対数の最も単純な設定の1つは群Z p ×です。これは素数を法とする乗法群です。その要素は、法を法とする非ゼロ合同類である。、また、2 つの要素の群積は、要素の通常の整数乗算に続いて法による還元を行うことで得られる。 。
の このグループのいずれかの数値の のべき乗は、その ' を求めることによって計算できます。を整数として、そしてで割った後の余りを求める関係する数値が大きい場合、剰余演算を減らす方が効率的です。計算中に複数回実行されます。使用する具体的なアルゴリズムに関係なく、この演算はモジュラーべき乗と呼ばれます。たとえば、Z 17 ×を考えます。このグループでは、計算します。そして分割するによる残りの部分を取得する。 したがってグループZ 17 ×において。
離散対数は、その逆演算に他なりません。例えば、次の式を考えてみましょう。上記の例から、一つの解決策はしかし、それは唯一の解決策ではありません。フェルマーの小定理から導かれるように、もし整数である場合したがって、この方程式には無限に多くの解が存在する。さらに、最小の正の整数満足これらが唯一の解である。言い換えれば、すべての可能な解の集合は、次の制約によって表現できる。。
特別な場合は同一要素ですグループ離散対数未定義です以外、そしてすべての整数は離散対数である。
C を体F上の射影平面におけるワイエルシュトラス標準形の楕円曲線とする。OをC上の無限遠点とする。C 上の任意の点 P と Q に対して、 P # Qは、P と Q を通る直線が C と交わる唯一の第 3 点を表すものとする。(P = Qの場合、問題の直線はPにおけるCの接線である。P = Q = Oの場合、P # Q = Oである。)C上の「加算」演算を次のように 定義する。 この加算演算により、 C は単位元Oを持つ可換群となる。Cの任意の点Pに対して、 は、 Pのk 個のコピー の合計を表します。この文脈では、離散対数問題は次のとおりです。点PとQが与えられたとき、次の条件を満たすk を見つけます。基礎となる体Fが有限体である場合、この問題は暗号学的応用を持つ。[ 4 ]
べき乗は通常の代数的恒等式に従う[ 3 ]言い換えれば、関数
定義されるは整数群からの群準同型である。サブグループに追加のによって生成されましたすべてので、存在する。逆に、存在しない含まれていないもの。
もし無限大の場合、もユニークであり、離散対数は群同型に相当する。
一方、次数が有限である、 それから0 は合同法を除いて一意です離散対数は群同型に相当する
どこは整数の加法群を表す。。
通常の対数に対するおなじみの底変換公式は依然として有効です。は別のジェネレーターです、 それから
離散対数問題は、計算上困難であると考えられている。古典的な(例えば、量子コンピュータではない)コンピュータでは、一般的に離散対数を計算するための効率的な(多項式時間)アルゴリズムはまだ知られていない。
計算のための一般的なアルゴリズム有限群において上げるより大きな権力へ希望するまでが見つかりました。このアルゴリズムは試行乗算と呼ばれることもあります。実行時間は グループのサイズに比例します。したがって、グループのサイズにおける桁数に対して指数関数的に増加する。そのため、これは指数時間アルゴリズムであり、小規模なグループにのみ実用的である。。
より高度なアルゴリズムも存在し、それらは通常、整数因数分解のための類似アルゴリズムにヒントを得ている。これらのアルゴリズムは単純なアルゴリズムよりも高速で、中には群のサイズの平方根に比例するものもあり、群のサイズの桁数の半分に対して指数関数的に高速になるものもある。しかし、いずれも(群のサイズの桁数に対して)多項式時間で実行されるものではない。
ピーター・ショアによる効率的な量子アルゴリズムが存在する。[ 5 ]
特定の特殊なケースでは、効率的な古典的アルゴリズムも存在します。たとえば、整数のグループでは、さらに、製品になる、そして等号は法合同を意味する整数において。拡張ユークリッドアルゴリズムは素早く。
ディフィー・ヘルマン法では、素数を法とする巡回群はが使用されるため、群の位数が ( である) の場合、Pohlig–Hellman による離散対数の効率的な計算が可能になります。) は十分に滑らかであり、大きな素因数を持たない。
離散対数の計算と整数因数分解は異なる問題ではあるが、いくつかの共通点がある。
離散対数を計算することが明らかに困難な群が存在する。いくつかのケース(例えば、群の大きな素数位数の部分群))最悪の場合に対して効率的なアルゴリズムが知られていないだけでなく、平均的な場合の複雑さは、ランダム自己還元性を使用した場合、最悪の場合とほぼ同じくらい難しいことが示されています。[ 6 ]
同時に、離散べき乗の逆問題は難しくありません(例えば、2乗によるべき乗を用いて効率的に計算できます)。この非対称性は、整数因数分解と整数乗の間の非対称性に類似しています。これらの非対称性(およびその他の片方向関数)は、暗号システムの構築において利用されてきました。
グループに人気の選択肢離散対数暗号(DLC)では、巡回群は(例えば、エルガマル暗号、ディフィー・ヘルマン鍵交換、デジタル署名アルゴリズムなど)および有限体上の楕円曲線の巡回部分群(楕円曲線暗号を参照)。
一般的に離散対数問題を解くための公に知られているアルゴリズムはないが、数体篩アルゴリズムの最初の3つのステップは群のみに依存する特定の要素ではなくその有限性特定のグループに対してこれら 3 つのステップを事前に計算することで、最初の 3 つのステップよりも計算コストがはるかに低い最後のステップを実行するだけで、そのグループの特定の対数を取得できます。[ 7 ]
インターネットトラフィックの多くは、1024ビット以下のオーダーのグループ、例えばRFC 2409で指定されているオークリー素数のオーダーを持つ巡回グループのいずれかを使用していることが判明した。[ 8 ] Logjam攻撃はこの脆弱性を利用して、512ビット素数、いわゆるエクスポートグレードのオーダーを持つグループの使用を許可していたさまざまなインターネットサービスを侵害した。[ 7 ]
Logjam攻撃の著者らは、1024ビット素数の離散対数問題を解くために必要な、はるかに困難な事前計算は、米国国家安全保障局(NSA)のような大規模な国家情報機関の予算内であると推定している。Logjamの著者らは、広く再利用されている1024 DH素数に対する事前計算が、NSAが現在の暗号の大部分を破ることができるという流出したNSA文書の主張の背後にあると推測している。[ 7 ]