3

RSA暗号化を行うために、matlabで巨大な数の大乗を計算する方法を理解しようとしています。

例: 999999 で累乗した 50 桁以上の整数。

4

3 に答える 3

3

二乗することで累乗を使用できます。

https://en.wikipedia.org/wiki/Exponentiation_by_squaring

于 2012-10-02T04:15:19.690 に答える
2

したがって、最終結果は約になります1e49^1e6 = 1e49000000。これは、基本的な matlab データ型を保持するには大きすぎます。解決策は、ファイル交換のvpi ツールボックスを使用することです。速度を犠牲にして、多数を処理できます。

より良い解決策は、別の方法で最終目的を達成することです。つまり、数式を再定義して最終結果を取得します。

于 2012-10-02T06:26:56.617 に答える
0

何らかの形式の大規模なデータ型を実装する必要があります
C の場合、これは GMP Multiprecision ライブラリまたは LibToMMath ライブラリを使用して行われます
他にもたくさんあります
Matlab の場合、これは役立つかもしれません >>> リンク <<<

于 2012-12-07T06:21:13.947 に答える