天天看點

AES和RSA

先了解下AES和RSA的差別,前者屬于對稱加密,後者屬于非對稱加密。

1、對稱加密

對稱加密就是加密和解密使用同一個密鑰。

用數學公示表示就是:

▲加密:Ek(P) = C

▲解密:Dk(C) = P

這裡E表示加密算法,D表示解密算法,P表示明文,C表示密文。

是不是看起來有點不太容易了解?看下圖:

AES和RSA
看過間諜局的知友們一定知道電台和密碼本的功能。潛伏裡面孫紅雷通過電台收聽到一堆數字,然後拿出密碼本比對,找到數字對應的漢字,就明白上級傳達的指令。而軍統的監聽台沒有密碼本,隻看到一堆沒有意義的數字,這就是對稱算法的原理。

AES就屬于對稱加密,常見的對稱加密方法還有DES、3DES、Blowfish、RC2以及國密的SM4。

2、非對稱加密

對稱加密快而且友善,但是有個缺點——密鑰容易被偷或被破解。非對稱加密就可以很好的避免這個問題。

非對稱算法把密鑰分成兩個,一個自己持有叫私鑰,另一個發給對方,還可以公開,叫公鑰,用公鑰加密的資料隻能用私鑰解開。

▲加密: E公鑰(P) = C

▲解密::D私鑰(C) = P

AES和RSA

這下就不用擔心密鑰被對方竊取或被破解了,私鑰由自己保管。

非對稱加密算法核心原理其實就是設計一個數學難題,使得用公鑰和明文推導密文很容易,但根據公鑰、明文和密文推導私鑰極其難。

RSA就屬于非對稱加密,非對稱加密還有Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)以及國家商用密碼SM2算法。

3、AES和RSA

AES和RSA都很安全,至少在目前的計算機體系結構下,沒有任何有效的攻擊方式。量子計算機時代,RSA有一定的破綻,因為利用shro's algorithm,量子計算機窮舉計算質因子速度可以提高N個數量級,能夠在有限的時間内破解RSA密鑰。AES256至少目前并沒有什麼明顯的漏洞。

AES作為對稱加密技術,加密速度很快。現在高端一點的CPU都帶有AES-NI指令,可以極快的完成加密和解密。

舉例來說,堅果雲存儲系統采用了intel 的AES-NI加速,在采用AES加密和解密的時候,

單核的性能可以超過 1GB Byte/秒,非常非常快,很适合對大量資料進行加解密。

摘自:堅果雲團隊版 - 辦公雲盤|檔案管理|協同辦公|企業網盤|安全備份

但是AES作為對稱加密技術,如何安全的分發密鑰是一個難題。通過任何方式傳遞密鑰都有洩密的風險。當然,目前我國高大上的量子通信技術或許能很好的解決這個問題。

RSA作為非對稱加密技術的代表,加解密的速度其實相當慢,隻能對小塊的資料進行加解密。但是其非對稱的特點,滿足公鑰可以随處分發,隻有公鑰能解密私鑰加密的資料,隻有私鑰能解密公鑰加密的資料。是以很适合用來進行密鑰分發和身份驗證,這兩個應用場景剛好相反。

1)用于對稱秘鑰分發的場景,其他人用公鑰加密對稱的秘鑰,那麼隻有授權人才持有私鑰,是以才能解密獲得對應的秘鑰,解決了AES密鑰分發的難題;

2)對于身份驗證的場景,授權人用私鑰加密一段指令,其他人用公鑰解密對應的資料,驗證對應的指令與之前約定的某些特征一緻(例如,這段話必須使用四川口音,像是堅果雲CEO

@韓竹 的标準四川口音==),如果一緻,那麼可以确認這個指令就是授權人發出的。

相關趣聞轶事:

RSA除了是一個偉大的發明,被免費開放給所有網際網路使用者使用。它的發明者還以此成立了一家名為RSA Security的網絡安全公司,這家公司最後被EMC高價收購。這是德藝雙馨的偉大證明, 是“又紅又專”的典範。

RSA的算法是以三個發明者的名字命名的,三位都是成功的數學家,科學家和企業家,其中的排名第一Ron Rivest,有非常多的傑出貢獻。

RSA是整個網際網路資料安全的基礎,與光纖處于同樣基礎和重要的方式。大部分的加密和解密的應用都是同時應用RSA和AES。

總結

  1. 破解加密的難度除了跟加密方法有關,還跟密鑰長度以及加密模式有很大的關系,就拿AES來說,有AES128和AES256(代表密鑰長度),顯然AES256的安全性能比AES128更高,而AES又要四種模式:ECB、CBC、CFB、OFB(代表加密模式)。
  2. RSA1024是屬于非對稱加密,是基于大整數因式分解難度,也就是兩個質數相乘很容易,但是找一個大數的質因子非常困難。量子計算機時代,RSA有一定的風險,具體可以參考:超連結
  3. AES256目前沒有明顯的漏洞,唯一的問題就是如何安全的分發密鑰。
  4. 現在大部分的加密解密都是同時應用RSA和AES,發揮各自的優勢,使用RSA進行密鑰分發、協商,使用AES進行業務資料的加解密。

原文連結:https://www.zhihu.com/question/20874499/answer/205039590

繼續閱讀