前言
上手工作一年后,又与密钥打交道了。这次又对密钥有了全新的认识。
这次项目需求是进行国密改造,老项目用的事国际算法(3des),先改成国密算法(SM4)
请听我细细道来。
1.主密钥密文 --> 主密钥明文斜体样式
2.签到解工作秘钥(PIN,PAK)
3.MAC密钥的计算(国密和国际)
4.PIN的加密以及转加密
1.主密钥密文 --> 主密钥明文
本项目 国际 采用双倍长(3des)算法,改造成国密SM4算法
算法模式还是按照原来 ECB模式,以下数据都是国密数据
国密改造 整体流程与之前国际保持一致
终端的 主密钥信息
密文:6AC6CF4B6E8AED1FA75E188E490698BE
测试LMK对:40404040404040405151515151515151
明文:24B9BBCA053475A761B52EB919071088
校验值:284176CEA713ABB6D924339E449FFB71
从平台下载下来的key文件
(1)手解主密钥明文
主密钥密文 解 主密钥明文 需要两个key分量32位
key1分量 前16位4040404040404040
后16位5151515151515151
key2分量 前16位0000000000000000
后16位0000000000000000
注:
之前文章的13131313131313131313131313131313 就是key1分量和key2分量异或后得到的密钥
一般key2分量都会设置32个0,这样异或的结果就是key1分量本身
主密钥明文计算
由于国际采用 ecb模式算法 因此此处国密改造保持一致
得到
主密钥明文 24B9BBCA053475A761B52EB919071088
主密钥校验
用 主密钥明文 对 00000000000000000000000000000000 进行加密
得到校验值 284176CEA713ABB6D924339E449FFB71