gpt4 book ai didi

c++ - GMP mpz_pow_ui 具有非常大的指数

转载 作者:行者123 更新时间:2023-11-28 02:10:44 26 4
gpt4 key购买 nike

我有非常大的指数,其中指数

e = 26959946667150639794667015087019630673637144422540572481103610249951 

(225 位)

但是,根据mpz_pow_ui模板如下:

void mpz_pow_ui (mpz_t ROP, mpz_t BASE, unsigned long int EXP)

我认为 e 不适合该函数,是否有另一种使用 GMP C++ 计算大指数的方法?

最佳答案

不要。如果求幂的基值不是 -101,您将耗尽主内存(您将超过完全可用的虚拟地址空间)。如果目标是进行模幂运算(结果可以适合内存,因为它减少了一些适合 RAM 的模数),您需要 mpz_powm (或者 mpz_powm_sec 如果您正在编写“真正的”加密代码;_sec 变体可以抵御用于 key 恢复的定时攻击)。

GMP 只接受该函数的无符号整数的原因是因为在这种情况下任意精度指数只会导致撕裂。

关于c++ - GMP mpz_pow_ui 具有非常大的指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com