CPU卡的发卡总结

本文详细介绍了CPU卡的发卡步骤,包括卡片初始化、密钥管理、文件创建、密钥分散因子的应用,以及各种APDU指令的操作,涉及PBOC标准的电子钱包设置。
摘要由CSDN通过智能技术生成

经过一周的努力终于搞定了cpu发卡的流程,我这里密钥用到了一级分散因子。

 

1.卡片上电复位,得到4字节uid

 00A40000023F00 选择MF(3F00)

2.外部认证

  1. APDU指令 0084000004     取四个字节随机数
  2. 用8个字节的初始密钥FFFFFFFFFFFFFFFF和4随机数+00000000进 行解密生成8字节解密数据(用DES函数计算得出)
  3. APDU指令 0082000008+8个字节的解密数据

3.删除MF下的所有文件

APDU指令800E000000

4.建立MF下的密钥文件

APDU指令 80E00000073F00A080FFFFFF

指令说明:80(CLA)E0(INS)0000(P1P2 文件标识)07(Lc)3F(文件类型)00A0(文件控件)80(DF文件短标识符)FF(增加权限)FF(默认)FF(默认)

5.增加密钥

16字节的主控密钥+分散因子(4字节的uid左补4字节ff) 3Des计算得到前8个字节

16字节的主控密钥+分散因子取反(4字节的uid左补4字节ff取反) 3Des计算得到后8个字节

APDU指令80D401001539F0FF0F33+16字节

指令说明:80(CLA)D4(INS)01(P1)00

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值