3

我试图弄清楚如何在 matlab 中计算大数的大幂来进行 RSA 加密。

例如:一个 50+ 位整数的 999999 次幂。

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 多精度库或 LibToMMath 库完成
的 还有很多其他的
对于 Matlab 可能会有所帮助 >>> LInK <<<

于 2012-12-07T06:21:13.947 回答