如何生成素数 p(最少 2048 位)和 q(最少 224 位),其中 q | p-1

How to generate prime p (minimum 2048 bits) and q (minimum 224 bits) where q | p-1

我想测试我的算法,但我需要一对 p 和 q,其中 q|p-1,p 的最小长度 = 2048 位,q 的最小长度 = 224 位。

我可以使用 NextPrime[2^2048] 或 SageMath 使用 prime.next(pow(2,2048)) where prime = Primes().

用 Wolframalpha 找到 p

但是,找到 q 对我来说很难。我在 SageMath 中尝试使用椭圆曲线方法 (ecm.factor(p-1)) 并找到最小长度为 224 的因子,它花了一整夜(已经超过 10 个小时并且仍然 运行)。

任何人都可以帮助我,找到它的最佳方法是什么?或者任何人都可以分享一对 p (min 2048) 和 q (min 224)(我只是想测试一下)?

选择一个质数q和一个大小合适的乘数k,然后计算对应的p = k × q + 1。如果 p 是素数,你就完成了。否则,递增 k 并重试。