1.钥分散算法
密钥分散算法是通过一个16字节长度的密钥MK(注:其为双倍长DES或SM4),对分散因子进行处理,进而生成一个16字节长度的密钥DK,整体算法流程如下:
构成分散数据:以分散因子(16个数字)构成分散数据的左半部分。对分散因子进行求反,构成分散数据的右半部分,共计32位。流程如下:
分散计算:以MK对分散数据进行ECB加密,得到16字节密钥DK。
2. ANSI X9.19 MAC算法
ANSI X9.19MAC算法只使用双倍长密钥。
MAC数据先按8字节分组,表示为D0~Dn,如果Dn不足8字节时,尾部以字节00补齐。
用MAC