词条 | MAC算法 |
释义 | MAC算法 (Message Authentication Codes) 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时Hash值称作MAC MAC算法原理a) 将欲发送给POS中心的消息中,从消息类型(MTI)到63域之间的部分构成MAC ELEMEMENT BLOCK (MAB)。 b) 对MAB,按每8个字节做异或(不管信息中的字符格式),如果最后不满8个字 节,则添加“0X00”。 示例 : MAB = M1 M2 M3 M4 其中: M1 = MS11 MS12 MS13 MS14 MS15 MS16 MS17 MS18 M2 = MS21 MS22 MS23 MS24 MS25 MS26 MS27 MS28 M3 = MS31 MS32 MS33 MS34 MS35 MS36 MS37 MS38 M4 = MS41 MS42 MS43 MS44 MS45 MS46 MS47 MS48按如下规则进行异或运算: MS11 MS12 MS13 MS14 MS15 MS16 MS17 MS18 XOR) MS21 MS22 MS23 MS24 MS25 MS26 MS27 MS28 --------------------------------------------------- TEMP BLOCK1 = TM11 TM12 TM13 TM14 TM15 TM16 TM17 TM18 然后,进行下一步的运算: TM11 TM12 TM13 TM14 TM15 TM16 TM17 TM18 XOR) MS31 MS32 MS33 MS34 MS35 MS36 MS37 MS38 --------------------------------------------------- TEMP BLOCK2 = TM21 TM22 TM23 TM24 TM25 TM26 TM27 TM28 再进行下一步的运算: TM21 TM22 TM23 TM24 TM25 TM26 TM27 TM28 XOR) MS41 MS42 MS43 MS44 MS45 MS46 MS47 MS48 --------------------------------------------------- RESULT BLOCK = TM31 TM32 TM33 TM34 TM35 TM36 TM37 TM38 c) 将异或运算后的最后8个字节(RESULT BLOCK)转换成16 个HEXDECIMAL: RESULT BLOCK = TM31 TM32 TM33 TM34 TM35 TM36 TM37 TM38 = TM311 TM312 TM321 TM322 TM331 TM332 TM341 TM342 || TM351 TM352 TM361 TM362 TM371 TM372 TM381 TM382 d) 取前8 个字节用MAK加密: ENC BLOCK1 = eMAK(TM311 TM312 TM321 TM322 TM331 TM332 TM341 TM342) = EN11 EN12 EN13 EN14 EN15 EN16 EN17 EN18 e) 将加密后的结果与后8 个字节异或: EN11 EN12 EN13 EN14 EN15 EN16 EN17 EN18 XOR) TM351 TM352 TM361 TM362 TM371 TM372 TM381 TM382 ------------------------------------------------------------ TEMP BLOCK= TE11 TE12 TE13 TE14 TE15 TE16 TE17 TE18 f) 用异或的结果TEMP BLOCK 再进行一次单倍长密钥算法运算。 ENC BLOCK2 = eMAK(TE11 TE12 TE13 TE14 TE15 TE16 TE17 TE18) = EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28 g) 将运算后的结果(ENC BLOCK2)转换成16 个HEXDECIMAL: ENC BLOCK2 = EN21 EN22 EN23 EN24 EN25 EN26 EN27 EN28 = EM211 EM212 EM221 EM222 EM231 EM232 EM241 EM242 || EM251 EM252 EM261 EM262 EM271 EM272 EM281 EM282 示例 : ENC RESULT= %H84, %H56, %HB1, %HCD, %H5A, %H3F, %H84, %H84 转换成16 个HEXDECIMAL: “8456B1CD5A3F8484” h) 取前8个字节作为MAC值。 取”8456B1CD”为MAC值。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。