Page 54 - 清流雙月刊 NO.34
P. 54
MJIB
例如 MD5、SHA 還有 TIGER。其中較通用
的是 MD 系列的 MD5,而 MD5,在 2004
年被分析出資安破解疑慮,雖有做些強化,
但也似乎失去優勢了,藉此開始了 SHA 的
舞臺。MD5 有資安疑慮後,SHA 系列即
強化設計機制而有更新的演算法。MD5 與
SHA 的基本比較上,MD5 的輸出,DIGEST
長度是 128 位元,SHA 的輸出 DIGEST 長
度規格有 160 的基本款,也有擴充版能使
得 DIGEST 的長度到達 256、384、512 等
HASH 有多種製作演算法,其中,MD5 在 2004 年被分析出資 位元。
安破解疑慮後失去優勢。(Photo Credit: WIKI, https://zh.wikipedia.
org/wiki/%E6%95%A3%E5%88%97%E5%87%BD%E6%95%B8)
HASH 函數的功能與相關性質,整理
如圖 1 所示。圖 1 中將不同類型的訊息,
例如,若我們希望 HASH 最後輸出長度是
經由 HASH 函數的運算之後,可以得到
「128」,基本概念下可想像將原輸入訊息
一組固定長度的短訊息,「DIGEST」。
每 128 的長度切一段,然後依照我們所說
HASH 函數的運算具有的三種特殊性質,
明的方式通通疊起來做邏輯運算,一旦原
分別是「單向性」、「抗碰撞」與「擴張
訊息總長度 1,000,不是 128 的倍數,最
性」。其中「單向性」指的是只能得到右
後那段不足 128 的部分將會技巧性做填補
邊的輸出結果但是無法反推回去,如同汽
到 128 的長度而得以一起做堆疊式的邏輯
機車單行道一樣,所以叫單向;「抗碰撞」
運算,當然無庸置疑也造就 HASH 最後長
指的是不同的字有不同的對應輸出結果,
度是 128,訊息瞬間變短了。
不會出現不同的文字卻有相同對應輸出的
此外,HASH 還具有單向函數的特質, 情形;「擴張性」指的是即使只是一些微
也就是說,輸出的短訊息無法逆推回原來 小的文字變化,而會得到大為不同的輸出
所輸入的較長訊息。如同一塊玻璃碎了沒 結果。由圖 1 我們可以發現,儘管輸入的
有辦法再全部修補回去,回不去了。HASH 內容僅僅為「空 /null」、「1」及「2」等
的處理過程透過邏輯運算,由長變短,最 訊息上的差異,但經由 HASH 函數所產生
後的輸出結果,專業術語即為「DIGEST」。 的 DIGEST 可以很明顯的看出所輸出的結
先前我們提到 HASH 的製作演算法有多種, 果有相當大的差異。
52 清流雙月刊