1

我现在处于试错阶段,所以我为变量分配了一些小数字,因为我知道计算是正确的。

在我的加密功能中,我得到了这个功能;

hexValues = 65;
d = 2753;
n = 3233;
mpz_powm(sigfile, hexValues, d, n); //sigfile = hexvalues^d % n = 588

上面的 power mod 函数给我一个 588 的值

在我的解密功能中

sigfile = 588; //this is where i read sigfile value from encryption function
e = 17;
N = 3233;
mpz_powm(answer, sigfile, e, N); //answer = sigfile^e %N

显然我得到了 65,因为我只是在数字上应用了反向公式。

但这里的问题是,如果我将 hexValues(65) 从我的加密更改为 6555,我将得到两个函数的不同结果。

更不用说用实际的哈希值来测试它了。

加密 6555 作为哈希值会给我 2448 但解密给我 89 代替。

*这是一个任务。

*是的,变量是用 mpz 数据类型初始化的。

4

0 回答 0