對稱與非對稱金鑰加密

2021-10-08 16:24:51 字數 2439 閱讀 7974

1.對稱與非對稱金鑰加密比較

非對稱金鑰加密(用接收方的公鑰進行加密)解決了金鑰協定與金鑰交換問題,但並沒有解決實際安全結構中的所有問題。具體地說,對稱與非對稱金鑰加密還有其他一些差別,各有所長。下表總結一下這些技術的實際用法:

特徵對稱金鑰加密

非對稱金鑰加密

加密/解密使用的金鑰

加密/解密使用的金鑰相同

加密/解密使用的金鑰不相同

加密/解密速度很快慢

得到的密文長度

通常等於或者小於明文長度

大於明文長度

金鑰協定與金鑰交換

大問題沒問題

所需金鑰數與訊息交換參與者個數的關係

大約為參與者個數的平方,因此伸縮性不好

等於參與者個數,因此伸縮性好

用法主要用於加密/解密(保密性),不能用於數字簽名(完整性與不可抵賴檢查)

可以用於加密/解密(保密性)和用於數字簽名(完整性與不可抵賴檢查)

上表顯示了對稱與非對稱金鑰加密各有所長,也都有需要改進的問題。非對稱金鑰加密解決了伸縮性和金鑰協定與金鑰交換問題,但速度慢,而且產生比對稱金鑰加密更大的密文塊,因此使用的金鑰比對稱金鑰加密大,演算法更複雜。

2.兩種加密機制的組合

組合這兩種加密機制,要達到下列目標:

(1)解決方案完全安全。

(2)加密/解密速度要快。

(3)生成的密文長度要小。

(4)伸縮性要好,不能引入更多的複雜性。

(5)要解決金鑰發布問題。

在實際中,對稱與非對稱金鑰加密結合起來,提供了相當高效的安全方案,工作如下,這裡假設a是傳送方,b是接收方。

(1)a的計算機利用des、idea與rc5之類的對稱金鑰加密演算法加密明文訊息(pt),產生密文訊息(ct),如下圖所示:

這個操作使用的金鑰(k1)稱為一次性對稱金鑰,用完即丟棄。

(2)用對稱金鑰加密明文(pt)。現在要把一次性對稱金鑰(k1)傳送給伺服器,使伺服器能夠解密密文(ct),恢復明文訊息(pt)。這又到金鑰交換問題了,這裡要用乙個新的概念,a要去第一步的一次性對稱金鑰(k1),用b的公鑰(k2)加密k1。這個過程稱為對稱金鑰的金鑰包裝,如下圖所示:

我們可以看到對稱金鑰k1放在邏輯箱中,用b的公鑰(k2)封起來。

(3)現在,a要密文ct和已加密的對稱金鑰一起放在數字信封(digital envelope)中,如下圖所示:

(4)這時a將數字信封(包含密文t)和用b的公鑰包裝的對稱金鑰(k1)用基礎傳輸機制(網路)傳送給b,如下圖所示:

這裡沒有顯示數字信封的概念,假設數字信封包含兩個專案。

(5)b接收並開啟數字信封,b開啟信封後,收到密文ct和用b的公鑰包裝的對稱金鑰(k1),如下圖所示:

(6)b可以用a所用的非對稱金鑰演算法和自己的私鑰(k3)解密邏輯盒,其中包含b的公鑰包裝的對稱金鑰(k1),如下圖所示:

這樣,這個過程的輸出是一次性對稱金鑰k1。

(7)最後,b用a所用的對稱金鑰演算法對稱金鑰k1解密密文(ct),這個過程得到明文pt,如下圖所示:

這個基於數字信封的過程之所以有效,原因如下:

(a)首先,用對稱金鑰加密演算法和一次性會話金鑰(k1)加密明文(pt)。對稱金鑰加密演算法速度快,得到的密文(ct)通常比原先的明文(pt)小。如果這時使用非對稱金鑰加密演算法,則速度很慢,對大塊明文更是如此。另外,輸出密文(ct)也會比原先的明文(pt)大。

(b)用b的公鑰包裝的對稱金鑰(k1),由於k1長度小(通常是56或者64位),因此這個非對稱金鑰加密過程不會用太長時間,得到的加密金鑰不會占用太大空間。

(c)這個機制解決了金鑰交換問題,同時不失對稱金鑰加密演算法和非對稱金鑰加密演算法的長處。

但是還有問題沒有解決。b怎麼知道a用了哪種對稱或非對稱金鑰加密演算法?b要知道這個資訊之後才能用相同演算法進行相應解密。實際上,a傳送給b的數字信封包含這個資訊。

在實際中對稱與非對稱金鑰加密演算法就是這樣結合使用的。數字信封是相當有效的技術,可以從傳送方向接收方傳輸訊息,達到保密性。

對稱金鑰與非對稱金鑰

對稱金鑰加密,又稱私鑰加密,即資訊的傳送方和接收方用乙個金鑰去加密和解密資料。它的最大優勢是加 解密速度快,適合於對大資料量進行加密,對稱加密的一大缺點是金鑰的管理與分配,換句話說,如何把金鑰傳送到需要解密你的訊息的人的手裡是乙個問題。在傳送金鑰的過程中,金鑰有很大的風險會被黑客們攔截。現實中通常的...

對稱 非對稱金鑰 加密演算法

由於 摘要 演算法加密的資料僅僅能作為一種身份驗證的憑據使用,如果我們要對整個文件資料進行加密,則不能採用這種 不可逆 的演算法,因此 金鑰 演算法 key encoding 的概念被提出。此類演算法通過乙個被稱為 金鑰 的憑據進行資料加密處理,接收方通過加密時使用的 金鑰 字串進行解密,即雙方持有...

非對稱金鑰加密概述

非對稱金鑰加密又稱為公鑰加密,它使用兩個金鑰,構成一對,乙個用於加密,乙個用於解密,其他金鑰都無法解密這個訊息,包括用於加密的金鑰。這個機制的妙處在於,每個通訊雙方只需要一對金鑰,就可以和多個其他方通訊。一旦去的金鑰對之後,就可以和任何人通訊。這個模式有乙個簡單的數學基礎。如果乙個大數只有兩個素數因...