【发布时间】:2011-07-22 05:20:54
【问题描述】:
我很抱歉,但我的大脑突然因为这个问题而一片空白......
编辑(场景)
如果我想让信息绕过f-ck这样的简单过滤器,可以用公钥加密信息,用私钥签名吗?
公钥可能已经被双方交换过,甚至很难拿到公钥。
编辑 2
信息本身可能没有那么多凭据。
加密和签名的目的是为了绕过和完整性。
【问题讨论】:
标签: encryption rsa signature
我很抱歉,但我的大脑突然因为这个问题而一片空白......
编辑(场景)
如果我想让信息绕过f-ck这样的简单过滤器,可以用公钥加密信息,用私钥签名吗?
公钥可能已经被双方交换过,甚至很难拿到公钥。
编辑 2
信息本身可能没有那么多凭据。
加密和签名的目的是为了绕过和完整性。
【问题讨论】:
标签: encryption rsa signature
RSA 是两种算法:一种用于非对称加密,一种用于签名。碰巧两种算法都可以使用相同的私钥结构(这是混淆的根源:许多文档,包括RSA standard,试图将签名解释为“使用私钥加密”,充其量是,不准确)。
对两种用法使用相同的密钥是可能的,但不建议这样做,因为尚未充分探索两种用法之间的交互;此外,加密密钥和签名密钥通常具有不同的生命周期,具有不同的保护机制(例如,您通常希望保留私钥的备份以进行加密,以防止数据丢失:丢失私钥意味着丢失所有数据已使用该密钥加密;而您不想要签名密钥的备份)。
您的情况有点不清楚。非对称加密使用公钥,而生成签名使用私钥。如果 A 想向 B 发送带有加密(保密性)和签名(完整性)的消息,则 A 将使用 B 知道私钥的公钥加密数据; A 将使用 B 知道公钥的私钥对数据进行签名。这需要 两 对密钥:一对用于加密和解密(A 加密,B 解密,B 知道私钥),另一对用于签名(A 签名,B验证,A 知道私钥)。如果 A 和 B 都知道私钥,那么他们就有一个共享密钥,并且使用 对称 加密 (AES) 和完整性检查 (HMAC) 会更简单(也更快) .
标准免责声明:您看起来像是在设计自己的加密协议。不要这样做。这条道路会导致无数其他聪明人偶然发现的相同安全故障。使用经过验证的协议,例如 SSL/TLS 或 OpenPGP。
【讨论】:
是的:
【讨论】: