1. 程式人生 > >非對稱密碼的基本原理

非對稱密碼的基本原理

對稱密碼最大的缺點在於其金鑰管理困難,因為通訊的雙方必需預約相同的金鑰之後才能進行加密,而且在網路環境下金鑰應經常更換,所以在使用者越多的情況下,金鑰的數量和管理難度也會相應增加,此外對稱密碼不易實現數字簽名

1. 基本思想

a) 公開金鑰密碼,也就是非對稱密碼體制,基本思想就是講對稱密碼的金鑰K分為加密金鑰Ke和解密金鑰Kd,用加密金鑰Ke控制加密,用解密金鑰Kd控制解密,而且由於計算複雜性確保由加密金鑰Ke在計算上不能推出解密金鑰Kd,這樣即使Ke公開也不會暴露Kd,因為加密金鑰是公開的,在根本上克服了傳統密碼在金鑰分配上的困難

b) 加密時使用公鑰,解密時使用私鑰,由此可見,加密演算法E和解密演算法D是一個可逆運算,即:D(E(m))=m

2. 應用

a) 在非對稱密碼中,加密運算和解密運算具有可交換性D(E(m))=E(D(m))=m,這個特性可以將非對稱密碼應用到數字簽名中,以下說說數字簽名的過程:

          i.     擁有公鑰Ke和私鑰Kd可以執行解密演算法得出簽名sig

        ii.     要驗證一個簽名信息是否相同的時候可以將這個簽名信息使用公鑰Ke進行加密,比較加密後的內容相同則為同一個簽名

3. 安全性

a) 非對稱密碼基於一個難解的數學問題,比如大合數因式分解

          i.     設求解問題的規模可以在多項式時間複雜度內解決的問題稱為P類問題,計算機在多項式複雜度內不可以解決的問題就是NP,NP問題是一類困難的問題,其中最難的一類就是NPC問題

        ii.     設計密碼的本質在於尋找一個難解的問題,這一設計思想解釋了密碼的安全性與計算複雜性之間的相互依賴關係

4. 優缺點

a) 優點是從根本上客服了對稱密碼體制分發金鑰的困難,並且容易實現數字簽名

b) 缺點就在於計算的時間長,時間複雜度高,降低了加解密效率

首發於我的個人部落格: 點選開啟連結