C:如何获得4096位素数?

Man*_*uel 4 c cryptography

如何在C中获得一个随机的,非常大的(fe 4096位)素数?有谁知道一个好的图书馆吗?

Ser*_* L. 5

你最好的选择是libgmp.

它有一个函数,可以从一些起始编号开始扫描下一个素数(使用Miller-Rabin).

void mpz_nextprime ( mpz_t rop, mpz_t op );
Run Code Online (Sandbox Code Playgroud)

将rop设置为大于op的下一个素数.

此函数使用概率算法来识别素数.实际上,它是足够的,复合材料通过的可能性非常小.

是你想要的功能.

您只需根据需要滚动一个随机数,然后点火即可mpz_nextprime.运行时应该在某处O(log(op))(概率).

您还需要一个随机数生成器.