密碼學(xué)基礎(chǔ)(一)常見密碼算法分類

微信公眾號布客說
布客說
對稱算法是指加密秘鑰和解密秘鑰相同的密碼算法,又稱為秘密秘鑰算法或單密鑰算法。該算法又分為分組密碼算法(Block cipher)和流密碼算法(Stream cipher)。

密碼算法主要分為三類:對稱密碼算法、非對稱密碼算法、摘要算法。

一、對稱密碼算法(Symmetric-key Algorithm)

對稱算法是指加密秘鑰和解密秘鑰相同的密碼算法,又稱為秘密秘鑰算法或單密鑰算法。

該算法又分為分組密碼算法(Block cipher)和流密碼算法(Stream cipher)。

分組密碼算法

又稱塊加密算法

加密步驟一:將明文拆分為N個固定長度的明文塊

加密步驟二:用相同的秘鑰和算法對每個明文塊加密得到N個等長的密文塊

加密步驟三:然后將N個密文塊按照順序組合起來得到密文

流密碼算法

又稱序列密碼算法

加密:每次只加密一位或一字節(jié)明文

解密:每次只解密一位或一字節(jié)密文

常見的分組密碼算法包括AES、SM1(國密)、SM4(國密)、DES、3DES、IDEA、RC2等;常見的流密碼算法包括RC4等。

AES:目前安全強(qiáng)度較高、應(yīng)用范圍較廣的對稱加密算法

SM1:國密,采用硬件實(shí)現(xiàn)

SM4:國密,可使用軟件實(shí)現(xiàn)

DES/3DES:已被淘汰或逐步淘汰的常用對稱加密算法

二、非對稱密碼算法(Asymmetric-key Algorithm)

非對稱算法是指加密秘鑰和解密秘鑰不同的密碼算法,又稱為公開密碼算法或公鑰算法,該算法使用一個秘鑰進(jìn)行加密,用另外一個秘鑰進(jìn)行解密。

加密秘鑰可以公開,又稱為公鑰

解密秘鑰必須保密,又稱為私鑰

常見非對稱算法包括RSA、SM2(國密)、DH、DSA、ECDSA、ECC等。

三、摘要算法(Digest Algorithm)

摘要算法是指把任意長度的輸入消息數(shù)據(jù)轉(zhuǎn)化為固定長度的輸出數(shù)據(jù)的一種密碼算法,又稱為散列函數(shù)、哈希函數(shù)、雜湊函數(shù)、單向函數(shù)等。

摘要算法所產(chǎn)生的固定長度的輸出數(shù)據(jù)稱為摘要值、散列值或哈希值,摘要算法無秘鑰。

摘要算法通常用來做數(shù)據(jù)完整性的判定,即對數(shù)據(jù)進(jìn)行哈希計(jì)算然后比較摘要值是否一致。

摘要算法主要分為三大類:MD(Message Digest,消息摘要算法)、SHA-1(Secure Hash Algorithm,安全散列算法)和MAC(Message Authentication Code,消息認(rèn)證碼算法);另國密標(biāo)準(zhǔn)SM3也屬于摘要算法。

MD系列主要包括MD2、MD4、MD5

SHA系列主要包括SHA-1、SHA-2系列(SHA-1的衍生算法,包含SHA-224、SHA-256、SHA-384、SHA-512)

MAC系列主要包括HmacMD5、HmacSHA1、HmacSHA256、HmacSHA384和HmacSHA512算法

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論