从我对一对公用密钥和专用密钥的用法所看到的内容中,公用密钥用于加密消息,而专用密钥用于解密加密的消息。
如果消息是用私钥加密的,则可以用相应的公钥解密吗?
如果是,您可以举一些使用这种情况的例子吗?
谢谢。
从我对一对公用密钥和专用密钥的用法所看到的内容中,公用密钥用于加密消息,而专用密钥用于解密加密的消息。
如果消息是用私钥加密的,则可以用相应的公钥解密吗?
如果是,您可以举一些使用这种情况的例子吗?
谢谢。
Answers:
问:如果您向后踩一条鱼,它会向后走吗?
一种: ???
鱼不是自行车。同样,您不能使用私钥来加密消息,也不能使用公钥来解密消息。他们没有正确的设备。
使用RSA(这是一种流行的公共密钥密码系统,但不是唯一的一种),私有密钥和公共密钥具有相同的数学属性,因此可以在算法中互换使用它们。(但是,它们不具有相同的安全性,通常可以从私钥中轻易猜出公钥。)您可以采用RSA加密算法并为其提供私钥,也可以采用RSA解密算法并向其提供公钥。键。但是,根据标准算法,结果没有意义。
公钥和私钥之间的这种对称性并未扩展到大多数其他公钥密码系统。通常,公钥不是用于解密算法的数学对象的正确类型,而私钥不是用于加密算法的数学对象的正确类型。
可以这么说,公钥密码系统基于活板门功能的概念。一个单向函数是一个函数,很容易计算,但其倒数是很难计算的。活板门函数类似于单向函数,但是存在一个“魔术”值,可以轻松计算逆函数。
如果您有活板门功能,则可以使用它来制作公钥加密算法:向前(朝着简单的方向),该函数进行加密;向后(沿困难方向),该函数解密。解密所需的魔术值是私钥。
如果您有活板门功能,还可以使用它来制作数字签名算法:向后(朝硬方向),该函数进行签名;向前(朝容易的方向),该函数将验证签名。同样,签名所需的魔术值是私钥。
活板门功能通常来自家庭。指定家庭某一特定元素所需的数据是公钥。
尽管公钥加密和数字签名基于相同的概念,但它们并不完全相同。例如,RSA陷阱门功能基于取消乘法的难度,除非您已经知道其中一个因素。有两种基于RSA的公共密钥加密方案的常见家族,分别称为PKCS#1 v1.5和OAEP。还有两种基于RSA的常见数字签名方案系列,分别称为PKCS#1 v1.5和PSS。两个“ PKCS#1 v1.5”具有相似的设计,但不完全相同。此答案由托马斯Pornin和这个答案由马腾Bodewes进入在RSA的情况下,签名/验证和加密/解密的区别的一些细节。
请注意,出于历史原因,一些公开密钥加密技术的外行演示会伪装数字签名和验证作为解密和加密,原因是:RSA首先被普及,并且RSA的核心操作是对称的。(RSA的核心操作,称为“教科书RSA”,是RSA签名/验证/加密/解密算法中的步骤之一,但它本身并不构成签名,验证,加密或解密算法。)从10000英尺的角度来看,它们是对称的,但是一旦进入细节,它们就不是对称的。
另请参见从签名还原为加密?,这说明您可以从签名方案中构建加密方案,但只能在特定条件下进行。
当PKE方案使用活板门排列作为黑盒时,使用私钥“加密”,然后使用公钥“解密”将产生原始消息。对于其他PKE方案,甚至都没有必要理解这一点。(例如,尝试使用私钥进行``加密''可能是类型错误。)
当人们认为这种情况属于数字签名并且未及时纠正时,可以使用[通过“私钥”加密消息,然后通过“相应的公共密钥”解密] 。看到这个答案和这个问题。
是的,使用私钥加密的邮件可以使用公钥解密。
实际上,这是为了验证数据的真实性而实现的。在数字签名中,一个人用他的私钥加密数据的哈希。任何人都可以使用该人的可用公共密钥对它们进行解密,并验证数据的真实性。
将非对称加密中的公钥视为锁而不是密钥。拥有锁和带该锁的锁盒的黑客会解锁该锁盒吗?当然不行,要解锁该盒子,您需要锁定钥匙。从未公开发送过,只有发件人拥有。
但是,答案是肯定的:D黑客实际上有可能仅使用公共密钥(锁和锁盒)解密邮件。但这对于今天的任何计算机来说都非常困难。因为使用该公共密钥还原加密的消息是一项非常困难的数学运算,尤其是当该密钥最大为2048位数字时。数学运算的强度取决于大量素数分解的难度。
这是一个很好的视频,解释了RSA算法的工作原理https://www.youtube.com/watch?v=wXB-V_Keiu8