一方向関数の存在の引数


25

一方向関数の存在は広く信じられていることをいくつかの論文で読みました。誰かがこれが事実である理由を明らかにすることはできますか?一方向関数の存在をサポートするためにどのような引数がありますか?


1
多くの論文が一方向性関数の存在は広く信じられていると述べていることはやや誤解を招くと思います。「一方向性関数の存在は、実際の経験と現在の知識の状態と一致する専門家の間でもっともらしい仮定として広く受け入れられている」と書くのがより適切で、公平です。

回答:


22

これは、一方向関数を逆にするのが難しいという議論です。解決が難しい植え付けられたソリューションを伴う3-SAT問題のクラスがあるとします。次のマップを検討してください。

(x,r)s

ここで、はビットのストリング、rはビットのストリング(これらを使用して乱数ジェネレーターをシードするか、必要な数のランダムビットを要求できます)およびsxを持つk -SAT問題です乱数発生器が、選択したk -SAT問題を正確に決定する、植え付けられたソリューション。この一方向関数を逆にするには、植え付けられたソリューションでk -SAT問題を解く必要があります。xrskxkk

この議論は、一方向関数を逆にすることは、植え付けられた解で -SAT問題を解くのと同じくらい難しいことを示しています。また、k -SATはNP完全な問題であるため、NP問題の植付けられたソリューションを使用してハードインスタンスを構築する方法を理解できれば、k -SAT式でソリューションを植付けることができます。kkk

任意のNP完全問題と同じくらい難しい植栽されたソリューションでNP完全問題のクラスを思い付くことが可能であることは証明されていません(そして、これが真実であっても、証明するのは非常に難しいでしょう) 、しかし、人々は -SATの問題を解決する方法を現在誰も知らない方法で植え付ける方法を間違いなく知っています。k

追加:この接続は、Abadi、Allender、Broder、Feigenbaum、およびHemachandraで既に(詳細に)提供されていることがわかりました。彼らは、一方向関数がSATの解決されたハードインスタンスを提供できること、およびその逆を指摘しています。

より非公式の言語で言えば、一方向関数が存在しないということは、本当に難しいパズルが存在できないことを示しています。誰かがパズルとその解の両方をアルゴリズムで考え出すことができるタイプのパズルがある場合、パズルの解を見つけるための多項式時間アルゴリズムもあります。これは私にとって非常に直感に反するようです。もちろん、多項式のギャップが存在する可能性があります。パズルの作成にステップかかった場合、解決するにはO n 3ステップかかる可能性があります。しかし、私の直感では、スーパー多項式のギャップがあるはずです。 nO(n3)


1
これは最終的にSadeqの議論と同じではありませんか?両方とも、多くの努力にもかかわらず現在誰も解決方法を知らないいくつかの問題に依存しているという意味では?
伊藤剛

2
@Sadeq:この引数に必要な本質的にすべてのランダムビットをアルゴリズムに与えることができます。本当にPRGは必要ありませんし、暗号的に強力なPRGも必要ありません。
ピーターショー

6
@剛:植え付けられた解でNP問題のハードケースを生成することは、因数分解または離散ログよりもかなり一般的だと思います。一つには、BQPに含まれていることが知られていないからです。
ピーターショー

3
@剛:別のアプローチが見たいです。残念ながら、私は持っていません。しかし、これが意味することは、本当に難しいパズルは存在できないということです。誰かがパズルとその解決策をアルゴリズムで考え出すことができるタイプのパズルがある場合、パズルを解くための多項式時間アルゴリズムもあります。これは私にとって非常に直感に反するようです。
ピーターショー

4
@剛:ピーターのポイントは、OWFの候補が2つまたは3つだけではないということです。候補者は非常に豊富であり、思いつくことはほとんどありません。たとえば、NISTのSHA-3競合を取り巻く作品を見ると、OWFを構築するのは「簡単」であるように思われ、人々はセキュリティの非常に厳格な概念を満たす超高速OWFの設計にほとんど関心を持っています。
ティモシーチャウ

13

簡単に答えます:FACTORINGやDISCRETE LOGなどの一見困難な問題の存在は、理論家にOWFの存在を信じさせました。特に、彼らはそのような問題に対する効率的な(確率的多項式時間)アルゴリズムを見つけるために(1970年代以降)何十年も試みましたが、試みは成功しませんでした。この推論は、ほとんどの研究者がP≠NPであると考える理由と非常に似ています。


私がその信念について好きではないことは、両方の問題がBQPにあるということです、したがって、それらが実際に一方向であり、量子コンピューターが実用的であることが判明した場合、一方向関数の定義を変更する必要があります(量子ポリに抵抗するために-単にランダム化するのではなく、時間の敵)。その意味で、強力な一方向機能の候補を知っていますか?Razborov-Rudichを定理と仮定する強力な一方向関数の候補はありますか?
ディエゴデエストラダ


3
つまり、誰もまだこれらの問題を解決していないということ以外、これについては議論がありません。それは非常に週の議論です。同じ方針に沿って、私たちはまだ解決していないものの難しさを信じるでしょう。私たちは、広くそのファクタリングはしていないと信じていることを言うことができるが、私はそれを主張誰も見たことがありません。OWFの存在を広く信じる理由は他にもあるに違いありません。P対NPとの比較は公平ではありません。多くの自然な同等のNP完全問題があります。DTIME(exp(n1/4))
匿名

10
一方向関数が存在する理由については、まだ反転する方法がわからない一連の関数を知っているよりも、より良い議論が必要です。私は1つを思い付くことができるかどうかを確認します。
ピーターショー

1
@Anonymous:再: "広くその因数分解はしていない[原文]信じている:あなたは離散対数の最近の改善点をチェックアウトかもしれない" eprint.iacr.org/ 2013/400(以下eprint.iacr.org/2013/095)。DTIME(exp(n1/4))
ジョシュアグロチョウ14

-5

Sashoの議論は、コンセンサスが現在存在しない永遠のP = NP問題に依存しています。

しかし、1947年に機密解除されたワンタイムパッドのC.シャノンの暗号解析に従うと、つまり、ワンタイムパッド以外に数学的に安全な暗号化アルゴリズムはありません。彼の議論は、真にランダムなシーケンスがあり、あるシーケンスを暗号化する場合、s 1s 2s 3s n、次のように暗号化します。r1,r2,r3,,rns1,s2,s3,,sn

f(ri,si)=risi=ci

シーケンスが真にランダムである場合、を計算しようとすると、結果はすべてのシーケンスが同等になる可能性があります。f1(ri,si)

一方向関数のシャノンの結果を模倣できます。

関数はマップあり、逆関数はマップf Z / n ZZ / n Z × Z / n Zです。f:Z/nZ×Z/nZZ/nZf:Z/nZZ/nZ×Z/nZ

問題は、「神はサイコロを振らない」というアインシュタインのコメントに相当するため、真に乱数が存在するかどうかわからないということです。

ただし、あらゆる目的のために、物理プロセスに基づいた乱数ジェネレーターは、専門家によって十分にランダムであると見なされます。

これは、私たちが逆にしようとしている瞬間、つまり、乱数はもはや秘密ではなく、逆転は些細なことです。(ci,ri)

さらに、この一方向関数には、耐衝突性などの暗号的に安全なほとんどのハッシュ関数の優れた特性はありません。さらに、という状況があります。これは、同じ値s kが2つの異なる値にハッシュされることを意味します。そして、f r is i= f r js jが一般的です。f(ri,sk)f(rj,sk)skf(ri,si)=f(rj,sj)


5
シャノンの結果は、情報論的セキュリティ(敵が無限の計算能力を持っている場合)に関するものです。それは質問が尋ねているものではありません。問題は、計算セキュリティを備えた一方向関数についてです(ここで、敵は多項式時間計算に限定されます)。したがって、シャノンスタイルの引数は、計算上安全な一方向関数が存在するかどうかについては何も言っていません。
DW

一方向関数の定義を読んでください。
カヴェー14

Ker-I Koは、P = NP問題と多項式同型に関する一方向関数を定義します。より具体的には、一方向関数が存在する場合、NP完全性に関するクックの推測、つまりNP完全セット間の同型は当てはまりません。情報エントロピーの観点から物事を推定することの興味は、数学的に定義可能な関数の同型クラスが、ランダムセットを定義できる場合にのみ安全(不可逆)であることを示すことです。難易度に関するシャノンの入力と「数学的に安全」という表現の使用については確信がありません。
mathersjj1 14

2
cstheoryはディスカッションフォーラムや個人的なブログではなく、Q&Aサイトです。あなたの投稿は、一方向の機能(リンクで定義されている)について尋ねられた質問に対する答えではありません。cstheoryの範囲の説明については、ツアーヘルプセンターを確認してください。
カヴェー

-6

たとえばサイン関数を提案するのと同じくらい簡単ですか?

与えられた入力と出力では、入力は360度(またはラジアンが必要な場合は2 pi)増減できるため、多対1であるため、どの入力があったかを確認することはできませんか?

質問を誤解したかどうか教えてください。



3
あなたは2つの概念をミックスしています:一方向関数と可逆関数。Sine関数は元に戻せませんが、一方通行ではありません。特に、あなたは常にを思い付くことができ、それがない場合であっても、(あなたが好きな精度に)プレイメージプレイメージ。
MS Dousti

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