Cryptography 给定p、q和e的值,但gcd(e、phi)不是1,那么如何找到n&;RSA中的d?或者甚至有可能吗?
这些值是:p=19、q=23和e=3。 根据算法计算:n=437&phi=396。 但是我不认为RSA在这里是有效的,因为在这种情况下GCD(e,phi)不是1,因为GCD(3396)=3。 这意味着RSA算法不满意,不能进一步计算d,对吗 我想问由于GCD(e,phi)=1不满足,我假设p,q和e的给定值没有解是否正确 还是我做错了什么? 这是我正在解决的上一份试卷中出现的原始问题:(逐字)Cryptography 给定p、q和e的值,但gcd(e、phi)不是1,那么如何找到n&;RSA中的d?或者甚至有可能吗?,cryptography,rsa,Cryptography,Rsa,这些值是:p=19、q=23和e=3。 根据算法计算:n=437&phi=396。 但是我不认为RSA在这里是有效的,因为在这种情况下GCD(e,phi)不是1,因为GCD(3396)=3。 这意味着RSA算法不满意,不能进一步计算d,对吗 我想问由于GCD(e,phi)=1不满足,我假设p,q和e的给定值没有解是否正确 还是我做错了什么? 这是我正在解决的上一份试卷中出现的原始问题:(逐字) 我愿意假设这是一个棘手的问题,检查一个人是否知道算法(及其步骤)。请让我知道我的假设是否正确,提前谢谢
我愿意假设这是一个棘手的问题,检查一个人是否知道算法(及其步骤)。请让我知道我的假设是否正确,提前谢谢!:) 你说得对。运行计算ModInv(3396)得到
因此,
d
没有值。(根据lambda(n)
而不是phi(n)
计算它也会产生“不可逆”,因为lambda只是phi/2,3是破坏事物的主要因素。)谢谢您的确认。后来我在谷歌上搜索了一下,看看是否有办法使用一些内置Java函数进行交叉检查。使用BigInteger计算并尝试赋值:BigInteger d=e.modInverse(phi)
导致算术异常,表示BigInteger不可逆。这证实了我的假设和你详细阐述的。再次感谢!:)
In RSA, given p=19, q=23 and e=3, find n and d.
ModInverse(3, 396)
r=396, newR=3, t=0, newT= 1
r= 3, newR=0, t=1, newT=-132
newR == 0 && r > 0: Not Invertible.