【发布时间】:2021-10-02 14:51:01
【问题描述】:
我尝试使用 PyCryptodome 生成 RSA 密钥,并调用 os.urandom 以首先获取 som 随机数。一世 在生成 RSA 密钥之前,必须对随机数据进行一些统计测试和处理。我可以使用文件对象从文件中加载随机数。我真的在这个问题上摸不着头脑..
fx = open("rnd.dat", "rb")
key = RSA.generate(1024, fx.read)
下面的代码有效。
key = RSA.generate(1024, v1.readstd()) #Works!
这里的代码没有。
key = RSA.generate(1024, v1.read()) #Not working....
我已经包含了来源。
from Crypto.PublicKey import RSA # PyCryptodome
from Crypto import Random
import os
class trng:
def __init__(self, rngval):
self.rngval = rngval
def read(self):
return self.rngval
def readstd(self):
return Random.get_random_bytes
rngbuff=os.urandom(1024)
#....Here will go some processing
#..
#....end
v1 = trng(rngbuff)
key1 = RSA.generate(1024, v1.readstd()) #Works!
fx = open("rnd.dat", "rb")
key2 = RSA.generate(1024, fx.read) #Works!
key3 = RSA.generate(1024, v1.read()) #Not working....
【问题讨论】:
标签: python python-3.x pycryptodome python-cryptography