使用randfunc设置为从鼠标输入读取的Crypto.PublicKey.RSA.generate

时间:2019-07-16 00:01:07

标签: python python-3.x pycrypto pycryptodome

当生成新的RSA私钥,并将randfunc设置为从/ dev / input / mice读取的自定义函数时,它将连续读取并且永不停止。

我尝试提供原始的MOUSEFILE.read函数而不是包装器,但这没有帮助。但是,通过将鼠标输入的预读数据输入到使用random.choice从所述数据中选择随机字节的函数中,它可以正常工作。

变量:

MOUSEFILE = open("/dev/input/mice","rb")

我的最终目标(由于某些原因无效)

def randfunc(n):
    return MOUSEFILE.read(n)```

具有random.choice的预读功能有效:

MOUSEDATA = MOUSEFILE.read(1024)

def randfunc2(n):
    res = b''
    while len(res) < n:
        res += bytes([random.choice(MOUSEDATA)])
    return res

我可以通过在其中输入几个打印语句来确认我的randfunc实际上是从鼠标输入正确读取的。它似乎处于从randfunc读取1和63字节的连续循环中。我的randfunc2可以完美运行,但是我想让randfunc正常工作并从实时鼠标移动中读取信息。我用来生成密钥的函数是:

k = RSA.generate(1024, randfunc=x)

其中x是我的随机函数。

0 个答案:

没有答案