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

2024-04-23 20:43:15 发布

您现在位置:Python中文网/ 问答频道 /正文

当我解密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”,而是一个奇怪的字符串


Tags: keyinfromimport消息fordatarandom
1条回答
网友
1楼 · 发布于 2024-04-23 20:43:15

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

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

for privatekey in reversed(privatekeys):
    data = privatekey.decrypt(data)

相关问题 更多 >