加密解密演算法與通訊安全(五)

2022-07-25 06:18:07 字數 1453 閱讀 4085

數字簽名

以上三種演算法都有防篡改的功能,但摘要演算法、和對稱加密演算法若要防篡改,則需要交換金鑰,這又是一件麻煩事兒。所以一般在單純的防篡改的需求上,都是使用非對稱加密演算法。但若是對整個明文進行加密的話,加密過程勢必消耗大量時間,所以就誕生了數字簽名。

數字簽名,本質上就是非對稱加密演算法,但出於解密執行效率的考慮,並是不對明文進行加密,而是對明文的摘要加密,生成「數字串」,並將「數字串」附在明文之後。

數字簽名實際上是非對稱加密演算法的乙個妥協方案,為了提高加解密的效率,捨棄了非對稱加密演算法對截獲威脅的優勢。

通訊模型

先來看非對稱加密演算法的第一種通訊模型,由客戶端生成一堆金鑰——公鑰

gkey

和私鑰skey

,並使用

skey

對明文data

進行加密,獲得密文c。將

c與gkey

傳送給伺服器端,伺服器端使用

gkey對c

進行解密。

這種通訊模型,只需要一次請求

/響應過程,但卻無法防範截獲威脅,由於最後的密文

c的解密用的是公鑰

gkey

,而gkey

在通過網路傳遞,所以攻擊者可以很方便的對資料進行截獲、解密,獲得明文

data

。但這種通訊模型,對於數字簽名的場景正合適,數字簽名的場景並不準備防範「截獲」威脅。

那麼下面來看下完整的數字簽名的通訊模型:伺服器端生成一堆金鑰,公鑰

gkey

和私鑰skey

,在將明文

data

進行摘要,獲得摘要串

z1,使用私鑰對

z1加密,獲得密文c,將

c,data

,gkey

發給伺服器端,伺服器端使用

gkey

解密後獲得

z1,重新根據

data

計算出摘要

z2,通過比較

z1是否等於

z2來判斷資料是否被篡改。

以上的模型主要由兩個步驟組成,摘要與非對稱加密演算法的應用。平常我們經常用到的簽名演算法,也是這兩種演算法的組合,比如:

sha1wthrsa

,使用sha1

來做摘要,

rsa做未對稱加密;

md5withrsa

,使用md5

做摘要演算法,

rsa做未對稱加密;

sha1withdsa

,dsa

是elgamal

演算法的一種改進。

<

iteye推薦

加密解密演算法與通訊安全(一)

平時在工作和生活中,我們會經常接觸加密 解密的技術。同時,我們作為開發者,也會經常遇到使用者對資料安全的需求,當我們碰到了這些需求後如何解決,如何何種方式保證資料安全,哪種方式最有效,這些問題經常困惑著我們。那麼我們又會碰到哪些安全的風險的。安全性威脅 一般的,我們在網路中傳輸的資料,都可以認為是存...

加密解密演算法與通訊安全(三)

對稱加密演算法 理論上說對稱加密演算法,才是我們真正說的加密演算法。所謂對稱加密演算法,通俗的講,就是使用金鑰加密,再使用金鑰解密的加密演算法的總稱。也就是平時我們說到加密演算法,腦子裡第乙個跳出來的加密方式一般都是對稱加密演算法。上面將的 base64 其實也是一種 對稱加密演算法 只是其金鑰公開...

加密解密演算法與通訊安全(六)

數字證書 上面說了這麼多演算法,又是摘要演算法,又是對稱加密演算法,又是非對稱加密演算法的。但是對於通訊中的四種威脅 截獲 中斷 篡改 偽造最多也就只能解決其中的兩個,對於中斷 和偽造威脅,只能乾瞪眼。難道,就沒有其他辦法了嗎。對於中斷,一般是網路拓撲或協議級別要解決的問題,已經超出了我們的範疇,暫...