3DES算法密鑰長度說明

3DES加密算法作爲經典的對稱加密算法,已經廣泛應用於各安全相關行業的數據加解密與身份認證環節之中,本文主要針對用戶使用我司加密產品中產生的密鑰長度疑問給予解答。
在介紹3DES算法之前,我們先簡述DES算法。3DES和DES算法均屬於分組加密算法,即加密前將明文按照8字節長度進行順序分組(若最後一組數據長度不足8字節,就進行填充處理)。例如:若明文爲16字節,則將其前8字節作爲明文數據塊1,後8字節作爲明文數據塊2。加密時使用密鑰(長度爲8字節)依次對數據塊1和數據塊2進行獨立的DES加密運算,分別生成密文數據塊1和密文數據塊2,最終將兩個密文數據塊順序拼接在一起,至此完成DES加密運算。
3DES算法顧名思義,就是3重DES加密,通俗的講就是將明文數據塊進行了3次DES運算,安全強度比DES更高。此處僅以8字節明文數據進行舉例說明。3DES算法將24字節密鑰以8字節長度進行了分組,前八字節爲KEY1,中間8字節爲KEY2,最後8字節爲KEY3。加密的時候,使用KEY1對明文數據塊1進行DES加密得到C1,使用KEY2對C1進行DES解密得到C2,再用KEY3對C2進行DES加密得到C3。解密的流程與之相反,先用KEY3對C3進行DES解密得到M3,再用KEY2對M3進行DES加密得到M2,最後用KEY1對M2進行DES解密得到M1。
可以看出,3DES算法的密鑰長度雖然爲24字節,但加解密運算的時候,也是拆分爲8字節爲一組進行DES運算的。我司的加密芯片或者加密狗中3DES密鑰長度一般設置爲16字節,這是因爲將KEY3設置與KEY1相等的原因,但實際運算的時候,和國際通用的3DES加密算法流程一致,所以並不會影響用戶的使用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章