もちろん、GMPライブラリやその他の多数の任意精度ライブラリを使用するなど、これに対する簡単な解決策があることは知っています。これは授業用なので、これらのルートを使用することはできません。すべての操作を構築した後、RSA 暗号化スキームを実行できるようになります。
ベクトルを使用して、バイナリで表された n ビットの数値を格納しています。後で 10 進数に変換しますが、2 進数を操作し、表示用にのみ変換する必要があります。
足し算、引き算、掛け算の実装に成功しました。私は除算と剰余演算に固執しています...特に剰余累乗です。少なくとも基本的なレベルではアルゴリズムを理解していますが、それを任意の長さの数値で機能するコードに変換することはできないようです。外部ライブラリなしで c++ で行われたこのタイプの作業の例を見つけることができないようです。
具体的な質問:
私が書いている除算関数を呼び出して、返された剰余を使用する以外に、n ビットの数値でモジュラスを実行するより良い方法はありますか?
GMP ソース コードをまったく理解できないので、良い C++ の例をいくつか見てみたいと思います。
勉強するための良いリソースや助けをいただければ幸いです。ありがとう