前提
C#初心者です、練習としてRSA暗号で暗号化・復号をするソフトを作っています。
RSAでの暗号化、復号にはどうしても冪乗余を出力するのが必要です。Pythonのpowのようにそれを出力する関数がC#では無かったので自作したいのですが、上手くアルゴリズムを組めません。どなたか良いアルゴリズムを教えて・考えていただけないでしょうか?
なお、普通に計算しようとするとあまりにも時間がかかりすぎてしまいます。また桁数が大きすぎて(大体20~30桁くらいです)intやdoubleでは収まらなかったので_System.Numerics_のBigIntegerを使用しています。
実現したいこと
- 冪乗を割ったときの余りの出力
該当のソースコード
C#
1public static BigInteger powf(BigInteger X, BigInteger p, BigInteger d) 2{ 3 4}
試したこと
普通に計算
→時間がかかりすぎる
補足情報(FW/ツールのバージョンなど)
使用しているライブラリ:System.Numerics
回答2件
あなたの回答
tips
プレビュー