① 非對稱加密和對稱加密的區別
非對稱加密和對稱加密在加密和解密過程、加密解密速度、傳輸的安全性上都有所不同,具體介紹如下:
1、加密和解密過程不同
對稱加密過程和解密過程使用的同一個密鑰,加密過程相當於用原文+密鑰可以傳輸出密文,同時解密過程用密文-密鑰可以推導出原文。但非對稱加密採用了兩個密鑰,一般使用公鑰進行加密,使用私鑰進行解密。
2、加密解密速度不同
對稱加密解密的速度比較快,適合數據比較長時的使用。非對稱加密和解密花費的時間長、速度相對較慢,只適合對少量數據的使用。
3、傳輸的安全性不同
對稱加密的過程中無法確保密鑰被安全傳遞,密文在傳輸過程中是可能被第三方截獲的,如果密碼本也被第三方截獲,則傳輸的密碼信息將被第三方破獲,安全性相對較低。
非對稱加密演算法中私鑰是基於不同的演算法生成不同的隨機數,私鑰通過一定的加密演算法推導出公鑰,但私鑰到公鑰的推導過程是單向的,也就是說公鑰無法反推導出私鑰。所以安全性較高。
② 對稱密鑰加密是如何進行的
對稱密鑰加密也叫秘密/專用密鑰加密(Secret Key Encryption),即發送和接收數據的雙方必須使用相同的/對稱的密鑰對明文進行加密和解密運算。
非對稱密鑰加密也叫公開密鑰加密(Public Key Encryption),是指每個人都有一對唯一對應的密鑰:公開密鑰和私有密鑰,公鑰對外公開,私鑰由個人秘密保存;用其中一把密鑰來加密,就只能用另一把密鑰來解密。發送數據的一方用另一方的公鑰對發送的信息進行加密,然後由接受者用自己的私鑰進行解密。公開密鑰加密技術解決了密鑰的發布和管理問題,是目前商業密碼的核心。使用公開密鑰技術,進行數據通信的雙方可以安全地確認對方身份和公開密鑰,提供通信的可鑒別性。
③ AES加密演算法是對稱密鑰還是非對稱密鑰
AES屬於對稱加密方法,高級加密標准(Advanced Encryption Standard,AES)
④ 對稱密鑰加密的缺點和公開密鑰加密的缺點是什麼急!!!!
對稱加密:加密和解密的密鑰相同,其缺點是:保存和管理密鑰十分復雜,安全地傳送密鑰也十分困難。
分對稱加密:有兩個密鑰,一個用來加密一個用來解密,並且不能根據與一個密鑰來推算出另一個密鑰,比較安全,但實現起來比較復雜。
⑤ 公開密鑰加密的公開密鑰加密與對稱密鑰加密的區別
在對稱密鑰加密中,對一個信息的加密密碼和解密密碼都是相同的,所以發送者需要發送一條信息之前,必須先發送密鑰給接收者,這樣接收者才能解密這條信息。
對稱密鑰加密的過程是:
假設兩個用戶A,B進行通信,A先發送信息給B,然後B發送信息給A
1. A先用密鑰k1加密一條信息,使之變成密文c1;
2. A把密鑰k1發送給B;(此時如果密鑰被截獲,截獲方就可以解密並讀取密文)
3. A把密文c1發送給B;
4. B用密鑰k1解密,並讀取解密後的信息
5. B用密鑰k2加密一條信息,使之變成密文c2;
6. B把密鑰k2發送給A;
7. B把密文c2發送給A;
8. A用密鑰k2解密,並讀取解密後的信息
公開密鑰加密的過程是:
假設兩個用戶A,B進行通信,A先發送信息給B,然後B發送信息給A
1. B先產生一對密鑰k1a和k1b,前者用來加密,後者用來解密
2. B把密鑰k1a發送給A;(因為k1a只能用來加密,截獲方無法通過它來解密並讀取密文)
3. A用密鑰k1a加密一條信息,使之變成密文c1;
4. A把密文c1發送給B;
5. B用密鑰k1b解密,並讀取解密後的信息;
6. A產生一對密鑰k2a和k2b,前者用來加密,後者用來解密
7. A把密鑰k2a發送給B;
8. B用密鑰k2a加密一條信息,使之變成密文c2;
9. B把密文c2發送給A;
10. A用密鑰k2b解密,並讀取解密後的信息;
⑥ 對稱密鑰加密技術和非對稱密鑰加密技術的區別表現在哪裡
一個加密速度快 後者慢
密文長度等於或小於明文長度 後者大於明文長度 前者密鑰協定密鑰要交換存在大問題 前者用於加密解密不能用於數字簽名 後者 可以用於加密解密數字簽名
⑦ 簡述對稱密鑰密碼體制與非對稱密鑰密碼體制
對稱密鑰密碼:對稱密鑰加密又稱私鑰加密,即信息的發送方和接收方用一個密鑰去加密和解密數據。它的最大優勢是加/解密速度快, 適合於對大數據量進行加密,但密鑰管理困難。
非對稱密鑰密碼:非對稱密鑰加密又稱公鑰密鑰加密。它需要使用一對密鑰 來分別完成加密和解密操作,一個公開發布,即公開密鑰,另一 個由用戶自己秘密保存,即私用密鑰。信息發送者用公開密鑰去 加密,而信息接收者則用私用密鑰去解密。公鑰機制靈活,但加密和解密速度卻比對稱密鑰加密慢得多。
⑧ 對稱密鑰加密演算法與解密中採用不同的密鑰嗎
所謂對稱加密,說白了,就是加密和解密的密鑰是一樣的,或者說可以由一個推導出另外一個,因此速度很快,但是安全差一些。
因此,可以認為是採用相同的密鑰
⑨ 對稱加密方法和公開密鑰演算法有什麼異同
對稱加密演算法
是應用較早的加密演算法,技術成熟。在對稱加密演算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密演算法在分布式網路系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密演算法有DES、IDEA和AES。
公開密鑰演算法
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能打開加密文件。這里的「公鑰」是指可以對外公布的,「私鑰」則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網路上傳輸加密文件就很難把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的「公鑰」是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
RSA是Rivest、Shamir和Adleman提出來的基於數論非對稱性(公開鑰)加密演算法。大整數的素因子難分解是RSA演算法的基礎
⑩ 對稱密鑰加密技術的工作流程
SQL Server 2005一個令人激動的特性是內置了加密的功能。在這個新版的SQL Server中,開發團隊直接在T-SQL中加入了加密工具、證書創建和密鑰管理的功能。對於因為法律要求或商業需求而需要加密表中的數據的人來說,這是一個好禮物。對於猶豫是否用加密來保證數據安全的人來說,做決定也更容易了。這篇文章介紹新的加密功能是怎麼工作,怎麼使用。
TSQL現在支持使用對稱密鑰和非對稱密鑰,證書和密碼。本文介紹如何創建、管理和使用對稱密鑰和證書。
根據涉及的內容,我決定把本文分為三節:
第一部分:服務主密鑰和資料庫主密鑰
第二部分:證書
第三部分:對稱密鑰
1. 服務主密鑰和資料庫主密鑰
圖:SQL Server 2005加密層次結構
1.1 服務主密鑰
當第一次需要使用服務主密鑰對鏈接伺服器密碼、憑據或資料庫主密鑰進行加密時,便會自動生成服務主密鑰。服務主密鑰為 SQL Server 加密層次結構的根。服務主密鑰直接或間接地保護樹中的所有其他密鑰和機密內容。使用本地計算機密鑰和 Windows 數據保護 API 對服務主密鑰進行加密。該 API 使用從 SQL Server 服務帳戶的 Windows 憑據中派生出來的密鑰。
因為服務主密鑰是自動生成且由系統管理的,它只需要很少的管理。服務主密鑰可以通過BACKUP SERVICE MASTER KEY語句來備份,格式為:
BACKUP SERVICE MASTER KEY TO FILE = 'path_to_file' ENCRYPTION BY PASSWORD = 'password'
'path_to_file' 指定要將服務主密鑰導出到的文件的完整路徑(包括文件名)。此路徑可以是本地路徑,也可以是網路位置的 UNC 路徑。
'password' 用於對備份文件中的服務主密鑰進行加密的密碼。此密碼應通過復雜性檢查。
應當對服務主密鑰進行備份,並將其存儲在另外一個單獨的安全位置。創建該備份應該是首先在伺服器中執行的管理操作之一。
如果需要從備份文件中恢復服務主密鑰,使用RESTORE SERVICE MASTER KEY語句。
RESTORE SERVICE MASTER KEY FROM FILE = 'path_to_file'
DECRYPTION BY PASSWORD = 'password' [FORCE]
'path_to_file' 指定存儲服務主密鑰的完整路徑(包括文件名)。path_to_file 可以是本地路徑,也可以是網路位置的 UNC 路徑。
PASSWORD = 'password' 指定對從文件中導入的服務主密鑰進行解密時所需的密碼。
FORCE 即使存在數據丟失的風險,也要強制替換服務主密鑰。
註:如果你在使用RESTORE SERVICE MASTER KEY時不得不使用FORCE選項,你可能會遇到部分或全部加密數據丟失的情況。
如果你的服務主密鑰泄露了,或者你想更改SQL Server服務帳戶,你可以通過ALTERSERVICE MASTER KEY語句重新生成或者恢復服務主密鑰。它的用法請參考聯機叢書。
因為服務主密鑰是SQL Server自動生成的,所以,它沒有對應的CREATE和DROP語句。
1.2 資料庫主密鑰
正如每個SQL Server有一個服務主密鑰,每個資料庫有自己的資料庫主密鑰。資料庫主密鑰通過CREATE MASTER KEY語句生成:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
這個語句創建資料庫主密鑰,使用指定的密碼加密它,並保存在資料庫中。同時,資料庫主密鑰也被使用服務主密鑰加密之後保存在master資料庫中,這就是所謂的「自動密鑰管理」。這個特性我們待會再講。
象服務主密鑰一樣,你可以備份和恢復資料庫主密鑰。使用BACKUP MASTER KEY備份資料庫主密鑰。語法類似於備份服務主密鑰:
BACKUP MASTER KEY TO FILE = 'path_to_file'
ENCRYPTION BY PASSWORD = 'password'
恢復資料庫主密鑰使用RESTORE MASTER KEY語句,它需要使用DECRYPTION BY PASSWORD子句提供備份時指定的加密密碼,還要使用ENCRYPTION BY PASSWORD子句,SQL Server使用它提供的密碼來加密資料庫主密鑰之後保存在資料庫中。
RESTORE MASTER KEY FROM FILE = 'path_to_file'
DECRYPTION BY PASSWORD = 'password'
ENCRYPTION BY PASSWORD = 'password'
[ FORCE ]
同樣,FORCE表示你將忽略在解密過程中的錯誤。
建議你在創建了資料庫主密鑰之後立即備份資料庫主密鑰,並把它保存到一個安全的地方。同樣,使用FORCE語句可能導致已加密數據的丟失。
要刪除資料庫主密鑰,使用DROP MASTER KEY語句,它刪除當前資料庫的主密鑰。在執行之前,確定你在正確的資料庫上下文中。
1.3 自動密鑰管理
當創建資料庫主密鑰時,它被使用提供的密碼加密然後被保存到當前資料庫中。同時,它被使用服務主密鑰加密並保存到master資料庫中。這份保存的資料庫主密鑰允許伺服器在需要的時候解密資料庫主密鑰,這就是自動密鑰管理。沒有自動密鑰管理的話,你必須在每次使用證書或密鑰加密或解密數據(它需要使用資料庫主密鑰)時使用OPEN MASTER KEY語句同時提供加密的密碼。使用自動密鑰管理,你不需要執行OPEN MASTER KEY語句,也不需要提供密碼。
自動密鑰管理的缺點就是每個sysadmin角色的成員都能夠解密資料庫主密鑰。你可以通過ALTER MASTER KEY語句的DROP ENCRYPTION BY SERVICE MASTER KEY子句,從而不使用自動密鑰管理。ALTER MASTER KEY的使用方法參見聯機叢書。