MD5消息摘要算法(六一節(jié)特輯)

本章概要

MD5消息摘要算法   

MD5

出生日期:1992年公開
發(fā)明人:羅納德·李維斯特
算法簡介

是一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值hash value 用于確保信息傳輸?shù)耐暾恢滦?在RFC 1321中被加以規(guī)范 1992年8月,羅納德·李維斯特向ietf提交了一份重要文件,描述了算法的原理,由于md5算法的公開性和安全性,在90年代被廣泛使用在各種程序語言中,確保資料傳遞安全無誤

產(chǎn)生基礎(chǔ)

將數(shù)據(jù)(比如一段文字)運(yùn)算編程另一固定長度值,是散列算法的基礎(chǔ)原理 輸入不定長度信息,輸出固定長度128位,經(jīng)過程序流程,生成四個(gè)32位數(shù)據(jù),最后聯(lián)合起來成為一個(gè)128位散列,基本生成方式是:求余,取余,調(diào)整長度,與鏈接變量進(jìn)行循環(huán)運(yùn)算

存在隱患

1996年被證實(shí)存在弱點(diǎn),可以被加以破解,對(duì)于需要高度安全性的數(shù)據(jù),建議使用其他算法,比如SHA-1 2004年,證實(shí)MD5算法無法防止碰撞,因此無法適用于安全性認(rèn)證,比如SSL公開密鑰認(rèn)證或是 數(shù)字簽名等用途 2009年,謝濤和馮登國僅用了2exp(20.96)的碰撞算法復(fù)雜度,破解了MD5的碰撞抵抗,該攻擊在普通計(jì)算機(jī)上運(yùn)行只需要數(shù)秒鐘

MD5散列

一般128位的MD5散列被表示為32位16進(jìn)制數(shù)字,舉例:

散列值
應(yīng)用

MD5已經(jīng)廣泛使用在為文件傳輸提供一定的可靠性方面。例如,服務(wù)器預(yù)先提供一個(gè)MD5校驗(yàn)和,用戶下載完文件以后,用MD5算法計(jì)算下載文件的MD5校驗(yàn)和,然后通過檢查這兩個(gè)校驗(yàn)和是否一致,就能判斷下載的文件是否出錯(cuò) MD5亦有應(yīng)用于部分網(wǎng)上賭場以保證賭博的公平性,原理是系統(tǒng)先在玩家下注前已生成該局的結(jié)果,將該結(jié)果的字符串配合一組隨機(jī)字符串利用MD5 加密,將該加密字符串于玩家下注前便顯示給玩家,再在結(jié)果開出后將未加密的字符串顯示給玩家,玩家便可利用MD5工具加密驗(yàn)證該字符串是否吻合 例子: 在玩家下注骰寶前,賭場便先決定該局結(jié)果,假設(shè)生成的隨機(jī)結(jié)果為4、5、 6大,賭場便會(huì)先利用MD5 加密“4, 5, 6”此字符串并于玩家下注前告訴玩家;由于賭場是無法預(yù)計(jì)玩家會(huì)下什么注,所以便能確保賭場不能作弊;當(dāng)玩家下注完畢后,賭場便告訴玩家該原始字符串,即“4, 5, 6”,玩家便可利用MD5工具加密該字符串是否與下注前的加密字符串吻合。 該字符串一般會(huì)加上一組隨機(jī)字符串 (Random string),以防止玩家利用碰撞 (Collision) 解密字符串,但如使用超級(jí)電腦利用碰撞亦有可能從加上隨機(jī)字符串的加密字符串中獲取游戲結(jié)果。隨機(jī)字符串的長度與碰撞的次數(shù)成正比關(guān)系,一般網(wǎng)上賭場使用的隨機(jī)字符串是長于20字,有些網(wǎng)上賭場的隨機(jī)字符串更長達(dá)500字,以增加解密難度


RSA加密算法,見之前文章

RSA加密算法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過程中,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 3,018評(píng)論 0 6
  • Message Digest Algorithm MD5(消息摘要算法第五版)為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函...
    Pandakingli閱讀 943評(píng)論 0 0
  • 本文主要介紹移動(dòng)端的加解密算法的分類、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會(huì)包含算法的...
    蘋果粉閱讀 11,671評(píng)論 5 29
  • (新韻) 京城四月春將暮,綠暗紅嫣見落英。 花謝花開猶可待,人合人散不堪聽。 少時(shí)總盼天涯路,白首常思故土情。 只...
    藍(lán)主咖閱讀 449評(píng)論 5 6
  • 發(fā)生在這里的那些事情都已經(jīng)過去了,現(xiàn)在讓我們好好建設(shè)這個(gè)診所。就讓我們放下那些悲劇,若記著它,對(duì)誰都不會(huì)有好處。 ...
    也去閱讀 419評(píng)論 0 7

友情鏈接更多精彩內(nèi)容