情况如下:要求我在Javascript中实现解密算法,以解密使用以下算法使用RSA编码的字符串:
e[i] = RSA((u[i]-e[i-1]) mod n), e[-1] = 0
步骤2的文字描述:我们加密第一个元素,然后从第二个元素中减去加密的第一个元素。然后,我们做(模n),然后对结果进行加密。对于其余的数字,该过程将继续进行。
现在的问题是解密部分。我已经在这部分停留了几个小时!
我使用方程式,目的是使u [n]成为主题:
e[i] = RSA((u[i]-e[i-1]) mod n) -- (1)
我们知道:
RSA(x) = x^e mod n -- (2)
RSA'(x) = x^d mod n -- (3)
因此,从(1)和(3)
RSA'(e[i]) = (u[i]-e[i-1]) mod n
RSA'(e[i]) + k*i + e[i-1] = u[i]
那我有点卡住了,因为我们不知道k。
因此,我再次尝试:
RSA'(e[i]) = (u[i]-e[i-1]) mod n
(e[i])^d mod n = (u[i]-e[i-1]) mod n
似乎也没有去...
第二步没有太大意义,不是吗?
e[i] = RSA((u[i]-e[i-1]) mod n), e[-1] = 0
即,模量与指数无关。这没有多大意义,因为要得到,e[0]
您必须计算模0值(等于零就等于无意义),并且e[1]
您必须计算模1值,并且结果始终为0。
此外,如果n
是RSA模数,则对于纯文本,您将拥有0 <= u[i] < n
。这意味着相反的第二步就是
u[i] = (RSA'(e[i]) + e[i-1]) mod n
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句