計算複雑性理論において、計算困難性の仮定とは、特定の問題を効率的に解くことができないという仮説である(ここで「効率的」とは通常「多項式時間で」を意味する)。実質的にあらゆる有用な問題について、(無条件の)困難性を証明する方法は知られていない。そのため、コンピュータ科学者は、新しい問題や複雑な問題の困難性を、よりよく理解されている問題に関する計算困難性の仮定と形式的に関連付けるために、還元法に頼っている。
計算上の困難性に関する仮定は、暗号学において特に重要です。暗号学における主要な目標の一つは、証明可能な安全性を備えた暗号プリミティブを作成することです。場合によっては、暗号プロトコルが情報理論的安全性を備えていることがわかっています。ワンタイムパッドはその典型的な例です。しかし、情報理論的安全性は常に達成できるとは限りません。そのような場合、暗号学者は計算上の安全性に頼ることになります。大まかに言えば、これは、実際にはすべての攻撃者が計算能力に制限されていると仮定すれば、これらのシステムは安全であることを意味します。
計算困難性の仮定は、アルゴリズム設計者を導く上でも有用である。単純なアルゴリズムでは、P ≠ NPのような十分に研究された計算困難性の仮定を反駁することはまずない。
コンピュータ科学者は、どの困難性仮定がより信頼できるかを評価するために、さまざまな方法を用いている。
私たちはその仮定を言う仮定よりも強いいつ暗示する(そしてその逆は偽または不明である)。言い換えれば、仮定が仮定が間違っていた仮定は依然として真実である可能性があり、暗号プロトコルはそれでも安全に使用できる可能性がある。したがって、暗号プロトコルを考案する際には、可能な限り弱い仮定を用いて安全性を証明できることが望まれる。
平均ケースの仮定は、特定の問題が明示的な分布から得られるほとんどのインスタンスで困難であることを示すのに対し、最悪ケースの仮定は、問題が一部のインスタンスで困難であることを示すだけです。ある問題については、平均ケースの困難性は最悪ケースの困難性を意味するため、同じ問題に対しては、平均ケースの困難性の仮定は最悪ケースの困難性の仮定よりも強いと言えます。さらに、比較不可能な問題であっても、指数時間仮説のような仮定は、植え付けクリーク予想のような平均ケースの仮定よりも好ましいと考えられることがよくあります。[ 1 ]しかし、暗号アプリケーションでは、問題に困難なインスタンスが存在すること(問題が最悪ケースで困難であること)を知っていても、困難なインスタンスを生成する方法がわからないため、役に立ちません。[ 2 ]幸いなことに、暗号で使用される多くの平均ケースの仮定(RSA、離散対数、およびいくつかの格子問題を含む)は、最悪ケースから平均ケースへの還元によって最悪ケースの仮定に基づいて構築できます。[ 3 ]
計算困難性の仮定の望ましい特性は反証可能性、つまり仮定が偽であればそれを証明できるということです。特に、Naor (2003)は暗号学的反証可能性の形式的な概念を導入しました。[ 4 ]大まかに言うと、計算困難性の仮定は、チャレンジ、つまり攻撃者と効率的な検証者の間の対話型プロトコルの観点から定式化できる場合に反証可能であると言われます。このプロトコルでは、効率的な攻撃者は、仮定が偽である場合に限り、検証者に受け入れるよう説得することができます。
暗号学的堅牢性に関する仮定は数多く存在します。以下は、最も一般的な仮定のいくつか、およびそれらを使用する暗号プロトコルの一覧です。
合成整数が与えられた場合、特に2つの大きな素数の積であるもの整数因数分解問題は、そして(より一般的には、素数を見つける)そのため)表現のサイズの多項式時間で実行される整数因数分解アルゴリズムを見つけることは、大きな未解決問題です (多くの暗号プロトコルの安全性は、整数因数分解が困難である(つまり、多項式時間で解けない)という仮定に基づいています。この仮定と同等の安全性を持つ暗号システムには、ラビン署名や岡本・内山暗号システムなどがあります。さらに多くの暗号システムは、 RSA、剰余問題、φ隠蔽など、より強力な仮定に基づいています。
合成数が与えられた場合指数および番号RSA問題とは、問題は難しいと予想されているが、 の因数分解が与えられれば簡単になる。RSA暗号システムでは、公開鍵は、メッセージの暗号化、そしての因数分解これは復号化に使用される秘密鍵です。
合成数が与えられた場合整数剰余性問題とは、(あるいは、)が存在するかどうかを判定することである。そのため
重要な特殊ケースには、二次剰余問題と決定合成剰余問題が含まれます。RSAの場合と同様に、この問題(およびその特殊ケース)は難しいと予想されますが、の因数分解が与えられると簡単になります。剰余問題の難しさを利用する暗号システムには、以下のようなものがある。
合成数の場合オイラーのトーシェント関数を効率的に計算する方法は知られていない。ファイ隠蔽の仮定は、計算が困難であることを前提としている。さらに、難しい。この仮定は、Cachin–Micali–Stadler PIRプロトコルで使用されている。[ 5 ]
与えられた要素そしてグループから離散対数問題では整数が求められるそのため離散対数問題は整数因数分解に匹敵するとは知られていないが、それらの計算複雑性は密接に関連している。
離散対数問題に関連するほとんどの暗号プロトコルは、実際にはより強力なディフィー・ヘルマン仮定に依存しています。、 どこはジェネレーターであり、ランダムな整数なので、見つけるのは難しいこの仮定を用いるプロトコルの例としては、オリジナルのディフィー・ヘルマン鍵交換や、より強力な決定型ディフィー・ヘルマン(DDH)方式に基づくエルガマル暗号などが挙げられる。
多重線形写像は関数である(どこはグループであり、任意のに対してそして、
暗号化アプリケーションでは、グループを構築したいそして地図マップとグループ操作が効率的に計算できますが、離散対数問題は依然として難しい。[ 6 ] 一部のアプリケーションでは、より強い仮定、例えばディフィー・ヘルマン仮定の多重線形類似物が必要となる。
特別なケースとしてワイルペアリングとテイトペアリング を使用して、信頼できるセキュリティを備えた双線形マップが構築されています。[ 7 ]近年、多くの建設案が提案されてきたが、その多くは破壊されており、現在、安全な候補について合意が得られていない。[ 8 ]
多重線形困難性の仮定に基づく暗号システムには、以下のようなものがある。
格子上の最も基本的な計算問題は最短ベクトル問題 (SVP)です。格子が与えられたとき、最短の非ゼロベクトルを見つけるほとんどの暗号システムでは、最短独立ベクトル問題(SIVP)、GapSVP [ 10 ]、Unique-SVP [ 11 ]などの SVP の変種に対してより強い仮定が必要となります。
暗号学において最も有用な格子困難性の仮定は、エラーを伴う学習(LWE) 問題に関するものです。、 どこある線形関数に対して学ぶのは簡単です線形代数を使用する。LWE問題では、アルゴリズムへの入力にはエラーがあり、つまり各ペアに対してわずかな確率で。誤差は(適切なパラメータの場合)問題を扱いにくくすると考えられています。特に、SVP の変種から最悪ケースから平均ケースへの削減が知られています。[ 12 ]
量子コンピュータにとって、因数分解や離散対数問題は容易だが、格子問題は困難であると推測されている。[ 13 ]このため、格子ベースの暗号システムの中には、ポスト量子暗号の候補となるものもある。
格子問題の困難性を利用する暗号システムには、以下のようなものがある。
暗号学的応用だけでなく、計算複雑性理論では、無条件に証明するのが難しい数学的命題の証拠を提供するために、困難性仮定が用いられます。これらの応用では、命題自体が真であることを証明する代わりに、困難性仮定が望ましい複雑性理論上の命題を導くことを証明します。この種の最もよく知られた仮定はP ≠ NPという仮定[ 14 ]ですが、その他にも指数時間仮説[ 15 ]、植え付けクリーク予想、ユニークゲーム予想[ 16 ]などがあります。
多くの最悪のケースの計算問題は、ある複雑性クラスにおいては困難または完全であることが知られている。特にNP困難(ただし、PSPACE困難、PPAD困難などにも該当することが多い)。これは、少なくともそのクラスのどの問題よりも難しいことを意味する。問題が発生した場合計算困難性仮定が満たされない限り、(多項式時間還元に関して)多項式時間アルゴリズムでは解くことができない。誤りです。
指数時間仮説(ETH)は、困難性仮定とは、ブール充足可能性問題(SAT)には多項式時間アルゴリズムが存在しないだけでなく、指数時間([ 17 ]さらに強い仮定である強指数時間仮説(SETH)では、-SATは時間、ETH、SETH、および関連する計算困難性の仮定により、例えば多項式時間と準多項式時間を区別する結果[ 1 ]や、対[ 18 ]このような仮定は、パラメータ化された複雑性においても有用である。[ 19 ]
計算問題の中には、特定のインスタンス分布において平均的に難しいと想定されるものがある。例えば、植栽クリーク問題では、入力はエルデシュ・レニーランダムグラフをサンプリングし、そこにランダムなグラフを「植える」ことによって得られるランダムグラフである。- 仲間、つまり、つながり一様ランダムなノード()そして目標は植えられたものを見つけることです-クリーク(whp は一意です)。[ 20 ]もう 1 つの重要な例は、 3-SATのランダムなインスタンスに関する計算困難性の仮定であるFeigeの仮説です(節と変数の特定の比率を維持するようにサンプリングされています)。[ 21 ]平均ケースの計算困難性の仮定は、統計学のように入力に自然な分布があるアプリケーションで平均ケースの困難性を証明するのに役立ちます。[ 22 ]さらに、植栽クリーク困難性の仮定は、指数時間仮説と同様に、他の問題の多項式と準多項式の最悪ケースの時間計算量を区別するためにも使用されています。[ 23 ]
ユニークラベルカバー問題は制約充足問題であり、各制約は2つの変数を含む、そして各値について独自の価値がある満たすすべての制約を満たすことができるかどうかを判断するのは簡単ですが、ユニークゲーム予想(UGC) は、ほぼすべての制約を満たすことができるかどうかを判断するのは簡単ではないと仮定しています (任意の定数に対する分数)は満たされるか、ほとんど満たされないか(-fraction) を満たすことができるのは NP 困難です。[ 16 ]近似問題は UGC を仮定すると NP 困難であることがよく知られています。このような問題は UG 困難と呼ばれます。特に、UGC を仮定すると、多くの重要な問題に対して最適な近似保証を達成する半正定値計画アルゴリズムが存在します。[ 24 ]
一意ラベルカバー問題と密接に関連しているのが、小集合拡張(SSE)問題です。グラフが与えられた場合、小さな頂点の集合(サイズ)を見つける)エッジ拡張が最小限である。SSE の近似が難しい場合、一意ラベルカバーも近似が難しいことが知られている。したがって、SSE の近似が難しいと仮定する小集合拡張仮説は、一意ゲーム予想よりも強い(しかし密接に関連した)仮定である。 [ 25 ]いくつかの近似問題は SSE 困難であることが知られている[ 26 ](つまり、少なくとも SSE の近似と同じくらい難しい)。
与えられたセット3SUM問題は、合計がゼロになる3つの数の組み合わせが存在するかどうかを問う問題です。3SUMには2次時間アルゴリズムが存在し、3SUMを「真に2次時間未満」で解くアルゴリズムは存在しないと予想されています。3SUM予想とは、3SUMを解くアルゴリズムが存在しないという計算困難性の仮定です。-3SUM の時間アルゴリズム (任意の定数に対して)この予想は、主に計算幾何学におけるいくつかの問題に対して、ほぼ二次的な下限を証明するのに役立ちます。[ 27 ]