Cryptography 识别您自己的消息RSA
我有一个使用AES加密消息的软件,随机生成的AES密钥由接收方的RSA公钥加密。现在当我向多个用户发送消息时 发送方:Cryptography 识别您自己的消息RSA,cryptography,rsa,aes,sha256,Cryptography,Rsa,Aes,Sha256,我有一个使用AES加密消息的软件,随机生成的AES密钥由接收方的RSA公钥加密。现在当我向多个用户发送消息时 发送方: 消息由随机散列(sha256)AES密钥加密 然后多次加密AES密钥,并使用每个接收方的公钥将其附加到加密消息中 该消息具有[接收者编号,[加密密钥列表],加密消息] 接收端: 获取接收器的数量 循环通过附加的加密密钥,并使用您的专用RSA进行解密。直到你找到你想要的。这样,当他/她解密密钥时,他们就会得到AES密钥 3.使用AES密钥解密消息 知道密钥是以64为基数的字符串,
提前谢谢。无法找到此加密邮件属于哪个收件人
但是您可以尝试解密消息,如果解密成功,那么这就是接收方无法找到此加密消息属于哪个接收方
但是,如果解密成功,您可以尝试解密消息,这就是接收者。有两个问题:您描述的协议是固定的,还是可以以任何方式修改?如果它是固定的,您对RSA使用哪种填充方案?PKCS#1 v1.5、OAEP还是根本没有
两个问题:您描述的协议是固定的,还是可以以任何方式进行修改?如果它是固定的,您对RSA使用哪种填充方案?PKCS#1 v1.5、OAEP还是根本没有
如果你想得到一个有用的回答,你必须编辑问题并使其更清楚。正确的问题并不清楚。当您向收件人发送邮件时,收件人如何知道您的AES密钥?当您的私人RSA密钥从未使用您的公共RSA密钥加密时,您如何使用您的私人RSA密钥解密密钥?感谢您的提示,我已经编辑了Q,希望它现在清楚
AES密钥然后被多次加密,并使用每个接收者的公共密钥附加到加密消息中。
-我们应该如何解释这一点?如果有三个收件人的公钥分别为P_1、P_2和P_3,您是附加ENC(ENC(aes_密钥,P_1)、P_2、P_3)还是附加ENC(aes_密钥,P_1)、ENC(aes_密钥,P_2)和ENC(aes_密钥,P_3)?ENC(aes_密钥,P_1)、ENC(aes_密钥,P_2)和ENC(aes_密钥,P_3)
如果您想得到有用的回答,您必须编辑问题并使其更清晰。正确的问题并不清楚。当您向收件人发送邮件时,收件人如何知道您的AES密钥?当您的私人RSA密钥从未使用您的公共RSA密钥加密时,您如何使用您的私人RSA密钥解密密钥?感谢您的提示,我已经编辑了Q,希望它现在清楚AES密钥然后被多次加密,并使用每个接收者的公共密钥附加到加密消息中。
-我们应该如何解释这一点?如果有三个收件人的公钥分别为P_1、P_2和P_3,您会附加ENC(ENC(aes_密钥,P_1)、P_2、P_3)还是附加ENC(aes_密钥,P_1)、ENC(aes_密钥,P_2)和ENC(aes_密钥,P_3)?ENC(aes_密钥,P_1)、ENC(aes_密钥,P_2)和ENC(aes_密钥,P_3)
,RSA加密密钥结构应该包括密钥id(例如公钥的64位散列)之类的内容,以便很容易识别您想要的RSA加密密钥。我可以使用PKCS#1v1.5
或OAEP
您在这里的建议是什么?\\您说的话听起来很有趣,但我的应用程序是在本地机器上运行的,我们仍然不想通过任何类型的网络使其工作。当我阅读时,如果我完全理解;在这种情况下不能使用CCM。[目前为止]如果只使用解密的返回值来查找用于您的加密密钥,则常规RSA-OAEP可能没有问题。不过,如果您能够更详细地描述您的确切安全需求和威胁场景,可能会有所帮助。您是否只需要保密,或者还需要身份验证和完整性?顺便说一句,GregS绝对正确地认为RSA加密密钥应该与密钥id配对,以便收件人更容易找到正确的加密密钥。您可能还应该做一些其他事情,但这取决于您确切的安全需求。例如,您是否确定您使用的发送机制确实需要保密性(AES加密),但不需要身份验证或不可否认性(如证明消息来自特定发件人的数字签名)?此外,RSA加密密钥结构应包括密钥id之类的内容(例如,公钥的64位散列)这样识别哪个RSA加密密钥是为您准备的就很容易了。我可以使用PKCS#1 v1.5
或OAEP
您在这里的建议是什么?\\您所说的听起来很有趣,但我的应用程序在本地机器上运行,我们仍然不想通过任何类型的