我正在尝试用c程序实现rsa算法。它在大多数cases.But中运行良好,在某些情况下,它不加密,并再次解密回相同的stage.for示例:"--“之后加密和解密更改为"ƒƒ”这里是加密和解密的代码。如果能帮上忙,我们将不胜感激。提前感谢
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++;
}
}发布于 2016-04-03 15:12:30
使用在数组边界之外进行索引
while(i<=16)您只能将state[16]索引到15,因此(在这两个函数中)应该是
while(i < 16)https://stackoverflow.com/questions/36382514
复制相似问题