私は、暗号プロジェクトのために大きな素数を生成する必要があります。私は、.NET 4.0にはランダムに生成された大きな素数(p、RSAのq)を使用する組み込み暗号プリミティブ(例えばRSA)がいくつかあることに気付きました。彼らはすべて共通の組み込みライブラリを使用していますか?クラススコープ外からアクセスできるか、外部ライブラリを使用する必要がありますか?(私は素数検査のための単純なアルゴリズムがあることを知っています。私が必要以上に実装する。)。外部ライブラリを使用せずにC#で大きな素数を生成する方法はありますか?
3
A
答えて
1
.NET v4(以降)では、BigInteger
タイプを含むSystem.Numerics.dll
という新しいアセンブリが提供されています。ただし、素数をチェックする方法はありません。
モノ(1.0より前)は[BigInteger][3]
タイプも提供しています(Mono.Security.dll
アセンブリ)。 をそのままとして使用するか、素数検査方法(いくつかの方法が存在する)を新しいMicrosoft BigInteger
タイプに移植することができます。
は、それらすべてが公開されている一般的な組み込みのライブラリを使用し、そのクラススコープ
はい
、これを行うためのCryptoAPIに両方RSACryptoServiceProvider
と
DSACryptoServiceProvider
通話外部からアクセスすることができません。しかし、CAPIはそれ自体のBigIntegerコード(ネイティブコードにさえ)を公開しないので、あなたを助けません。
1
必要な範囲で大きな数値を生成します。それがプライムかどうかをテストしてください。そうでない場合は拒否して繰り返します。
試験のためには、たとえば1500までのプライムで試験分割を行い、Miller-Rabinに切り替えます。 Miller-Rabinが適切に実装されていると、ハードウェア障害の可能性は誤ってコンポジットにプライムとしてフラグを立てるよりも大きくなります。
関連する問題
- 1. 外部JAVA_TOOL_OPTIONSを使用せずに、UTF-8でmavenビルドクラスファイルを作成する方法はありますか?
- 2. 外部ライブラリを使用せずにJSONを作成していますか?
- 3. C++で大きな乱数/キーを生成する方法
- 4. サードパーティのライブラリを使用せずにtarファイルを作成する方法はありますか?
- 5. C#でSMOを使用せずにMYSQLでデータベースを作成する方法はありますか
- 6. 要素に外部スタイルを適用する方法はありますか?
- 7. Objective-CライブラリをC言語で使用する方法はありますか?
- 8. クラスを作成せずにObjective-CでSwift構造体を使用する方法はありますか?
- 9. 大きな乱数を生成する方法C
- 10. エンドポイントを使用せずにIdentity Server内からアクセストークンを生成する方法はありますか?
- 11. LibreOffice LightProof文法ライブラリを外部で使用できますか?
- 12. サードパーティのライブラリを使用せずに、WindowsのネイティブC++コンソールアプリケーションでコンソールの同じ部分を上書きする方法はありますか?
- 13. 私は外部ライブラリ(宿題)を使わずにjavaで非常に大きな数を分割する必要があります
- 14. 外部Cライブラリのリンカフラグはどこにありますか?
- 15. 外部ライブラリを使用しているときにターゲットメイクファイルを作成するルールがありません
- 16. 乱数を1から8まで反復せずに生成する方法はありますか?
- 17. androidでライブラリを使用せずに拡大表示を作成するには
- 18. ldexpを使用せずに浮動小数点数を作成する方法はありますか?
- 19. GHCでは、実際に出力を生成せずにコンパイルをチェックできる方法はありますか?
- 20. WinjSライブラリを使用せずにUniversal Windowsアプリケーションでボタンイベントを追加する方法はありますか?
- 21. アクセサーラッパー関数を使用せずに、クラスの外部から変更できないパブリックメンバーを持つ方法はありますか?
- 22. Pythonで「大きな」乱数を生成する方法は?
- 23. intellijアイデアを生成する外部キーがありません
- 24. フラグメント内で外部ライブラリを使用する方法は?
- 25. ffmpegに外部フィルタを使用する方法はありますか?
- 26. Linuxでライブラリ.soを使用するELFファイルからc関数をフックする方法はありますか?
- 27. webpackJsonpを使用せずにjsファイルを生成する方法
- 28. System.Drawingを使用せずに色を生成する方法
- 29. パッケージをインストールせずにPostSharpを使用する方法はありますか
- 30. Qt - クロスコンパイルに外部ライブラリを使用できません
素数は奇数でなければなりません。 – Corbin
@Corbin - すべてではない*すべての素数は奇数です(しかし大きな数字になります) –
私は思ったほど間違いました。しかし、まだ、唯一の非奇数素数ではありませんか? – Corbin