logo资料库

MAC加密计算方法.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
C.1.1MAC计算
C.1.1MAC计算 命令中需要加密的数据加密以后再计算 MAC。MAC 使用对称密钥算法计算的,步骤 如下: 1. 初始值为 8 字节全零。(此步骤可省略) 2. 下列数据按顺序排列得到一个数据块 D: - CLA,INS,P1,P2,Lc(Lc 的长度包括 MAC 的长度) - ATC(对于发卡行脚本处理,此 ATC 在请求中报文中上送) - 应用密文(对于发卡行脚本处理,此应用密文通常是 ARQC,或 AAC,在请 求报文中上送) - 命令数据域中的明文或密文数据(如果存在) 3. 将上述数据块 D 分成 8 字节长的数据块 D1,D2,D3…最后一块数据块的字节长 度为 1 到 8。 4. 如果最后一块数据块的长度为 8 字节,后面补 8 字节数据块:80 00 00 00 00 00 00 00,执行步骤 5。 如果最后一块数据块的长度小于 8 字节,后面补一个字节 80,如果长度到 8 字节, 执行步骤 5。如果仍然不够 8 字节,补 00 直到 8 字节。 5. 用 MAC 过程密钥对数据块进行加密。MAC 过程密钥的生成见“C.4 过程密钥生成”。 图是使用 MAC 过程密钥 A 和 B 生成 MAC 的流程图。 6. MAC 的计算结果为 8 字节,从最左边的字节开始取 4 字节。
初始值 I2 I3 I4 I5 + KMA DEA(e) KMA DEA(e) KMA DEA(e) KMA DEA(e) KM B DEA(d) O1 + D2 O2 + D3 O3 + D4 O5 O4 KM A DEA(e) O6 MAC I1=D1 说明: I = 输入 DEA(e)= 数据加密算法(加密模式) KMA = MAC过程密钥A DEA(d)= 数据加密算法(解密模式) KMB = MAC过程密钥B O = 输出 D = 数据块 + = 异或 图 C.1:使用双长度DEA密钥计算MAC的算法
分享到:
收藏