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