摘要演算法
我們在平時的工作中經常聽到
md5md5
摘要長度
摘要演算法的特點是可以將任意長度的字串,給轉換為定長的字串。可以意料的是,在這個轉換過程中,一定是一共單向的過程。打個比方,我們將乙個
256長度的字串轉換為
128長度的字串,轉換前有
n^256
種可能,轉換後有
n^128
種可能,這一定不可能是1對
1的對應關係。
所以我們只要保證摘要串**換後的串)位數只夠的長,使得「給定乙個字串
a,經過摘要演算法處理後的串
b,很難找到乙個字串
c,其摘要後的串和串
b相同」
即可。所以目前主流的摘要演算法
md/sha
的摘要串長度都在
128位以上。
而正是出於這個原因,美國還對長摘要串的加密演算法進行了出口的限制。
通訊模型
摘要演算法在平時的使用中,經常以如下的形式進行:
假設客戶端需要傳輸一段資訊
data
給伺服器端,為了
data
在網路中資料的完整性,或者說防止資訊
data
被惡意的使用者篡改,可以始終這種安全通訊模型:
客戶端與伺服器端實現確定了加密金鑰
key,一段任意的字串,客戶端將
key與資料
data
拼接在一起,進行摘要得到摘要串c,將
data、c
傳給伺服器端,伺服器端得到
data和c
後,同樣使用與客戶端相同的方法,計算摘要串
s,如果s等於
c的話,就說明
a在傳輸中,沒有被人篡改。如下圖:
對於我們在通訊的面臨的四種威脅,摘要演算法是否能防範呢:
截獲中斷
篡改偽造xx
ox常見的摘要演算法有
md5/md4/sha-1/sha-2
等,其摘要串長度也不盡相同。現在
md4/md5/sha-1
等一些摘要串長度
128位元的摘要演算法已不再安全,山東大學的王小波教授已經證明
md4/md5/sha-1
已經可以快速生成「碰撞」。所以在真正的對安全性要求極高的場所還是使用長摘要串的摘要演算法來的靠譜一些。
摘要演算法
摘要串長度
md4128
md5128
sha-0
160sha-1
160sha-256/224
256/224
sha-512/384
512/384
<
iteye推薦
加密解密演算法與通訊安全(一)
平時在工作和生活中,我們會經常接觸加密 解密的技術。同時,我們作為開發者,也會經常遇到使用者對資料安全的需求,當我們碰到了這些需求後如何解決,如何何種方式保證資料安全,哪種方式最有效,這些問題經常困惑著我們。那麼我們又會碰到哪些安全的風險的。安全性威脅 一般的,我們在網路中傳輸的資料,都可以認為是存...
加密解密演算法與通訊安全(三)
對稱加密演算法 理論上說對稱加密演算法,才是我們真正說的加密演算法。所謂對稱加密演算法,通俗的講,就是使用金鑰加密,再使用金鑰解密的加密演算法的總稱。也就是平時我們說到加密演算法,腦子裡第乙個跳出來的加密方式一般都是對稱加密演算法。上面將的 base64 其實也是一種 對稱加密演算法 只是其金鑰公開...
加密解密演算法與通訊安全(六)
數字證書 上面說了這麼多演算法,又是摘要演算法,又是對稱加密演算法,又是非對稱加密演算法的。但是對於通訊中的四種威脅 截獲 中斷 篡改 偽造最多也就只能解決其中的兩個,對於中斷 和偽造威脅,只能乾瞪眼。難道,就沒有其他辦法了嗎。對於中斷,一般是網路拓撲或協議級別要解決的問題,已經超出了我們的範疇,暫...