识别您自己的消息RSA

时间:2012-02-08 08:14:45

标签: cryptography rsa aes sha256

我有一个使用AES加密消息的软件,随机生成的AES密钥由接收者的公共RSA密钥加密。现在,当我向多个用户发送消息时......

发件人方:

  1. 消息由随机散列加密(sha256)AES KEY

  2. 然后,AES密钥会多次加密,并使用每个接收者的公钥附加到加密消息中。

  3. 邮件有[收件人号码,[加密密钥列表],加密邮件]

  4. 接收方:

    1. 获取接收者数量

    2. 循环通过附加的加密密钥并使用您的私有RSA解密。直到找到适合你的那个。这样当他/她解密密钥时,他们就会获得AES密钥。

    3. 3.使用AES密钥解密邮件。

      知道密钥是base 64字符串,这意味着它以'='结尾,并且长度为256,因为sha

      问题是: 我如何知道(如果我是接收者)使用我的私有RSA的解密密钥是否正确自动?

      提前谢谢。

2 个答案:

答案 0 :(得分:2)

两个问题:您描述的协议是固定的,还是可能以任何方式进行修改?如果它是固定的,你使用哪种填充方案用于RSA? PKCS#1 v1.5,OAEP还是根本没有?

  1. 如果协议可能被修改,您可以使用带有身份验证的密码模式,例如EAX,CCM或GCM。如果RSA密钥传输解密无声地失败,则经过身份验证的AES解密也会失败。

  2. 使用RSA-OAEP的变体进行密钥传输,提供“纯文本感知”,如下所述:http://www.rsa.com/rsalabs/node.asp?id=2346

答案 1 :(得分:-1)

无法找到此加密邮件属于哪个接收方。

但你可以做的是尝试解密消息,如果解密成功那么那就是接收者