既知のNPハード問題に基づく暗号化アルゴリズムが存在しないのはなぜですか?


109

RSAなどの今日の暗号化のほとんどは、NPの困難な問題とは考えられていない整数因数分解に依存していますが、BQPに属しているため、量子コンピューターに対して脆弱です。なぜ、既知のNPハード問題に基づく暗号化アルゴリズムがなかったのだろうか。(少なくとも理論的には)NP困難であると証明されていないものよりも優れた暗号化アルゴリズムを作成するように思えます。

回答:


76

NP完全問題の最悪の硬度は、暗号化には十分ではありません。NP完全問題が最悪のケース()で困難な場合でも、平均的なケースで効率的に解決できる可能性があります。暗号化では、NPでの平均的なケースの扱いにくい問題の存在を想定しています。また、P N Pの仮定を使用してNPにハードオンアベレージ問題の存在を証明することは、大きな未解決の問題です。PNPPNP

優れた読み物は、ラッセル・インパグリアッツォの古典、平均ケースの複雑さの個人的な見解、1995年です。

優れた調査は、BogdanovとTrevisanによるAverage-Case Complexity、Foundation and Trends in Theoretical Computer Science Vol。2、No 1(2006)1–106


1
最良の場合でも硬さは必要ではありませんか?結局のところ、すべてのキーは安全でなければなりません。または、最良のケースの発生を効果的に(そして効率的に)防止できますか?
ラファエル

7
さらに、妥当な時間内にハードインスタンスを生成できる必要があります。要するに、私たちはよりもはるかに必要なネス。NP-hard
カヴェー

@Raphael、望ましくない「良い」ケースを得る確率が十分小さければ十分です。望ましい「悪い」ケースの正しいキーを推測する確率よりも小さいと言えば、このリスクは許容できる私見と見なされるべきです。
quazgar

49

があった。

そのような例の1つに、McEliece暗号システムがあります。これは、線形コードのデコードの困難さに基づいています。

2番目の例はNTRUEncryptです。これは、NP-Hardであることがわかっている最短ベクトル問題に基づいています。

もう1つは、壊れたMerkle-Hellmanナップザック暗号システムです。

注:最初の2つが壊れているか、どれだけ良いかはわかりません。私が知っているのはそれらが存在するということだけであり、私はそれらをウェブ検索から得ました。


6
暗号解析の目的のために、McElieceはおそらく1つの暗号システムと見なされるべきではありません。プラグインする効率的にデコード可能な線形コードのクラスごとに、必ずそれを破るために異なる戦略を考え出す必要があります。いくつかのクラスのコードでは壊れていますが、(ウィキペディアの記事によると)Goppaコードでは壊れていません。これはMcElieceの最初の提案でした。
ピーターショー

そのリストから、NTRUが最も有望に見えると思いますが、これまで読んだものに基づいてRSAがテストされた方法で、まだ広範囲にテストされていません。
ケンリー

Merkle-Hellman暗号システムは適切な例ではありません。Merkle-Hellmanナップザックverctorはすべてのナップザックベクトルのサブセットにすぎないため、Merkle-Hellmanナップザック問題はNP困難ではない可能性があります。私はそれがNP困難であるとは思わない、少なくとも私はこれを示す論文を知りません。
miracle173 14

25

完全に独立しているわけではない4つの大きなハードルが考えられます。

  • NP-hardness は、限界の複雑さに関する情報のみを提供します。多くのNP完全問題では、(特定のシナリオで)関心のあるすべてのインスタンスを合理的に高速で解決するアルゴリズムが存在します。言い換えれば、固定された問題のサイズ(たとえば、特定の「キー」)については、NP困難であるという理由だけで問題は必ずしも困難ではありません。
  • NP硬度は、最悪の場合の時間のみを考慮します。すべてのインスタンスの多くでさえ、既存のアルゴリズムで簡単に解決できる場合があります。ハードインスタンスを特徴付ける方法を知っていたとしても(わかりませんが、わかりません)、それらを見つける必要があります。
  • 2nn1nn
  • 何らかの可逆性が必要です。たとえば、任意の整数は、その素因数分解によって一意に記述されます。暗号化方法としてTSPを使用する画像。すべての最短ツアーを考えると、それらが独自に由来するグラフを(再)構築できますか?

暗号化の専門知識はありません。これらは単にアルゴリズム的なものです。複雑性理論上の異論。


素晴らしい要約。ただし、BQP硬度には最初の2つのポイントと同じ注意事項があることに注意してください。
ミッチ

14

今日知られている公開鍵暗号方式は、一方向の トラップドア順列に基づいて構築されており、トラップドアは不可欠です。

プロトコルを安全に公開するには、誰でも利用できるキーと、このキーを使用してメッセージを暗号化する方法が必要です。明らかに、一度暗号化すると、その暗号と公開鍵のみを知っている元のメッセージを回復するのは難しいはずです。暗号は、いくつかの追加情報、つまり秘密鍵でのみ解読可能でなければなりません。

それを念頭に置いて、一方向のトラップドア順列に基づいてプリミティブな暗号システムを簡単に構築できます。

  1. アリスは一方向の順列を一般に公開し、トラップドアを自分自身に保ちます。
  2. ボブは入力を順列に入れ、出力をアリスに送信します。
  3. アリスはトラップドアを使用して、ボブの出力との置換を逆にします。

PNP

PNPNPNPNPNPNP

NPNPNP


RSA、はい、それはトラップドア機能です。私はDLOGは、TDF(片道)であることを確認していない
111

NP中間問題がNP困難である場合、NP完全であり、矛盾します。
Myria

0

実際の経験に基づいて、ヒューリスティックな議論をするだけです。

ほとんどすべてのNP完全問題のほとんどすべての例は、簡単に解決できます。これが真実ではない問題もありますが、見つけるのは難しく、そのようなクラスのサウンドがあると肯定するのは困難です。

これは、制約プログラミング、SAT、または巡回セールスマンなどの有名なNP完全クラスのランダム問題ジェネレーターを作成しようとするときに、実際に何度か発生しました。後日、誰かがランダムジェネレーターが自明で生成するほとんどすべてのインスタンスを解決する方法を見つけます。もちろん、暗号化システムの場合は深刻な問題になります!


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.