加密方法可以分为两大类。
一类是单钥加密(private key cryptography),前者的加密和解密过程都用同一套密码
一类叫做双钥加密(public key cryptography),后者的加密和解密过程用的是两套密码。
在双钥体系中,公钥用来加密信息,私钥用来数字签名。
鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。
鲍勃将这个签名,附在信件下面,一起发给苏珊。
苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。
道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。
此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。
苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。
公钥加密,私钥解密。私钥加密,公钥解密。私钥一个,公钥多个。公钥和私钥是独立的一对
公钥:加密内容,只有私钥可以看
私钥:加密内容,有公钥的都可以看,用于签名(并防止修改文件)
CA :加密个人公钥和信息,防止个人公钥被替换。公示个人信息,并且不可修改。