2016-03-04 65 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

相關問題