私はRSA暗号化アルゴリズムをC言語で書いています。どこにでも置くことを計画していないので、主に暗号化の理解を広げることができます。Cで膨大な数を処理する方法
RSAが生成する膨大な数値はどうやって処理するのですか? 103のような比較的小さな秘密鍵で復号化を行って、私はまだこのようなものを扱うの問題が発生した場合でも:
67^103のmod 143 =(×10^188 1.21816096336830017301951805581)のmod 143
そのサイズの番号を保存する最も良い方法は何ですか?標準ライブラリを使ってそれを行う方法はありますか? 。
あなたはすべての大きな数を自分で算術実装することもできますが、それだけでGMPのような既存のマルチ精度のライブラリを使用する方が簡単です。 @ArtjomB。 –
私はおそらくベース2に番号を格納するために配列を使用して実装することができると思っていた^ 64。それが実用的かどうかは分かりませんでした。 – mstagg
それはうまくいくでしょう。しかし、オーバーフローで慎重に。乗算を実装し、次に除算(モジュロ用)を実装する必要があります。しかし、真剣に、ちょうどGMPを使用してください。 –