RSA可以用作加密和签名吗?

Dan*_*ode 5 encryption rsa signature

对不起,我的思绪突然变得空白了......

编辑(场景)

如果我想要信息绕过像f-ck这样的简单过滤器,用公钥加密信息,用私钥签名是否可以?

公钥可能已经由双方交换,甚至很难获得公钥.

编辑2

信息本身可能没有那么多凭证.

加密和签名的要点是绕过和完整性.

Tho*_*nin 13

RSA是两种算法:一种用于非对称加密,一种用于签名.碰巧两种算法都可以使用相同的私钥结构(这是一个混乱的来源:许多文档,包括RSA标准,试图将签名解释为"使用私钥加密",这至多是,不准确).

对两种用法使用相同的密钥是可能的,但不是真的建议,因为两种用法之间的交互尚未得到充分的探索; 此外,加密密钥和签名密钥通常具有不同的生命周期和不同的保护机制(例如,您通常希望保留私钥的备份以进行加密,以防止数据丢失:丢失私钥意味着丢失所有数据已使用该密钥加密;而您希望备份签名密钥).

您的方案有点不清楚.非对称加密使用公钥,而生成签名使用私钥.如果A想要通过加密(用于机密性)和签名(用于完整性)向B发送消息,则A将使用B知道私钥的公钥加密数据; A将使用私钥对数据进行签名,B知道公钥.这需要对密钥:一对用于加密和解密(A加密,B解密,B知道私钥),另一对用于签名(A符号,B验证,A知道私钥) ).如果A和B都知道私钥,则它们具有共享密钥,并且使用对称加密(AES)和完整性检查(HMAC)要简单得多(并且更快).

标准免责声明:您看起来像是在设计自己的加密协议.不要这样做.这条道路导致了无数其他聪明人偶然发现的安全故障.使用经过验证的协议,例如SSL/TLSOpenPGP.