加密演算法開源
1. 請推薦一款文件加密軟體,最好能附帶下載地址,謝謝~
TrueCrypt
TrueCrypt是一款免費,開源的支持Windows Vista/XP/2000 and Linux的綠色虛擬加密磁碟工具,可以在硬碟上創建一個或多個虛擬磁碟,所有虛擬磁碟上的文件都被自動加密,需要通過密碼來進行訪問。 TrueCrypt提供多種加密演算法,如AES-256、Blowfish(448-bitkey)、CAST5、Serpent、Triple DES等,其他特性還包括支持FAT32和NTFS分區、隱藏卷標和熱鍵啟動。
在使用TrueCrypt創建虛擬磁碟前,首先要選擇一個系統尚未佔用的盤符,例「X:」然後點擊「CreateVolume」按扭進入創建虛擬磁碟步驟(如圖一)。TrueCrypt允許用戶創建標准加密盤或是隱藏加密盤,在隨後的向導步驟中依次指定創建加密盤文件的位置(點擊「Select File」,然後輸入一個任意文件名,例如「Newdisk」,點擊「打開」)、加密演算法、虛擬加密磁碟的大小,同時為加密盤設置密碼,並選擇文件系統。最後,點擊「Format」格式化創建的虛擬磁碟並退出向導。
對於創建生成的虛擬磁碟文件,需要載入後方能使用。在 TrueCrypt主界面下方點擊「Select File」,找到前面創建生成的文件並打開,然後點擊「Mount」,並輸入正確的密碼載入該虛擬磁碟。此時,TrueCrypt界面會顯示新的X盤的一些信息,同時在「我的電腦」可以看到多出了一個「本地磁碟X」。將需要保護的文件全部移到X盤後,就可以關閉該虛擬磁碟了。使用右鍵單擊系統托盤區上 TrueCrypt的圖標,選擇「Dismount X:」,然後退出即可。
TrueCrypt除了創建虛擬磁碟外,沒有什麼多餘的附加功能。不過,它允許用戶選擇不同的加密演算法,這也可以說是軟體的一個亮點。
對於這款虛擬加密磁碟磁碟工具,迄今為止還沒有傳出可以通過特殊方法破解的消息,這也從側面反映出這款軟體具有相當不錯的安全性。當然,暴力破解仍是不得不考慮的問題,因此密碼的長度、復雜性也是這類軟體是否足夠安全的關鍵。
下載:
http://www.truecrypt.org/download/transient/2f353c9e4a/TrueCrypt%20Setup%206.1a.exe
語言包
http://www.truecrypt.org/download/thirdparty/localizations/langpack-zh-cn-1.0.0-for-truecrypt-6.1a.zip
2. crypto加密演算法庫支持哪些演算法
Crypto++ Library 是開源的、跨平台的C++, 提供豐富的加密解密演算法,包括:MD5,IDEA, Triple-DES,AES (Rijndael), RC6, MARS, Twofish, Serpent, RSA, DSA, SHA-1, SHA-2 等等。
支持的編譯器如下:
* MSVC 6.0 - 2010
* GCC 3.3 - 4.5
* C++Builder 2010
* Intel C++ Compiler 9 - 11.1
* Sun Studio 12u1, Express 11/08, Express 06/10
3. Linux裡面openssl作用是什麼
主要是用來安全的。
openssl命令 – 加密演算法
openSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。對應的命令就是openssl命令,用於加密演算法。《Linux就該這么學》
語法格式:openssl [參數]
舉例子:
用SHA1演算法計算文件file.txt的哈西值,輸出到stdout:
# openssl dgst -sha1 file.txt
4. U盤加密工具的TrueCrypt開源U盤加密
1 所有加密都是以分區為基礎的。
2 真加密,所有加密數據都是經過AES等加密演算法的運算後的結果,無法破解(窮舉法除外)。
3 能創建加密的「虛擬磁碟文件」(類似虛擬光碟機,大小可以自定義)
4 加密單個分區或整個硬碟。
5 加密Windows系統所在的分區(啟動Windows前需要密碼)
6 加密過程自動、實時、透明(使用加密文件或分區前輸入密碼,載入後就可以像使用一個普通分區一樣使用加密分區。)
7 提供兩級方案,以應對被強迫說出密碼的情況(如搶劫)。
7.1隱藏分區(覆蓋式密碼術,steganography)、隱藏操作系統
7.2 無法探測到TrueCrypt 加密分區(加密數據會被認為是隨機數據)
8加密演算法:AES-256、Serpent、Twofish。為取得更好加密效果,可以同時使用兩種或三種加密演算法。操作模式:XTS。
5. RSA加密原理
RSA加密是一種非對稱加密。可以在不直接傳遞密鑰的情況下,完成解密。這能夠確保信息的安全性,避免了直接傳遞密鑰所造成的被破解的風險。是由一對密鑰來進行加解密的過程,分別稱為公鑰和私鑰。公鑰加密--私鑰解密,私鑰加密--公鑰解密
在 整數 中, 離散對數 是一種基於 同餘 運算和 原根 的一種 對數 運算。而在實數中對數的定義 log b a 是指對於給定的 a 和 b ,有一個數 x ,使得 b x = a 。相同地在任何群 G 中可為所有整數 k 定義一個冪數為 b K ,而 離散對數 log b a 是指使得 b K = a 的整數 k 。
當3為17的 原根 時,我們會發現一個規律
對 正整數 n,歐拉函數是小於或等於n的正整數中與n 互質 的數的數目(因此φ(1)=1)。有以下幾個特點
服務端根據生成一個隨機數15,根據 3 15 mod 17 計算出6,服務端將6傳遞給客戶端,客戶端生成一個隨機數13,根據 3 13 mod 17 計算出12後,將12再傳回給服務端,客戶端收到服務端傳遞的6後,根據 6 13 mod 17 計算出 10 ,服務端收到客戶端傳遞的12後,根據 12 15 mod 17 計算出 10 ,我們會發現我們通過 迪菲赫爾曼密鑰交換 將 10 進行了加密傳遞
說明:
安全性:
除了 公鑰 用到 n 和 e ,其餘的4個數字是 不公開 的(p1、p2、φ(n)、d)
目前破解RSA得到的方式如下:
缺點
RSA加密 效率不高 ,因為是純粹的數學演算法,大數據不適合RSA加密,所以我們在加密大數據的時候,我們先用 對稱加密 演算法加密大數據得到 KEY ,然後再用 RSA 加密 KEY ,再把大數據和KEY一起進行傳遞
因為Mac系統內置了OpenSSL(開源加密庫),所以我們開源直接在終端進行RSA加密解密
生成RSA私鑰,密鑰名為private.pem,密鑰長度為1024bit
因為在iOS中是無法使用 .pem 文件進行加密和解密的,需要進行下面幾個步驟
生成一個10年期限的crt證書
crt證書格式轉換成der證書