首頁>Club>
8
回覆列表
  • 1 # 使用者26294243329

    首先,公鑰和私鑰的本質無非就是兩組數字串,因此彼此之間確實可以互相加解密。

    但是

    這僅僅是從數學角度,密碼學應當從安全性,完整性,可用性等角度考慮。

    公鑰加密,私鑰解密。公鑰驗證,私鑰簽名。這兩個金鑰是對應關係。

    "CA中心"認證頒發管理"數字證書"(包含公鑰)

    公鑰,你可以簡單理解為公開的金鑰。

    私鑰,簡單理解為私有金鑰。這個金鑰是不公開的,保密的,應當受到嚴格保護的。

    公鑰是別人可以從CA中心或其他途徑輕而易舉拿到的,因此用它來解密不可取。

    你可以試想,倘若私鑰加密,公鑰解密。那麼加密還有什麼意義呢?只要有公鑰,誰都能解密,而公鑰又是公開金鑰,因此機密性得不到保證。因此使用公鑰加密私鑰解密。

    再說到數字認證。

    這裡就要提到一個"數字簽名"的概念。簽名,顧名思義,每個人都有自己的專屬簽名,那麼同樣的,在虛擬電子網路中,每個人也可以有一份自己的"電子簽名"。

    數字簽名,本質就是用Hash函式將明文生成一段摘要,再將摘要用私鑰進行加密,將摘要密文及原文密文(接收者公鑰加密)同時傳送。對方接受以後,透過解密摘要密文(傳送者公鑰解密)和原文密文(接收者私鑰解密),再將明文同樣生成摘要,進行對比。能用公鑰將摘要密文解密,則保證了真實性,倘若一致則保證了完整性。

    數字認證的前提,是先用私鑰對某文件進行簽名,再用從"CA中心"獲取的公鑰進行驗證,用以保證真實性完整性。

    好,再試想一下,倘若用公鑰簽名,那麼同樣,任何人都可以用傳送者的公鑰對此文件進行簽名,然後你拿到這份文件,拿什麼進行驗證?你沒有對方的私鑰將摘要密文解密驗證啊。

    雖然此時你仍然可以用自己的私鑰得到明文,再得到摘要,再用對方公鑰加密,對比兩者摘要密文是否相同,相同說明完整性沒有問題。但是毫無疑問,沒有什麼意義,因為此時不能保證傳送者的真實性,連誰發的都不知道,完整性也沒有什麼意義。

    所以是私鑰簽名,公鑰驗證。

    其實你應該看出來了。就RSA密碼而言,所謂公鑰私鑰,無非就是兩組數字串,它們之間有著某種函式關係,可以相互之間加解密。

    安全性上來講私鑰可以推匯出公鑰,而公鑰無法輕易推匯出私鑰。具體原因前面有其他回答說過了,我這裡不浪費篇幅去寫,主要與RSA的工作流程有關。(大整數分解為兩個大素數)

    所以雖然同樣都可以加解密,但不同場合的運用帶來的結果往往大相庭徑。

  • 中秋節和大豐收的關聯?
  • 植物蒸騰作用的意義?