des vue 双倍长 解密_[转]单倍长密钥加密和双倍长密钥加密,银联直联终端62域难点详解...
首先來看一段文字:
——————————————————–
銀聯直聯終端測試中,在POS終端簽到的應答報文中,62域是如何規定的?
62域長度應為24或40個字節。對于單倍長密鑰算法:前12個字節為PIN的工作密鑰的密文,后12個字節為MAC的工作密鑰的密文。(其中,前8個字
節是密文,后4個字節是checkvalue;用前8個字節解出的明文做key,對8個字節00做單倍長密鑰算法,取結果的前四位與checkvalue
的值比較應該是一致的)。
對于雙倍長密鑰算法:前20個字節為PIN的工作密鑰的密文,后20個字節為MAC的工作密鑰的密文。(其中,“PIN工作密鑰”前16個字節是密文,后
4個字節是checkvalue;用前16個字節解出明文做key,對8個字節00做雙倍長密鑰算法,取結果的前四位與checkvalue
的值比較應該是一致的;“MAC工作密鑰”前8個字節是密文,再8個字節是二進制零,后4個字節是checkvalue;用前8個字節解出明文做key,
對8個字節00做單倍長密鑰算法,取結果的前四位與checkvalue 的值比較應該是一致的)。
———————————————————
這個坑爹的單倍長密鑰算法和雙倍長密鑰算法。以及checkvalue讓我查了好幾天才搞清楚究竟什么回事。現在發出來讓有同樣困惑的同志了解下。
首先,單倍長密鑰算法,和雙倍長密鑰算法,在這里分別是DES算法的DES算法和3DES加密算法。
其中由于密鑰為16字節64位,32字節128位所以稱為單倍長密鑰和雙倍長密鑰算法,相應的還有三倍長密鑰算法。
單倍長密鑰為k1?? 雙倍長密鑰為k2拆分為前后兩部分k2=k21+k22。假設des算法寫作DES,解密算法寫作UDES
單倍長密鑰算法為:str = DES(str ,k1)
雙倍長密鑰算法為:
str = DES(str ,k21)
str = UDES(str ,k22)
str = DES(str ,k21)
其對應的解密過程就不詳解了。
那么坑爹的checkvalue又是什么呢?
val = DES(‘00000000’ ,k1)
checkvalue為val的前4位。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的des vue 双倍长 解密_[转]单倍长密钥加密和双倍长密钥加密,银联直联终端62域难点详解...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ue4 无限地图_RPG游戏开发日志13
- 下一篇: vue展示信息卡片_vue实现登录和个人