如何在C ++中创建一个随机的160位素数?

时间:2013-02-11 17:04:05

标签: c++

我正在学校开展一个项目,我需要创建一个160位的值。我有一段时间没有编程,所以我无法弄清楚如何实现这一点。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要一个大整数库(假设您不能只使用现成的加密库)。

首先,您创建一个随机的160位值,不一定是素数。根据平台的不同,您可以使用/dev/randomCryptGenRandom或其他一些好的来源(可能有几个,合并)。

然后在循环中递增值,例如应用每个候选人Miller-Rabin (pseudo-)primality test,直到找到一个素数。