问题描述
我正在尝试在 PARI 中执行一个计算 a^(c*q_t) mod n;
的函数,其中 c
和 n
是如此大的数字,而 q_t
是收敛的分母n/c
。这是出于 RSA 的目的。我只是想改进这个功能,让计算机自己做,我的意思是它会自己找到q_t
并发现a
本身。因此,它需要另外两个参数。我不知道该怎么做。
这是我的功能:
expmod(a,e,m)={
local(x,y,s,d); x=a; y=1; s=e;
while(s,d=s%2;s=(s-d)/2;
if(d,y=(y*x)%m); x=(x*x)%m);
return(y)}
解决方法
PARI 有一个内置类型 Mod(a,m)
,它通过指数跟踪模数。
lift(Mod(a,m)^e)