密碼學原理
Tags:
1、加密算法分類
2、對稱算法<原理、特征、算法>
3、非對稱算法<原理、特征、算法>
4、對稱算法vs非對稱算法<結(jié)合體>
1、加密算法概述
用于對用戶數(shù)據(jù)進行加密,常用算法有DES、3DES、AES、RSA、DH算法。
根據(jù)密鑰特征,分為對稱和非對稱算法。
2、對稱算法
(1)原理
對稱加密算法中,數(shù)據(jù)發(fā)信方將明文和加密密鑰一起經(jīng)過特殊加密算法處理后,發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進行加密和解密,這就要求解密方事先必須知道加密密鑰。
(2)對稱算法
DES、3DES、AES
(3)算法特征
安全性
緊湊性(加密前后的數(shù)據(jù)大小變化不大)
速度快
3、非對稱算法
(1)原理(公鑰私鑰對)
非對稱加密算法需要兩個密鑰:公開密鑰(publickey:簡稱公鑰)和私有密鑰(privatekey:簡稱私鑰)。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進行加密,只有用對應的私鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。非對稱加密算法實現(xiàn)機密信息交換的基本過程是:甲方生成一對密鑰并將公鑰公開,需要向甲方發(fā)送信息的其他角色(乙方)使用該密鑰(甲方的公鑰)對機密信息進行加密后再發(fā)送給甲方;甲方再用自己私鑰對加密后的信息進行解密。甲方想要回復乙方時正好相反,使用乙方的公鑰對數(shù)據(jù)進行加密,同理,乙方使用自己的私鑰來進行解密。
另一方面,甲方可以使用自己的私鑰對機密信息進行簽名后再發(fā)送給乙方;乙方再用甲方的公鑰對甲方發(fā)送回來的數(shù)據(jù)進行驗簽。
甲方只能用其私鑰解密由其公鑰加密后的任何信息。非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。
密鑰對:公鑰+私鑰,公鑰大家都知道,私鑰只有本地知道,
公鑰加密私鑰解,私鑰加密公鑰解。加解密雙方各有
一對密鑰對。發(fā)給誰就用誰的公鑰!
(2)非對稱算法
RSA、DH
(3)特征
速度慢
安全性
密鑰管理方便
支持數(shù)字簽名
支持不可否認性(不可抵賴性)
4、對稱+非對稱算法
對稱算法用來對數(shù)據(jù)加密
非對稱算法用來實現(xiàn)密鑰分發(fā)
安全
緊湊
速度快
密鑰管理方便
支持數(shù)字簽名
支持不可否認性
哈希算法
Tags:
1、哈希算法分類
2、哈希算法原理和特征
3、哈希算法應用
1、哈希算法分類
MD5、SHA,用于實現(xiàn)數(shù)據(jù)完整性校驗。
2、哈希算法原理和特征
哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。一般用于快速查找和加密算法。
特征:
1、雪崩效應:明文有任何的修改,hash全局改變;
2、不可逆向:無法根據(jù)哈希值得到明文;
3、固定輸出:128bit、160bit
功能:
1、完整性校驗
2、安全性校驗
3、哈希算法應用
哈希算法可以檢驗信息是否是相同的,這樣的優(yōu)勢可以節(jié)省重復文件傳送的時間。
比如:我們在生活工作中會使用一些軟件給別人傳送文件數(shù)據(jù),如果有人傳送了一份文件給一個人,然后又有一個人傳送了相同的文件給了另外一個人,那么這個社交軟件在第二次傳送文件的時候會對比兩次傳送的哈希值,發(fā)現(xiàn)是相同的,該軟件就不會再次上傳文件給服務器了。
除此之外,哈希算法還可以檢驗信息的擁有者是否真實。
比如:我們在一個網(wǎng)站注冊一個賬號,如果網(wǎng)站把密碼保存起來,那這個網(wǎng)站不論有多安全,也會有被盜取的風險。但是如果用保存密碼的哈希值代替保存密碼,就沒有這個風險了,因為哈希值加密過程是不不可逆的。