繁体   English   中英

为什么我的 5 层 RSA 加密不能正常工作? 解密没有返回正确的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM