1.數據加解密應用方案目前線路上的數據保護主要使用的算法是3DES、AES、RSA。我公司將以這三種算法為基礎介紹幾種線路上數據加密的方案。1.1 3DES對稱密鑰加密方案 1.發送方和接收方首先約定產生一個相同的管理密鑰。 2.在發送方的計算機中通過隨機算法產生一個128位的隨機密鑰。 3. 利用先前產生的128位隨機密鑰對明文數據進行3DES加密,獲得相應的密文數據。 4.將128位隨機密鑰以及文件擴展名、文件類型、有效內容長度等信息組成管理信息,用發送方的管理密鑰對管理信息加密得到包頭密文A。 5.將包頭密文A與先前獲得的數據密文拼接起來組成密文數據包發送給接收方。 6.接收方收到發送方傳送來的密文數據包后,將其拆分成密文包頭A和數據密文兩項。 7.將密文包頭放入密文包頭緩沖區中,用接收方的管理密鑰對密文包頭進行解密,得到 128位隨機密鑰、文件擴展名、文件類型、有效內容長度等數據。 8.利用得到的128位隨機密鑰對密文數據進行解密,得到相應的明文數據。 ![]() 非對稱密鑰加密也叫公開密鑰加密(Public Key Encryption),在加密和解密時使用不同的密鑰。加密密鑰和解密密鑰形成一個密鑰對,用其中的一個密鑰加密的密文只能用另一個密鑰解密,而不能由其它密鑰(包括加密用的密鑰)解密。通常一個密鑰指定為“公鑰”,可以對外公布,另一個則指定為“私鑰”,只能由密鑰持有人保管。 1.接收方創建RSA密匙對,即一個公鑰和一個私鑰,并將公鑰發送到發送方,私鑰則被保存在接收方。 2.發送方在接收到這個公鑰后,用該公鑰對明文進行加密得到密文。 3.把密文通過網絡傳輸給接收方。 4.接收方在收到密文后,用RSA私鑰對收到的密文進行解密,最后得到明文。 ![]() 由于RSA加解密速度慢,不適合大量數據文件加密,因此在網絡中完全用公開密碼體制傳輸機密信息是沒有必要,也是不太現實的。AES加密速度很快,但是在網絡傳輸過程中如何安全管理AES密鑰是保證AES加密安全的重要環節。如果在傳送機密信息的雙方,使用AES對稱密碼體制對傳輸數據加密,同時使用RSA不對稱密碼體制來傳送AES的密鑰,就可以綜合發揮AES和RSA的優點同時避免它們缺點來實現一種新的數據加密方案。 1.接收方創建RSA密鑰對,并且通過Internet發送RSA公鑰到發送方,同時保存RSA私鑰。 2.發送方創建AES密鑰,并用該AES密鑰加密待傳送的明文數據,同時用接收到的RSA公鑰加密AES密鑰。 3.加密后的AES密鑰同密文一起通過Internet傳輸發送到接收方。 4.接收方收到這個被加密的AES密鑰和密文后,調用接收方保存的RSA私鑰解密加密的AES密鑰,得到AES密鑰并用該密鑰解密密文得到明文。 ![]() 網絡傳輸中客戶端和服務器端的數據加密 通訊線路上客戶端和服務器的數據加密 系統內部數據傳輸線路上的數據加密 |