文章內容

article_man_pic

雜湊演算法(Hash algorithm)

Hightech   2017-05-07    A20170507001
點閱 5346
評論 4
進階
article_pic

 

 

❑ 雜湊演算法的特性

雜湊演算法是一種從任何資料中建立「數位指紋(Digital fingerprint)」的方法,可以將任何長度的資料轉換成一個長度較短的「雜湊值(Hash value)」,又稱為「訊息摘要(MD:Message Digest)」,雜湊演算法具有下列三種特性:
➤不可逆性(Irreversible):只能由原始資料經由雜湊演算法計算出「雜湊值(Hash value)」,無法由運算後的雜湊值反推運算前的資料內容。
➤抗碰撞性(Collision resistance):不同的原始資料會運算出不同的雜湊值,很難找到兩個不同的資料具有相同的雜湊值,這個特性與人類的指紋一樣(很難找到兩個不同的人具有相同的指紋),因此稱為「數位指紋(Digital fingerprint)」。
➤擴散性(Diffusion):原始資料中任何一個小地方的變更都會擴散影響到雜湊值,因此即使篡改一點點資料計算出來的雜湊值就會不同,當我們發現雜湊值不同,代表原始資料一次被篡改過了!

 

❑ 訊息摘要(MD:Message Digest)
早期使用較舊版本的MD2與MD4,1991年由科學家Rivest經由MD4改良設計了安全性更高的MD5演算法,輸入的資料會先被切割成許多512位元的資料區段(Block)來進行運算,經由MD5演算法可以得到一個128位元的雜湊值(訊息摘要),但是目前MD5演算法已經被破解。

 

❑ 安全雜湊演算法(SHA:Secure Hash Algorithm)

由美國國家標準技術協會(NIST)所發展出來,目的是支援數位簽章標準(DSS)所需要的雜湊演算法,輸入的資料會先被切割成許多512位元的資料區段(Block)來進行運算,經由SHA演算法可以得到160位元的雜湊值,因為雜湊值多了32位元,所以比MD5強度更高更安全,後來又發展出改良的五種版本,分別是SHA-1、SHA-224、SHA-256、SHA-384、SHA-512,由美國國家安全局(NSA:National Security Agency)設計,並且由美國國家標準技術協會(NIST)公佈,後面四種版本又被稱為SHA-2,但是目前已經有人提出理論上破解SHA-1演算法的方法,因此SHA-1的安全性被科學家質疑,還好尚未出現破解SHA-2的方法,因此目前仍然在使用。

 

❑ RIPEMD-160
RIPEMD的全名為「RACE Integrity Primitives Evaluation Message Digest」,由歐洲RACE組織評估的計劃發展出來,使用與MD4類似的演算法,我們輸入的資料會先被切割成許多512位元的資料區段(Block)來進行運算,經由RIPEMD-160演算法可以得到160位元的雜湊值。

 

❑ 雜湊演算法的比較
雜湊演算法裡的訊息摘要(MD5)、安全雜湊演算法(SHA-1)、RIPEMD-160的比較如<表一>所示,由表中可以看出SHA-1與RIPEMD-160演算法的訊息摘要長度較長,運算步驟較多,相對效能較低,但是安全性較高。知識力www.ansforce.com。

 

表一 雜湊演算法的訊息摘要(MD5)、安全雜湊演算法(SHA-1)、RIPEMD-160比較表。

 

【請注意】上述內容經過適當簡化以適合大眾閱讀,與產業現狀可能會有差異,若您是這個領域的專家想要提供意見,請自行聯絡作者;若有產業與技術問題請參與社群討論。


【延伸閱讀】其他詳細內容請參考「雲端通訊與多媒體產業,全華圖書公司」。<我要買書