傳送者對明文進行加密然後生成密文,接受者再對密文解密得到明文的過程。 現在使用的所有加密演算法都是公開的!但是金鑰肯定不是公開的。
1 雜湊(雜湊)函式
2 對稱加密演算法
3 非對稱加密演算法:rsa
使用公鑰
加密,使用私鑰
解密
使用私鑰
加密,使用公鑰
解密(私鑰簽名,公鑰驗籤)
更安全,當然速度會慢下來,如果隨著硬體的突破,使用越來越多,特別是支付
1是對資料加密,2是防止偽造客戶端資料,對伺服器攻擊,更重要是防止模擬了客戶端,進行支付相關的操作4 對稱加密與非對稱加密的區別
就個人理解,最主要的就是金鑰的不同,對稱加密客戶端和服務端使用同乙個金鑰,非對稱加密使用不同的金鑰。
客戶端的**是很容易被破解的,ida、hopper disassembler
工具的使用,使得破解更加簡單而且破解後容易閱讀,再配合charles抓取網路包,根據關鍵字很容易就定位到加密**,然後獲取金鑰。
由於對稱加密金鑰一樣,所以解密就輕而易舉;但是非對稱加密就不會出現這種問題,因為服務端和客戶端的金鑰不一樣,公鑰加密私鑰解密,加密的公鑰也是公開的,而私鑰一般放在服務端,黑客一般是拿不到的。
另外就是沒有金鑰情況下強制暴力破解,非對稱加密也要比對稱加密花的多的多的時間來破解。一條資訊就要花你幾年的時間,所以很安全。
比如對於"hello world!"
進行加密後得到結果r,還可以使用金鑰通過結果r解密得到"hello world!"
;而對"hello world!"
進行簽名得到結果r,卻不能使用金鑰通過r獲得"hello world!"
,要不然的話壓縮演算法要逆天了!比如hash,使用幾十個字元就能儲存幾g幾t的資料。。。
比如a對b傳送了資訊message;通過加密後,即便c通過網路包擷取獲得了message,它也不知道裡面的具體內容,只能看到一堆亂碼;通過簽名,假設d也用相同的加密演算法傳送了此message,但是簽名錯誤,那麼b通過簽名依然拒絕d的message。
假設a、b雙方均擁有一對公私鑰(pub_a
、pri_a
、pub_b
、pri_b
)。
a向b傳送message的整個簽名和加密的過程如下:
a先使用hash對message生成乙個固定長度的資訊摘要message_hash_a
a使用a的私鑰pri_a
對message_hash_a
進行簽名得到message_sign
(這裡為什麼不直接對message進行簽名,而要對message_hash_a
進行簽名呢?因為message的長度可能很長,而message_hash_a
的長度則是固定的,這樣效能更高,格式也固定,況且hash的結果一般不會出現重複的可能)
a接著使用b的公鑰pub_b
對資訊message
和資訊message_sign
進行加密得到message_rsa
,這時a將message_rsa
傳送給b。
當b接收到a的資訊message_rsa
後,獲取message
的步驟如下:
b用自己的私鑰pri_b
解密得到明文:message
和message_sign
;
然後b使用a的公鑰pub_a
解message_sign
得到message_hash_a
;同時,b再對message
使用與a相同的hash得到message_hash_b
;
如果message_hash_a
與message_hash_b
相同,則說明message
沒有被篡改過。
上面的過程中,a知道a的公私鑰同時也要知道b的公鑰;同理b要知道a的公鑰和b的公私鑰關於公私鑰再打個比方:
公鑰
就像一把鎖一樣將資料鎖住;私鑰
就像鑰匙一樣,能將對應的鎖開啟。
公鑰加密,私鑰解密的好處是:公鑰可以公開,那麼無論誰有公鑰都可以給你傳送資訊,而且也只有你才能解密我們經常使用的github就是使用了簽名的方法,ssh,在本地電腦生成一對公私鑰,將公鑰傳到github,然後使用私鑰進行簽名,github通過公鑰延籤後認為你的身份合法。
另外,加密和編碼是不一樣的,比如ascii是屬於編碼,是將0~255與字元一一對應。
網路安全資料集介紹
目錄 1 kdd99 入侵檢測資料集 2 nsl kdd 入侵檢測資料集 3 unsw nb15 入侵檢測資料集 4 nasa mdp 軟體缺陷資料集 5 cnnvd 軟體安全漏洞資料集 6 nvd 軟體安全漏洞資料集 1 kdd99 入侵檢測資料集 該資料集是從乙個模擬的美國空軍區域網上採集來的9...
網路安全 數字簽名 數字證書
未加密的資訊 秘鑰 加密的黑盒子 加密後的資訊 加密後的資訊 秘鑰 解密的黑盒子 未加密的資訊 未加密的資訊 公鑰 加密的黑盒子 加密後的資訊 加密後的資訊 私鑰 解密的黑盒子 未加密的資訊 既可以公鑰加密,私鑰解密 也可以私鑰加密,公鑰解密 a 我要給你傳送條訊息 b 這訊息萬一被人改了怎麼辦?a...
網路安全與資訊加密概述
資料加密過程就是通過加密系統把原始的數字資訊 明文 按照加密演算法變換成與明文完全不同的數字資訊 密文 的過程,如下圖所示。資料加密技術主要分為資料傳輸加密和資料儲存加密。資料傳輸加密技術主要是對傳輸中的資料流進行加密,常用的有 鏈路加密 鏈路加密是指傳輸資料僅在物理層前的資料鏈路層進行加密,不考慮...