導航:首頁 > 文檔加密 > 非對稱加密解決方案

非對稱加密解決方案

發布時間:2022-07-31 03:39:43

『壹』 https是如何工作的

加密(Cipher)

java 1.2時,引入JCR(java 加密擴展)系統,用來負責java中的密鑰和證書。

我們都知道,如果我們想要加密或解密一些信息,我們必須要有一個密鑰。這好比你想要開門或者鎖門,必須要有鑰匙一樣。

在java中,密鑰由KeyGenerator或KeyPairGenerator生成。前者用來生成對稱密鑰,後者用來生成非對稱密鑰。

上面這張圖片已經清楚的展示了HTTPS工作的流程。

1.[Server]生成一對密鑰:公鑰和私鑰,我們稱之為「KeyPub」,「KeyPri」
2.[Server]服務端將公鑰(KeyPub)發送到客戶端
3.[Client]生成一個對稱密鑰(姑且稱之為key2),然後用key2加密數據。
4.[Client]使用公鑰(KeyPub)加密key2.這時,key2是安全的,因為只有服務度有私鑰KeyPri
5.[Client]發送用key2加密後的信息及用KeyPub加密過的key2到服務端
6.[Server]服務端使用KeyPri解密得到加密過的key2,得到真正的key2
7.[Server]使用key2解密消息正文。這樣,數據就被安全的傳輸到了服務端。

結論

由於對稱加密比非對稱加密快,https決定使用對稱加密來加密數據,使用非對稱加密對稱加密生成的密鑰,以確保安全

『貳』 現有的對稱密匙有哪些各個優缺點

我認為加入第三方可以偵聽、插入、修改和中斷兩個合法實體的通信,光有認證不能確保安全必須實施通信加密,所述的認證包含各種網路認證技術。

發端和收端能夠相互驗證身份的前提是雙方都存儲有對方信息,採用可信方式將信息傳遞給對方來鑒別/證明身份。
支持驗證身份的演算法有很多,但演算法並不能驗證身份,演算法只是一種支持建立可信通道的手段。證明身份只能是信息,如:用戶名密碼,數字證書。有了這些數據並通過對稱演算法或非對成演算法甚至散列函數建立可信信道傳輸證明己方身份的數據向對方提供身份證明。

1 通過散列函數驗證身份的解決方案: MD5 challenge;
2 通過對稱演算法驗證身份的解決方案: 沒有標準的solution但完全可以實現;
3 通過非對稱演算法驗證身份的解決方案: PKI;

由於非對稱演算法可以保證通信各方的信息為私有,所以它作為最為廣泛的認證技術,而MD5 Challenge的認證技術由於實現簡單也被廣泛部署:在路由協議CHAP,Radious認證等場合可以見到,至於對稱演算法的認證,它與MD5 Challenge相比沒有優勢,因而很少採用但是並不意味著不能實現此功能。

『叄』 什麼是區塊鏈加密演算法

區塊鏈加密演算法(EncryptionAlgorithm)
非對稱加密演算法是一個函數,通過使用一個加密鑰匙,將原來的明文文件或數據轉化成一串不可讀的密文代碼。加密流程是不可逆的,只有持有對應的解密鑰匙才能將該加密信息解密成可閱讀的明文。加密使得私密數據可以在低風險的情況下,通過公共網路進行傳輸,並保護數據不被第三方竊取、閱讀。
區塊鏈技術的核心優勢是去中心化,能夠通過運用數據加密、時間戳、分布式共識和經濟激勵等手段,在節點無需互相信任的分布式系統中實現基於去中心化信用的點對點交易、協調與協作,從而為解決中心化機構普遍存在的高成本、低效率和數據存儲不安全等問題提供了解決方案。
區塊鏈的應用領域有數字貨幣、通證、金融、防偽溯源、隱私保護、供應鏈、娛樂等等,區塊鏈、比特幣的火爆,不少相關的top域名都被注冊,對域名行業產生了比較大的影響。

『肆』 重裝系統時忘記對原來用WINDOWS加密軟體加密的圖片文件夾解密,現在文件夾裡面的圖片無法預覽,請大家幫幫

NTFS是WinNT以上版本支持的一種提供安全性、可靠性的高級文件系統。在Windows2000和WindowsXP中,NTFS還可以提供諸如文件和文件夾許可權、加密、磁碟配額和壓縮這樣的高級功能。

一、加密文件或文件夾

步驟一:打開Windows資源管理器。

步驟二:右鍵單擊要加密的文件或文件夾,然後單擊「屬性」。

步驟三:在「常規」選項卡上,單擊「高級」。選中「加密內容以便保護數據」復選框

在加密過程中還要注意以下五點:

1.要打開「Windows 資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows 資源管理器」。

2.只可以加密NTFS分區卷上的文件和文件夾,FAT分區卷上的文件和文件夾無效。

3.被壓縮的文件或文件夾也可以加密。如果要加密一個壓縮文件或文件夾,則該文件或文件夾將會被解壓

4.無法加密標記為「系統」屬性的文件,並且位於systemroot目錄結構中的文件也無法加密。

5.在加密文件夾時,系統將詢問是否要同時加密它的子文件夾。如果選擇是,那它的子文件夾也會被加密,以後所有添加進文件夾中的文件和子文件夾都將在添加時自動加密。

二、解密文件或文件夾

步驟一:打開Windows資源管理器。

步驟二:右鍵單擊加密文件或文件夾,然後單擊「屬性」。

步驟三:在「常規」選項卡上,單擊「高級」。

步驟四:清除「加密內容以便保護數據」復選框。

同樣,我們在使用解密過程中要注意以下問題:

1.要打開「Windows資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows資源管理器」。

2.在對文件夾解密時,系統將詢問是否要同時將文件夾內的所有文件和子文件夾解密。如果選擇僅解密文件夾,則在要解密文件夾中的加密文件和子文件夾仍保持加密。但是,在已解密文件夾內創立的新文件和文件夾將不會被自動加密。

以上就是使用文件加、解密的方法!而在使用過程中我們也許會遇到以下一些問題,在此作以下說明:

1.高級按鈕不能用

原因:加密文件系統(EFS)只能處理NTFS文件系統卷上的文件和文件夾。如果試圖加密的文件或文件夾在FAT或FAT32卷上,則高級按鈕不會出現在該文件或文件夾的屬性中。

解決方案:

將卷轉換成帶轉換實用程序的NTFS卷。

打開命令提示符。鍵入:

Convert [drive]/fs:ntfs

(drive 是目標驅動器的驅動器號)

2.當打開加密文件時,顯示「拒絕訪問」消息

原因:加密文件系統(EFS)使用公鑰證書對文件加密,與該證書相關的私鑰在本計算機上不可用。

解決方案:

查找合適的證書的私鑰,並使用證書管理單元將私鑰導入計算機並在本機上使用。

3.用戶基於NTFS對文件加密,重裝系統後加密文件無法被訪問的問題的解決方案(注意:重裝Win2000/XP前一定要備份加密用戶的證書):

步驟一:以加密用戶登錄計算機。

步驟二:單擊「開始→運行」,鍵入「mmc」,然後單擊「確定」。

步驟三:在「控制台」菜單上,單擊「添加/刪除管理單元」,然後單擊「添加」。

步驟四:在「單獨管理單元」下,單擊「證書」,然後單擊「添加」。

步驟五:單擊「我的用戶賬戶」,然後單擊「完成」(如圖2,如果你加密用戶不是管理員就不會出現這個窗口,直接到下一步) 。

步驟六:單擊「關閉」,然後單擊「確定」。

步驟七:雙擊「證書——當前用戶」,雙擊「個人」,然後雙擊「證書」。

步驟八:單擊「預期目的」欄中顯示「加密文件」字樣的證書。

步驟九:右鍵單擊該證書,指向「所有任務」,然後單擊「導出」。

步驟十:按照證書導出向導的指示將證書及相關的私鑰以PFX文件格式導出(注意:推薦使用「導出私鑰」方式導出,這樣可以保證證書受密碼保護,以防別人盜用。另外,證書只能保存到你有讀寫許可權的目錄下)。

4.保存好證書

注意將PFX文件保存好。以後重裝系統之後無論在哪個用戶下只要雙擊這個證書文件,導入這個私人證書就可以訪問NTFS系統下由該證書的原用戶加密的文件夾(注意:使用備份恢復功能備份的NTFS分區上的加密文件夾是不能恢復到非NTFS分區的)。

最後要提一下,這個證書還可以實現下述用途:

(1)給予不同用戶訪問加密文件夾的許可權

將我的證書按「導出私鑰」方式導出,將該證書發給需要訪問這個文件夾的本機其他用戶。然後由他登錄,導入該證書,實現對這個文件夾的訪問。

(2)在其也WinXP機器上對用「備份恢復」程序備份的以前的加密文件夾的恢復訪問許可權

將加密文件夾用「備份恢復」程序備份,然後把生成的Backup.bkf連同這個證書拷貝到另外一台WinXP機器上,用「備份恢復」程序將它恢復出來(注意:只能恢復到NTFS分區)。然後導入證書,即可訪問恢復出來的文件了。

WindowsXP中的文件加密功能及其使用

作者:lvvl 來源:賽迪網安全社區

Windows XP文件加密功能強大並且簡單易用,因而許多用戶都使用它來保護自己的重要文件。但由於大部分用戶對該功能了解不足,在使用過程中經常出現問題,在本刊「電腦醫院」中我們也頻繁地收到讀者的求助信,為此,CHIP在這里將特意為您詳細介紹有關該功能的使用技巧。

微軟在Windows2000中內建了文件加密功能,該功能後來被移植到WinXP中。使用該功能,我們只需簡單地單擊幾下滑鼠就可以將指定的文件或者文件夾進行加密,而且在加密後我們依然可以和沒加密前一樣方便地訪問和使用它們,非常方便。而且加密後即使黑客侵入系統,完全掌握了文件的存取權,依然無法讀取這些文件與文件夾。

但簡單強大的文件加密功能也給許多用戶帶來了困擾。由於使用簡單,許多用戶都樂於使用它來保護自己的重要文件,但大部分用戶由於缺乏對該功能的真正了解,在使用時泄密、無法解密等問題頻繁發生,恰恰被加密的文件往往是重要的文件,影響非常大。為此,筆者特意整理了有關該功能的一些相關知識和使用技巧與您分享。

加密和解密文件與文件夾

Windows2000系列和WinXP專業版及Windows2003的用戶都可使用內建的文件加密功能,但前提是准備加密的文件與文件夾所在的磁碟必須採用NTFS文件系統。同時要注意,由於加密解密功能在啟動時還不能夠起作用,因此系統文件或在系統目錄中的文件是不能被加密的,如果操作系統安裝目錄中的文件被加密了,系統就無法啟動。另外,NTFS文件系統還提供一種壓縮後用戶可以和沒壓縮前一樣方便訪問文件與文件夾的文件壓縮功能,但該功能不能與文件加密功能同時使用,使用ZIP、RAR等其他壓縮軟體壓縮的文件不在此限。

加密時,只需使用滑鼠右鍵單擊要加密的文件或者文件夾,然後選擇「屬性」,在「屬性」對話框的「常規」選項卡上單擊「高級」按鈕,在「高級屬性」對話框上選中「加密內容以保護數據」復選框並確認即可對文件進行加密,如果加密的是文件夾,系統將進一步彈出「確認屬性更改」對話框要求您確認是加密選中的文件夾,還是加密選中的文件夾、子文件夾以及其中的文件。而解密的步驟與加密相反,您只需在「高級屬性」對話框中清除「加密內容以保護數據」復選框上的選中標記即可(如圖1),而在解密文件夾時將同樣彈出「確認屬性更改」對話框要求您確認解密操作應用的范圍。

圖1

加密後,用戶可以像使用普通文件一樣直接打開和編輯,又或者執行復制、粘貼等操作,而且用戶在加密文件夾內創建的新文件或從其他文件夾拷貝過來的文件都將自動被加密。被加密的文件和文件夾的名稱將默認顯示為淡綠色,如您的電腦上被加密的文件和文件夾的名稱不是彩色顯示,您可以單擊「我的電腦|工具|文件夾選項」,然後在「文件夾選項」對話框中單擊「查看」選項卡,選中「以彩色顯示加密或壓縮的NTFS文件」復選框即可。

賦予或撤銷其他用戶的許可權

如果需要,您可賦予其他用戶對加密文件的完全訪問許可權,但要明白,Windows所採用的是基於密鑰的加密方案,並且是在用戶第一次使用該功能時才為用戶創建用於加密的密鑰,因此您准備賦予許可權的用戶也必須曾經使用過系統的加密功能,否則將無法成功賦予對方許可權。Windows內建的文件加密功能只允許賦予其他用戶訪問加密文件的完全許可權,而不允許將加密文件夾的許可權賦予給其他用戶。
要賦予或撤銷其他用戶對加密文件的訪問許可權,可用滑鼠右鍵單擊已加密的文件,選擇「屬性」,在「屬性」對話框的「常規」選項卡上單擊「高級」按鈕,在「高級屬性」對話框中單擊「詳細信息」按鈕,即可通過「添加」和「刪除」按鈕添加或刪除其他可以訪問該文件的用戶。

備份密鑰

有許多讀者在系統發生故障或重新安裝系統以後,無法再訪問之前他們加密過的文件與文件夾而向本刊「電腦醫院」求助。但此時為時已晚,Windows內建的加密功能與用戶的賬戶關系非常密切,同時用於解密的用戶密鑰也存儲在系統內,任何導致用戶賬戶改變的操作和故障都有可能帶來災難,要避免這種情況的發生,您必須未雨綢繆,在使用加密功能後馬上備份加密密鑰。

備份密鑰的操作並不復雜,您只需單擊「開始|運行」,鍵入「certmgr.msc」打開證書管理器,在左邊窗口中依次單擊控制台,打開「證書-當前用戶」下的「個人」中的「證書」,然後在右邊窗口中用滑鼠右鍵單擊「預期目的」是「加密文件系統」的證書,指向「所有任務|導出」,系統將打開「證書導出向導」指引您進行操作,向導將詢問您是否需要導出私鑰,您應該選擇「導出私鑰」,並按照向導的要求輸入密碼保護導出的私鑰,然後選擇存儲導出後文件的位置即可完成。

建議您將導出的證書存儲在系統盤以外的其他磁碟上,以避免在使用磁碟鏡像之類的軟體恢復系統時將備份的證書覆蓋掉。備份後,當加密文件的賬戶出現問題或重新安裝了系統後需要訪問或解密以前加密的文件時,您只需要使用滑鼠右鍵單擊備份的證書,選擇「安裝PFX」,系統將彈出「證書導入向導」指引您的操作,您只需要鍵入當初導出證書時輸入用於保護備份證書的密碼,然後選擇讓向導「根據證書類型,自動選擇證書存儲區」即可完成,完成後就可以訪問以前的加密文件了。

指定恢復代理

如果您同時使用多個賬戶或者與其他用戶共用一台電腦,擔心更換賬戶或者其他賬戶加密的文件出問題,那麼您可以考慮指定一個文件故障恢復代理,恢復代理可以解密系統內所有通過內建加密功能加密的文件,一般用於網路管理員在網路上處理文件故障,並能使管理員在職員離職後解密職員加密的工作資料。在Win2000中,默認Administrator為恢復代理,而在WinXP上,如果需要恢復代理則必須自行指定。但需要注意,恢復代理只能夠解密指定恢復代理後被加密的文件,所以您應該在所有人開始使用加密功能前先指定恢復代理。

如果您所使用的電腦是企業網路中的,那麼您需要聯系管理員查詢是否已經制定了故障恢復策略,而如果您只是在使用一台單獨的電腦,那麼您可以按照下面的步驟指定恢復代理。首先,您需要使用准備指定為恢復代理的用戶賬戶登錄,申請一份故障恢復證書,該用戶必須是管理員或者擁有管理員許可權的管理組成員。對於企業網路上的電腦,登錄後可以通過上面介紹過的「證書管理器」,在「使用任務」中的「申請新證書」中向伺服器申請。而在個人電腦上,您必須單擊「開始|附件|命令提示符」,在命令行窗口中鍵入「cipher /r:c:\efs.txt」(efs.txt可以是任一文件),命令行窗口將提示您輸入保護證書的密碼並生成我們需要的證書。生成的證書一個是PFX文件,一個是CER文件,先使用滑鼠右鍵單擊PFX文件,選擇「安裝PFX」,通過彈出的「證書導入向導」選擇「根據證書類型,自動選擇證書存儲區」 導入證書。

接下來再單擊「開始|運行」,鍵入「gpedit.msc」打開組策略編輯器,在左邊控制台上依次單擊「本地計算機策略|計算機配置|Windows 設置|安全設置|公鑰策略|加密文件系統」,然後在右邊窗口中用滑鼠右鍵單擊選擇「添加數據恢復代理」(如圖2),然後在彈出的「添加數據恢復代理向導」中瀏覽並選擇剛才生成的證書中的CER文件,在鍵入保護證書的密碼後,向導將導入證書,完成指定恢復代理的工作。完成後,在以後需要的時候,只需使用被指定為恢復代理的賬戶登錄,就可以解密系統內所有在指定恢復代理後被加密的文件。

圖2

禁止加密功能

在多用戶共用電腦的環境下,我們往往通過將其他用戶指定為普通用戶許可權,限制他們使用某些功能,但由於普通用戶賬戶默認允許使用加密功能,因此在一些多用戶共用的電腦上經常會帶來一些困擾。如果擔心電腦上其他用戶亂加密磁碟上的文件,您可以設置特定的文件夾禁止被加密,也可以完全禁止文件加密功能。

如果您希望將某個文件夾設置為禁止加密,可以編輯一個文本文件,內容包括「[Encryption]」和「Disable=1」兩行,然後命名為「Desktop.ini」,將其放到不希望被加密的文件夾中即可。當其他用戶試圖加密該文件夾時,系統將提示用戶該文件夾加密功能被禁止。但需要注意,您只能使用這種方法禁止其他用戶加密該文件夾,文件夾中的子文件夾將不受保護。

如果需要,您也可以完全禁止文件加密功能,在Win2000中,只需使用Administrator登錄並運行「secpol.msc」打開策略編輯器,用滑鼠右鍵單擊左邊控制台上的「安全設置|公鑰策略|加密文件系統」,選擇「屬性」,在屬性對話框上清除「允許用戶使用文件加密系統(EFS)來加密文件」復選框上的選中標記,然後重新啟動電腦即可。而在WinXP上雖然也有相應的選項,但實際上並不能夠起作用,您需要通過編輯注冊表來禁止文件加密功能。首先單擊「開始|運行」,鍵入「regedit.exe」打開注冊表編輯器,依次單擊 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\EFS」,再用滑鼠右鍵單擊建立一個「DWORD」值,雙擊新建的值並賦值為「1」,關閉注冊表後重新啟動電腦。這樣,當其他用戶試圖使用文件加密功能時,系統將提示加密功能已被禁止(如圖3)。

圖3

防止泄密

由於對文件加密功能缺乏了解,許多讀者對該功能是否能夠真正發揮作用抱有懷疑態度,而另外一些用戶卻又因為過分地放心而導致泄密事件頻繁發生。首先,對於該功能的加密效果您大可放心,不必因為在您使用加密文件時不需要輸入密碼而懷疑加密效果,在加密後能夠透明地使用恰恰正是該功能的優點。雖然有一些第三方軟體曾經成功地破解使用該功能加密的文件,但這種軟體暫時對於Windows XP是無效的,而且即使在其他版本的Windows 操作系統上,也是可以避免的。

但您需要小心由於自己的失誤引起加密失效,也需要了解該功能的特點。Windows XP內建的文件加密功能與用戶的賬戶是聯系在一起的,換言之,如果您的Windows賬戶沒有保護好,密碼被其他人獲得,那麼對方也就可以像您一樣登錄系統訪問加密的文件。另外,當已加密的文件被拷貝或者移動到非NTFS文件系統磁碟上時,文件將被解密。在文件通過網路傳輸時,也是以明文方式進行傳輸的。這些您都需要清楚,避免錯誤操作引起泄密。而最主要的是加密後的文件並不是絕對安全的,雖然可以確保不被讀取,但卻無法避免被刪除。

此外,在加密文件的過程中,系統將把原來的文件存儲到緩沖區,然後在加密後將原文件刪除。這些被刪除掉的文件在系統上並不是不可能恢復的,通過磁碟文件恢復工具很有可能被恢復過來而造成泄密,此時您需要考慮通過其他磁碟安全工具,或者使用系統內建的「cipher」命令對磁碟上的已刪除文件進行清除,具體的步驟是,單擊「開始|附件|命令提示符」,在命令行窗口中鍵入「cipher /w C:\foldername」即可清除C盤foldername文件夾中已刪除文件殘留的碎片,如果不輸入文件夾名稱則將對整個磁碟進行清理。

疑難排解

當您的Windows登錄賬戶變更而無法訪問已加密的文件時,由於用戶的賬戶名稱或者密碼變更時將無法與原來的加密證書聯繫上,因而您需要考慮是否在使用其他賬戶時更改了當前賬戶的名稱或者密碼?又或者是管理員進行了這樣的操作?如果的確如此,您可以嘗試將自己的賬戶名稱和密碼更改成原來的,問題應該能夠解決。但需要注意,根據微軟的說法,改回賬戶名稱與密碼的方法在管理員賬戶上可能無效,而且如果您的賬戶並不是改變而是被刪除後重建,也就是說是一個全新的賬戶,那麼您只能夠求助於恢復代理或者導入備份的證書。

如果您已經重新格式化了硬碟、重新安裝了系統又或者使用尚未加密文件時的系統盤鏡像恢復了系統而導致無法訪問加密文件,那麼您只能夠通過導入自己的證書或者恢復代理的方法來解決問題,這時基本上已經沒有其他方法可以幫助您取迴文件。另外,Windows XP SP1版後使用了新的加密演算法,如果您加密時使用的是Windows XP SP1版本,那麼當您嘗試挽救數據時也應該使用該版本,或者未來的更新版本,否則在其他版本上亂試,加密文件可能會損毀。

系統安全 深入理解加密文件系統EFS

微軟在NTFS4.0及後續版本的文件系統中,捆綁了兩個功能強大的工具:壓縮文件系統和加密文件系統。這個選項在文件夾的屬性-高級裡面。是一個單選框。壓縮文件系統在這里就不多提了,不過有一點,可能有心的朋友注意得到,就是這兩個選項不可以同時選。這個原因很簡單,因為不論是加密文件還是壓縮文件,我們都是在改變文件,我們通過改變他們的讀碼框架來加密或者壓縮文件。這里可能有人要問,WinRAR為什麼可以及加密文件又壓縮文件。其實WinRAR加密的方法是在基於WinRAR這個文件壓縮系統,而不是基於文件本身。我們還是言歸正傳。

這裡面要提到的一點叫做加密方式。相信有些朋友對Alice和Bob這兩個名字非常熟悉,這兩個名字最早用於IBM出版的一本圖書中,用來解釋對稱加密和非對稱加密。對稱加密,簡單一點說就是加密所使用的密碼和解密所使用的密碼是同一個密碼。非對稱呢,加密使用的和解密是不同的密碼。這個不同的密碼,一個被稱為私鑰,另一個就是公鑰。從名字上面可以看出來,私鑰,是無論如何不會公開的,公鑰,則是發布出去的。

詳細解釋一下,熟悉非對稱加密的朋友可以跳過這一段。e.g.Alice要發送一份敏感數據給BOB,顯然需要加密。非對稱加密,使用兩個不同的密碼加密和解密。就是說,如果alice的公鑰和私鑰為一組密碼,分別是alice的公鑰和alice的私鑰。那麼,用alice公鑰加密的東西只有使用alice的私鑰可以解密,對應的,如果使用alice公鑰加密的東西,只有alice的私鑰可以解開。那麼對於bob也是一樣。如果我們採用對稱加密的方法,也就是加密和解密的過程使用的是一個密碼,那麼這個密碼是無論如何不能被第三方截獲的。互聯網路,可以截獲;電話,可以監聽;甚至當面交換,都可以被竊聽。所以這是對稱加密的一個重大缺陷。如果採用非對稱加密,alice和bob都不公開自己的私鑰,然後他們在交換信息前,互相交換公鑰。這樣,alice使用bob的公鑰加密alice要給bob的文件,這個使用bob公鑰加密過的文件,僅有bob的私鑰可以解開。而bob從來沒有公開過他的私鑰,所以,我們看到,這樣的加密,是安全的。這個信息加密解密,交換公鑰的過程,就是非對稱加密。

解釋過非對稱加密,我們也可以簡單的比較出兩者在安全性上的優越性。不過非對稱加密一個重要的缺陷,就是運算時間很長,對稱加密在工作效率上可能是非對稱加密的100-1000倍。所以微軟也是在看到這一點後,在EFS中集成了兩者的優點。EFS使用了對稱加密和非對稱加密結合的工作方式,即先生成一個字元串作為密鑰採用對稱加密方法加密文件,然後,再使用非對稱加密加密這個密鑰。這個密鑰具體位數我記不得了,大約在70位。這里出現一個問題,實際在操作系統中,公鑰和私鑰是怎麼獲得的?為什麼管理員可以解開所有用戶的加密文件?

依照微軟的白皮書中解釋,加密文件系統中的用戶證書的獲得,有兩種途徑,一個是從CA(CertificationAuthority)獲得,另一種是在企業級CA失效的時候由本機為自己頒發一個數字證書。這里需要解釋的是證書和密鑰的關系,證書是密鑰的載體,在證書中包含了密鑰。這里可能又有人要問,用戶的私鑰是存放在什麼地方?用戶的私鑰是通過另外一種驗證機制實現的,這個在系統層面,日後我會寫文章加以闡釋。除了這兩個密鑰,還有一個用於直接加密文件的密鑰,這個根據用戶自己的SID計算出來的,微軟沒有公開這方面的信息,還請有心人共同嘗試理解其中的工作原理。管理員之所以可以管理所有用戶的加密文件,是為了保證系統的穩定,如果每一個用戶的文件都只有創建者可以修改,那麼計算機可能因此陷入混亂的狀態。

近日聽聞有些軟體可以破解微軟的EFS,我本為之興奮,結果下載後研究了一下,這種軟體的工作原理是備份出管理員的帳戶信息,通過ERA(緊急恢復代理)實現加密文件的恢復。事實上,如果用戶不慎在重新安裝系統的時候忘記備份出相應的密鑰,那麼這個加密過的文件可能永遠打不開。這一點不難理解,因為每一次安裝操作系統,操作系統會隨即生成一個SID號,當然,如果用戶的人品足夠好,還是可能生成一樣的SID號的(開個玩笑)。關於備份管理員賬號和密碼,可以通過Windows2000及後續版本中內建的忘記密碼向導來幫助備份密碼。希望可以給大家一些幫助。贊同
12| 評論(8)

『伍』 什麼是AES對稱加密

AES加密標准又稱為高級加密標准Rijndael加密法,是美國國家標准技術研究所NIST旨在取代DES的21世紀的加密標准。AES的基本要求是,採用對稱分組密碼體制,密鑰長度可以為128、192或256位,分組長度128位,演算法應易在各種硬體和軟體上實現。1998年NIST開始AES第一輪分析、測試和徵集,共產生了15個候選演算法

『陸』 對稱加密和非對稱加密的 優缺點

密碼學中兩種常見的密碼演算法為對稱密碼演算法(單鑰密碼演算法)和非對稱密碼演算法(公鑰密碼演算法)。

對稱密碼演算法有時又叫傳統密碼演算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數對稱演算法中,加密解密密鑰是相同的。這些演算法也叫秘密密鑰演算法或單密鑰演算法,它要求發送者和接收者在安全通信之前,商定一個密鑰。對稱演算法的安全性依賴於密鑰,泄漏密鑰就意味著任何人都能對消息進行加密解密。只要通信需要保密,密鑰就必須保密。對稱演算法的加密和解密表示為:

Ek(M)=C

Dk(C)=M

對稱演算法可分為兩類。一次只對明文中的單個位(有時對位元組)運算的演算法稱為序列演算法或序列密碼。另一類演算法是對明文的一組位進行運算,這些位組稱為分組,相應的演算法稱為分組演算法或分組密碼。現代計算機密碼演算法的典型分組長度為64位――這個長度大到足以防止分析破譯,但又小到足以方便作用。

這種演算法具有如下的特性:

Dk(Ek(M))=M

常用的採用對稱密碼術的加密方案有5個組成部分(如圖所示)

l)明文:原始信息。

2)加密演算法:以密鑰為參數,對明文進行多種置換和轉換的規則和步驟,變換結果為密文。

3)密鑰:加密與解密演算法的參數,直接影響對明文進行變換的結果。

4)密文:對明文進行變換的結果。

5)解密演算法:加密演算法的逆變換,以密文為輸入、密鑰為參數,變換結果為明文。

對稱密碼術的優點在於效率高(加/解密速度能達到數十兆/秒或更多),演算法簡單,系統開銷小,適合加密大量數據。

盡管對稱密碼術有一些很好的特性,但它也存在著明顯的缺陷,包括:

l)進行安全通信前需要以安全方式進行密鑰交換。這一步驟,在某種情況下是可行的,但在某些情況下會非常困難,甚至無法實現。

2)規模復雜。舉例來說,A與B兩人之間的密鑰必須不同於A和C兩人之間的密鑰,否則給B的消息的安全性就會受到威脅。在有1000個用戶的團體中,A需要保持至少999個密鑰(更確切的說是1000個,如果她需要留一個密鑰給他自己加密數據)。對於該團體中的其它用戶,此種倩況同樣存在。這樣,這個團體一共需要將近50萬個不同的密鑰!推而廣之,n個用戶的團體需要N2/2個不同的密鑰。

通過應用基於對稱密碼的中心服務結構,上述問題有所緩解。在這個體系中,團體中的任何一個用戶與中心伺服器(通常稱作密鑰分配中心)共享一個密鑰。因而,需要存儲的密鑰數量基本上和團體的人數差不多,而且中心伺服器也可以為以前互相不認識的用戶充當「介紹人」。但是,這個與安全密切相關的中心伺服器必須隨時都是在線的,因為只要伺服器一掉線,用戶間的通信將不可能進行。這就意味著中心伺服器是整個通信成敗的關鍵和受攻擊的焦點,也意味著它還是一個龐大組織通信服務的「瓶頸」

非對稱密鑰演算法是指一個加密演算法的加密密鑰和解密密鑰是不一樣的,或者說不能由其中一個密鑰推導出另一個密鑰。1、加解密時採用的密鑰的差異:從上述對對稱密鑰演算法和非對稱密鑰演算法的描述中可看出,對稱密鑰加解密使用的同一個密鑰,或者能從加密密鑰很容易推出解密密鑰;②對稱密鑰演算法具有加密處理簡單,加解密速度快,密鑰較短,發展歷史悠久等特點,非對稱密鑰演算法具有加解密速度慢的特點,密鑰尺寸大,發展歷史較短等特點。

『柒』 什麼是非對稱加密體制如何用它們實現郵件加密與郵件簽名

你說的是RAS演算法吧。用一對密鑰來加密解密。數據發送方使用一個公開的密鑰加密明文成密文,數據解密方使用私鑰解密密文為明文。

1978年就出現了這種演算法,它是第一個既能用於數據加密 也能用於數字簽名的演算法。它易於理解和操作,也很流行。算 法的名字以發明者的名字命名:Ron Rivest, AdiShamir 和 Leonard Adleman。但RSA的安全性一直未能得到理論上的證明。

RSA的安全性依賴於大數分解。公鑰和私鑰都是兩個大素數 (大於 100個十進制位)的函數。據猜測,從一個密鑰和密文 推斷出明文的難度等同於分解兩個大素數的積。

密鑰對的產生:選擇兩個大素數,p 和q 。計算:n = p * q
然後隨機選擇加密密鑰e,要求 e 和 ( p - 1 ) * ( q - 1 )
互質.
最後,利用Euclid 演算法計算解密密鑰d, 滿足
e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )
其中n和d也要互質。數e和 n是公鑰,d是私鑰。
兩個素數p和q不再需要,應該丟棄,不要讓任何人知道。
加密信息 m(二進製表示)時,首先把m分成等長數據 塊 m1 ,m2,..., mi ,塊長s,其中 2^s <= n, s 盡可能的大。
對 應的密文是:
ci = mi^e ( mod n ) ( a )
解密時作如下計算:
mi = ci^d ( mod n ) ( b )
RSA 可用於數字簽名,方案是用 ( a ) 式簽名, ( b ) 式驗證。
具體操作時考慮到安全性和 m信息量較大等因素,一般是先作HASH 運算。

RSA 的安全性。
RSA的安全性依賴於大數分解,但是否等同於大數分解一直未能得到理
論上的證明,因為沒有證明破解RSA就一定需要作大數分解。假設存在
一種無須分解大數的演算法,那它肯定可以修改成為大數分解演算法。目前, RSA的一些變種演算法已被證明等價於大數分解。不管怎樣,分解n是最顯 然的攻擊方法。現在,人們已能分解140多個十進制位的大素數。因此, 模數n必須選大一些,因具體適用情況而定。

RSA的速度:
由於進行的都是大數計算,使得RSA最快的情況也比DES慢上100倍,無論是軟體還是硬體實現。速度一直是RSA的缺陷。一般來說只用於少量據加密。

RSA的選擇密文攻擊:
RSA在選擇密文攻擊面前很脆弱。一般攻擊者是將某一信息作一下偽裝
(Blind),讓擁有私鑰的實體簽署。然後,經過計算就可得到它所想要的信息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保 留了輸入的乘法結構:
( XM )^d = X^d *M^d mod n
前面已經提到,這個固有的問題來自於公鑰密碼系統的最有用的特徵 --每個人都能使用公鑰。但從演算法上無法解決這一問題,主要措施有兩條:一條是採用好的公鑰協議,保證工作過程中實體不對其他實體
任意產生的信息解密,不對自己一無所知的信息簽名;另一條是決不
對陌生人送來的隨機文檔簽名,簽名時首先使用One-Way HashFunction
對文檔作HASH處理,或同時使用不同的簽名演算法。在中提到了幾種不
同類型的攻擊方法。
RSA的公共模數攻擊。
若系統中共有一個模數,只是不同的人擁有不同的e和d,系統將是危險
的。最普遍的情況是同一信息用不同的公鑰加密,這些公鑰共模而且互
質,那末該信息無需私鑰就可得到恢復。設P為信息明文,兩個加密密鑰
為e1和e2,公共模數是n,則:
C1 = P^e1 mod n
C2 = P^e2 mod n
密碼分析者知道n、e1、e2、C1和C2,就能得到P。
因為e1和e2互質,故用Euclidean演算法能找到r和s,滿足:
r * e1 + s * e2 = 1
假設r為負數,需再用Euclidean演算法計算C1^(-1),則
( C1^(-1) )^(-r) * C2^s = P mod n

另外,還有其它幾種利用公共模數攻擊的方法。總之,如果知道給定模數的一對e和d,一是有利於攻擊者分解模數,一是有利於攻擊者計算出其它成對的e』和d』,而無需分解模數。解決辦法只有一個,那就是不要共享模數n。
RSA的小指數攻擊。 有一種提高RSA速度的建議是使公鑰e取較小的值,這樣會使加密變得易於實現,速度有所提高。但這樣作是不安全的,對付辦法就是e和d都取較大的值。
RSA演算法是第一個能同時用於加密和數字簽名的演算法,也易於理解和操作。RSA是被研究得最廣泛的公鑰演算法,從提出到現在已近二十年,經歷了各 種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
RSA的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難 度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性 能如何,而且密碼學界多數人士傾向於因子分解不是NPC問題。

RSA的缺點主要有:
A)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次 一密。
B)分組長度太大,為保證安全性,n 至少也要 600 bits 以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;
且隨著大數分解技術的發展,這個長度還在增加,不利於數據格式的標准化。
目前,SET(Secure Electronic Transaction)協議中要求CA採用2048比特長的密鑰,其他實體使用1024比特的密鑰。

『捌』 什麼是對稱加密什麼是非對稱加密

對稱加密

在對稱加密(或叫單密鑰加密)中,只有一個密鑰用來加密和解密信息。盡管單密鑰加密是一個簡單的過程,但是雙方都必須完全的相信對方,並都持有這個密鑰的備份。但要達到這種信任的級別並不是想像中的那麼簡單。當雙方試圖建立信任關系時可能一個安全破壞已經發生了。首先密鑰的傳輸就是一個重要問題,如果它被截取,那麼這個密鑰以及相關的重要信息就沒有什麼安全可言了。

但是,如果用戶要在公共介質 (如互聯網) 上傳遞信息,他需要一種方法來傳遞密鑰,當然物理的發送和接收密鑰是最安全的,但有時這是不可能的。一種解決方法就是通過電子郵件來發送,但這樣的信息很容易的被截取到,從而擊破了加密的目的。用戶不能加密包含密鑰的郵件,因為他們必須共享另一個用來加密含有密鑰郵件的密鑰。這種困境就產生了問題:如果對稱密鑰用它們自己來加密,那為什麼不直接用相同的方法在第一步就使用?一個解決方案就是用非對稱加密,我們將在本課的後面提到。

所有類型加密的一個主題就是破解。一種減少使用對稱加密所造成的威脅的反措施就是改變密鑰的規律性。然而,定期改變密鑰經常是困難的,尤其是你的公司里有很多用戶。另外,黑客可以使用字典程序,password sniffing來危及對稱密鑰的安全,或者通過搜翻辦公桌,錢包以及公文包。對稱加密也很容易被暴力攻擊的手段擊敗。

非對稱加密

非對稱加密在加密的過程中使用一對密鑰,而不像對稱加密只使用一個單獨的密鑰。一對密鑰中一個用於加密,另一個用來解密。如用A加密,則用B解密;如果用B加密,則要用A解密。

重要的概念是在這對密鑰中一個密鑰用來公用,另一個作為私有的密鑰;用來向外公布的叫做公鑰,另一半需要安全保護的是私鑰。非對稱加密的一個缺點就是加密的速度非常慢,因為需要強烈的數學運算程序。如果一個用戶需要使用非對稱加密,那麼即使比較少量的信息可以也要花上幾個小時的時間。

非對稱加密的另一個名稱叫公鑰加密。盡管私鑰和公鑰都有與數學相關的,但從公鑰中確定私鑰的值是非常困難的並且也是非常耗時的。在互聯網上通信,非對稱加密的密鑰管理是容易的因為公鑰可以任易的傳播,私鑰必須在用戶手中小心保護。

HASH加密把一些不同長度的信息轉化成雜亂的128位的編碼里,叫做HASH值。HASH加密用於不想對信息解密或讀取。使用這種方法解密在理論上是不可能的,是通過比較兩上實體的值是否一樣而不用告之其它信息。HASH加密別一種用途是簽名文件。它還可用於當你想讓別人檢查但不能復制信息的時候。

『玖』 密鑰管理的管理技術

1、對稱密鑰管理。對稱加密是基於共同保守秘密來實現的。採用對稱加密技術的貿易雙方必須要保證採用的是相同的密鑰,要保證彼此密鑰的交換是安全可靠的,同時還要設定防止密鑰泄密和更改密鑰的程序。這樣,對稱密鑰的管理和分發工作將變成一件潛在危險的和繁瑣的過程。通過公開密鑰加密技術實現對稱密鑰的管理使相應的管理變得簡單和更加安全,同時還解決了純對稱密鑰模式中存在的可靠性問題和鑒別問題。 貿易方可以為每次交換的信息(如每次的EDI交換)生成唯一一把對稱密鑰並用公開密鑰對該密鑰進行加密,然後再將加密後的密鑰和用該密鑰加密的信息(如EDI交換)一起發送給相應的貿易方。由於對每次信息交換都對應生成了唯一一把密鑰,因此各貿易方就不再需要對密鑰進行維護和擔心密鑰的泄露或過期。這種方式的另一優點是,即使泄露了一把密鑰也只將影響一筆交易,而不會影響到貿易雙方之間所有的交易關系。這種方式還提供了貿易夥伴間發布對稱密鑰的一種安全途徑。
2、公開密鑰管理/數字證書。貿易夥伴間可以使用數字證書(公開密鑰證書)來交換公開密鑰。國際電信聯盟(ITU)制定的標准X.509,對數字證書進行了定義該標准等同於國際標准化組織(ISO)與國際電工委員會(IEC)聯合發布的ISO/IEC 9594-8:195標准。數字證書通常包含有唯一標識證書所有者(即貿易方)的名稱、唯一標識證書發布者的名稱、證書所有者的公開密鑰、證書發布者的數字簽名、證書的有效期及證書的序列號等。證書發布者一般稱為證書管理機構(CA),它是貿易各方都信賴的機構。數字證書能夠起到標識貿易方的作用,是目前電子商務廣泛採用的技術之一。
3、密鑰管理相關的標准規范。目前國際有關的標准化機構都著手制定關於密鑰管理的技術標准規范。ISO與IEC下屬的信息技術委員會(JTC1)已起草了關於密鑰管理的國際標准規范。該規范主要由三部分組成:一是密鑰管理框架;二是採用對稱技術的機制;三是採用非對稱技術的機制。該規范現已進入到國際標准草案表決階段,並將很快成為正式的國際標准。
數字簽名
數字簽名是公開密鑰加密技術的另一類應用。它的主要方式是:報文的發送方從報文文本中生成一個128位的散列值(或報文摘要)。發送方用自己的專用密鑰對這個散列值進行加密來形成發送方的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起發送給報文的接收方。報文的接收方首先從接收到的原始報文中計算出128位的散列值(或報文摘要),接著再用發送方的公開密鑰來對報文附加的數字簽名進行解密。如果兩個散列值相同,那麼接收方就能確認該數字簽名是發送方的。通過數字簽名能夠實現對原始報文的鑒別和不可抵賴性。
ISO/IEC JTC1已在起草有關的國際標准規范。該標準的初步題目是「信息技術安全技術帶附件的數字簽名方案」,它由概述和基於身份的機制兩部分構成。 密碼學簡介 據記載,公元前400年,古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間,德國軍方啟用「恩尼格瑪」密碼機,密碼學在戰爭中起著非常重要的作用。
隨著信息化和數字化社會的發展,人們對信息安全和保密的重要性認識不斷提高,於是在1997年,美國國家標准局公布實施了「美國數據加密標准(DES)」,民間力量開始全面介入密碼學的研究和應用中,採用的加密演算法有DES、RSA、SHA等。隨著對加密強度需求的不斷提高,近期又出現了AES、ECC等。
使用密碼學可以達到以下目的:
保密性:防止用戶的標識或數據被讀取。
數據完整性:防止數據被更改。
身份驗證:確保數據發自特定的一方。
二. 加密演算法介紹根據密鑰類型不同將現代密碼技術分為兩類:對稱加密演算法(秘密鑰匙加密)和非對稱加密演算法(公開密鑰加密)。
對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,並保持鑰匙的秘密。
非對稱密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。 在對稱加密演算法中,只有一個密鑰用來加密和解密信息,即加密和解密採用相同的密鑰。常用的演算法包括:DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合。
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;
2000年10月,NIST(美國國家標准和技術協會)宣布通過從15種侯選演算法中選出的一項新的密匙加密標准。Rijndael被選中成為將來的AES。Rijndael是在 1999 年下半年,由研究員Joan Daemen 和 Vincent Rijmen 創建的。AES 正日益成為加密各種形式的電子數據的實際標准。
美國標准與技術研究院 (NIST) 於 2002 年 5 月 26 日制定了新的高級加密標准(AES) 規范。
演算法原理 AES 演算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES 使用幾種不同的方法來執行排列和置換運算。
AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入數據。
AES與3DES的比較 演算法名稱 演算法類型 密鑰長度 速度 解密時間(建設機器每秒嘗試255個密鑰) 資源消耗 AES 對稱block密碼 128、192、256位 高 1490000億年 低 3DES 對稱feistel密碼 112位或168位 低 46億年 中 常見的非對稱加密演算法如下:
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
在1976年,由於對稱加密演算法已經不能滿足需要,Diffie 和Hellman發表了一篇叫《密碼學新動向》的文章,介紹了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA演算法。
隨著分解大整數方法的進步及完善、計算機速度的提高以及計算機網路的發展,為了保障數據的安全,RSA的密鑰需要不斷增加,但是,密鑰長度的增加導致了其加解密的速度大為降低,硬體實現也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,因此需要一種新的演算法來代替RSA。
1985年N.Koblitz和Miller提出將橢圓曲線用於密碼演算法,根據是有限域上的橢圓曲線上的點群中的離散對數問題ECDLP。ECDLP是比因子分解問題更難的問題,它是指數級的難度。
原理——橢圓曲線上的難題 橢圓曲線上離散對數問題ECDLP定義如下:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,將橢圓曲線中的乘法運算與離散對數中的模冪運算相對應,我們就可以建立基於橢圓曲線的對應的密碼體制。
例如,對應Diffie-Hellman公鑰系統,我們可以通過如下方式在橢圓曲線上予以實現:在E上選取生成元P,要求由P產生的群元素足夠多,通信雙方A和B分別選取a和b,a和b 予以保密,但將aP和bP公開,A和B間通信用的密鑰為abP,這是第三者無法得知的。
對應ELGamal密碼系統可以採用如下的方式在橢圓曲線上予以實現:
將明文m嵌入到E上Pm點,選一點B∈E,每一用戶都選一整數a,0<a<N,N為階數已知,a保密,aB公開。欲向A送m,可送去下面一對數偶:[kB,Pm+k(aAB)],k是隨機產生的整數。A可以從kB求得k(aAB)。通過:Pm+k(aAB)- k(aAB)=Pm恢復Pm。同樣對應DSA,考慮如下等式:
K=kG [其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數]
不難發現,給定k和G,根據加法法則,計算K很容易;但給定K和G,求k就相對困難了。
這就是橢圓曲線加密演算法採用的難題。我們把點G稱為基點(base point),k(k<n,n為基點G的階)稱為私有密鑰(privte key),K稱為公開密鑰(public key)。
ECC與RSA的比較 ECC和RSA相比,在許多方面都有對絕對的優勢,主要體現在以下方面:
抗攻擊性強。相同的密鑰長度,其抗攻擊性要強很多倍。
計算量小,處理速度快。ECC總的速度比RSA、DSA要快得多。
存儲空間佔用小。ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多,意味著它所佔的存貯空間要小得多。這對於加密演算法在IC卡上的應用具有特別重要的意義。
帶寬要求低。當對長消息進行加解密時,三類密碼系統有相同的帶寬要求,但應用於短消息時ECC帶寬要求卻低得多。帶寬要求低使ECC在無線網路領域具有廣泛的應用前景。
ECC的這些特點使它必將取代RSA,成為通用的公鑰加密演算法。比如SET協議的制定者已把它作為下一代SET協議中預設的公鑰密碼演算法。
下面兩張表示是RSA和ECC的安全性和速度的比較。 攻破時間(MIPS年) RSA/DSA(密鑰長度) ECC密鑰長度 RSA/ECC密鑰長度比 10 512 106 5:1 10 768 132 6:1 10 1024 160 7:1 10 2048 210 10:1 10 21000 600 35:1 RSA和ECC安全模長得比較 功能 Security Builder 1.2 BSAFE 3.0 163位ECC(ms) 1,023位RSA(ms) 密鑰對生成 3.8 4,708.3 簽名 2.1(ECNRA) 228.4 3.0(ECDSA) 認證 9.9(ECNRA) 12.7 10.7(ECDSA) Diffie—Hellman密鑰交換 7.3 1,654.0 RSA和ECC速度比較 散列演算法也叫哈希演算法,英文是Hash ,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列演算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。
HASH主要用於信息安全領域中加密演算法,它把一些不同長度的信息轉化成雜亂的128位的編碼,這些編碼值叫做HASH值. 也可以說,hash就是找到一種數據內容和數據存放地址之間的映射關系散列是信息的提煉,通常其長度要比信息小得多,且為一個固定長度。加密性強的散列一定是不可逆的,這就意味著通過散列結果,無法推出任何部分的原始信息。任何輸入信息的變化,哪怕僅一位,都將導致散列結果的明顯變化,這稱之為雪崩效應。散列還應該是防沖突的,即找不出具有相同散列結果的兩條信息。具有這些特性的散列結果就可以用於驗證信息是否被修改。
單向散列函數一般用於產生消息摘要,密鑰加密等,常見的有:
MD5(Message Digest Algorithm 5):是RSA數據安全公司開發的一種單向散列演算法。
SHA(Secure Hash Algorithm):可以對任意長度的數據運算生成一個160位的數值;
在1993年,安全散列演算法(SHA)由美國國家標准和技術協會(NIST)提出,並作為聯邦信息處理標准(FIPS PUB 180)公布;1995年又發布了一個修訂版FIPS PUB 180-1,通常稱之為SHA-1。SHA-1是基於MD4演算法的,並且它的設計在很大程度上是模仿MD4的。現在已成為公認的最安全的散列演算法之一,並被廣泛使用。
原理 SHA-1是一種數據加密演算法,該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。
單向散列函數的安全性在於其產生散列值的操作過程具有較強的單向性。如果在輸入序列中嵌入密碼,那麼任何人在不知道密碼的情況下都不能產生正確的散列值,從而保證了其安全性。SHA將輸入流按照每塊512位(64個位元組)進行分塊,並產生20個位元組的被稱為信息認證代碼或信息摘要的輸出。
該演算法輸入報文的最大長度不超過264位,產生的輸出是一個160位的報文摘要。輸入是按512 位的分組進行處理的。SHA-1是不可逆的、防沖突,並具有良好的雪崩效應。
通過散列演算法可實現數字簽名實現,數字簽名的原理是將要傳送的明文通過一種函數運算(Hash)轉換成報文摘要(不同的明文對應不同的報文摘要),報文摘要加密後與明文一起傳送給接受方,接受方將接受的明文產生新的報文摘要與發送方的發來報文摘要解密比較,比較結果一致表示明文未被改動,如果不一致表示明文已被篡改。
MAC (信息認證代碼)就是一個散列結果,其中部分輸入信息是密碼,只有知道這個密碼的參與者才能再次計算和驗證MAC碼的合法性。MAC的產生參見下圖。 輸入信息 密碼 散列函數 信息認證代碼 SHA-1與MD5的比較 因為二者均由MD4導出,SHA-1和MD5彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:
對強行供給的安全性:最顯著和最重要的區別是SHA-1摘要比MD5摘要長32 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對MD5是2數量級的操作,而對SHA-1則是2數量級的操作。這樣,SHA-1對強行攻擊有更大的強度。
對密碼分析的安全性:由於MD5的設計,易受密碼分析的攻擊,SHA-1顯得不易受這樣的攻擊。
速度:在相同的硬體上,SHA-1的運行速度比MD5慢。 對稱與非對稱演算法比較
以上綜述了兩種加密方法的原理,總體來說主要有下面幾個方面的不同:
一、 在管理方面:公鑰密碼演算法只需要較少的資源就可以實現目的,在密鑰的分配上,兩者之間相差一個指數級別(一個是n一個是n)。所以私鑰密碼演算法不適應廣域網的使用,而且更重要的一點是它不支持數字簽名。
二、 在安全方面:由於公鑰密碼演算法基於未解決的數學難題,在破解上幾乎不可能。對於私鑰密碼演算法,到了AES雖說從理論來說是不可能破解的,但從計算機的發展角度來看。公鑰更具有優越性。
三、 從速度上來看:AES的軟體實現速度已經達到了每秒數兆或數十兆比特。是公鑰的100倍,如果用硬體來實現的話這個比值將擴大到1000倍。
加密演算法的選擇 前面的章節已經介紹了對稱解密演算法和非對稱加密演算法,有很多人疑惑:那我們在實際使用的過程中究竟該使用哪一種比較好呢?
我們應該根據自己的使用特點來確定,由於非對稱加密演算法的運行速度比對稱加密演算法的速度慢很多,當我們需要加密大量的數據時,建議採用對稱加密演算法,提高加解密速度。
對稱加密演算法不能實現簽名,因此簽名只能非對稱演算法。
由於對稱加密演算法的密鑰管理是一個復雜的過程,密鑰的管理直接決定著他的安全性,因此當數據量很小時,我們可以考慮採用非對稱加密演算法。
在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演算法管理對稱演算法的密鑰,然後用對稱加密演算法加密數據,這樣我們就集成了兩類加密演算法的優點,既實現了加密速度快的優點,又實現了安全方便管理密鑰的優點。
如果在選定了加密演算法後,那採用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議採用1024位的數字,ECC建議採用160位,AES採用128為即可。
密碼學在現代的應用, 隨著密碼學商業應用的普及,公鑰密碼學受到前所未有的重視。除傳統的密碼應用系統外,PKI系統以公鑰密碼技術為主,提供加密、簽名、認證、密鑰管理、分配等功能。
保密通信:保密通信是密碼學產生的動因。使用公私鑰密碼體制進行保密通信時,信息接收者只有知道對應的密鑰才可以解密該信息。
數字簽名:數字簽名技術可以代替傳統的手寫簽名,而且從安全的角度考慮,數字簽名具有很好的防偽造功能。在政府機關、軍事領域、商業領域有廣泛的應用環境。
秘密共享:秘密共享技術是指將一個秘密信息利用密碼技術分拆成n個稱為共享因子的信息,分發給n個成員,只有k(k≤n)個合法成員的共享因子才可以恢復該秘密信息,其中任何一個或m(m≤k)個成員合作都不知道該秘密信息。利用秘密共享技術可以控制任何需要多個人共同控制的秘密信息、命令等。
認證功能:在公開的信道上進行敏感信息的傳輸,採用簽名技術實現對消息的真實性、完整性進行驗證,通過驗證公鑰證書實現對通信主體的身份驗證。
密鑰管理:密鑰是保密系統中更為脆弱而重要的環節,公鑰密碼體制是解決密鑰管理工作的有力工具;利用公鑰密碼體制進行密鑰協商和產生,保密通信雙方不需要事先共享秘密信息;利用公鑰密碼體制進行密鑰分發、保護、密鑰託管、密鑰恢復等。
基於公鑰密碼體制可以實現以上通用功能以外,還可以設計實現以下的系統:安全電子商務系統、電子現金系統、電子選舉系統、電子招投標系統、電子彩票系統等。
公鑰密碼體制的產生是密碼學由傳統的政府、軍事等應用領域走向商用、民用的基礎,同時互聯網、電子商務的發展為密碼學的發展開辟了更為廣闊的前景。
加密演算法的未來 隨著計算方法的改進,計算機運行速度的加快,網路的發展,越來越多的演算法被破解。
在2004年國際密碼學會議(Crypto』2004)上,來自中國山東大學的王小雲教授做的破譯MD5、HAVAL-128、MD4和RIPEMD演算法的報告,令在場的國際頂尖密碼學專家都為之震驚,意味著這些演算法將從應用中淘汰。隨後,SHA-1也被宣告被破解。
歷史上有三次對DES有影響的攻擊實驗。1997年,利用當時各國 7萬台計算機,歷時96天破解了DES的密鑰。1998年,電子邊境基金會(EFF)用25萬美元製造的專用計算機,用56小時破解了DES的密鑰。1999年,EFF用22小時15分完成了破解工作。因此。曾經有過卓越貢獻的DES也不能滿足我們日益增長的需求了。
最近,一組研究人員成功的把一個512位的整數分解因子,宣告了RSA的破解。
我們說數據的安全是相對的,可以說在一定時期一定條件下是安全的,隨著硬體和網路的發展,或者是另一個王小雲的出現,目前的常用加密演算法都有可能在短時間內被破解,那時我們不得不使用更長的密鑰或更加先進的演算法,才能保證數據的安全,因此加密演算法依然需要不斷發展和完善,提供更高的加密安全強度和運算速度。
縱觀這兩種演算法一個從DES到3DES再到AES,一個從RSA到ECC。其發展角度無不是從密鑰的簡單性,成本的低廉性,管理的簡易性,演算法的復雜性,保密的安全性以及計算的快速性這幾個方面去考慮。因此,未來演算法的發展也必定是從這幾個角度出發的,而且在實際操作中往往把這兩種演算法結合起來,也需將來一種集兩種演算法優點於一身的新型演算法將會出現,到那個時候,電子商務的實現必將更加的快捷和安全。

閱讀全文

與非對稱加密解決方案相關的資料

熱點內容
alpinelinux 瀏覽:144
手機端app的掃碼功能在哪裡 瀏覽:225
少兒編程中小班英語教案 瀏覽:442
鎖屏密碼加密手機怎麼解除 瀏覽:203
linuxlostfound 瀏覽:132
征途伺服器ip地址 瀏覽:328
git提交代碼命令行 瀏覽:163
什麼叫瀏覽器伺服器結構 瀏覽:155
於謙聊天哪個app 瀏覽:447
小鵬汽車nlp演算法工程師薪資 瀏覽:879
代碼加密與隱藏 瀏覽:647
fordfulkerson演算法 瀏覽:350
京東熱app在哪裡可以下載 瀏覽:874
彩報圖書app哪個好 瀏覽:301
新君威20壓縮比 瀏覽:186
手機php整站 瀏覽:915
windows路由跳轉命令 瀏覽:472
量子遺傳演算法程序 瀏覽:222
各編程語言自帶軟體庫 瀏覽:184
編程最少學習多少 瀏覽:403