gpt4 book ai didi

c - C语言中的RSA加密/解密

转载 作者:行者123 更新时间:2023-11-30 18:51:39 27 4
gpt4 key购买 nike

我正在尝试使用 C 程序实现 rsa 算法。在大多数情况下它工作得很好。但在某些情况下,它不会加密并再次解密回到同一阶段。例如:加密和解密后的“--”更改为“??”这是加密和解密的代码。如有帮助,将不胜感激。提前致谢

void encrypt(uChar state[16])
{
long int pt,ct,key=e[0],k;
i=0;
while(i<=16)
{
pt=state[i];
pt=pt-96;
k=1;
for (j=0;j<key;j++)
{
k=k*pt;
k=k%n;
}
ct=k+96;
state[i]=ct;
i++;
}
}

void decrypt(uChar state[16])
{
long int pt,ct,key=d[0],k;
i=0;
while(i<=16)
{
ct=state[i]-96;
k=1;
for (j=0;j<key;j++)
{
k=k*ct;
k=k%n;
}
pt=k+96;
state[i]=pt;
i++;
}
}

最佳答案

您正在数组边界之外建立索引

while(i<=16)

您只能将 state[16] 索引到 15,因此(在两个函数中)它应该是

while(i < 16)

关于c - C语言中的RSA加密/解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382514/

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