什么是公钥?
公钥是在公钥基础设施 (PKI) 内向第三方披露的密钥。 在公钥密码学中,公钥与相应的私钥配对。 虽然公钥是公开共享的,但私钥必须由其所有者保密。
在公钥密码学出现之前,对称密钥密码学被广泛使用。 该方法中,加密和解密使用相同的密钥,并在通信双方之间共享密钥,从而实现安全通信。 然而,如果密钥在共享过程中被截获,加密的安全性就会受到损害。 公钥密码学是为了解决这个问题而开发的。
在公钥密码学中,密钥所有者首先与通信伙伴共享公钥。 通信伙伴使用该公钥加密消息或数据,并将加密消息发送给密钥所有者。 然后,密钥所有者使用相应的私钥解密该消息。 由于私钥从未通过通信信道传输,因此被拦截的风险大大降低,从而增强了安全性。
目前应用最广泛的公钥加密体制是RSA算法。 RSA 使用成对密钥结构,其中一个密钥(例如,公钥)加密的数据只能用另一个密钥(例如,私钥)解密,反之亦然。 这允许灵活的用例,例如使用公钥加密数据并使用私钥解密 - 或者使用私钥加密数据并使用公钥解密。
后一种属性可用于数字签名。 可以使用特定公钥解密的文档必须使用相应的私钥加密,以证明它是由该私钥的所有者撰写的。 然而,需要注意的是,RSA 的公钥和私钥并不对称。 虽然可以从相应的私钥生成公钥,但从公钥生成私钥在计算上是不可行的。 RSA 的安全性依赖于将大数分解为其素数成分的难度。 为了保证安全,RSA 密钥必须足够长,以跟上计算能力的进步和潜在的新解密算法。 随着时间的推移,密钥长度和算法会定期更新以确保持续的安全。