摘要:我認(rèn)為學(xué)習(xí)密碼學(xué),不僅不需要寫代碼,而且編寫攻擊代碼對(duì)于學(xué)習(xí)現(xiàn)代密碼學(xué)根本毫無(wú)用處。學(xué)習(xí)現(xiàn)代密碼學(xué)最好的方式是研究數(shù)學(xué)論證。這就是純粹的工程學(xué)。我相信托馬斯所做的事情,以及他在實(shí)施密碼攻擊上所積累的經(jīng)驗(yàn)是非常有用的。
托馬斯.普塔切克曾經(jīng)發(fā)過(guò)一條Twitter“如果你不是編寫攻擊代碼的時(shí)候?qū)W習(xí)的密碼學(xué),那么你可能根本沒(méi)有在學(xué)密碼學(xué)”。?從Twitter上對(duì)這條信息的關(guān)注及其引用數(shù)來(lái)看,它似乎得到了很多人的認(rèn)同。盡管我很尊重托馬斯,但我絕對(duì)不同意他的觀點(diǎn)。我認(rèn)為學(xué)習(xí)密碼學(xué),不僅不需要寫代碼,而且編寫攻擊代碼對(duì)于學(xué)習(xí)現(xiàn)代密碼學(xué)根本毫無(wú)用處。學(xué)習(xí)現(xiàn)代密碼學(xué)最好的方式是研究數(shù)學(xué)論證。
如果我們?nèi)匀皇翘幵?0世紀(jì)90年代的話,我會(huì)同意托馬斯的觀點(diǎn)。當(dāng)時(shí)的密碼學(xué)充滿了漏洞,你能想到的最浪漫的事就是了解你的工具是如何崩潰的,因?yàn)橹竽憔涂梢匀ソ鉀Q它們的問(wèn)題。那時(shí),DES和RC4加密算法,盡管有很多已知的缺陷,卻被廣泛地使用;那時(shí),人們避免使用CTR模式去轉(zhuǎn)換塊密碼到序列密碼,因?yàn)樗麄儞?dān)心如果所提供的輸入數(shù)據(jù)塊中包含有很多相同(0)數(shù)據(jù)的話,脆弱的塊密碼會(huì)被破解;那時(shí),人們關(guān)心塊密碼的誤差傳播能力,這關(guān)系到在密文中有少量的位發(fā)生未知變化后,對(duì)于解密數(shù)據(jù)的正確性會(huì)產(chǎn)生多少影響;那時(shí),人們通常建議在加密數(shù)據(jù)前,先對(duì)其進(jìn)行壓縮,因?yàn)檫@將會(huì)“壓縮”信息熵使得攻擊者即使得到了秘鑰也很難理解密文。因此,誕生于這個(gè)時(shí)代的SSL,有很多很多的缺陷,也就不足為奇了。
但是,從2010年開始密碼學(xué)變得完全不同了。現(xiàn)在,我們開始有了可以高度信賴的的基礎(chǔ)構(gòu)件——比如:塊密碼已被確信是近似隨機(jī)排列,并且已經(jīng)從數(shù)學(xué)上證明它是足夠安全的,可以抵御某些類型的攻擊——比如:AES是已知的可以抵御差分密碼分析的加密算法。我們以這些組件為基礎(chǔ),利用已被證明是不會(huì)引入漏洞的機(jī)制創(chuàng)建高階的系統(tǒng)。例如,如果你在CTR模式下,使用類隨機(jī)排列的塊加密算法(比如,AES)對(duì)數(shù)據(jù)加密,從而產(chǎn)生一個(gè)有序的分組序列,并使用分組序列號(hào)作為CTR隨機(jī)數(shù),然后追加一個(gè)不易偽造的針對(duì)被加密數(shù)據(jù)的MAC地址(比如,HMAC-SHA256)及分組序列號(hào),那么這些分組既可以保密數(shù)據(jù),也可以禁止任何未聲明的篡改(包括報(bào)文重放和重新排序)。一旦Keccak(即SHA-3)得到更加廣泛地檢驗(yàn)和信任,生活甚至?xí)兊酶用篮茫驗(yàn)樗愃坪>d的彈性結(jié)構(gòu)去構(gòu)造大量重要的加密構(gòu)件,這已經(jīng)被證明是安全的了。
在20世紀(jì)90年代的密碼學(xué)就像是在嘗試建一種橋,你花了許多時(shí)間確保你的橋能屹立不倒,并且為此憂心忡忡,即使有一些地方焊接的不夠完美,一些螺絲生銹了,由于周期性的負(fù)載導(dǎo)致的金屬疲勞,等等。雖然從理論上講量身定制可以有很好效果,但你知道的實(shí)際總是與理論不符,因此這座橋?qū)嶋H是建在了安全與不安全的邊界上,這使得橋的構(gòu)造成本更高,也更加復(fù)雜。這就是純粹的工程學(xué)。
但是,現(xiàn)代密碼學(xué)是截然不同的,它不是在建造一座橋,而是像規(guī)劃一個(gè)依靠重力輔助的星際的軌道。當(dāng)然,這是復(fù)雜的,你必須正確的掌握所有的細(xì)節(jié)。但是,如果你做到了,一旦開始運(yùn)行,使你無(wú)法到達(dá)目的地的唯一可能就是物理或數(shù)學(xué)定理改變了。現(xiàn)代密碼學(xué)已經(jīng)充分地發(fā)展到理論與實(shí)際相符,因此,相比通過(guò)觀察橋的倒塌進(jìn)行學(xué)習(xí),理論學(xué)習(xí)就已經(jīng)十分有效了,然后你需要遵從一個(gè)簡(jiǎn)單的原則:只做數(shù)學(xué)告訴你你能做的事情。這就是純粹的科學(xué)。
我相信托馬斯所做的事情,以及他在實(shí)施密碼攻擊上所積累的經(jīng)驗(yàn)是非常有用的。畢竟,他是以挖掘應(yīng)用缺陷為生,但他所遇到的絕大多數(shù)加密方法很可能是20世紀(jì)90年代的加密方法,那是一個(gè)已經(jīng)逝去的時(shí)代。因此對(duì)于開發(fā)者,我推薦以一個(gè)更加現(xiàn)代化的方法學(xué)習(xí)密碼學(xué),那就是學(xué)習(xí)理論并設(shè)計(jì)出你能證明是安全的系統(tǒng)。
原文 Cryptography is a science, not engineering
翻譯 周耀平
via idf.cn
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/11081.html
摘要:據(jù)阿里云官方消息報(bào)道,兩次理論計(jì)算機(jī)最高獎(jiǎng)哥德爾獎(jiǎng)得主匈牙利裔美國(guó)計(jì)算機(jī)科學(xué)家馬里奧塞格德入職阿里巴巴達(dá)摩院位于西雅圖的阿里云量子實(shí)驗(yàn)室。據(jù)阿里云官方消息報(bào)道,兩次理論計(jì)算機(jī)最高獎(jiǎng)哥德爾獎(jiǎng)得主、匈牙利裔美國(guó)計(jì)算機(jī)科學(xué)家馬里奧·塞格德(Mario Szegedy)入職阿里巴巴達(dá)摩院位于西雅圖的阿里云量子實(shí)驗(yàn)室(AQL)。馬里奧·塞格德出生于盛產(chǎn)科學(xué)家的國(guó)度匈牙利,研究領(lǐng)域包括量子計(jì)算和計(jì)算復(fù)雜...
摘要:解決問(wèn)題的心態(tài)軟件工程師不認(rèn)為編程是他們事業(yè)的全部。好的軟件工程師以經(jīng)驗(yàn)和直覺判定。環(huán)境與測(cè)試軟件工程師寫的程序要保證在不同環(huán)境,不同時(shí)區(qū)正常工作。軟件缺陷是不可見的,我們預(yù)測(cè)和避免缺陷的能力也是有限的,所以軟件工程師懂得利用工具矯正代碼。 原文 Software Engineering is different from Programming 一些人因?yàn)楣こ踢@個(gè)詞而不喜歡軟件工程...
摘要:我們來(lái)看一下美國(guó)相關(guān)專業(yè)人員對(duì)兩者的對(duì)比,只是粗略而不精準(zhǔn)的翻譯一下。小結(jié)其實(shí)在寫這篇文章之前,我就問(wèn)過(guò)一下包括清華在內(nèi)的學(xué)校以及一些數(shù)學(xué)專業(yè)的學(xué)生,和還是占主流,但是經(jīng)過(guò)一番調(diào)查發(fā)現(xiàn)在美國(guó)在數(shù)據(jù)科學(xué)數(shù)學(xué)等方面好像漸成壓倒性的優(yōu)勢(shì)。 作為一枚程序員,想要研究Python編程語(yǔ)言與數(shù)學(xué)學(xué)習(xí)(教學(xué))的結(jié)合,就不能不了解以及比對(duì)一下其他數(shù)學(xué)學(xué)習(xí)與應(yīng)用的解決方案,比如R語(yǔ)言、Matlab等數(shù)學(xué)...
摘要:在上篇文章里,為大家推薦了一些數(shù)學(xué)學(xué)習(xí)的軟件和微積分線性代數(shù)概率統(tǒng)計(jì)的學(xué)習(xí)視頻,今天再推薦一些精心挑選的經(jīng)典教材,并為大家提供電子書的下載鏈接,和視頻搭配起來(lái)一起學(xué)習(xí),效果會(huì)更好。我們要使用的以及等都包含在里面,無(wú)需額外下載。 在上篇文章里,為大家推薦了一些數(shù)學(xué)學(xué)習(xí)的軟件和微積分、線性代數(shù)、概率統(tǒng)計(jì)的學(xué)習(xí)視頻,今天再推薦一些精心挑選的經(jīng)典教材,并為大家提供電子書的下載鏈接,和視頻搭配起...
閱讀 3162·2021-11-04 16:09
閱讀 3130·2021-09-23 11:49
閱讀 3648·2021-09-09 09:33
閱讀 3631·2021-08-18 10:22
閱讀 2047·2019-08-30 15:55
閱讀 3636·2019-08-30 15:53
閱讀 2662·2019-08-28 18:08
閱讀 897·2019-08-26 18:18