什么是加密,它是如何工作的?區(qū)塊鏈
加密歷史悠久,可以追溯到古希臘人和羅馬人通過(guò)替換只能用密鑰破譯的字母發(fā)送秘密信息。加入我們的快速歷史課程,了解有關(guān)加密如何工作的更多信息。
在今天的HTG解釋版中,我們將向您簡(jiǎn)要介紹加密的歷史,它是如何工作的,以及一些不同加密類(lèi)型的示例—請(qǐng)確保您還查看了上一版本,在該版本中我們解釋了為什么那么多極客討厭Internet Explorer。
早期的加密
古希臘人使用一種名為Scytale的工具來(lái)幫助使用換位密碼更快地加密他們的信息——他們只需將羊皮紙條包裹在圓柱體周?chē)瑢?xiě)出信息,然后當(dāng)紙條處于解開(kāi)的時(shí)候就沒(méi)有含義了。
當(dāng)然,這種加密方法可能很容易被破解,但它實(shí)際上是在現(xiàn)實(shí)世界中使用的第一個(gè)加密示例之一。 Julius Caesar在他的時(shí)代使用了一種類(lèi)似的方法,將字母表中的每個(gè)字母向右或向左移動(dòng)了許多位置 —— 一種稱(chēng)為Caesar密碼的加密技術(shù)。例如,使用下面的示例密碼,您將“GEEK”寫(xiě)為“JHHN”。
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
由于只有消息的預(yù)期接收者知道密碼,因此另一個(gè)人難以解碼消息,這看起來(lái)像是胡言亂語(yǔ),但擁有該密碼的人可以很容易地解碼和讀取它。
其他簡(jiǎn)單的加密密碼,如Polybius square,使用多字母密碼列出每個(gè)字母的頂部和側(cè)面的相應(yīng)數(shù)字位置,以確定字母的位置。
使用如上所示的表格,您可以將字母“G”寫(xiě)為“23”,或?qū)ⅰ癎EEK”寫(xiě)為“23 31 31 43”。
恩尼格瑪密碼機(jī)
第二次世界大戰(zhàn)期間,德國(guó)人使用恩尼格瑪密碼機(jī)來(lái)回傳送加密的信息,波蘭人花了好幾年時(shí)間才破解了這些信息,并向盟軍提供了解決方案,這對(duì)他們的勝利起到了關(guān)鍵作用。
現(xiàn)代加密的歷史
讓我們面對(duì)現(xiàn)實(shí)吧:現(xiàn)代加密技術(shù)可能是一個(gè)極其無(wú)聊的主題,所以我們不只是用文字來(lái)解釋它們,而是根據(jù)杰夫·莫澤(Jeff Moser)的簡(jiǎn)筆畫(huà)AES指南,創(chuàng)作了一部講述加密歷史的連環(huán)漫畫(huà)。注意:很明顯,我們不能在漫畫(huà)中傳達(dá)加密歷史的一切。
在那些日子里,人們沒(méi)有一種好的加密方法來(lái)保護(hù)他們的電子通信。
Once upon a time there was no good way foroutside secret agencies to judge good crypto. 從前,對(duì)于外部的秘密機(jī)構(gòu)來(lái)說(shuō),沒(méi)有什么好的方法來(lái)評(píng)判什么是好的加密方式。 EBG13 is good. EBG13是好的。 Double ROT13 is better. Double ROT13更好。 A decree went throughout the land to find agood secure algorithm. 為了找到一種安全的算法,一項(xiàng)法令傳遍了全國(guó)。 We need a good cipher! 我們需要一個(gè)好的加密方式!
路西法(Lucifer)是由霍斯特?費(fèi)斯特爾(Horst Feistel)及其IBM同事開(kāi)發(fā)的幾種最早的民用分組密碼的名字。
One worthy competitor named Lucifer cameforward. 一個(gè)名叫路西法(Lucifer)的優(yōu)秀競(jìng)爭(zhēng)者走上前來(lái)。
數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)是一種分組密碼(一種共享秘密加密形式),由美國(guó)國(guó)家標(biāo)準(zhǔn)局于1976年選擇作為美國(guó)的官方聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS),隨后廣泛被國(guó)際使用。
After being modified by NSA lucifer was anointed as the dataencryption standard (DES). 經(jīng)過(guò)NSA的修改,路西法(Lucifer)被指定為數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)。 DES was widely througout the land for 20 years.Academics studied itintently .For the first time there was something specific to look at.The modernfild of cryptography was born. DES在這片土地上流傳了20年。學(xué)者們專(zhuān)注地研究它,第一次有了具體的研究對(duì)象。現(xiàn)代密碼學(xué)誕生了。 ...to the best of out knowledge,DES is free from any statiscal ormathematical weakness. …據(jù)我們所知,DES沒(méi)有任何統(tǒng)計(jì)或數(shù)學(xué)上的弱點(diǎn)。
對(duì)安全性的擔(dān)憂以及DES在軟件中相對(duì)較慢的運(yùn)行促使研究人員提出了各種替代分組密碼設(shè)計(jì),這些設(shè)計(jì)開(kāi)始出現(xiàn)在20世紀(jì)80年代末和90年代初期:例如RC5,Blowfish,IDEA,NewDES,SAFER,CAST5和FEAL.
Over the years many attackers challenged DES.DES was defeated inseveral battles. 多年以來(lái),許多攻擊者向DES發(fā)起挑戰(zhàn)。DES在多場(chǎng)戰(zhàn)役中被擊敗。
The rallied the crypt scientists to develop something better. 他們召集了密碼加密專(zhuān)家來(lái)開(kāi)發(fā)更好的東西。 We need some thing better & faster than DES. 我們需要比DES更好更快的東西。
Vincent Rijmen and Joan Daemen were among the crypto scientists whocombined their last name and gave birth to a new encryption algorithm Rijndael(pronounced Rhine Dahl) 文森特·里吉曼和瓊·達(dá)曼是密碼科學(xué)家,他們將自己的姓氏組合在一起,產(chǎn)生了一種新的加密算法Rijndael(讀作Rhine Dahl)
We present you Rijndael! 我們贈(zèng)送Rijndael給你!
Rijndael加密算法被美國(guó)政府采用為標(biāo)準(zhǔn)對(duì)稱(chēng)密鑰加密或高級(jí)加密標(biāo)準(zhǔn)(Advanced encryption standard, AES)。AES于2001年11月26日被美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)宣布為美國(guó)FIPS PUB 197 (FIPS 197),在此之前的5年的標(biāo)準(zhǔn)化過(guò)程中,在Rijndael被選為最合適的加密算法之前,有15個(gè)相互競(jìng)爭(zhēng)的設(shè)計(jì)被提交和評(píng)估。
加密算法性能
現(xiàn)有許多加密算法,它們都適用于不同的目的——識(shí)別和區(qū)分一種加密算法和另一種加密算法的兩個(gè)主要特征是它保護(hù)受保護(hù)數(shù)據(jù)不受攻擊的能力,以及這樣做的速度和效率。 作為不同類(lèi)型加密之間速度差異的一個(gè)很好的例子,您可以使用TrueCrypt的卷創(chuàng)建向?qū)е袃?nèi)置的基準(zhǔn)測(cè)試實(shí)用程序——如您所見(jiàn),AES是迄今為止最快的強(qiáng)加密類(lèi)型。 有更慢和更快的加密方法,它們都適用于不同的目的。如果您只是經(jīng)常嘗試解密一小塊數(shù)據(jù),您可以負(fù)擔(dān)得起使用最強(qiáng)大的加密,甚至可以使用不同類(lèi)型的加密對(duì)其進(jìn)行兩次加密。如果你需要速度,你可能想要使用AES。 有關(guān)對(duì)不同類(lèi)型加密進(jìn)行基準(zhǔn)測(cè)試的更多信息,請(qǐng)查看華盛頓圣路易斯大學(xué)的報(bào)告,在那里他們對(duì)不同的程序進(jìn)行了大量測(cè)試,并在一篇非常令人討厭的文章中對(duì)其進(jìn)行了解釋。
現(xiàn)代加密的類(lèi)型
我們之前討論過(guò)的所有設(shè)想的加密算法主要用于兩種不同類(lèi)型的加密: 對(duì)稱(chēng)密鑰算法使用相關(guān)或相同的加密密鑰進(jìn)行加密和解密。 非對(duì)稱(chēng)密鑰算法使用不同的密鑰進(jìn)行加密和解密——這通常稱(chēng)為公鑰加密。
對(duì)稱(chēng)密鑰加密
為了解釋這個(gè)概念,我們將使用維基百科中描述的郵政服務(wù)的比喻來(lái)理解對(duì)稱(chēng)密鑰算法的工作原理。 Alice把她的秘密信息放在一個(gè)盒子里,然后用一把鑰匙和鎖把秘密信息鎖在盒子里。然后,她通過(guò)普通郵件將盒子投遞給Bob。當(dāng)Bob接收到該盒子時(shí),他使用相同的Alice的密鑰副本(他之前以某種方式獲得,可能通過(guò)面對(duì)面會(huì)議)打開(kāi)該盒子,并閱讀該消息。然后Bob可以使用相同的鎖發(fā)送他的秘密回復(fù)。
對(duì)稱(chēng)密鑰算法可分為流密碼和分組密碼——流密碼一次加密一個(gè)比特的消息,而分組密碼占用多個(gè)比特,通常一次以64比特的塊為單位,并將它們加密為一個(gè)單位。您可以選擇許多不同的算法——更受歡迎和備受推崇的對(duì)稱(chēng)算法包括Twofish,Serpent,AES(Rijndael),Blowfish,CAST5,RC4,TDES和IDEA。
非對(duì)稱(chēng)加密 在非對(duì)稱(chēng)密鑰系統(tǒng)中,Bob和Alice具有單獨(dú)的鎖,而不是具有來(lái)自對(duì)稱(chēng)加密算法例子中的多個(gè)密鑰對(duì)應(yīng)的單個(gè)鎖。注意:這當(dāng)然是一個(gè)非常簡(jiǎn)單的例子,說(shuō)明它是如何工作的,實(shí)際上要復(fù)雜得多,但你會(huì)得到一個(gè)大致的想法。
首先,Alice要求Bob通過(guò)普通郵件向她發(fā)送打開(kāi)的鎖,并將鑰匙留給Bob自己。當(dāng)Alice收到它時(shí),她使用它來(lái)鎖上包含她的消息的盒子,并將鎖好的盒子發(fā)送給Bob。然后,Bob可以用鑰匙解鎖盒子并閱讀Alice發(fā)來(lái)的消息。要回復(fù)的時(shí)候,Bob必須用同樣的方式,得到Alice打開(kāi)著的掛鎖來(lái)鎖上盒子,然后再發(fā)回給她。
非對(duì)稱(chēng)密鑰系統(tǒng)的關(guān)鍵優(yōu)勢(shì)是Bob和Alice永遠(yuǎn)不需要將密鑰的副本發(fā)送給對(duì)方。這可以防止第三方(在該示例中,可能是一個(gè)腐敗的郵政工作者)在傳輸過(guò)程中復(fù)制密鑰,從而讓第三方監(jiān)視Alice和Bob之間發(fā)送的所有未來(lái)的消息。此外,如果Bob粗心大意并且允許其他人復(fù)制他的密鑰,那么Alice給Bob的消息會(huì)受到損害,但Alice給其他人的消息將保密,因?yàn)槠渌藭?huì)為Alice提供不同的鎖來(lái)加密消息。
非對(duì)稱(chēng)加密使用不同的密鑰進(jìn)行加密和解密。郵件收件人創(chuàng)建私鑰和公鑰。公鑰分發(fā)給消息發(fā)送者,他們使用公鑰來(lái)加密消息。收件人使用其私鑰來(lái)解密用收件人的公鑰加密過(guò)的任何加密郵件。
與對(duì)稱(chēng)加密相比,以這種方式進(jìn)行加密有一個(gè)主要好處。我們永遠(yuǎn)不需要在不安全的渠道上發(fā)送任何秘密(例如我們的加密密鑰或密碼)。你的公鑰傳到了世界——這不是秘密,也不是必須的。您的私鑰可以在您生成它的個(gè)人計(jì)算機(jī)上保持舒適——它不需要通過(guò)電子郵件發(fā)送到任何地方,也不會(huì)被攻擊者所發(fā)現(xiàn)。
加密如何保護(hù)網(wǎng)絡(luò)上的通信
多年來(lái),SSL(安全套接字層)協(xié)議一直在使用Web瀏覽器和Web服務(wù)器之間的加密來(lái)保護(hù)Web事務(wù),從而保護(hù)您免受可能在中間窺探網(wǎng)絡(luò)的任何人的攻擊。
SSL本身在概念上非常簡(jiǎn)單。從瀏覽器請(qǐng)求安全頁(yè)面開(kāi)始(通常是https://)
Web服務(wù)器使用它的證書(shū)來(lái)發(fā)送其公鑰。
瀏覽器檢查證書(shū)是否由受信任方(通常是受信任的根CA)頒發(fā),證書(shū)是否仍然有效以及證書(shū)是否與所聯(lián)系的站點(diǎn)相關(guān)。
然后,瀏覽器使用公鑰來(lái)加密隨機(jī)對(duì)稱(chēng)加密密鑰,并將其發(fā)送到具有所需加密URL以及其他加密http數(shù)據(jù)的服務(wù)器。
Web服務(wù)器使用其私鑰解密對(duì)稱(chēng)加密密鑰,并使用瀏覽器的對(duì)稱(chēng)密鑰來(lái)解密其URL和http數(shù)據(jù)。
Web服務(wù)器發(fā)送回請(qǐng)求的并且使用瀏覽器的對(duì)稱(chēng)密鑰加密過(guò)的html文檔和http數(shù)據(jù)。瀏覽器使用對(duì)稱(chēng)密鑰解密http數(shù)據(jù)和html文檔并顯示信息。
現(xiàn)在你可以安全地在eBay上購(gòu)買(mǎi)你不是真正需要的東西了。
你學(xué)到什么東西了嗎?
你做到這一點(diǎn),我們正處于我們理解加密的漫長(zhǎng)旅程的最后階段,以及它的工作方式——從希臘和羅馬人加密的早期開(kāi)始,Lucifer的崛起,最后SSL如何使用非對(duì)稱(chēng)和對(duì)稱(chēng)加密來(lái)幫助您在eBay上購(gòu)買(mǎi)蓬松的粉紅色兔子。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來(lái)源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來(lái)源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為T(mén)MT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。