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 清流雙月刊
   49   50   51   52   53   54   55   56   57   58   59