公钥与私钥是加密与解密的密钥对,公钥加密的信息只能由对应的私钥解密,反之亦然。它们主要应用于验证服务端与客户端间发送的数据是否被篡改。举个例子,鲍勃拥有公钥和私钥,他将公钥分享给苏珊等朋友。苏珊想要给鲍勃发送保密信件,会使用鲍勃的公钥加密信件内容。鲍勃收到信件后,利用私钥解密,阅读信件内容。只要鲍勃的私钥不泄露,信件内容就安全,即使信件被他人获取,也无法解密。若鲍勃回信给苏珊,决定采用“数字签名”。他先使用哈希函数生成信件摘要,然后用私钥加密摘要,生成数字签名,并附在信件中发送给苏珊。苏珊收到信件后,取下数字签名,用鲍勃的公钥解密,得到信件摘要,证明这封信确实是鲍勃发出。接着,苏珊使用哈希函数对信件内容生成摘要,与之前得到的摘要对比。若两者一致,则证明信件未被修改过。哈希算法是一种不可逆算法,改变原文内容会立即导致哈希值变化。服务端的私钥是唯一的,因为使用的是非对称加密。通过公钥与私钥的运用,实现了数据的安全传输与验证。