私はすでにそれを掲載知っているが、人々は私が何を意味するのか誤解し、私はそれを修正するまで、ポストが死亡しました。
私が必要とするのは、C++とGMP(Gnu Multiple Precession lib)を使うか、あまり好ましくない方法で、効率的に(数の素因数を見つける)大きな数(2048ビットになるかもしれない)を因数分解する方法です。
数字は実質的にランダムであるため、因数分解が困難な可能性はほとんどなく、因数を計算するのが難しい場合でも数をリロールすることはできます(選択できません)。
どうすればよいですか?
答えて
またはgeneral number field sieveを試しましたか? (QS単純で簡単に実装するために、GNFS速く、非常に大きな数字のために、しかし、あなたの番号がGNFSがQSよりもはるかに高速であるためには十分な大きさではないかもしれない)
編集:QS間a paper by Eric Landquistによると、クロスオーバーポイントとGNFSは約110桁=約365ビットです。
(おそらく)効率的な方法はありません。この仮定は現代の暗号の基礎である。
downvoteを説明してください。それは誰にも喜ばないかもしれませんが、それが答えです。 –
-1:この文脈では、OPからの定量的な仕様がないと「効率的」では意味がありません。 –
あなたはOPのコメントを無視しています:「数値は実質的にランダムであり、因果関係が難しい可能性はほとんどありません」 –
これを効率的に行う方法は、現在使用されている多くの暗号化アルゴリズムを壊すことになります。
これはNPCの問題ですので、
あなたはOPのコメントを無視しています:「数値は実質的にランダムであり、因果関係が成立しにくい可能性はほとんどありません」 –
@Jason:「数値は実質的にランダムであり、因数分解するのはほとんどない」少し容疑者。 RSA鍵の生成は、実質的に乱数を使用して行われます(ただし、常に低位ビットが1に設定されています)。 –
もし私が何かを見逃していないなら、これは「難しい」問題であることが知られています。 http://en.wikipedia.org/wiki/Integer_factorization。すなわち現在不可能である。
多数の要因を効率的に考慮する方法はありません。理由と最新技術については、Wikipediaを参照してください。
コメントが指摘しているように、この問題の難しさは、多くの現代の暗号化、特に公開鍵暗号化の基礎です。
あなたはとすることができます。は小さな素数のテーブルを格納しています。数字が「あまりにも硬い」(小さな小数点を使い果たした場合)、次に巻き戻します。
なぜdownvotes(これと同様の回答)?あなたは、多数の要因を効率的に分析する方法を求めました。そのような方法はありません。状況の現実が好きではないという理由だけで、正しい答えを下降させる理由はありません。 –
あなたはOPのコメントを無視しています:「数値は実質的にランダムであり、因果関係が難しくなる可能性はほとんどありません」 –
@Jason:数字は実質的にランダムであり、因数分解することはほとんどありません少し容疑者。 RSA鍵の生成は、実質的に乱数を使用して行われます(ただし、常に低位ビットが1に設定されています)。 –
なぜそれを考慮するのが難しくないと思いますか?はい、いくつかの小さな要因があります。しかし、残りの部分は、その大きさで十分な大きさであり、しばしばそれを考慮するには深刻な作業が必要になるでしょう。
小さな魚を池の外に出すために、いくつかの小さな素数で試行分割を提案します。その後、Pollardのrhoメソッドを試してみるかもしれませんが、それは数多くのビットで数字にチャンスがあるのではないかと疑います。二次的なふるいが良いでしょう。
- 1. 多項式の因数とファクタリングの発見数(Lua)
- 2. ガーディアンRe:ファクタリングErlangアプリケーション
- 3. Oracle CTE /サブクエリ・ファクタリングの削除
- 4. IQueryableのWHERE節をファクタリング
- 5. ファクタリングなしでggplot2の複数の変数のボックスプロットを生成
- 6. パンダのデータフレームのリストをエンコード/ファクタリング
- 7. 多値多数null
- 8. 2列のパンダを使用してファクタリングする
- 9. oracle 12c plsql宣言でサブクエリのファクタリング句を使用する
- 10. は私が再ファクタリングだ巨大なプロジェクトを持っている
- 11. 春のデータJPA多数取得多数
- 12. 多数
- 13. Laravel多対多関係数
- 14. 多対多人数同型
- 15. 複数の多対多リレーションシップエンティティフレームワーク
- 16. クラスをOCPに従うようにする - ファクタリング関数をオブジェクトに変換する
- 17. Pythonの数学式をラテックスに、逐語的に(並べ替え、ファクタリングなどなし)
- 18. 崩壊多数
- 19. 多数のサンプルドキュメント
- 20. read_csvインポート多数
- 21. Hibernate spring:多対多の複数のデータソース?
- 22. 多対多の複数のドロップダウンウィジェット
- 23. SQL JOIN複数の多対多テーブル
- 24. Symfony2のquerybuilder orderbyの数多対多
- 25. Rails - 多対多リレーションシップコレクションの複数のルート
- 26. 複数の多対多の関係
- 27. Python Sympy Latex Fractionは最初にファクタリングせずに印刷されません
- 28. コントローラ内の変数の取得方法、多対多、一対多数のレール
- 29. 多数独AIアプローチ
- 30. 多数はHaskellで
あなたがこれを行うことができれば、お知らせください。なぜならば、正確なアルゴリズムにかかわらず、すべての形式の公開鍵/秘密鍵の暗号化を本質的に破っているからです。さようなら、さようならssh、もっと重要なのはさようなら暗号化された軍事通信。 – slebetman
投稿はスタックオーバーフローで死ぬことはありません。問題はまだそこにある。だから問題は何ですか? –
多数の要因を考慮する必要がありますか?あなたがあなたの範囲内の数字を取得するまで、あなたは数字を選択することができます、なぜ小さな素数の多くを掛けてみませんか?次に、あなたはすでに要素を知っています... – jtdubs