3DES算法密鑰長(cháng)度說(shuō)明 3DES加密算法作為經(jīng)典的對稱(chēng)加密算法,已經(jīng)廣泛應用于各安全相關(guān)行業(yè)的數據加解密與身份認證環(huán)節之中,本文主要針對用戶(hù)使用我司加密產(chǎn)品中產(chǎn)生的密鑰長(cháng)度疑問(wèn)給予解答。 在介紹3DES算法之前,我們先簡(jiǎn)述DES算法。3DES和DES算法均屬于分組加密算法,即加密前將明文按照8字節長(cháng)度進(jìn)行順序分組(若最后一組數據長(cháng)度不足8字節,就進(jìn)行填充處理)。例如:若明文為16字節,則將其前8字節作為明文數據塊1,后8字節作為明文數據塊2。加密時(shí)使用密鑰(長(cháng)度為8字節)依次對數據塊1和數據塊2進(jìn)行獨立的DES加密運算,分別生成密文數據塊1和密文數據塊2,最終將兩個(gè)密文數據塊順序拼接在一起,至此完成DES加密運算。 3DES算法顧名思義,就是3重DES加密,通俗的講就是將明文數據塊進(jìn)行了3次DES運算,安全強度比DES更高。此處僅以8字節明文數據進(jìn)行舉例說(shuō)明。3DES算法將24字節密鑰以8字節長(cháng)度進(jìn)行了分組,前八字節為KEY1,中間8字節為KEY2,最后8字節為KEY3。加密的時(shí)候,使用KEY1對明文數據塊1進(jìn)行DES加密得到C1,使用KEY2對C1進(jìn)行DES解密得到C2,再用KEY3對C2進(jìn)行DES加密得到C3。解密的流程與之相反,先用KEY3對C3進(jìn)行DES解密得到M3,再用KEY2對M3進(jìn)行DES加密得到M2,最后用KEY1對M2進(jìn)行DES解密得到M1。 可以看出,3DES算法的密鑰長(cháng)度雖然為24字節,但加解密運算的時(shí)候,也是拆分為8字節為一組進(jìn)行DES運算的。我司的加密芯片或者加密狗中3DES密鑰長(cháng)度一般設置為16字節,這是因為將KEY3設置與KEY1相等的原因,但實(shí)際運算的時(shí)候,和國際通用的3DES加密算法流程一致,所以并不會(huì )影響用戶(hù)的使用。
|