作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有非常大的指数,其中指数
e = 26959946667150639794667015087019630673637144422540572481103610249951
(225 位)
但是,根据mpz_pow_ui模板如下:
void mpz_pow_ui (mpz_t ROP, mpz_t BASE, unsigned long int EXP)
我认为 e 不适合该函数,是否有另一种使用 GMP C++ 计算大指数的方法?
最佳答案
不要。如果求幂的基值不是 -1
、0
或 1
,您将耗尽主内存(您将超过完全可用的虚拟地址空间)。如果目标是进行模幂运算(结果可以适合内存,因为它减少了一些适合 RAM 的模数),您需要 mpz_powm
(或者 mpz_powm_sec
如果您正在编写“真正的”加密代码;_sec
变体可以抵御用于 key 恢复的定时攻击)。
GMP 只接受该函数的无符号整数的原因是因为在这种情况下任意精度指数只会导致撕裂。
关于c++ - GMP mpz_pow_ui 具有非常大的指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846737/
我有非常大的指数,其中指数 e = 26959946667150639794667015087019630673637144422540572481103610249951 (225 位) 但是,根据
我是一名优秀的程序员,十分优秀!