A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
> で、素因数分解はNP完全なんです。
なぜここだけ間違いを?
素因数分解は回答例が与えられた場合、多項式時間でその回答が正しいか確認できるが、回答を多項式時間で得るアルゴリズムは存在を知られていない。
素因数分解はNP問題ではあるが、NP完全であるとは証明されていないようです
No.4
- 回答日時:
素因数分解は、計算に手間が掛かる。
その背景を少しご紹介致します。「計算理論」という数学の分野がありまして、いろいろなアルゴリズムの相互の関係ですとか、計算の手間について詳しく調べられています。この理論に於いて「易しい問題」とされるのは、データの量(つまりビット数)をnとするとき、nの何乗かに比例する手間で処理できる問題で、多項式(polynomial)時間の問題と呼ばれます。n^100000なんてのは現実問題として飛んでもなく手間が掛かる訳ですけれど、それでも易しい部類とみなされる。で、難しい問題てのはe^nに比例する手間がかかる。
さて、「問題を解くのにはe^nに比例する手間が掛かるけれど、答を教えて貰って、それが正しいかどうか検算するだけなら多項式時間でできる」という種類の問題は、non-deterministic polynimial(NP)時間の問題と呼ばれます。そして、非常に多くの重要なアルゴリズムが、NP問題に該当しています。
「NP問題を多項式時間で計算するアルゴリズムが存在するかどうか」というのが大問題でして、これは何十年間多くの人がトライして、YESともNOとも答が出ていません。しかし「できっこねーだろ、んなこと」というのが圧倒的大勢の意見ではあります。
また、NP問題の中には、「もしこの問題が多項式時間で計算できるなら、他のNP問題も全部多項式時間で計算できる」と証明されている問題があり、この性質をNP完全(non-deterministic polynimial complete)と言います。
で、素因数分解はNP完全なんです。だから、素因数分解を多項式時間でやれるアルゴリズムを見つけたら、「できっこねーだろ、んなこと」をひっくり返し、全てのNP問題が多項式時間で解けるようになる。大変なことです。フィールズ賞ぐらいじゃおっつかない、世界中の賞という賞を差し上げたい大発見です。
逆に言えば、素因数分解に基づく暗号化は安全だろう、と信じるに足るわけですね。
No.3
- 回答日時:
人間なら、たとえば2003は素数かどうか確かめよ
といわれたら
ちょっと嫌になると思いますがやれないことはない。
50ぐらいまで確かめればいいですから。
しかし 2^17+1 ぐらいになったらお手上げで、
これはもうコンピュータの世界でしょう。
もっと大きくすればコンピュータでも嫌になるのは
前の方の説明のとおりです。
No.2
- 回答日時:
大きい素数を掛け合わせた数字を素因数分解するのが技術的に難しいというわけではなく単純に「時間がかかる」のです。
RSAが現在推奨している鍵長1024ビットとは、10進数で言えば1.8x10の38乗、という数値です。
#1の方もおっしゃっておられるように、素因数分解するためには今のところ「素直に割り算」するしかありません。コンピュータにとって、割り算は苦手な計算です。この割り算を、ほとんど総当りでやっていかなければならないわけです。
予断ですが、これを「総当りでやらなくてもいい方法」をもし貴方が思いつかれたら、それはフィールズ賞(数学のノーベル賞)モノです。
しかも、一般的なCPUでは64ビット・128ビットといった数値の計算であれば簡単にできるようになっているのですが(このため、一時128ビットの鍵は危ない、などといわれていました)1024ビットの演算となるとプログラムを組んでやらなければなりません。
平たく言うと「すごく時間がかかる」わけです。
どれくらい時間がかかるというと、今推奨されている1024ビットの前の512ビットの鍵長ですら「252台のコンピュータを使って、5.2ヶ月かかった」そうです。
1024ビットでは単純にこれの2倍ではなく、2の512乗倍(≒1.34x10の154乗倍)の時間がかかることになります。
10の154乗倍ということですから、今5.2ヶ月として、5.8x10の153乗年、580兆年の100兆倍の100兆倍の100兆倍の100兆倍の100兆倍の・・・(100兆倍が9回続く)の1000倍の時間がかかることになります。
No.1
- 回答日時:
素因数分解は普通、小さい素数から順に割り切れるか試して割り切れなかったら次の小さい素数へって感じで計算していきます。
割り切れる素数がものすごく大きい場合、この計算回数が同様にものすごく多くなります。また、1回の割り切れるかどうかの計算も複雑になります。
そのため、大きな数の素因数分解は難しくなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 「素数」とは、「1と、それ自身でしか割り切れない数」。 「素因数分解」も「素数」の仲間ですか? 3 2022/04/14 22:45
- 数学 【 数A 自然数の積と素因数の個数 】 2 2023/03/02 23:58
- 数学 素因数分解は素数になったら辞めるはずなのに、 画像のようにルート24の素因数分解が2の2乗×6と、 5 2023/06/13 22:57
- 数学 x^p-1=(x-1)(x-ζ)(x-ζ^2)・・・(x-ζ^p-1)と複素数の中で因数分解できる理 1 2022/11/23 14:59
- 数学 数3 複素数 z^3+3z^2+3z-7=0 を解けという問題なのですが、 (z+1)^3=8と変形 3 2023/01/17 15:13
- 数学 中一数学の【最大公約数と最小公倍数】の問題です。 1問だけでも教えていただけると嬉しいです。 (1) 4 2022/08/01 10:19
- 数学 素数とか素因数分解、自然数を詳しくお願いします。 自然数ってお風呂って聞いたんですけど、どういうこと 7 2022/04/15 20:36
- 数学 nは正の整数であり、偶数。 n(n+1)(n+2)(n+3)は素因数が3つ。 nを求めよ。 という問 8 2022/09/26 18:15
- 小学校 約数の調べ方。 小学生の子供に分かりやすいように説明したいです。 例えば素因数分解するとします。2が 4 2022/08/24 15:14
- 数学 連続した5つの自然数の積が30240になるとき、この5つの自然数の和として正しいのは?という問題の解 7 2022/05/09 20:04
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
100以下の自然数のうち、次のよ...
-
エクセル関数で源泉徴収額を計...
-
エクセルでのシグマ計算
-
工事の共通仮設費率の計算がで...
-
エクセルで60進法計算の仕方...
-
3桁の自然数の中で、次の個数を...
-
この産み分けの計算でハズレの...
-
経費率の計算方法を教えて下さい。
-
Excelで勤務の過不足時間を計算...
-
n(n+1)(2n+1)/6の変形
-
端数を習うのは小学何年生の頃...
-
ラプラス変換の「s」とは?
-
最小公倍数と最大公約数の求め...
-
問1.絶対値が3より小さい整数に...
-
常用対数と自然対数の違い
-
中1 数学の加法と減法の混じっ...
-
A÷(B×C)=?
-
1億x1億はいくらでしょうか?
-
10分の1は「10/1 それとも1/10...
-
「最大300字程度」
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル関数で源泉徴収額を計...
-
エクセルで60進法計算の仕方...
-
工事の共通仮設費率の計算がで...
-
この産み分けの計算でハズレの...
-
100以下の自然数のうち、次のよ...
-
経費率の計算方法を教えて下さい。
-
3桁の自然数の中で、次の個数を...
-
エクセルでのシグマ計算
-
Excelで勤務の過不足時間を計算...
-
ラプラス変換の「s」とは?
-
関数電卓の使い方
-
最小公倍数と最大公約数の求め...
-
小学生の割合の問題
-
問1.絶対値が3より小さい整数に...
-
公務員試験の問題
-
数Aの「割り算のあまりの性質」...
-
○進法とかの計算方法。
-
勝率50%の事象を100回やって勝...
-
整式を整理する・計算する
-
数学は才能がないとマスターで...
おすすめ情報