| | 加密算法
一個加密係統s可以用數學符號描述如下:
s={p, c, k, e, d}
其中
p——明文空間,表示全體可能出現的明文集合,
c——密文空間,表示全體可能出現的密文集合,
k——密鑰空間,密鑰是加密算法中的可變參數,
e——加密算法,由一些公式、法則或程序構成,
d——解密算法,它是e的逆。
當給定密鑰kîk時,各符號之間有如下關係:
c = ek(p), 對明文p加密後得到密文c
p = dk(c) = dk(ek(p)), 對密文c解密後得明文p
如用e-1 表示e的逆,d-1表示d的逆,則有:
ek = dk-1且dk = ek-1
因此,加密設計主要是確定e,d,k。
rsa是rivest、shamir和adleman提出來的基於數論非對稱性(公開鑰)加密算法。大整數的素因子難分解是rsa算法的基礎。
rsa在國外早已進入實用階段,已研製出多種高速的rsa的專用芯片。儘管rsa的許多特性並不十分理想,但迫於信息安全的實際需要,許多重要的信息係統還是采用rsa作為基礎加密機製。從rsa提出不久,我國有關部門就一直對它進行研究。從應用的角度看,軟件實現的rsa已經開始用於計算機網絡加密,用來完成密鑰分配、數字簽名等功能。
除了rsa之外,還有des(數據加密標準)。儘管des公開了其加密算法並曾被美國列為“標準”,但很快被廢棄。加密技術又回歸到“算法保密”的傳統上。
常見加密算法
des(data encryption standard):數據加密標準,速度較快,適用於加密大量數據的場合;
3des(triple des):是基於des,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
rc2和 rc4:用變長密鑰對大量數據進行加密,比 des 快;
idea(international data encryption algorithm)國際數據加密算法,使用 128 位密鑰提供非常強的安全性;
rsa:由 rsa 公司發明,是一個支持變長密鑰的公共密鑰算法,需要加密的文件快的長度也是可變的;
dsa(digital signature algorithm):數字簽名算法,是一種標準的 dss(數字簽名標準);
aes(advanced encryption standard):高級加密標準,是下一代的加密算法標準,速度快,安全級別高,目前 aes 標準的一個實現是 rijndael 算法;
blowfish,它使用變長的密鑰,長度可達448位,運行速度很快;
其它算法,如elgamal、deffie-hellman、新型橢圓麯綫算法ecc等。 | | 數據加密的基本過程就是對原來為明文的文件或數據按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其衹能在輸入相應的密鑰之後才能顯示出本來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。
該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。
加密技術通常分為兩大類:“對稱式”和“非對稱式”。
對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“Session Key ”這種加密技術目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56Bits。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能打開加密文件。這裏的“公鑰”是指可以對外公佈的,“私鑰”則不能,衹能由持有人一個人知道。它的優越性就在這裏,因為對稱式的加密方法如果是在網絡上傳輸加密文件就很難把密鑰告訴對方,不管用什麽方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時衹要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
加密算法
一個加密係統S可以用數學符號描述如下:
S={P, C, K, E, D}
其中
P——明文空間,表示全體可能出現的明文集合,
C——密文空間,表示全體可能出現的密文集合,
K——密鑰空間,密鑰是加密算法中的可變參數,
E——加密算法,由一些公式、法則或程序構成,
D——解密算法,它是E的逆。
當給定密鑰kÎK時,各符號之間有如下關係:
C = Ek(P), 對明文P加密後得到密文C
P = Dk(C) = Dk(Ek(P)), 對密文C解密後得明文P
如用E-1 表示E的逆,D-1表示D的逆,則有:
Ek = Dk-1且Dk = Ek-1
因此,加密設計主要是確定E,D,K。
RSA是Rivest、Shamir和Adleman提出來的基於數論非對稱性(公開鑰)加密算法。大整數的素因子難分解是RSA算法的基礎。
RSA在國外早已進入實用階段,已研製出多種高速的RSA的專用芯片。儘管RSA的許多特性並不十分理想,但迫於信息安全的實際需要,許多重要的信息係統還是采用RSA作為基礎加密機製。從RSA提出不久,我國有關部門就一直對它進行研究。從應用的角度看,軟件實現的RSA已經開始用於計算機網絡加密,用來完成密鑰分配、數字簽名等功能。
除了RSA之外,還有DES(數據加密標準)。儘管DES公開了其加密算法並曾被美國列為“標準”,但很快被廢棄。加密技術又回歸到“算法保密”的傳統上。
常見加密算法
DES(Data Encryption Standard):對稱算法,數據加密標準,速度較快,適用於加密大量數據的場合;
3DES(Triple DES):是基於DES的對稱算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
RC2和 RC4:對稱算法,用變長密鑰對大量數據進行加密,比 DES 快;
IDEA(International Data Encryption Algorithm)國際數據加密算法,使用 128 位密鑰提供非常強的安全性;
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰算法,需要加密的文件塊的長度也是可變的,非對稱算法;
DSA(Digital Signature Algorithm):數字簽名算法,是一種標準的 DSS(數字簽名標準),嚴格來說不算加密算法;
AES(Advanced Encryption Standard):高級加密標準,對稱算法,是下一代的加密算法標準,速度快,安全級別高,目前 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算法詞條)
SSF33,SSF28,SCB2(SM1):國傢密碼局的隱蔽不公開的商用算法,在國內民用和商用的,除這些外,都不容許使用其他的;
其它算法,如ElGamal、Deffie-Hellman、新型橢圓麯綫算法ECC等。 | | - : Encryption algorithm A8
| | 信息加密 | 摘要算法 | 計算機 | 通信 | 電子技術 | 算法 | 加密 | 電腦 | 計算機技術 | 密碼學 | 計算機網絡 | 數據加密 | 密鑰 | 數學 | |
| | 對稱加密算法 | 數據加密算法 | 橢圓加密算法 | 不可逆加密算法 | 不對稱加密算法 | 對稱型加密算法 | 非對稱加密算法 | 國際數據加密算法 | hill加密算法 | aes加密算法 | Rijndael加密算法 | DES加密算法 | |
|
|
|