DES(Data Encryption Standard):對稱算法,數據加密標準,速度較快,適用於加密大量數據的場合;
3DES(Triple DES):是基於DES的對稱算法,對壹塊數據用三個不同的密鑰進行三次加密,強度更高;
RC2和RC4:對稱算法,用變長密鑰對大量數據進行加密,比 DES 快;
IDEA(International Data Encryption Algorithm)國際數據加密算法,使用 128 位密鑰提供非常強的安全性;
RSA:由 RSA 公司發明,是壹個支持變長密鑰的公***密鑰算法,需要加密的文件塊的長度也是可變的,非對稱算法; 算法如下:
首先, 找出三個數, p, q, r, 其中 p, q 是兩個相異的質數, r 是與 (p-1)(q-1) 互質的數...... p, q, r 這三個數便是 private key
接著, 找出 m, 使得 rm == 1 mod (p-1)(q-1)..... 這個 m 壹定存在, 因為 r 與 (p-1)(q-1) 互質, 用輾轉相除法就可以得到了..... 再來, 計算 n = pq....... m, n 這兩個數便是 public key
DSA(Digital Signature Algorithm):數字簽名算法,是壹種標準的 DSS(數字簽名標準),嚴格來說不算加密算法;
AES(Advanced Encryption Standard):高級加密標準,對稱算法,是下壹代的加密算法標準,速度快,安全級別高,在21世紀AES 標準的壹個實現是 Rijndael 算法;
BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快;
MD5:嚴格來說不算加密算法,只能說是摘要算法;
對MD5算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每壹分組又被劃分為16個32位子分組,經過了壹系列的處理後,算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成壹個128位散列值。
在MD5算法中,首先需要對信息進行填充,使其字節長度對512求余的結果等於448。因此,信息的字節長度(Bits Length)將被擴展至N*512+448,即N*64+56個字節(Bytes),N為壹個正整數。填充的方法如下,在信息的後面填充壹個1和無數個0,直到滿足上面的條件時才停止用0對信息的填充。然後,在這個結果後面附加壹個以64位二進制表示的填充前信息長度。經過這兩步的處理,如今信息字節長度=N*512+448+64=(N+1)*512,即長度恰好是512的整數倍。這樣做的原因是為滿足後面處理中對信息長度的要求。(可參見MD5算法詞條)
PKCS:The Public-Key Cryptography Standards (PKCS)是由美國RSA數據安全公司及其合作夥伴制定的壹組公鑰密碼學標準,其中包括證書申請、證書更新、證書作廢表發布、擴展證書內容以及數字簽名、數字信封的格式等方面的壹系列相關協議。
SSF33,SSF28,SCB2(SM1):國家密碼局的隱蔽不公開的商用算法,在國內民用和商用的,除這些都不容許使用外,其他的都可以使用;