什麼是加密,它是如何工作的?
加密歷史悠久,可以追溯到古希臘人和羅馬人通過替換隻能用金鑰破譯的字母傳送祕密資訊。加入我們的快速歷史課程,瞭解有關加密如何工作的更多資訊。

在今天的HTG解釋版中,我們將向您簡要介紹加密的歷史,它是如何工作的,以及一些不同加密型別的示例—請確保您還查看了上一版本,在該版本中我們解釋了為什麼那麼多極客討厭Internet Explorer。
早期的加密

古希臘人使用一種名為Scytale的工具來幫助使用換位密碼更快地加密他們的資訊——他們只需將羊皮紙條包裹在圓柱體周圍,寫出資訊,然後當紙條處於解開的時候就沒有含義了。
當然,這種加密方法可能很容易被破解,但它實際上是在現實世界中使用的第一個加密示例之一。 Julius Caesar在他的時代使用了一種類似的方法,將字母表中的每個字母向右或向左移動了許多位置 —— 一種稱為Caesar密碼的加密技術。例如,使用下面的示例密碼,您將“GEEK”寫為“JHHN”。
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
由於只有訊息的預期接收者知道密碼,因此另一個人難以解碼訊息,這看起來像是胡言亂語,但擁有該密碼的人可以很容易地解碼和讀取它。
其他簡單的加密密碼,如Polybius square,使用多字母密碼列出每個字母的頂部和側面的相應數字位置,以確定字母的位置。
使用如上所示的表格,您可以將字母“G”寫為“23”,或將“GEEK”寫為“23 31 31 43”。
恩尼格瑪密碼機
第二次世界大戰期間,德國人使用恩尼格瑪密碼機來回傳送加密的資訊,波蘭人花了好幾年時間才破解了這些資訊,並向盟軍提供瞭解決方案,這對他們的勝利起到了關鍵作用。
現代加密的歷史
讓我們面對現實吧:現代加密技術可能是一個極其無聊的主題,所以我們不只是用文字來解釋它們,而是根據傑夫·莫澤(Jeff Moser)的簡筆畫AES指南,創作了一部講述加密歷史的連環漫畫。注意:很明顯,我們不能在漫畫中傳達加密歷史的一切。
在那些日子裡,人們沒有一種好的加密方法來保護他們的電子通訊。
Once upon a time there was no good way foroutside secret agencies to judge good crypto. 從前,對於外部的祕密機構來說,沒有什麼好的方法來評判什麼是好的加密方式。 EBG13 is good. EBG13是好的。 Double ROT13 is better. Double ROT13更好。 A decree went throughout the land to find agood secure algorithm. 為了找到一種安全的演算法,一項法令傳遍了全國。 We need a good cipher! 我們需要一個好的加密方式!
路西法(Lucifer)是由霍斯特•費斯特爾(Horst Feistel)及其IBM同事開發的幾種最早的民用分組密碼的名字。
One worthy competitor named Lucifer cameforward. 一個名叫路西法(Lucifer)的優秀競爭者走上前來。
資料加密標準(DES)是一種分組密碼(一種共享祕密加密形式),由美國國家標準局於1976年選擇作為美國的官方聯邦資訊處理標準(FIPS),隨後廣泛被國際使用。
After being modified by NSA lucifer was anointed as the dataencryption standard (DES). 經過NSA的修改,路西法(Lucifer)被指定為資料加密標準(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年。學者們專注地研究它,第一次有了具體的研究物件。現代密碼學誕生了。 ...to the best of out knowledge,DES is free from any statiscal ormathematical weakness. …據我們所知,DES沒有任何統計或數學上的弱點。
對安全性的擔憂以及DES在軟體中相對較慢的執行促使研究人員提出了各種替代分組密碼設計,這些設計開始出現在20世紀80年代末和90年代初期:例如RC5,Blowfish,IDEA,NewDES,SAFER,CAST5和FEAL.
Over the years many attackers challenged DES.DES was defeated inseveral battles. 多年以來,許多攻擊者向DES發起挑戰。DES在多場戰役中被擊敗。
The rallied the crypt scientists to develop something better. 他們召集了密碼加密專家來開發更好的東西。 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) 文森特·裡吉曼和瓊·達曼是密碼科學家,他們將自己的姓氏組合在一起,產生了一種新的加密演算法Rijndael(讀作Rhine Dahl)
We present you Rijndael! 我們贈送Rijndael給你!
Rijndael加密演算法被美國政府採用為標準對稱金鑰加密或高階加密標準(Advanced encryption standard, AES)。AES於2001年11月26日被美國國家標準與技術研究所(NIST)宣佈為美國FIPS PUB 197 (FIPS 197),在此之前的5年的標準化過程中,在Rijndael被選為最合適的加密演算法之前,有15個相互競爭的設計被提交和評估。
加密演算法效能
現有許多加密演算法,它們都適用於不同的目的——識別和區分一種加密演算法和另一種加密演算法的兩個主要特徵是它保護受保護資料不受攻擊的能力,以及這樣做的速度和效率。 作為不同型別加密之間速度差異的一個很好的例子,您可以使用TrueCrypt的卷建立嚮導中內建的基準測試實用程式——如您所見,AES是迄今為止最快的強加密型別。 有更慢和更快的加密方法,它們都適用於不同的目的。如果您只是經常嘗試解密一小塊資料,您可以負擔得起使用最強大的加密,甚至可以使用不同型別的加密對其進行兩次加密。如果你需要速度,你可能想要使用AES。 有關對不同型別加密進行基準測試的更多資訊,請檢視華盛頓聖路易斯大學的報告,在那裡他們對不同的程式進行了大量測試,並在一篇非常令人討厭的文章中對其進行了解釋。
現代加密的型別
我們之前討論過的所有設想的加密演算法主要用於兩種不同型別的加密: 對稱金鑰演算法使用相關或相同的加密金鑰進行加密和解密。 非對稱金鑰演算法使用不同的金鑰進行加密和解密——這通常稱為公鑰加密。
對稱金鑰加密
為了解釋這個概念,我們將使用維基百科中描述的郵政服務的比喻來理解對稱金鑰演算法的工作原理。 Alice把她的祕密資訊放在一個盒子裡,然後用一把鑰匙和鎖把祕密資訊鎖在盒子裡。然後,她通過普通郵件將盒子投遞給Bob。當Bob接收到該盒子時,他使用相同的Alice的金鑰副本(他之前以某種方式獲得,可能通過面對面會議)開啟該盒子,並閱讀該訊息。然後Bob可以使用相同的鎖傳送他的祕密回覆。
對稱金鑰演算法可分為流密碼和分組密碼——流密碼一次加密一個位元的訊息,而分組密碼佔用多個位元,通常一次以64位元的塊為單位,並將它們加密為一個單位。您可以選擇許多不同的演算法——更受歡迎和備受推崇的對稱演算法包括Twofish,Serpent,AES(Rijndael),Blowfish,CAST5,RC4,TDES和IDEA。
非對稱加密在非對稱金鑰系統中,Bob和Alice具有單獨的鎖,而不是具有來自對稱加密演算法例子中的多個金鑰對應的單個鎖。注意:這當然是一個非常簡單的例子,說明它是如何工作的,實際上要複雜得多,但你會得到一個大致的想法。
首先,Alice要求Bob通過普通郵件向她傳送開啟的鎖,並將鑰匙留給Bob自己。當Alice收到它時,她使用它來鎖上包含她的訊息的盒子,並將鎖好的盒子傳送給Bob。然後,Bob可以用鑰匙解鎖盒子並閱讀Alice發來的訊息。要回復的時候,Bob必須用同樣的方式,得到Alice開啟著的掛鎖來鎖上盒子,然後再發回給她。
非對稱金鑰系統的關鍵優勢是Bob和Alice永遠不需要將金鑰的副本傳送給對方。這可以防止第三方(在該示例中,可能是一個腐敗的郵政工作者)在傳輸過程中複製金鑰,從而讓第三方監視Alice和Bob之間傳送的所有未來的訊息。此外,如果Bob粗心大意並且允許其他人複製他的金鑰,那麼Alice給Bob的訊息會受到損害,但Alice給其他人的訊息將保密,因為其他人會為Alice提供不同的鎖來加密訊息。
非對稱加密使用不同的金鑰進行加密和解密。郵件收件人建立私鑰和公鑰。公鑰分發給訊息傳送者,他們使用公鑰來加密訊息。收件人使用其私鑰來解密用收件人的公鑰加密過的任何加密郵件。
與對稱加密相比,以這種方式進行加密有一個主要好處。我們永遠不需要在不安全的渠道上傳送任何祕密(例如我們的加密金鑰或密碼)。你的公鑰傳到了世界——這不是祕密,也不是必須的。您的私鑰可以在您生成它的個人計算機上保持舒適——它不需要通過電子郵件傳送到任何地方,也不會被攻擊者所發現。
加密如何保護網路上的通訊
多年來,SSL(安全套接字層)協議一直在使用Web瀏覽器和Web伺服器之間的加密來保護Web事務,從而保護您免受可能在中間窺探網路的任何人的攻擊。
SSL本身在概念上非常簡單。從瀏覽器請求安全頁面開始(通常是https://)
Web伺服器使用它的證書來發送其公鑰。
瀏覽器檢查證書是否由受信任方(通常是受信任的根CA)頒發,證書是否仍然有效以及證書是否與所聯絡的站點相關。
然後,瀏覽器使用公鑰來加密隨機對稱加密金鑰,並將其傳送到具有所需加密URL以及其他加密http資料的伺服器。
Web伺服器使用其私鑰解密對稱加密金鑰,並使用瀏覽器的對稱金鑰來解密其URL和http資料。
Web伺服器傳送回請求的並且使用瀏覽器的對稱金鑰加密過的html文件和http資料。瀏覽器使用對稱金鑰解密http資料和html文件並顯示資訊。
現在你可以安全地在eBay上購買你不是真正需要的東西了。
你學到什麼東西了嗎?
你做到這一點,我們正處於我們理解加密的漫長旅程的最後階段,以及它的工作方式——從希臘和羅馬人加密的早期開始,Lucifer的崛起,最後SSL如何使用非對稱和對稱加密來幫助您在eBay上購買蓬鬆的粉紅色兔子。