用Py Crypto生成大素数

win*_*ova 3 python random primes pycrypto

我正在尝试使用python中的crypto库生成一个大的素数(2048位)以实现RSA.但是,我并不真正理解该getPrime()函数的语法.我目前有:

from Crypto.Util import number

n_length = 2048

primeNum = number.getPrime(n_length, randFunc)
Run Code Online (Sandbox Code Playgroud)

我不明白randFuncgetPrime功能应该是什么.

Daf*_*ffy 5

n_length是素数的"大小".它将返回大约2 ^ n_length的数字.randFunc是一个可调用函数,它接受单个参数N,然后返回一个N个随机字节的字符串.(os.urandom就是一个例子).在大多数情况下,randFunc可以(并且应该)省略,因为默认值是PyCrypto自己的随机数生成器.