我已经提供了有关RSA加密的作业,并且我想使用C编程语言完成该作业。顺便说一句,我试图找到与我的代码相关的问题的答案,不仅是关于pow()的问题,因此不应将其标记为重复问题。
int *Encrypt(int* translation, int size){
int chunk;
const int E_RSA = 13;
double N_RSA = 2537;
// some codes...
//formulae = c = m^e mod n
encryptedMessage = fmod(pow(chunk,E_RSA) , N_RSA);
//some codes...
}
因此,在这里,当我计算pow(chunk,E_RSA)
时,由于我的 E 值为13,并且假设消息为 1900 ,因此会有一个运算例如 1900 ^ 13 ,它将产生巨大的输出。当我用计算器计算出它时,它得到的结果与我的C代码不同。这种差异是加密的问题。我该如何解决它,以便 pow()函数将返回与科学计算器一样精确的结果?感谢您的帮助。