[英]Why isn't my 5 layer RSA encryption working properly? the decryption doesn't return the right value
当我解密 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”我得到一个奇怪的字符串。
丢弃encrypt
返回的None
值; 它不能帮助您保留它,并且使解码加密字符串变得非常复杂。
for publickey in publickeys:
data, _ = publickey.encrypt(data, 32)
for privatekey in reversed(privatekeys):
data = privatekey.decrypt(data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.