1. 程式人生 > >Java進階 八 Java加密技術之對稱加密 非對稱加密 不可逆加密算法

Java進階 八 Java加密技術之對稱加密 非對稱加密 不可逆加密算法

歐洲 再次 div 數據安全 識別 交易 standard 計算 領域

對稱加密 非對稱加密 不可逆加密算法

根據密鑰類型不同可以將現代密碼技術分為兩類:對稱加密算法(私鑰密碼體系)和非對稱加密算法(公鑰密碼體系)。

1 對稱加密算法

原理

對稱加密算法中,數據加密和解密采用的都是同一個密鑰,因而其安全性依賴於所持有密鑰的安全性。

優點

加密和解密速度快,加密強度高,且算法公開.

缺點

實現密鑰的秘密分發困難,在大量用戶的情況下密鑰管理復雜,而且無法完成身份認證等功能,不便於應用在網絡開放的環境中。

特點

算法公開、計算量小、加密速度快、加密效率高。

著名算法

目前最著名的對稱加密算法有數據加密標準DES,但傳統的DES由於只有56位的密鑰,因此已經不適應當今分布式開放網絡對數據加密安全性的要求。歐洲數據加密標準

IDEA等,目前加密強度最高的對稱加密算法是高級加密標準AESAES提供128位密鑰,128AES的加密強度是56DES加密強度的1021倍還多。。

過程

對稱加密算法過程是將數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。

不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。假設兩個用戶需要使用對稱加密方法加密然後交換數據,則用戶最少需要2

個密鑰並交換使用,如果企業內用戶有n個,則整個企業共需要n×(n-1) 個密鑰。

2 非對稱加密算法

原理

非對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙(即一把公開密鑰或加密密鑰和專用密鑰或解密密鑰)—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時采用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。非對稱加密算法的基本原理是,如果發信方想發送只有收信方才能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。

優點

非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。

加密和解密花費時間長、速度慢,它不適合於對文件加密而只適用於對少量數據進行加密。

著名算法

廣泛應用的非對稱加密算法有RSA算法和美國國家標準局提出的DSA

3 不可逆加密算法

原理

  不可逆加密算法的特征是加密過程中不需要使用密鑰,輸入明文後由系統直接經過加密算法處理成密文,這種加密後的數據是無法被解密的,只有重新輸入明文,並再次經過同樣不可逆的加密算法處理,得到相同的加密密文並被系統重新識別後,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。

優點

不可逆加密算法不存在密鑰保管和分發問題,非常適合在分布式網絡系統上使用。

因加密計算復雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密算法。近年來,隨著計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。

著名算法

在計算機網絡中應用較多不可逆加密算法的有RSA公司發明的MD5算法和由美國國家標準局建議的不可逆加密標準SHS(Secure Hash Standard:安全雜亂信息標準)等。

註:

對稱加密算法、非對稱加密算法和不可逆加密算法可以分別應用於數據加密、身份認證和數據安全傳輸。

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net

Java進階 八 Java加密技術之對稱加密 非對稱加密 不可逆加密算法