密碼學原理及應用技術?一、對稱加密和非對稱加密入門1. 如何不被竊聽 —— 加密,我來為大家科普一下關于密碼學原理及應用技術?下面希望有你要的答案,我們一起來看看吧!
一、對稱加密和非對稱加密入門
1. 如何不被竊聽 —— 加密
這種加密方案在密碼學裡稱為對稱密碼,加密方和解密方使用的是相同的密鑰。
知名的密碼算法有 AES(2001)、Blowfish(1993)、DES(1977),再遠一點,有二戰時期的恩尼格碼(轉輪機原理,德國)、紫色密碼(轉輪機原理,日本),以及著名的凱撒密碼(沒錯就是地中海北岸那個凱撒)、栅欄密碼等。
2. 如何交換密鑰 —— 非對稱加密
解決信道安全問題
Bob 事先生成一對公鑰和私鑰,私鑰 pri 由自己保管,把公鑰 pub 發給 Alice。
Alice 使用 pub 對消息内容進行加密,Bob 用 pri 進行解密。
需要注意的是, 隻有私鑰才可以解密,所以即使 Eve 竊取到了 pub(隻有 pub 被傳輸而容易被竊取),她也無法解密。
這種加密方式在密碼學裡稱為非對稱密碼,所謂“非對稱”指的是加密方和解密方用的密鑰不一樣。
知名的非對稱算法有:DSA(數字簽名算法,隻能用于簽名,1991)、ECC(橢圓曲線加密,1985)、RSA(公鑰加密算法,1977)等。
這些算法除了用于加密外,還可以用于 數字簽名。非對稱算法有個緻命弱點: 性能很低。實際應用中一般采用混合加密體制、哈希簽名體制。
3. 如何防止數據篡改 —— MAC
圖中的 MAC 指的是 消息認證碼(message Authentication Code),你現在不需知道它的原理,隻要記住 :(1)傳入兩個參數 message 和 key,進行一系列計算後得到一個值叫 MAC。(2)隻有 message 和 key 相同的情況下,才能得到相同的 MAC。
消息認證碼有多種實現方式,其中最常見的是 HMAC(Hash MAC),即使用哈希算法來實現 MAC,還有一種是基于分組密碼算法的 MAC,不常見。
聰明如你,肯定會想到如果 key 被竊取該怎麼辦?這就涉及到 數字簽名了,後文會講到。
4. 如何校驗身份 —— MAC
MAC包含幾種實現方式:基于 HASH 的 MAC 稱為 HMAC,應用比較廣泛。
有些同學應該接觸過阿裡雲的 Access Key,其實就是 HMAC 的原理。
有些同學在兩個系統之間API調用時,會使用同一個 key 做 md5 計算來實現 API 鑒權,這稱為“加鹽HASH”,可以簡單理解為 HMAC 的簡化版。
同樣的,如果 key 被竊取該怎麼辦?這可以用 數字簽名來解決。
5.更進一步 —— 數字簽名
發送方是用 私鑰進行簽名,而接收方用 公鑰 進行驗簽,這跟加密情況正好相反。
6. 公鑰的身份證 —— 數字證書
僞造公鑰,Bob 需要事先生成公鑰 pub 和私鑰 pri ,然後把 pub 分發給 Alice。那麼攻擊過程就從這入手,Eve 生成自己的一對公鑰 pub' 和 私鑰 pri',截獲 Bob 的 pub,并用自己的 pub' 冒充 Bob 的公鑰發給 Alice。
這是個“偷天換日”的過程,Eve 通過僞造公鑰(中間人攻擊),不光竊聽到 Alice 的消息,還能保證整個過程中 Alice 和 Bob 都沒有察覺!
Eve 不是喜歡僞造公鑰嗎,Bob 這次就要請 Trent 為自己的公鑰注冊一張 “身份證” —— 數字證書。見證如見人,哦不對,見證如見公鑰!以下是注冊數字證書的過程:
Bob 請求 Trent 為自己的公鑰 pub 注冊一個證書。
Trent 收到請求後,用自己的私鑰 pri ' 對 pub(以及身份信息) 進行簽名,得到一個 sign。
Trent 把證書 certificate = pub sign 頒發給 Bob。
Bob 把自己的證書 pub sign 發給 Alice。
Alice 使用 Trent 的公鑰 pub ' 對 sign 進行驗簽,如果校驗成功則說明 pub 的确是 Bob 的公鑰,因為她相信 Trent 的權威性。
Eve 不可能找 Trent 為她辦一個 Bob 的數字證書,因為 Trent 不會同意的,就像警察蜀黍不會給我辦一張别人的身份證一樣。所以,Eve 無法僞造 Bob 的公鑰。
考慮到非對稱算法的效率問題,實際應用中一般是先對數據進行哈希,然後才用私鑰對哈希值(摘要)進行簽名。
Trent 在密碼技術領域中一般稱為 認證機構(Certification Authority,即 CA)。
以數字證書為基礎,業界制定了一系列的規範和規格,比如由誰頒發證書、如何進行頒發、如何作廢證書等,稱為 公鑰基礎設施(Public-Key Infrastructure,即 PKI)。
二、對稱加密常見密碼學
AES,DES,3DES,TDEA,Blowfish,RC5,IDEA
三、非對稱加密經典算法
RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!