您好,登錄后才能下訂單哦!
這篇文章主要講解了“密碼學入門知識點有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“密碼學入門知識點有哪些”吧!
一、對稱加密和非對稱加密入門
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(橢圓曲線加密算法)
感謝各位的閱讀,以上就是“密碼學入門知識點有哪些”的內容了,經過本文的學習后,相信大家對密碼學入門知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。