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

Hash 如何生成素数p(最小2048位)和q(最小224位),其中q | p-1,hash,prime-factoring,Hash,Prime Factoring,我想测试我的算法,但我需要一对p和q,其中q | p-1,最小长度p=2048位,最小长度q=224位 我可以使用NextTime[2^2048]和Wolframalpha找到p,或者使用prime.next(pow(22048))找到SageMath,其中prime=Primes() 但是,找到q对我来说很难。我在SageMath中尝试了椭圆曲线法(ecm.factor(p-1)),找到了最小长度为224的因子,它花费了一整晚(已经运行了10个多小时) 任何人都可以帮助我,找到它最好的方法是什

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

我可以使用NextTime[2^2048]和Wolframalpha找到p,或者使用
prime.next(pow(22048))
找到SageMath,其中
prime=Primes()

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


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

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

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

很抱歉,答复太晚。。谢谢@user448810的建议,我没有意识到。。从q开始比从p开始更容易:很抱歉迟复。。谢谢@user448810的建议,我没有意识到。。从q开始比从p开始更容易:D