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

How to create a random 160 bit prime number in C++?

本文关键字:随机 一个 160位 C++ 创建      更新时间:2023-10-16

我在学校做一个项目,需要创建一个160位的值。我有一段时间没有编程了,所以我不知道该如何实现。如有任何帮助,我们将不胜感激。

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

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

然后在循环中增加值,例如对每个候选者应用Miller-Rabin(伪)素性测试,直到找到素数。