手機客戶端每周精選

中國支付網

 找回密碼
 注冊成為中國支付網會員

點擊這里可以發送分享哦!

找更多的資料嗎?試試上方的搜索框教你如何上傳資料附件并獲得貝殼★提問回答就能領貝殼,萬名支付同仁幫你解答業務難題★
查看: 48307|回復: 14
打印 上一主題 下一主題

加密芯片——3DES算法特點與應用注意事項

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2017-5-23 14:20:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
3DES是三重數據加密算法的通稱。它是DES算法的增強版,相當于對每個數據塊應用三次DES運算。因為密鑰長度的增加,安全等級和破解難度也要高于DES算法。
3DES算法的加密流程分為3步
1、明文數據分組
2、分組加密
3、分組加密結果組合
下面展開說明。
3DES算法的密鑰長度為24字節,以8字節為單位按順序將密鑰分為K1,K2,K3三部分。如果K1 = K3,則可以將密鑰長度縮減為16字節(LKT加密產品中的3DES算法將K1、K3設置相等,讓密鑰長度固定位16字節)。第一步,在加密運算過程中先對明文數據按8字節分成N組,不滿8字節的塊要進行數據填充。第二步,分別對N組數據進行加密運算。設Ek()和Dk()代表DES算法的加密和解密過程,Mn代表第n組明文,Cn代表第n組密文,C代表最終的加密結果,則每組數據的3DES加密流程為:Cn=Ek3(Dk2(Ek1(Mn)))。第三步,將N組加密結果順序拼接在一起即完成加密運算, C = C1C2C3......Cn。
綜上,3DES算法與DES一樣,均為塊加密算法,密文數據以8字節為單位獨立存在。若明文長度為16字節,當改變明文的前8字節時,只會影響密文的前8字節,密文后8字節不變。因此,在應用3DES算法對線路傳輸數據加密過程中,若想保證密文的整體變化,要保證每塊明文數據都是變化的。
使用者在設置密鑰的時候應注意,密鑰的前后8字節不要完全一樣,否則就變為了DES算法,安全強度就會下降(用戶可根據Cn=Ek3(Dk2(Ek1(Mn)))公式自行推導)。需要特別留意的是,密鑰每字節中的最后一位是檢驗位,不會參與到加密運算中。例如:K1 = 0000000000000000,K2 = 0101010101010101,則K1、K2對同組數據加密的結果是一樣的。
希望本文能讓大家對3DES的算法特點有個更直觀的認識,更安全有效的利用3DES算法設計數據加解密的方案,將LKT系列加密產品中自帶的3DES算法接口高效利用起來。

2樓
發表于 2017-5-27 11:32:04 | 只看該作者
感謝樓主的介紹,我是菜鳥,從文中可以看出,3DES算法是升級版的DES算法,可是在對數據塊進行加密時,用的還是DES運算,沒看出來安全性是怎么提高的?
回復

使用道具 舉報

3樓
發表于 2017-5-28 14:20:44 | 只看該作者
我心痛了 發表于 2017-5-27 11:32
感謝樓主的介紹,我是菜鳥,從文中可以看出,3DES算法是升級版的DES算法,可是在對數據塊進行加密時,用的 ...

DES密鑰是8位的,而LKT的3DES密鑰是16位的,這16位密鑰都要參與到加密運算中去,當然安全性更高了。
回復

使用道具 舉報

4樓
發表于 2017-5-31 14:09:48 | 只看該作者
是密鑰長度越長,安全性就越高嗎?
回復

使用道具 舉報

5
發表于 2017-6-1 13:31:26 | 只看該作者
當然了。密鑰長度越長,破解的難度就越大。就好像你銀行卡的密碼,密碼越長,安全性越高啊。
回復

使用道具 舉報

6
發表于 2017-6-1 15:08:07 | 只看該作者
文中說3DES算法是塊加密算法,那能加密任意長度的明文嗎?
回復

使用道具 舉報

7
發表于 2017-6-2 10:48:30 | 只看該作者
能啊,算法會自動將明文數據分塊的,如果最后的塊不滿8字節,會自動進行數據填充的。
回復

使用道具 舉報

8
發表于 2017-6-2 18:22:26 | 只看該作者
比如我加密13個字節的數據,那我加密后的密文是多長啊?
回復

使用道具 舉報

9
發表于 2017-6-5 10:53:51 | 只看該作者
按8字節進行分塊,13個字節的數據可以分成2個塊,第2個塊需要填充數據,加密后的密文當然也是2個塊,16個字節嘍
回復

使用道具 舉報

10
發表于 2017-6-9 08:06:18 | 只看該作者
第1塊明文對應第1塊密文,第2塊明文對應第2塊密文,是這樣嗎?
回復

使用道具 舉報

本版積分規則

准《单双中特》资料