學習閱讀的文章地址:http://www.youdzone.com/signature.html
另外學習過程中寫些筆記,是個好習慣~~
公鑰私鑰的原則:
- 一個公鑰對應一個私鑰。
- 密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
- 如果用其中一個密鑰加密數據,則只有對應的那個密鑰纔可以解密。
- 如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。
bob有一對公匙和私匙,他自己保留私匙,把公匙分給pat 和susan
case1:susan 用bob的公匙寫加密信件發給bob
susan想邀請bob和她dating,用bob的公匙加密信件本身發給bob,信件本身被加密了,bob拿到被加密的文件後,用私匙解密,得到正確的信件內容。私匙只有bob擁有,其他人即使得到密文信件,也沒法知道信件的真實內容了。
case2:bob用數字簽名的方式回信給susan
bob接受了susan的dating請求,決定以數字簽名的方式回信給susan,回信的內容是大家都可以見的。首先bob寫好信件,通過hash函數,形成信件的摘要(digest),然後用私匙加密信件摘要(digest)成一個數字簽名(Signature),並且把數字簽名(signature)附在信件後面發送給susan。susan收到信件後,怎麼確定這個信件是bob發的呢?首先她用bob的公匙解密數字簽名(signature),然後把信件內容通過hash函數形成摘要(digest),如果信件摘要和解密數字簽名以後的內容是一致的,那麼就可以斷定這封信是來自bob的了。數字簽名可以防止內容在互聯網上傳輸的過程中,被其他人篡改。
case3:數字簽名的騙局
故事2如果這樣發展,Doug其實對susan愛慕已久,他知道susan對bob有dating請求(線下潛入bob電腦,或者瞟一眼看到),他回去決定假冒bob,迴應susan的邀請。首先doug潛入susan的系統,把bob的公匙換成自己的公匙,然後用自己的私匙給susan發一封拒絕dating的信件,並且是假借bob的名義的。susan以爲是bob寫的,就用bob的公匙(這時已經被替換成doug的公匙了),解開數字簽名,並且驗證通過了。susan認定這是bob拒絕了她。doug完美的欺騙了susan。
case4:數字證書Digital Certification
bob決定對自己的公匙做數字證書,讓第三方來保管公匙,以防doug之徒的破壞。他找到"證書中心"(certificate authority,簡稱CA)。CA也有自己的公匙和私匙,它把bob的公匙和bob的信息一起加密,做成數字證書。bob有了這個數字證書以後,給susan寫信的時候,不但在信下附上數字簽名,還附上數字證書。susan拿到信以後,先用ca的公匙解密數字證書,得到bob的公匙,然後再解開bob的數字簽名。