使用公钥加密或 (PKC) 也被称为不对称加密,它使用公钥和私钥,而不是对称加密中使用的单一密钥。使用 PKC 的钥匙对提供了一组独特的特性和能力,可以用来解决其他加密技术中的挑战。这种类型的加密已成为现代计算机安全的重要组成部分,也是新兴数字货币生态系统中的关键元素。


公钥加密是如何工作的?

在公钥加密系统中,发送者使用公钥来加密资讯,而接收者则使用私钥来解密。由于这两把钥匙彼此完全不同,因此可以安全地共享公钥,而不会影响私钥的安全性。每一对不对称钥匙都是独一无二的,这确保了使用公钥加密的讯息只能由拥有相应私钥的人阅读。

由于不对称加密算法生成的钥匙对与数学有关,因此其主键的长度远长于对称加密中使用的长度。这个长度通常在 1,024 和 2,048 位之间。这使得通过其公钥计算私钥变得极其困难。现今最常用的不对称加密算法之一被称为 RSA。在 RSA 计划中,密钥是通过乘以两个数字(通常是两个大的质数)来生成的。换句话说,标准生成两把钥匙(可以共享的公钥和必须保密的私钥)。RSA 算法首次于 1977 年由 Rivest、Shamir 和 Adleman 描述(因此,RSA 是每个参与者名字的首字母),并且至今仍是公钥加密系统的主要组成部分。


PKC 作为加密工具

公钥加密解决了对称算法的一个长期问题,即用于加密和解密的密钥的传递。通过不安全的连接传送此密钥会使其暴露于外部人员,从而可以阅读使用共享密钥加密的任何消息。尽管存在加密技术(如 Diffie-Hellman-Merkle 钥匙交换协议)来解决这一问题,但它们仍然容易受到攻击。相反,在公钥加密中,可以通过任何连接安全地共享用于加密的密钥。因此,不对称算法相较于对称算法提供了更高的保护级别。


在数字签名中的使用

不对称加密算法的另一个应用是通过使用数字签名对数据进行验证。简单来说,数字签名是使用消息中的数据生成的哈希。发送此消息时,接收者可以使用发送者的公钥验证签名,以确保消息的来源并确认其未被篡改。在某些情况下,数字签名和加密一起使用,因为哈希本身可以作为消息的一部分进行加密。然而,并非所有的数字签名方案都使用加密技术。


限制

尽管可以用来增强计算机安全性并提供消息完整性的验证,公钥加密仍然有一些限制。由于加密和解密所涉及的复杂数学运算,不对称算法在处理大量数据时可能会相对缓慢。这种类型的加密也在很大程度上依赖于私钥将保持秘密。如果私钥不小心被共享或暴露,则使用相应公钥加密的所有消息的安全性将被破坏。用户也可能意外丢失其私钥,这种情况下将无法访问加密数据。


公钥加密的应用。

这种类型的加密在许多现代计算机系统中用于保护敏感信息。例如,可以使用公钥加密技术对电子邮件进行加密,以保持其内容的机密性。安全套接字层协议(SSL)也使用不对称加密来确保与网站的安全通信。甚至还探索了使用 PKC 系统来提供安全的电子投票环境,允许选民从自己的家用计算机参加选举。

公钥加密在区块链和数字货币技术中也显著地发挥作用。当设置新的数字货币钱包时,会生成一对密钥(公钥和私钥)。公钥用于生成地址,并可以安全地与他人共享。另一方面,私钥用于生成数字签名并验证交易,因此必须保密。一旦通过确认数字签名中的哈希来验证交易,该交易就可以添加到公共区块链中。这种验证数字签名的系统确保只有拥有与数字货币钱包相关联的私钥的人才能从中提取资金。值得注意的是,用于数字货币应用的不对称零与用于计算机安全目的的不同。例如,比特币和以太坊使用一种专门的加密技术,称为椭圆曲线数字签名算法(ECDSA)来验证交易。

从计算机安全到加密交易的验证,公钥加密在保护现代数字系统中发挥了重要作用。通过配对的公钥和私钥,不对称加密算法解决了对称零所带来的基本安全问题。尽管公钥加密已经使用多年,但仍然不断发展新的使用和应用,尤其是在区块链和数字货币领域。