我现在处于试错阶段,因此我为变量分配了一些小数字,因为我知道计算是正确的。
在我的加密功能中,我有了这个功能;
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但是Decryption给了我89.
*这是一项任务。
*是的,变量是用mpz数据类型初始化的。