抱歉,我的脑子突然空白了……
编辑(场景)
如果我想要信息绕过简单的过滤器,例如f-ck,用公钥加密信息,用私钥签名可以吗?
公钥可能已经被双方交换过了,而且公钥也很难得到。
EDIT 2
这些信息本身可能并没有那么大的凭据。
加密和签名的目的是为了绕过和完整性。
RSA is two算法:一种用于非对称加密,一种用于签名。碰巧这两种算法可以使用相同的私钥结构(这是混乱的根源:许多文档,包括RSA标准 http://www.rsa.com/rsalabs/node.asp?id=2125,尝试将签名解释为“用私钥加密”,这充其量是不准确的)。
对两种用途使用相同的密钥是可能的,但并不真正推荐,因为两种用途之间的相互作用尚未得到充分探索;此外,加密密钥和签名密钥通常具有不同的生命周期,具有不同的保护机制(例如,您通常希望保留用于加密的私钥的备份,以防止数据丢失:丢失私钥意味着丢失所有数据)已使用该密钥加密;当您这样做时not想要签名密钥的备份)。
你的场景有点不清楚。不对称加密使用公钥,而生成签名则使用私钥。如果A想要向B发送带有加密(为了保密)和签名(为了完整性)的消息,那么A将使用B知道私钥的公钥对数据进行加密; A 将使用 B 知道其公钥的私钥对数据进行签名。这需要two密钥对:一对用于加密和解密(A 加密,B 解密,B 知道私钥),另一对用于签名(A 签名,B 验证,A 知道私钥)。如果 A 和 B 都知道私钥,那么他们就有一个共享的秘密,并且使用起来更简单(也更快)对称的加密(AES http://en.wikipedia.org/wiki/Advanced_Encryption_Standard)和完整性检查(HMAC https://www.rfc-editor.org/rfc/rfc2104).
标准免责声明:你看起来像是在设计自己的加密协议。不要这样做。这条道路会导致无数其他聪明人偶然发现的同样的安全失败。使用经过尝试和验证的协议,例如SSL/TLS https://www.rfc-editor.org/rfc/rfc5246 or OpenPGP https://www.rfc-editor.org/rfc/rfc4880.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)