當前位置:首頁 » 操作系統 » 公開密鑰演算法

公開密鑰演算法

發布時間: 2023-08-31 20:44:42

① 公開密鑰加密的簡介

公開密鑰加密也稱為非對稱密鑰加密,該加密演算法使用兩個不同的密鑰:加密密鑰和解密密鑰。前者公開,又稱公開密鑰,簡稱公鑰。後者保密,又稱私有密鑰,簡稱私鑰。這兩個密鑰是數學相關的,用某用戶加密密鑰加密後所得的信息只能用該用戶的解密密鑰才能解密。RSA演算法(由發明者Rivest,Shmir和Adleman姓氏首字母縮寫而來)是著名的公開密鑰加密演算法。
公鑰加密的另一用途是身份驗證:用私鑰加密的信息,可以用公鑰拷貝對其解密,接收者由此可知這條信息確實來自於擁有私鑰的某人。
公鑰的形式就是數字證書。

② 比較對稱加密演算法和公開密鑰演算法,分析其異同

基於密鑰的演算法通常有兩類:對稱演算法和公開密鑰演算法(非對稱演算法)。對稱演算法有時又叫傳統密碼演算法,加密密鑰能夠從解密密鑰中推算出來,反過來也成立。
在大多數對稱演算法中,加解密的密鑰是相同的。對稱演算法要求發送者和接收者在安全通信之前,協商一個密鑰。對稱演算法的安全性依賴於密鑰,泄漏密鑰就意味著任何人都能對消息進行加解密。對稱演算法的加密和解密表示為: EK(M)=C;DK(C)=M
公開密鑰演算法(非對稱演算法)的加密的密鑰和解密的密鑰不同,而且解密密鑰不能根據加密密鑰計算出來,或者至少在可以計算的時間內不能計算出來。
之所以叫做公開密鑰演算法,是因為加密密鑰能夠公開,即陌生者能用加密密鑰加密信息,但只有用相應的解密密鑰才能解密信息。加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做私人密鑰(簡稱私鑰)。
公開密鑰K1加密表示為:EK1(M)=C。公開密鑰和私人密鑰是不同的,用相應的私人密鑰K2解密可表示為:DK2(C)=M。

③ 常見的公鑰密碼演算法有rsa演算法

常見的公鑰密碼演算法有rsa演算法。常見的公鑰加密演算法有:RSA、ElGamal、背包演算法、Rabin(RSA的特例)、迪菲-赫爾曼密鑰交換協議中的公鑰加密演算法、橢圓曲線加密演算法(EllipticCurveCryptography,ECC),DSA數字簽名(又稱公鑰數字簽名),將摘要信息用發送者的私鑰加密,接收者用發送者的公鑰才能解密被加密的摘要信息,也屬於公開密鑰加密演算法。

④ 什麼是公鑰密碼演算法


20世紀70年代,美國學者Diffie和Hellman,以及以色列學者Merkle分別獨立地提出了一種全新的密碼體制的概念。Diffie和Hellman首先將這個概念公布在1976年美國國家計算機會議上,幾個月後,他們這篇開創性的論文《密碼學的新方向》發表在IEEE雜志資訊理論卷上,由於印刷原因,Merkle對這一領域的貢獻直到1978年才出版。他們所創造的新的密碼學理論,突破了傳統的密碼體制對稱密鑰的概念,豎起了近代密碼學的又一里程碑。



不同於以前採用相同的加密和解密密鑰的對稱密碼體制,Diffie和Hellman提出了採用雙鑰體制,即每個用戶都有一對選定的密鑰:一個是可以公開的,另一個則是秘密的。公開的密鑰可以像電話號碼一樣公布,因此稱為公鑰密碼體制或雙鑰體制。
公鑰密碼體制的主要特點是將加密和解密的能力分開,因而可以實現多個用戶的信息只能由一個用戶解讀;或只能由一個用戶加密消息而由多個用戶解讀,前者可以用於公共網路中實現保密通信,而後者可以用於認證系統中對消息進行數字簽名。
公開密鑰密碼的基本思想是將傳統密碼的密鑰一分為二,分為加密密鑰Ke和解密密鑰Kd,用加密密鑰Ke控制加密,用解密密鑰Kd控制解密。而且由計算復雜性確保加密密鑰Ke在計算上不能推導出解密密鑰Kd。這樣,即使將Ke公開也不會暴露Kd,也不會損害密碼的安全。於是便可以將Ke公開,而只對Kd保密。由於Ke是公開的,只有Kd是保密的,因此從根本上克服了傳統密碼在密鑰分配上的困難。


公開密鑰密碼滿足的條件
根據公開密鑰密碼的基本思想,可知一個公開密鑰密碼應當滿足下面三個條件:



  1. 解密演算法D和加密演算法E互逆,即對所有明文M都有,D(E(M,Ke),Kd)=M。
  2. 在計算上不能由Ke推導出Kd。
  3. 演算法E和D都是高效的。

條件1是構成密碼的基本條件,是傳統密碼和公開密鑰密碼都必須具備的起碼條件。
條件2是公開密鑰密碼的安全條件,是公開密鑰密碼的安全基礎,而且這一條件是最難滿足的。目前尚不能從數學上證明一個公開密鑰密碼完全滿足這一條件,而只能證明它不滿足這一條件。
條件3是公開密鑰密碼的工程實用條件。因為只有演算法E和D都是高效的,密碼才能實用。否則,密碼只有理論意義,而不能實際應用。
滿足了以上三個條件,便可構成一個公開密鑰密碼,這個密碼可以確保數據的秘密性。然而還需要確保數據的真實性,則還需滿足第四個條件。
4.對於所有明文M都有E(D(M,Kd),Ke)=M。
條件4是公開密鑰密碼能夠確保數據真實性的基本條件。如果滿足了條件1、2、4,同樣可以構成一個公開密鑰密碼,這個密碼可以確保數據的真實性。
如果同時滿足以上四個條件,則公開密鑰密碼可以同時確保數據的秘密性和真實性。此時,對於所有的明文M都有D(E(M,Ke),Kd)= E(D(M,Kd),Ke)=M。
公開密鑰密碼從根本上克服了傳統密碼在密鑰分配上的困難,利用公開密鑰密碼進行保密通信需要成立一個密鑰管理機構(KMC),每個用戶將自己的姓名、地址和公開的加密密鑰等信息在KMC登記注冊,將公鑰記入共享的公開密鑰資料庫。KMC負責密鑰的管理,並對用戶是可信賴的。這樣,用戶利用公開密鑰密碼進行保密通信就像查電話號碼簿打電話一樣方便,再也不需要通信雙方預約密鑰,因此特別適合計算機網路應用,而且公開密鑰密碼實現數字簽名容易,所以特別受歡迎。
下圖是公鑰密碼體制的框圖,主要分為以下幾步:



  1. 網路中要求接收消息的端系統,產生一對用來加密和解密的密鑰,如圖中的接收者B,產生一對密鑰PKB,SKB,其中PKB是公開鑰,SKB是秘密鑰。
  2. 端系統B將加密密鑰(圖中的PKB)存儲在一個公開的寄存器或文件中,另一密鑰則被保密(圖中個SKB)。
  3. A要想向B發送消息m,則使用B的公開鑰加密m,表示為 c=EPKB[m] 其中,c是密文,E是加密演算法。
  4. B收到密文c後,用自己的秘密鑰SKB解密,表示為 m=DSKB[c] 其中,D是解密演算法。因為只有B知道SKB,所以其他人無法對c解密。

這就是公開密鑰的原理~


(轉載需向本人獲取許可權)

熱點內容
qq登錄在哪個文件夾 發布:2025-02-01 01:57:59 瀏覽:624
如何加入安卓代理 發布:2025-02-01 01:51:40 瀏覽:2
我的世界手游伺服器刷鑽石教程 發布:2025-02-01 01:48:13 瀏覽:773
sqlifthen男女 發布:2025-02-01 01:44:59 瀏覽:690
幻靈和安卓哪個互通 發布:2025-02-01 01:43:33 瀏覽:648
電腦配置夠但為什麼打lol掉幀 發布:2025-02-01 01:37:08 瀏覽:316
21款朗逸哪個配置比較劃算 發布:2025-02-01 01:35:32 瀏覽:976
建築動畫片腳本 發布:2025-02-01 01:35:21 瀏覽:469
管家婆如何用阿里雲伺服器 發布:2025-02-01 01:29:09 瀏覽:649
解壓耳放 發布:2025-02-01 01:20:18 瀏覽:176