0

当我解密 5 级 RSA 加密消息时,结果不是原始消息,尽管我使用了正确的私钥和正确的私钥

我已经尝试过使用整数和加密数量。如果我只加密一次,它就可以工作

import Crypto
from Crypto.PublicKey import RSA
from Crypto import Random
import ast

publickeys = []
privatekeys = []

for i in range (0,5):
    random_generator = Random.new().read
    key = RSA.generate(1024, random_generator)
    privatekeys.append(key)
    publickeys.append(key.publickey())

data = "ack"

for publickey in publickeys:
    data = publickey.encrypt(str(data), 32)

for i in range (1,len(privatekeys)+1):
    data = privatekeys[-i].decrypt(ast.literal_eval(str(tuple(data))))

没有错误消息,但结果不是我所期望的。而不是得到正确的消息“ack”我得到一个奇怪的字符串。

4

1 回答 1

0

丢弃由;None返回的值 encrypt它不能帮助您保留它,并且使解码加密字符串变得非常复杂。

for publickey in publickeys:
    data, _ = publickey.encrypt(data, 32)

for privatekey in reversed(privatekeys):
    data = privatekey.decrypt(data)
于 2019-11-07T13:42:12.007 回答