什么是公钥密码学?
公钥加密 (PKC) 也称为非对称加密,是一种同时使用私钥和公钥的结构,而不是对称加密中使用的单一金钥。金钥对的使用为 PKC 提供了一组独特的特性和功能,可用于解决其他加密方法中固有的问题。这种形式的加密技术已成为现代电脑安全的重要组成部分,也是不断发展的加密货币生态系统的关键组成部分。
公钥密码学如何运作?
在PKC方案中,发送者使用公钥来加密讯息,而接收者使用私钥来解密讯息。由于两个金钥彼此不同,因此可以安全地共享公钥,而不会损害私人安全。每个非对称金钥对都是唯一的,确保使用公钥加密的讯息只能由拥有相应私钥的人读取。
由于非对称加密演算法产生数学上相关的密钥对,因此这些密钥的长度比对称加密中使用的密钥长得多。这些较长的金钥(通常为 1024 至 2048 位元)使得从公用金钥计算私钥变得极为困难。当今最常用的非对称加密演算法之一是 RSA。在 RSA 方案中,金钥是使用两个数字(通常是两个大质数)相乘获得的模数产生的。基本上,该模组产生两个金钥(一个是公共的,可以共享,另一个是私有的,必须保密)。 RSA 演算法由 Rivest、Shamir 和 Adleman 于 1977 年首次描述(因此称为 RSA),并且至今仍是公钥加密系统的基本组成部分。
PKC 作为加密工具
公钥密码学解决了对称演算法长期存在的问题之一,即用于加密和解密的金钥的传输。透过不安全的连线发送此金钥存在风险,可能会泄漏给第三方,然后第三方可以读取使用此金钥加密的任何讯息。尽管有密码学方法(例如Diffie-Hellman-Merkle金钥交换协定)可以解决这个问题,但它们仍然容易受到攻击。在公钥密码学中,情况恰恰相反。用于加密的金钥可以透过任何连线安全地传输。因此,与对称演算法相比,非对称演算法提供了更高层级的保护。
使用数位签名
非对称加密演算法的另一个应用是使用数位签章的资料认证。本质上,数位签章是使用讯息中的资料建立的哈希值。当此讯息发送时,接收者可以使用发送者的公钥验证签名,以验证讯息的来源并确保其未被篡改。在某些情况下,数位签章和加密一起使用,因为杂凑本身可以作为讯息的一部分进行加密。应该注意的是,并非所有数位签章方案都使用加密方法。
限制
虽然它可以用来提高电脑安全性和验证讯息完整性,但 PKC 也有一些限制。由于加密和解密涉及复杂的数学,非对称演算法在处理大量资料时可能会非常缓慢。这种类型的密码学也很大程度上依赖私钥将保持秘密的假设。如果私钥被意外共享或泄露,则使用相应公钥加密的所有讯息的安全性都会受到损害。用户还可能意外丢失私钥,在这种情况下他们将无法存取加密资料。
公钥密码学的应用
许多现代电脑系统都使用这种类型的加密技术来确保敏感资讯的安全。例如,可以使用公钥加密技术对电子邮件进行加密,以确保其内容的机密性。支援安全连线到网站的安全通讯端层 (SSL) 协定也使用非对称加密。 PKC 系统甚至被用作提供安全电子投票环境的手段,该环境可能允许选民透过家用电脑参与选举。
PKC 在区块链和加密货币技术中也占有重要地位。建立新的加密货币钱包时,会产生金钥对(公钥和私钥)。公共地址是使用公钥产生的,可以与其他人安全地共享。另一方面,私钥用于创建数位签章和验证交易,因此必须保密。一旦透过验证数位签章中包含的杂凑值确认交易,该交易就可以添加到区块链分类帐中。这个数位签章验证系统确保只有拥有与相应加密货币钱包关联的私钥的人才能从中提取资金。应该注意的是,加密货币应用中使用的非对称密码与用于电脑安全目的的非对称密码不同。例如,比特币和以太坊使用一种称为椭圆曲线数位签章演算法(ECDSA)的特殊密码来验证交易。
从电脑安全到验证加密货币交易,公钥密码学在保护现代数位系统方面发挥著重要作用。使用成对的公钥和私钥,非对称加密演算法解决了对称密码带来的基本安全问题。尽管 PKC 已经使用多年,但经常为其开发新的应用程式和应用程序,特别是在区块链和加密货币领域。
