我有一个带有 (e,n) 加密数据的公钥,必须通过 RSA 获取纯文本,并且所有这些都在 C 中!
首先我想知道如何找出我的 p 和 q 是什么?我知道它们必须是质数和 p<>q!
最佳答案
首先,因素n。这并不难;因为 sqrt(3233) 是 56.8…,所以你只需要测试到那个数的质数。那会给你 p 和 q。用它们来计算 (p-1)•(q-1)。
然后使用 Extended Euclidean Algorithm 求 17 模 (p-1)•(q-1) 的乘法逆元.你不需要 C 代码;我是亲手做的。 (该算法给出了一个否定的结果。您可以将其用于 d 或添加 (p-1)•(q-1) 以给出同样有效的正值。)
关于c - RSA 算法 - 已知 n 如何获得 p & q,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16531958/