1. 程式人生 > >對稱加密、非對稱加密、數字簽名

對稱加密、非對稱加密、數字簽名

一、密碼學演算法的分類

  1. 訊息編碼:Base64
  2. 訊息摘要:MD類、SHA類、MAC類
  3. 對稱密碼:DES、3DES、AES
  4. 非對稱密碼:RSA、DH金鑰交換
  5. 數字簽名:RSASignature、DSASignature

密碼學五元組:
明文、密文、加密演算法、解密演算法、金鑰

二、訊息摘要的分類

  1. MD(Message Digest):訊息摘要演算法
  2. SHA(Secure Hash Algorithm):安全雜湊演算法
  3. MAC(Message Authentication Code):訊息隊證碼演算法

訊息摘要的作用:
驗證資料的完整性(防止在傳輸途中被篡改)。

MD演算法種類

MD演算法種類

SHA演算法
安全雜湊演算法,主要適用於數字簽名標準裡面定義的數字簽名演算法。

SHA演算法的種類
SHA演算法的種類

單一MD或SHA演算法的缺點:摘要值容易被篡改。

HMAC演算法
結合了MD5和SHA演算法的優勢,同時利用金鑰對摘要加密,是一種更為安全的訊息摘要演算法。

HMAC演算法的種類

HMAC演算法的種類

總結:

雜湊函式特徵:

  1. 輸入任意長度資料,輸出固定長度雜湊值,計算很容易,過程不可逆
  2. 對於某資料,其雜湊值固定
  3. 兩個資料不同,則對應的雜湊值也不同
  4. 兩個雜湊值不同,則對應的原始資料輸入資料也不同

三、對稱密碼

  1. 加密金鑰和解密金鑰相同,對於大多數對稱密碼演算法,加解密過程逆向
  2. 特點:演算法公開、計算量小、加密速度快、加密效率高
  3. 弱點:雙方都使用同樣金鑰,安全性得不到保證

對稱密碼的種類

  1. DES(Data Encryption Standard)
  2. 3DES(Triple DES、DESede)
  3. AES(Advanced Encryption Standard)

DES、3DES、AES對比
DES

  1. DES:資料加密標準,是對稱加密演算法領域中的典型演算法
  2. 特點:金鑰偏短(56位)、生命週期短

3DES

  1. 3DES:將金鑰長度贈至112位或者168位,通過增加迭代次數提高安全性
  2. 缺點:處理速度較慢、金鑰計算時間較長、加密效率不高

AES

  1. AES:高階資料加密標準,能夠有效抵禦已知的針對DES演算法的所有攻擊
  2. 特點:金鑰建立時間短、靈敏性好、記憶體需求低、安全性高

對稱加密種類的比較:
對稱加密的比較

四、非對稱加密

這裡寫圖片描述
這種加密方式就是,加密方和解密方可以使用不同的加密規則。這樣的話就有兩套金鑰,公鑰和私鑰。

  1. 乙方生成兩把金鑰(公鑰和私鑰)。公鑰是公開的,任何人都可以獲得,私鑰則是保密的。
  2. 甲方獲取乙方的公鑰,然後用它對資訊加密。
  3. 乙方得到加密後的資訊,用私鑰解密。

五、數字簽名

如上圖,公鑰可以被任何獲取,然後對檔案加密。假設這樣一種情況:甲使用公鑰對檔案進行加密,然後向乙傳輸密文,但是傳輸的過程中,被同樣有公鑰的丙截獲(公鑰任何人都可以擁有),這個時候丙利用自己的公鑰,重新加密一封密文,傳輸給乙。如此一來,乙收到的密文不是甲傳過來的,而是丙傳過來的。但是乙並不知道。如此一來,就產生了檔案被掉包。

數字簽名的作用就是用來校驗檔案是否在傳輸過程中是否被篡改和掉包。具體實現方式有兩種:無保密機制簽名和保密機制簽名

5.1無保密機制簽名

甲在對明文加密之前,先使用摘要演算法,對明文生成摘要,然後把摘要使用非對稱加密的方式進行加密,然後傳輸給乙,乙收到摘要密文後使用私鑰進行解密,然後把收到的檔案明文進行摘要演算法,得到摘要後和乙傳輸過來的密文進行比對。就可以知道,檔案是否被替換。

簽名過程:

  1. 傳送方採用某種摘要演算法從報文中生成一個128位的雜湊值(稱為報文摘要);
  2. 傳送方用RSA演算法和自己的私鑰對這個雜湊值進行加密,產生一個摘要密文,這就是傳送方的數字簽名;
  3. 將這個加密後的數字簽名作為報文的附件和報文一起傳送給接收方;
  4. 接收方從接收到的原始報文中採用相同的摘要演算法計算出128位的雜湊值;
  5. 報文的接收方用RSA演算法和傳送方的公鑰對報文附加的數字簽名進行解密;
  6. 如果兩個雜湊值相同,那麼接收方就能確認報文是由傳送方簽名的。

流程圖如下:
這裡寫圖片描述

5.2保密機制簽名

上面的加密方式中,只是實現了使用簽名如何對校驗傳輸資料是否被篡改和替換,但是傳輸的還是明文,如果要想對傳輸明文進行加密成密文,該如何加密?

這裡採用的方法是使用對稱加密的方式對明文加密,然後將對稱加密的祕鑰使用RSA加密,然後在對密文生成摘要,然後傳輸。

流程圖如下:
這裡寫圖片描述

六. 數字證書

數字證書就是網際網路通訊中標誌通訊各方身份資訊的一系列資料,提供了一種在Internet上驗證您身份的方式,其作用類似於司機的駕駛執照或日常生活中的身份證。它是由一個由權威機構—–CA機構,又稱為證書授權(Certificate Authority)中心發行的,人們可以在網上用它來識別對方的身份。數字證書是一個經證書授權中心數字簽名的包含公開金鑰擁有者資訊以及公開金鑰的檔案。最簡單的證書包含一個公開金鑰、名稱以及證書授權中心的數字簽名。

相關推薦

幾個例子理解對稱加密對稱加密公鑰與私鑰簽名與驗籤數字證書HTTPS加密方式

# 原創,轉載請留言聯絡 為什麼會出現這麼多加密啊,公鑰私鑰啊,簽名啊這些東西呢?說到底還是保證雙方通訊的安全性與完整性。例如小明發一封表白郵件給小紅,他總不希望給別人看見吧。而各種各樣的技術就是為了保障通訊的安全。(本文務必從上到下看) 1.對稱加密與非對稱加密 對稱加密: 對稱加密是

對稱加密對稱加密數字簽名數字證書的區別

之前在面試的時候被問到了HTTPS,SSL這樣的知識點,也沒答上來,這裡也簡單整理一下。 首先還是來解釋一下基礎的東東: 對稱加密: 加密和解密都是用同一個金鑰 非對稱加密: 加密用公開的金鑰,解密用私鑰 (私鑰只有自己知道

對稱加密對稱加密數字簽名

一、密碼學演算法的分類 訊息編碼:Base64 訊息摘要:MD類、SHA類、MAC類 對稱密碼:DES、3DES、AES 非對稱密碼:RSA、DH金鑰交換 數字簽名:RSASignature、DSASignature 密碼學五元組: 明文、密文、加密演

HTTPS演化過程(對稱加密對稱加密公鑰私鑰數字簽名數字證書)

主要感謝《碼農翻身》,還有網上的文章,大家可以看看這本書。 1.對稱資料加密 就像上圖所示, 這加密和解密演算法是公開的,那個金鑰是保密的, 只有兩人才知道, 這樣生成的加密訊息(密文) 別人就無法得知了。這叫對稱加密演算法,因為加密和解密用

理解對稱加密對稱加密數字簽名數字證書

對稱加密(資料保密性)演算法:DES 、 3DES 、 RC5、AES特點:加密和解密使用相同的金鑰      加密原文非對稱加密(資料保密性)演算法:DH、RSA特點:需要兩個祕鑰公鑰和私鑰      加密速度慢,只可用其加密小資料(如對稱金鑰、訊息摘要)      加密後

摘要演算法對稱加密對稱加密數字簽名數字證書淺析

年前整理的關於摘要演算法、對稱加密、非對稱加密、數字簽名、數字證書的內容,當時是以 ppt 的形式整理的,不方便複製到 csdn部落格中,因此將其轉換為 png 圖片。文章僅代表個人觀點,如有不正之處,

MD5對稱加密對稱加密的比較區別(乾貨)

轉載處:https://blog.csdn.net/lg2179/article/details/52535965       md5是一種不可逆的加密,一定記住是不可逆的。雖然現在很多演算法也可以將md5解密出來但是md5還是具有很大程度上的不可逆,而且

對稱加密單向加密對稱加密

下文主要從加密演算法的特徵、常用加密演算法和加密工具等方面,梳理和比較對稱加密、單向加密和公鑰加密的概念及其之間的聯絡。 1. 對稱加密 採用單鑰密碼的加密方法,同一個金鑰可以同時用來加密和解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。常用的單向加密

資訊保安的基礎:對稱加密對稱加密摘要演算法

加密分為兩大類:對稱加密、非對稱加密,兩類加密演算法各有優點,在不同的場景使用不同的演算法。 對稱加密 加密方將原始資料和加密金鑰一起經過特殊加密演算法處理後,生成密文結果,解密方使用相同的祕鑰及相同加密演算法的逆演算法對密文結果進行解密,公式如下:

MD5 不可逆加密,Des對稱可逆加密 ,RSA對稱可逆加密 ,數字證書 SSL

md5算法 eric net 內容 href archive 9.png pre encrypt :MD5 不可逆加密2:Des對稱可逆加密3:RSA非對稱可逆加密4:數字證書 SSL                   Anker_張(博客園)http://www.cnb

java加密演算法對稱加密演算法——數字信封 DH

類似數字簽名,數字信封是這樣描述的:  數字信封          數字信封用加密技術來保證只有特定的收信人才能閱讀信的內容。  流程:      資訊傳送方採用對稱金鑰來加密資訊,然後再用接收方的公鑰來加密此對稱金鑰(這部分稱為數字信封),再將它和資訊一

【上】安全HTTPS-全面詳解對稱加密對稱加密數字簽名數字證書和HTTPS

此文章轉載來源於http://blog.csdn.net/tenfyguo/article/details/40922813點選開啟連結 一,對稱加密 所謂對稱加密,就是它們在編碼時使用的金鑰e和解碼時一樣d(e=d),我們就將其統稱為金鑰k。 對稱加解密的過

【下】安全HTTPS-全面詳解對稱加密對稱加密數字簽名數字證書和HTTPS

此文章轉載來源於http://blog.csdn.net/tenfyguo/article/details/40958727點選開啟連結 1.  HTTPS 1.1. 什麼是HTTPS HTTPS(HypertextTransfer Protocol Secur

對稱加密對稱加密

通過 lan pan 消息加密 ack 屬於 加密算法 效率 構建 1.對稱加密 對稱加密(也叫私鑰加密)指加密和解密使用相同密鑰的加密算法。有時又叫傳統密碼算法,就是加密密鑰能夠從解密密鑰中推算出來,同時解密密鑰也可以從加密密鑰中推算出來。而在大多數的對稱算法中,加密密

如何使用gpg工具實現公鑰加密對稱加密對稱加密)?

gpg工具 對稱加密 公鑰加密 非對稱加密 使用gpg實現公鑰加密【對稱加密】1、 對稱加密file文件gpg -c filels file.gpg------------------------對稱加密過程------------------------輸入口令,兩次,例如centos再查看

對稱密碼對稱密碼散列算法與PKI

pem 商務 包括 sign 51cto idea 重新 digest ima 對稱密碼、非對稱密碼、散列算法與PKI密碼學要解決的問題:機密性、完整性、身份驗證(抗抵賴性):一、對稱密碼:對稱密碼技術:發件人和收件人使用其共同擁有的單個密鑰 ,這種密鑰既用於加密,也用於解

加密的類型及其相關算法--公鑰加密對稱加密

加密類型 公鑰加密 非對稱加密 前面講了幾節,對稱加密(解決:機密性),單向加密(解決:完整性),密鑰交換(解決:完整性)。但總是能被E在從中搗亂,有沒有一種辦法能解決驗證對方身份的方法呢? 這個時候公鑰加密算法出來了。眾所周知公鑰加密算法是密鑰對:公鑰(公開出去的,從私鑰中按照某種

對稱加密對稱加密

.com 對稱加密 alt str mage nbsp com strong bubuko 對稱加密和非對稱加密

php openssl_sign() 語法+RSA公私鑰加密解密,對稱加密演算法詳解

其實有時候覺得寫部落格好煩,就個函式就開篇部落格。很小的意見事情而已,知道的人看來多取一舉,或者說沒什麼必要,浪費時間,不知道的人就會很鬱悶。技術就是這樣的,懂的人覺得真的很簡單啊,不知道的人真的好難。。。 一般在跟第三方介面對接資料的時候,為了保證很多都使用的RSA簽名,沒性趣瞭解的同學只需要

第10章 網路安全(1)_對稱加密對稱加密

1 網路安全概述 1.1 計算機網路面臨的安全威協 (1)截獲:攻擊者從網路上竊聽他人的通訊內容,通常把這類攻擊稱為“截獲”。在被動攻擊中,攻擊者只是觀察和分析某一個協議資料單元(PDU)而不干擾資訊流。 (2)篡改:攻擊者篡改網路上傳遞的報文。這裡包括徹底中斷傳遞的報文,甚至把完