MAC 算法通过 CBC 来实现 ECB
先来交代下背景吧,什么是 MAC 就不解释了,网上搜搜一大堆。简单来说这次 MAC 要上
送的他方 MAC 的算法是 ECB 模式(POS 终端直接模式),但在我们使用的加密机中计算 MAC
只支持 3 种模式:XOR,ANSIx9.9,ANSIx9.19
大致上 MAC 算法基本都是要对待计算数据在末尾补齐 0x00,使待计算数据的长度为 8
的倍数,随后将待计算数据每 8 位分组。随后对每组的数据进行操作。操作也无法是组与
组之间异或,对结果使用 mackey 进行单 des 运算。区别只是什么时候加密,怎么加密的问
题了。
XOR
第一组与第二组进行以后,随后结果在于第三组进行以后,以此类推,最后的结果使用
mackey 进行 des 加密运算,随后取结果的前半部分。
这里只用 mackey 加密了一次
ANSI x9.9(CBC)
异或之后每次都用 mackey 对异或结果进行 des 加密运算,运算后的结果与下一组再进行异
或
ANSI x9.19