2016-03-04 29 views
0

我想测试我的算法,但是我需要一对p和q,其中q | p-1,最小长度为p = 2048位,最小长度为q = 224位。如何生成素数p(最小2048位)和q(最小224位),其中q | p-1

我可以通过使用NextPrime [2^2048]或SageMath通过使用prime.next(pow(2,2048))找到p与Wolframalpha,其中prime = Primes()

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

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

回答

2

选择素q和合适量值的乘数ķ,然后计算出相应的p = ķ × q + 1。如果p是素数,大功告成。否则,请增加k并重试。

+0

对于迟到的回复感到抱歉..谢谢@ user448810您的建议,我没有意识到这种方式..从q开始比p ..更容易:D – stranger

相关问题