導航:首頁 > 文檔加密 > 報文摘要數據加密

報文摘要數據加密

發布時間:2024-03-15 22:57:06

加密和簽名的區別是什麼

數字簽名和驗證:發送報文時,發送方用一個hash演算法從報文中產生固定長度的報文摘要,然後利用自己的私鑰對這個摘要進行加密,這個過程就叫簽名。這個加密後的摘要作為報文的數字簽名和報文一起發送給接收方,接收方用發送方的公鑰解密被加密的摘要(報文附加的數字簽名)得到結果A,然後用於發送方一樣的hash演算法從接收到的原始報文中算出報文摘要B。最後,把A和B作比較。如果相同,那麼接收方就能確認該數字簽名是發送方的。加密和解密:發送方利用接收方的公鑰對要發送的明文進行加密,接受方利用自己的私鑰進行解密,其中公鑰和私鑰匙相對的,任何一個作為公鑰,則另一個就為私鑰。

2、數字簽名的功能:

a) 對簽名者進行身份認證;

b) 保證信息的完整性(在交易過程中,沒有被篡改)

c) 防止交易中的抵賴發生(簽名者無法否認信息是由自己發出的)

加密的功能:

a) 重點在於「數據的安全性」,可以防止數據被監聽攻擊。

Ⅱ 誰知道怎麼給文件加密啊

用這個軟體,非常簡單

文件加密解密系統 V2.2

下載地址

http://www.skycn.com/soft/7060.html

Ⅲ 加密技術

對稱加密就是指,加密和解密使用同一個密鑰的加密方式。需要用到的有加密演算法和加密秘鑰。例如加密演算法可以類似這樣的加密規則(a ->b,b->w,c->a)

發送方使用密鑰將明文數據加密成密文,然後發送出去,接收方收到密文後,使用同一個密鑰將密文解密成明文讀取。

優點:加密計算量小、速度快,效率高,適合對大量數據進行加密的場景。
缺點:(1)密鑰不適合在網上傳輸(容易被截取),(2)密鑰維護麻煩

DES 、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。

數據加密標准DES屬於常規密鑰密碼體制,是一種分組密碼。加密前,先對整個明文進行分組,每一組長為64位,然後對每一個64位二進制數據進行加密處理,產生一組64位密文數據。最後將各組密文串接起來,即得出整個的密文。使用的密鑰為64位(實際密鑰長度為56位,有8位用於奇偶檢驗)

DES的保密性取決於密鑰的保密,而演算法是公開的。盡管人們在破譯DES方面取得了許多進展,但至今仍未能找到比窮舉搜索密鑰更有效的方法。DES是世界上第一個公認的實用密碼演算法標准,它曾對密碼學的發展做出了重大貢獻。目前較為嚴重的問題是DES的密鑰長度,現在已經設計出搜索DES密鑰的專用晶元。

DES演算法安全性取決於密鑰長度,56位密鑰破解需要3.5到21分鍾,128位密鑰破解需要5.4 * 10^18次方年

注意的是:這里是沒有密鑰的情況下,直接窮舉密鑰嘗試破解。如果密鑰在傳送過程中被人截取了,就相當於直接知道加密規則了,根本不需要破解,因此密鑰在網路中傳送還是不安全。

與對稱加密演算法不同,非對稱加密演算法需要密鑰對,即兩個密鑰:公開密鑰(公鑰)和私有密鑰(私鑰)。

公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。

公鑰和私鑰是怎麼來的?
操作系統隨機生成一個隨機數,將這個隨機數通過某個函數進行運算,分成兩部分,公鑰和私鑰

優點:安全性高
缺點:加密與解密速度慢。

RSA、ECC(移動設備用)、Diffie-Hellman、El Gamal、DSA(數字簽名用)。

答案是不能
鑒於非對稱加密的機制,我們可能會有這種思路:伺服器先把公鑰直接明文傳輸給瀏覽器,之後瀏覽器向伺服器傳數據前都先用這個公鑰加密好再傳,這條數據的安全似乎可以保障了! 因為只有伺服器有相應的私鑰能解開這條數據
然而 由伺服器到瀏覽器的這條路怎麼保障安全? 如果伺服器用它的的私鑰加密數據傳給瀏覽器,那麼瀏覽器用公鑰可以解密它,而這個公鑰是一開始通過明文傳輸給瀏覽器的,這個公鑰被誰劫持到的話,他也能用該公鑰解密伺服器傳來的信息了。所以 目前似乎只能保證由瀏覽器向伺服器傳輸數據時的安全性 (其實仍有漏洞,下文會說)。

1、先通過非對稱加密技術,把對稱加密的密鑰X傳給對方,使得這個對稱加密的密鑰X是安全的
2、後面再通過對稱加密技術進行數據傳輸

詳細流程
(1)伺服器端擁有用於非對稱加密的 公鑰A 私鑰A』
(2)客戶端向網站伺服器請求,伺服器先把 公鑰A 明文給傳輸瀏客戶端
(3)客戶端隨機生成一個用於對稱加密的 密鑰X ,用 公鑰A 加密後傳給伺服器端。
(4)伺服器端拿到後用 私鑰A』 解密得到 密鑰X
(5)這樣雙方就都擁有 密鑰X 了,且別人無法知道它。之後雙方所有數據都用 密鑰X 加密解密。

數字簽名是基於公鑰密碼體制(非對稱密鑰密碼體制)的。

數字簽名必須保證以下三點:

上圖位用戶A使用數字簽名向用戶B傳輸一份文件的過程:

什麼時候使用這種不對文件加密,而對文件的摘要加密(對文件進行簽名)的技術呢?

注意: 這里強調的是只有「A公鑰」 上有認證機構CA的數字簽名,意思是CA用它的私鑰對「A公鑰」的內容進行單向散列函數得到的 加密摘要(數字簽名) ,該簽名放在「A公鑰」中(左上角那個),對於B用戶來說,它從可靠的路徑拿到CA的公鑰,使用CA的公鑰解密「A公鑰」的內容得到的128位的摘要 和 「A公鑰」的內容通過單向散列函數計算出來的是否一致,如果是表示認可這個「A公鑰」

當用戶A遺失或泄露了CA頒發的證書後,為了避免他人使用該證書冒充用戶A,用戶A向認證機構CA "掛失" 該證書。於是認證機構CA把該證書放入該認證機構的證書吊銷列表(CRL)中,並在網上公示。

用戶B在收到用戶A的公鑰時,除了要驗證該公鑰是否位認證機構頒發的,還要登錄認證機構的網站查看該公鑰是否已被認證機構吊銷變為無效證書。

認證機構CA的作用:

1、http連接很簡單,是無狀態的,明文傳輸。https協議 = http協議 + SSL,可以進行加密傳輸,身份認證
2、http連接的是80埠,https連接的是443埠
3、https協議需要伺服器端到CA申請SSL證書,即客戶端請求的時候,伺服器端發送SSL證書給客戶端,SSL證書內容包括公鑰、CA機構的數字簽名。驗證了伺服器端的身份以及公鑰的可靠性。 (注意:混合加密那裡「將公鑰A給客戶端」,嚴格的來說是把SSL證書給客戶端)

SSL提供以下三個功能
1、 SSL伺服器鑒別。允許用戶證實伺服器的身份。 具有SSL功能的瀏覽器維持一個表,上面有一些可信賴的認證中心CA和它們的公鑰
2、 SSL客戶鑒別。允許伺服器證實客戶的身份。
3、 加密的SSL會話,通過混合加密實現的 。客戶和伺服器交互的所有數據都是發送方加密,接受方解密

SSL的位置

(1)方法:get,post,head,put,delete,option,trace,connect
(2)URL欄位
(3)HTTP協議版本

User-Agent:產生請求的瀏覽器類型
Aceept:客戶端可識別的內容類型列表
Host:主機地址

200:請求被成功處理
301:永久性重定向
302:臨時性重定向
403:沒有訪問許可權
404:沒有對應資源
500:伺服器錯誤
503:伺服器停機

HTTP協議的底層使用TCP協議,所以HTTP協議的長連接和短連接在本質上是TCP層的長連接和短連接。由於TCP建立連接、維護連接、釋放連接都是要消耗一定的資源,浪費一定的時間。所對於伺服器來說,頻繁的請求釋放連接會浪費大量的時間,長時間維護太多的連接的話又需要消耗資源。所以長連接和短連接並不存在優劣之分,只是適用的場合不同而已。長連接和短連接分別有如下優點和缺點:

注意: 從HTTP/1.1版本起,默認使用長連接用以保持連接特性。 使用長連接的HTTP協議,會在響應消息報文段加入: Connection: keep-alive。TCP中也有keep alive,但是TCP中的keep alive只是探測TCP連接是否活著,而HTTP中的keep-alive是讓一個TCP連接獲得更久一點。

Ⅳ 常見加密演算法原理及概念

在安全領域,利用密鑰加密演算法來對通信的過程進行加密是一種常見的安全手段。利用該手段能夠保障數據安全通信的三個目標:

而常見的密鑰加密演算法類型大體可以分為三類:對稱加密、非對稱加密、單向加密。下面我們來了解下相關的演算法原理及其常見的演算法。

對稱加密演算法採用單密鑰加密,在通信過程中,數據發送方將原始數據分割成固定大小的塊,經過密鑰和加密演算法逐個加密後,發送給接收方;接收方收到加密後的報文後,結合密鑰和解密演算法解密組合後得出原始數據。由於加解密演算法是公開的,因此在這過程中,密鑰的安全傳遞就成為了至關重要的事了。而密鑰通常來說是通過雙方協商,以物理的方式傳遞給對方,或者利用第三方平台傳遞給對方,一旦這過程出現了密鑰泄露,不懷好意的人就能結合相應的演算法攔截解密出其加密傳輸的內容。

對稱加密演算法擁有著演算法公開、計算量小、加密速度和效率高得特定,但是也有著密鑰單一、密鑰管理困難等缺點。

常見的對稱加密演算法有:
DES:分組式加密演算法,以64位為分組對數據加密,加解密使用同一個演算法。
3DES:三重數據加密演算法,對每個數據塊應用三次DES加密演算法。
AES:高級加密標准演算法,是美國聯邦政府採用的一種區塊加密標准,用於替代原先的DES,目前已被廣泛應用。
Blowfish:Blowfish演算法是一個64位分組及可變密鑰長度的對稱密鑰分組密碼演算法,可用來加密64比特長度的字元串。

非對稱加密演算法採用公鑰和私鑰兩種不同的密碼來進行加解密。公鑰和私鑰是成對存在,公鑰是從私鑰中提取產生公開給所有人的,如果使用公鑰對數據進行加密,那麼只有對應的私鑰才能解密,反之亦然。
下圖為簡單非對稱加密演算法的常見流程:

發送方Bob從接收方Alice獲取其對應的公鑰,並結合相應的非對稱演算法將明文加密後發送給Alice;Alice接收到加密的密文後,結合自己的私鑰和非對稱演算法解密得到明文。這種簡單的非對稱加密演算法的應用其安全性比對稱加密演算法來說要高,但是其不足之處在於無法確認公鑰的來源合法性以及數據的完整性。
非對稱加密演算法具有安全性高、演算法強度負復雜的優點,其缺點為加解密耗時長、速度慢,只適合對少量數據進行加密,其常見演算法包括:
RSA :RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其游碰乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰,可用於加密,也能用於簽名。
DSA :數字簽名演算法沒磨陸,僅能用於簽名,不能用於加解密。
DSS :數字簽名標准,技枯頃能用於簽名,也可以用於加解密。
ELGamal :利用離散對數的原理對數據進行加解密或數據簽名,其速度是最慢的。

單向加密演算法常用於提取數據指紋,驗證數據的完整性。發送者將明文通過單向加密演算法加密生成定長的密文串,然後傳遞給接收方。接收方在收到加密的報文後進行解密,將解密獲取到的明文使用相同的單向加密演算法進行加密,得出加密後的密文串。隨後將之與發送者發送過來的密文串進行對比,若發送前和發送後的密文串相一致,則說明傳輸過程中數據沒有損壞;若不一致,說明傳輸過程中數據丟失了。單向加密演算法只能用於對數據的加密,無法被解密,其特點為定長輸出、雪崩效應。常見的演算法包括:MD5、sha1、sha224等等,其常見用途包括:數字摘要、數字簽名等等。

密鑰交換IKE(Internet Key Exchange)通常是指雙方通過交換密鑰來實現數據加密和解密,常見的密鑰交換方式有下面兩種:
1、公鑰加密,將公鑰加密後通過網路傳輸到對方進行解密,這種方式缺點在於具有很大的可能性被攔截破解,因此不常用;
2、Diffie-Hellman,DH演算法是一種密鑰交換演算法,其既不用於加密,也不產生數字簽名。DH演算法的巧妙在於需要安全通信的雙方可以用這個方法確定對稱密鑰。然後可以用這個密鑰進行加密和解密。但是注意,這個密鑰交換協議/演算法只能用於密鑰的交換,而不能進行消息的加密和解密。雙方確定要用的密鑰後,要使用其他對稱密鑰操作加密演算法實際加密和解密消息。DH演算法通過雙方共有的參數、私有參數和演算法信息來進行加密,然後雙方將計算後的結果進行交換,交換完成後再和屬於自己私有的參數進行特殊演算法,經過雙方計算後的結果是相同的,此結果即為密鑰。
如:

在整個過程中,第三方人員只能獲取p、g兩個值,AB雙方交換的是計算後的結果,因此這種方式是很安全的。

公鑰基礎設施是一個包括硬體、軟體、人員、策略和規程的集合,用於實現基於公鑰密碼機制的密鑰和證書的生成、管理、存儲、分發和撤銷的功能,其組成包括:簽證機構CA、注冊機構RA、證書吊銷列表CRL和證書存取庫CB。
PKI採用證書管理公鑰,通過第三方可信任CA中心,把用戶的公鑰和其他用戶信息組生成證書,用於驗證用戶的身份。
公鑰證書是以數字簽名的方式聲明,它將公鑰的值綁定到持有對應私鑰的個人、設備或服務身份。公鑰證書的生成遵循X.509協議的規定,其內容包括:證書名稱、證書版本、序列號、演算法標識、頒發者、有效期、有效起始日期、有效終止日期、公鑰 、證書簽名等等的內容。

CA證書認證的流程如下圖,Bob為了向Alice證明自己是Bob和某個公鑰是自己的,她便向一個Bob和Alice都信任的CA機構申請證書,Bob先自己生成了一對密鑰對(私鑰和公鑰),把自己的私鑰保存在自己電腦上,然後把公鑰給CA申請證書,CA接受申請於是給Bob頒發了一個數字證書,證書中包含了Bob的那個公鑰以及其它身份信息,當然,CA會計算這些信息的消息摘要並用自己的私鑰加密消息摘要(數字簽名)一並附在Bob的證書上,以此來證明這個證書就是CA自己頒發的。Alice得到Bob的證書後用CA的證書(自簽署的)中的公鑰來解密消息摘要,隨後將摘要和Bob的公鑰發送到CA伺服器上進行核對。CA在接收到Alice的核對請求後,會根據Alice提供的信息核對Bob的證書是否合法,如果確認合法則回復Alice證書合法。Alice收到CA的確認回復後,再去使用從證書中獲取的Bob的公鑰加密郵件然後發送給Bob,Bob接收後再以自己的私鑰進行解密。

閱讀全文

與報文摘要數據加密相關的資料

熱點內容
phpexif信息 瀏覽:540
單片機三位元組浮點數 瀏覽:754
命令與征服泰伯利亞戰爭下載 瀏覽:376
c窗口界面編程 瀏覽:21
hypermill編程能做模板嗎 瀏覽:780
計算機網路最經典的演算法 瀏覽:626
華為思科的配置命令 瀏覽:869
linux設置光碟啟動 瀏覽:359
程序員俱樂部注冊 瀏覽:17
洗潔精雞蛋盤解壓視頻 瀏覽:291
企業內網加密app 瀏覽:49
騰訊雲伺服器怎麼設置本地網路 瀏覽:623
日常程序員 瀏覽:513
哪個pe有bit加密功能 瀏覽:108
rust伺服器是用什麼ip 瀏覽:692
java隨機字元串生成 瀏覽:551
數碼寶貝編程人物 瀏覽:390
php多用戶建站系統 瀏覽:624
加密防盜地上栓價位 瀏覽:671
比澤爾壓縮機下載 瀏覽:421