公開金鑰,私密金鑰和數位簽章這樣最好理解

來源:互聯網
上載者:User
 

一、公開金鑰加密
假設一下,我找了兩個數字,一個是1,一個是2。我喜歡2這個數字,就保留起來,不告訴你們(私密金鑰),然後我告訴大家,1是我的公開金鑰。

我有一個檔案,不能讓別人看,我就用1加密了。別人找到了這個檔案,但是他不知道2就是解密的私密金鑰啊,所以他解不開,只有我可以用
數字2,就是我的私密金鑰,來解密。這樣我就可以保護資料了。

我的好朋友x用我的公開金鑰1加密了字元a,加密後成了b,放在網上。別人偷到了這個檔案,但是別人解不開,因為別人不知道2就是我的私密金鑰,
只有我才能解密,解密後就得到a。這樣,我們就可以傳送加密的資料了。

 

二、私密金鑰簽名
如果我用私密金鑰加密一段資料(當然只有我可以用私密金鑰加密,因為只有我知道2是我的私密金鑰),結果所有的人都看到我的內容了,因為他們都知
道我的公開金鑰是1,那麼這種加密有什麼用處呢?

但是我的好朋友x說有人冒充我給他發信。怎麼辦呢?我把我要發的信,內容是c,用我的私密金鑰2,加密,加密後的內容是d,發給x,再告訴他
解密看是不是c。他用我的公開金鑰1解密,發現果然是c。
這個時候,他會想到,能夠用我的公開金鑰解密的資料,必然是用我的私密金鑰加的密。只有我知道我得私密金鑰,因此他就可以確認確實是我發的東西。
這樣我們就能確認發送方身份了。這個過程叫做數位簽章。當然具體的過程要稍微複雜一些。用私密金鑰來加密資料,用途就是數位簽章

 

總結:公開金鑰和私密金鑰是成對的,它們互相解密。

公開金鑰加密,私密金鑰解密。

私密金鑰數位簽章,公開金鑰驗證。

 

舉例

比如有兩個使用者Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公開金鑰和私密金鑰,那麼加密解密的過程如下:

  1. Bob將他的公開密鑰傳送給Alice。
  2. Alice用Bob的公開祕密金鑰加密她的訊息,然後傳送給Bob。
  3. Bob用他的私人密鑰解密Alice的訊息。

  上面的過程可以用表示,Alice使用Bob的公開金鑰進行加密,Bob用自己的私密金鑰進行解密。

例子和圖出自《網路安全基礎 應用與標準第二版》

 

RSA演算法

RSA公開金鑰加密演算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學院)開發的。RSA取名來自開發他們三者的名字。RSA是目前最有影響力的公開金鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公開金鑰資料加密標準。RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.