【发布时间】:2012-02-08 08:14:45
【问题描述】:
我有一个使用 AES 加密消息的软件,随机生成的 AES 密钥由接收者的公共 RSA 密钥加密。现在当我将消息发送给多个用户时...
发送方:
消息由随机散列 (sha256) AES KEY 加密
AES 密钥随后被多次加密,并使用每个接收者的公钥附加到加密消息中。
消息具有 [接收者数量、[加密密钥列表]、加密消息]
接收方:
获取接收者的数量
遍历附加的加密密钥并使用您的私有 RSA 解密。直到你找到适合你的那个。这样当他/她解密密钥时,他们就会得到 AES 密钥。
3.使用 AES 密钥解密消息。
知道密钥是 base 64 字符串,这意味着它以 '=' 结尾,并且长度为 256,因为 sha
问题是: 我怎么知道(如果我是接收者)使用我的私有 RSA 的解密密钥是自动正确的?
提前谢谢你。
【问题讨论】:
-
如果您想获得有用的回复,您必须编辑问题并使其更清晰。正确的问题尚不清楚。当您将消息发送给收件人时,收件人如何知道您的 AES 密钥?如果从未使用您的公共 RSA 密钥加密密钥,您如何使用您的私有 RSA 密钥解密密钥?
-
感谢您的注意,我已经编辑了 Q 希望它现在清楚了
-
The AES key is then Encrypted many time and appended to the encrypted message using each receiver's public key.- 我们应该如何解释这个?如果有三个收件人的公钥分别为 P_1、P_2 和 P_3,你是追加 ENC(ENC(ENC(aes_key, P_1), P_2), P_3) 还是追加 ENC(aes_key, P_1), ENC(aes_key, P_2) 和 ENC(aes_key, P_3)? -
ENC(aes_key, P_1), ENC(aes_key, P_2) and ENC(aes_key, P_3)
标签: cryptography rsa aes sha256