什么是公钥?

公钥是在公钥基础设施(PKI)中向第三方公开的密钥。在公钥密码体系中,公钥与相应的私钥配对使用。公钥可以公开共享,而私钥必须由其所有者妥善保密。

在公钥密码学出现之前,对称密钥密码学得到了广泛应用。在这种方法中,加密和解密使用同一个密钥,通信双方通过共享该密钥实现安全通信。但是,如果密钥在共享过程中被截获,加密的安全性就会受到影响。公钥密码学正是为解决这一问题而开发的。

在公钥密码学中,密钥所有者首先与通信方共享公钥。通信方使用该公钥加密消息或数据,并将加密后的消息发送给密钥所有者。随后,密钥所有者使用对应的私钥解密消息。由于私钥不会通过通信信道传输,因此被截获的风险大幅降低,安全性也随之提升。

目前广泛使用的公钥加密系统是RSA算法。RSA采用配对密钥结构:使用其中一个密钥(例如公钥)加密的数据只能使用另一个密钥(例如私钥)解密,反之亦然。因此,RSA可灵活应用于多种场景,例如使用公钥加密数据并使用私钥解密,或使用私钥加密数据并使用公钥解密。

后一种特性用于数字签名。能够使用特定公钥解密的文档,必定是使用对应私钥加密的,这可以证明该文档由该私钥的所有者签署。但需要注意的是,RSA的公钥和私钥并不对称。虽然可以从对应的私钥生成公钥,但从公钥生成私钥在计算上不可行。RSA的安全性依赖于将大数分解为质因数的难度。为保持安全性,RSA密钥必须足够长,以应对计算能力的提升和潜在的新型解密算法。随着时间推移,密钥长度和算法会定期更新,以持续保障安全性。