c - RSA 算法 - 已知 n 如何获得 p & q

标签 c rsa

我有一个带有 (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/

相关文章:

c - 返回指向结构体指针的指针

不使用 strcmp 检查密码 (C)

java - RSA 签名异常 : Signature length not correct

math - 如果 13* D = 1 mod 60 那么 D = 37 如何?

c++ - RSA 字符串加密\解密

java - 在没有 BouncyCaSTLe 的情况下在 Java 中使用 RSA 加密

bcopy() 之后客户端的核心转储

c - 如何使用 C 在应用程序包 (NSBundle) 中找到文件的路径?

c - 光照在 opengl 中不工作

Ruby RSA 公钥加密到 Golang