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

Encryption RSA可以同时用作加密和签名吗?,encryption,rsa,signature,Encryption,Rsa,Signature,很抱歉,我的脑子里突然对这个问题感到茫然 编辑(场景) 如果我想让信息绕过f-ck这样的简单过滤器,那么可以用公钥加密信息,然后用私钥签名吗 双方可能已经交换了公钥,甚至很难获得公钥 编辑2 信息本身可能没有那么多 加密和签名点用于绕过和完整性。是: 加密:你用公共密码加密 密钥,用私有密钥解密(显然) 签名:使用私钥加密内容摘要(哈希),使用公钥验证 请参见RSA是两种算法:一种用于非对称加密,另一种用于签名。碰巧两种算法都可以使用相同的私钥结构(这是一个混乱的根源:许多文档,包括,试图将

很抱歉,我的脑子里突然对这个问题感到茫然

编辑(场景)

如果我想让信息绕过f-ck这样的简单过滤器,那么可以用公钥加密信息,然后用私钥签名吗

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

编辑2

信息本身可能没有那么多

加密和签名点用于绕过和完整性。

是:

  • 加密:你用公共密码加密 密钥,用私有密钥解密(显然)
  • 签名:使用私钥加密内容摘要(哈希),使用公钥验证
请参见

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

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

您的方案有点不清楚。非对称加密使用公钥,而生成签名使用私钥。如果a希望向B发送带有加密(用于保密)和签名(用于完整性)的消息,然后A将使用B知道其私钥的公钥对数据进行加密;A将使用B知道其私钥的私钥对数据进行签名。这需要两对密钥:一对用于加密和解密(A加密,B解密,B知道其私钥),另一对用于签名(A签名,B验证,A知道私钥)。如果A和B都知道私钥,那么他们有一个共享秘密,使用对称加密()和完整性检查()更简单(更快)


标准免责声明:你看起来像是在设计你自己的加密协议。不要这样做。这条路会导致无数其他聪明人遇到的同样的安全故障。使用一个经过验证的协议,如或。

如果我同时做这两件事,只有那些拥有密钥的人才能发现密码信息。对吗?@Dante:你的意思是私钥?对。@Dante:详细说明一下-只有私钥持有者才能签名,每个人(都有公钥)可以verify@davka,因此,如果加密的密钥被泄露,最好使用公钥进行加密,以防止伪造。根据我的场景,信息只是为了通过一些过滤器才被掩盖。@Dante:我不完全理解你的意思。如果私钥被泄露,则会有任何保护措施——任何人都可以伪造签名并读取加密消息,因此在这种情况下没有“更好”的消息