我很抱歉,但我的思绪突然变得空白......
编辑(情景)
如果我希望信息绕过像 f-ck 这样的简单过滤器,是否可以使用公钥加密信息,并使用私钥进行签名?
双方可能已经交换了公钥,甚至很难获得公钥。
编辑2
信息本身可能没有那么多凭证。
加密和签名的目的是绕过和完整。
答案 0 :(得分:12)
RSA是两个算法:一个用于非对称加密,一个用于签名。碰巧两种算法都可以使用相同的私钥结构(这是一个混乱的来源:许多文档,包括RSA standard,试图将签名解释为“使用私钥加密”,即,充其量,不准确)。
对两种用法使用相同的密钥是可能的,但不是真的建议,因为两种用法之间的交互尚未得到充分的探索;此外,加密密钥和签名密钥通常具有不同的生命周期和不同的保护机制(例如,您通常希望保留私钥的备份以进行加密,以防止数据丢失:丢失私钥意味着丢失所有数据已使用该密钥加密;而您不需要备份签名密钥。)
你的情景有点不清楚。非对称加密使用公钥,而生成签名则使用私钥。如果A想要通过加密(用于机密性)和签名(用于完整性)向B发送消息,则A将使用B知道私钥的公钥加密数据; A将使用私钥对数据进行签名,B知道公钥。这需要两个对密钥:一对用于加密和解密(A加密,B解密,B知道私钥),另一对用于签名(A符号,B验证,A知道私钥)。如果A和B都知道私钥,则它们具有共享密钥,并且使用对称加密(AES)和完整性检查({{更简单(且更快)更简单(且更快) 3}})。
标准免责声明:您似乎正在设计自己的加密协议。不要这样做。这条道路导致了无数其他聪明人偶然发现的安全故障。使用经过验证的协议,例如HMAC或SSL/TLS。
答案 1 :(得分:-1)
是的: