了解加密學:從數學到物理(二)區塊鏈
本文主要介紹了密碼學的基本算法,DES、AES,還有未來的量子加密,本文適合普通讀者,可以了解密碼學的基礎原理。
本文是上一篇《了解加密學:從數學到物理(一)》的續文
3.常用算法
今天的密碼使用秘密公鑰或私鑰技術。密鑰密碼用于保護關鍵或敏感數據。因為密鑰密碼是兩個人共享一個密鑰,也稱之為對稱密碼技術。
1949年,貝爾實驗室的Claude Shannon發表了私鑰密碼的基本理論,從那之后幾十年的發展,產出了高質量的案例。然而,直到1975年才出現強大的密鑰算法,DES,它可用于一般用途。
公鑰和非對稱加密也在20世紀70年代中期出現。公鑰密碼使用一對密鑰,公鑰與其他人共享,私鑰則由所有者獨自掌握。例如,接收者可以創建密鑰對,把公鑰共享給其他人。發送者可以用公鑰加密一封信,接收者可以用私鑰進行解密。
加密密碼的強度取決于三個主要因素:
1.基礎設施
如果密碼學主要是在軟件中實施,那么,這個基礎會很薄弱。如果你試圖保密信息,而黑客最好的辦法是入侵你的電腦,并在加密之前竊取信息。相對于破解大尺寸的密鑰,侵入系統或使用病毒感染來竊取信息更容易。很多時候,竊取密鑰最簡單的方法可能是竊聽用戶,并在它傳給加密程序時進行攔截。
2.密鑰大小
在加密學中,大小很重要。如果攻擊者無法安裝擊鍵監視器,那么,破解密文的最好方式是通過暴力計算的試錯法搜索來猜測密碼。因此,實用的密碼必須足夠大,以至于讓暴力計算搜索變得不切實際。但是,隨著計算速度越來越快,密碼大小的“安全邊界”也在不斷增長。
專家們承認64比特或更少的密鑰(包括DES)很容易受到攻擊。1999年,EFF(電子前沿基金會)曾資助開發一種名為Deep Crack的設備,它可以在三天或更短時間內攻破DES加密密鑰。當今的密碼密鑰一般包含100比特,甚至有一些支持256比特的密鑰。
3.算法質量
算法質量比較難評判,基于現有算法構建看似合理的密碼,這相對容易。除非有經驗的人仔細查看,否則很難發現一些細微的缺陷。密碼漏洞會產生“捷徑”,允許攻擊者跳過大塊密鑰,并發起試錯搜索。例如,流行的壓縮實用程序PKZIP,傳統上采用了64比特密鑰的定制加密功能。從理論上,應該進行264次嘗試來檢查所有可能的密鑰。實際上,針對PKZIP有一個捷徑,只需227次嘗試就可以破解密文。
找到這些缺陷的唯一方法實際上是破解算法,通常是使用曾經對其他密碼起作用的小技巧。算法只有在承受此類分析和攻擊之后,才能證明它的質量。即便如此,今天沒能找到缺陷不等于將來不會被找到。
算法類型
1.DES
DES經受住了時間的考驗,因為密碼質量在多年前發表的研究中得到證實。在經過四分之一世紀的研究,研究者只是發現一些投機攻擊,最終來說,不如暴力計算攻擊實用。DES密碼的唯一弱點是它56比特的大小。
2.Triple DES
通過使用112比特或168比特密碼,連續三次應用密碼來解決問題。結果是,它比其他類似強度的密碼慢很多,但是,由于強大的計算機攻擊破解了算法,它也過時了。
3.AES
AES(高級加密標準)支持三種密碼大?。?28,192和256比特,并使用128比特區塊大小。它目前是全球廣泛使用的標準。
Rijndael 密碼表
DES的設計明確地要為硬件構建,但沒有考慮讓它在軟件中有效工作。NIST(美國國家標準與技術研究院)評估了軟件執行效率和存儲要求,以確保AES在如下環境能運轉良好:運行C或Java的工作臺,或更受限制的環境,如嵌入式ARM處理器和智能卡的環境。
Rijndael是由荷蘭研究人員Vincent Rijmen和John Daemen開發的,雖然最終是Rijndael贏得了NIST的競賽,但所有AES決賽入圍的密碼方案都超過DES及DES替代品,有很大的改進。它們都支持128比特或更大的分組密碼。它們都沒有嚴重的弱點,最終選擇Rijndael是在平衡加密強度和性能之后作出的決定。
AES基于替代置換的原理設計,綜合了替代和置換,在硬件和軟件上都很快。跟它的前身DES不同,AES不使用Feistel。 AES是Rijndael的變體,其固定區塊大小為128比特,關鍵維度是128,192或256比特。
相比之下,Rijndael規范由區塊和密鑰大小來定,可以是32比特的任意倍數,最小值128比特,最大值256比特。
雖然某些版本的Rijndael有更大的區塊大小和額外的列,但,AES操作在4×4列主要的字節順序矩陣上,它被稱為狀態。大多數AES計算都是在特定的有限域中完成。
用于AES密碼的密鑰大小指定轉換輪次的重復次數,把輸入轉換為最終輸入,輸入的是明文,輸出的是密文。
重復周期數如下:
128比特密鑰重復10個周期
192比特密鑰重復12個周期
256比特密鑰重復14個周期
每輪包含幾個處理步驟,每個步驟包含四個相似但不同的階段,包括一個依賴于加密密鑰本身的階段。一組反向重復被應用于轉換,使用相同的加密密鑰把加密文轉換為原始明文。
量子加密
在上圖中,量子密鑰分發(BB84協議)是一個安全的通信方法,它執行加密協議,協議涉及量子力學組件,并確保通信安全。它能讓雙方產生共享的隨機密鑰,也是對稱性密鑰,密鑰只能被雙方知曉,可以用來加密或解密信息。
量子力學是一門科學定律的主體,它描述光子、電子和構成宇宙的其他粒子的行為規律。行業正在尋求抵抗黑客的更高安全性。新一代的密碼學已經從數學轉向了物理。原子和粒子物理學的科學家們已經進入加密學的世界。這些科學家想利用量子力學的定律來發送信息,以實現無法被破解的安全性。他們是新領域的架構師,這個領域被稱為量子密碼學,這在過去幾十年才成熟起來。
量子密碼學從粒子物理中汲取力量。構成我們宇宙的粒子本質上是不確定的現象,能夠同時存在不止一個地方或處于不止一種狀態。(譯者注:就像薛定諤的貓,同時處于生和死的兩種可能狀態)當它們碰撞到物體或被測量屬性時,它們會獨立選擇行為。
密碼學是信息安全的迷人領域,也是最復雜的科學之一。一旦我們從簡單的凱撒和Polybius密碼發展到DES和AES密碼,這里有不斷地重復迭代,那么,抓住算法概念就變得容易了。
密碼學本身是一門科學,我們探索了它的歷史,包括了今天很少使用的以及最復雜的密碼基本概念。
1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。