Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 在这个RSA算法示例中,如何确定d?_Algorithm_Cryptography_Rsa - Fatal编程技术网

Algorithm 在这个RSA算法示例中,如何确定d?

Algorithm 在这个RSA算法示例中,如何确定d?,algorithm,cryptography,rsa,Algorithm,Cryptography,Rsa,作为我大学课程的一部分,我有一个问题要解决。它的主题是RSA算法 我得到了p=29,q=17和e=5 我必须确定d 所以我知道n=29x17=>493和φ(n)=448 所以我开始了解到了这一点 5 * d mod 448 = 1 然后我按照欧几里德算法得到 448 = 89(5) + 3 其中3是余数(商)。在前面的例子中,商最终为1,很容易解出d。然而,对于这个例子,我不知道如何做,剩下的是3 有人知道怎么做吗?非常感谢您的帮助 您没有完成扩展的欧几里德算法。() 你应该有(r\u i,

作为我大学课程的一部分,我有一个问题要解决。它的主题是RSA算法

我得到了p=29,q=17和e=5

我必须确定d

所以我知道n=29x17=>493和φ(n)=448

所以我开始了解到了这一点

5 * d mod 448 = 1
然后我按照欧几里德算法得到

448 = 89(5) + 3
其中3是余数(商)。在前面的例子中,商最终为1,很容易解出d。然而,对于这个例子,我不知道如何做,剩下的是3


有人知道怎么做吗?非常感谢您的帮助

您没有完成扩展的欧几里德算法。()

你应该有
(r\u i,s\u i,t\u i)


你可以查看
2*448-179*5=1
,所以
-179*5=1 mod 448
,或者
269*5=1 mod 448
,你的答案是
d=269

,就是这样,我不允许再挑一个。在这个问题中,我被赋予了e=5,我仅限于此。但是5*d mod 448必须等于1,不是吗?
(448,1,0)    =>  1*448   + 0*5 = 448
(5, 0, 1)    =>  0*448   + 1*5 =   5
(3, 1, -89)  =>  1*448  - 89*5 =   3
(2, -1, 90)  => -1*448  + 90*5 =   2
(1, 2, -179) =>  2*448 - 179*5 =   1