假设发卡行的IC卡应用密钥如下:

PBOC_IMK_AC               F0C34A8124CEE0A91A0B034AA97D6EAC
PBOC_IMK_ENC             D30F45EABC12AC3EF56B0C0D7F8654DE
PBOC_IMK_MAC            12B1AC4AF070CC35612BFE2D30AB600D
ARQC和ARPC及过程数据如下:
[9f26]--->[   8]--->[5D016C91005E7CC2]  //应用密文
[9f27]--->[   1]--->[80]  //密文信息数据
[9f10]--->[  19]--->[07000103A04002010A010000001000D1F61152]  //发卡行应用数据
[9f37]--->[   4]--->[1E78EEBC]  //终端随机数
[9f36]--->[   2]--->[0240]  //应用交易计数器
[  95]--->[   5]--->[0080046000]  //终端验证结果(TVR)
[  9a]--->[   3]--->[140701]  //交易日期
[  9c]--->[   1]--->[00]  //交易类型
[9f02]--->[   6]--->[000000000001]  //授权金额
[5f2a]--->[   2]--->[0156]  //交易货币代码
[  82]--->[   2]--->[7D00]  //应用交互特征(AIP)
[9f1a]--->[   2]--->[0156]  //终端国家代码
[9f03]--->[   6]--->[000000000000]  //其他金额
[9f33]--->[   3]--->[60E1C8]  //终端性能
[9f34]--->[   3]--->[020300]  //持卡人认证结果
[9f35]--->[   1]--->[22]  //终端类型
[9f1e]--->[   8]--->[3833323049434300]  //接口设备序列号
[  84]--->[   8]--->[A000000333010101]  //专用文件(DF)名称
[9f09]--->[   2]--->[0020]  //应用版本号(终端)
[9f41]--->[   4]--->[00000007]  //交易序列计数器

计算ARQC的过程数据:
计算的卡号:    6228000100001

卡序列号:      01
交易计数器:    0240
计算ARQC的数据:000000000001000000000000015600800460000156140701001E78EEBC7D00024003A04002
计算所得ARQC:  5D016C91005E7CC2

获取所得ARQC:  5D016C91005E7CC2

计算ARPC的过程数据:
计算的卡号:    6228000100001
卡序列号:      01
交易计数器:    0240
ARQC值:        5D016C91005E7CC2
授权应答码:    01
计算所得ARPC:  21415243527CE78F
IC卡过程密钥SKAC的计算公式:
先计算分散密钥,再计算过程密钥
PAN+序列号  取最右边16位
Y:PAN+序列号  取最右边16位
Z: =ALG(MDK)[Y||(Y⊕ (‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ || ‘ FF’ ||‘ FF’ ))]
得到卡片分散密钥:Z
过程密钥SKAC: =ALG(Key(=Z))[‘00’||‘00’||‘00’||‘00’||‘00’||‘00’||ATC||‘00’||‘00’||‘00’||‘00’||‘00’||‘00’||(ATC⊕‘FFFF’)]

实例计算:
Pan:6228000100001
序列号:01
ATC:0240
Y:0622800010000101
(Y⊕ (‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ || ‘ FF’ ||‘ FF’ )):0622800010000101异或FFFFFFFFFFFFFFFF  = F9DD7FFFEFFFFEFE
Y||(Y⊕ (‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ ||‘ FF’ || ‘ FF’ ||‘ FF’ )):0622800010000101F9DD7FFFEFFFFEFE
得到卡片分散因子:0622800010000101F9DD7FFFEFFFFEFE
PBOC_IMK_AC对分散因子进行3DES加密得到卡片分散密钥Z:014D996FCC8F49157DC8B49E3BCDFD99
由ATC产生的过程密钥分散因子[‘00’||‘00’||‘00’||‘00’||‘00’||‘00’||ATC||‘00’||‘00’||‘00’||‘00’||‘00’||‘00’||(ATC⊕‘FFFF’)]:0000000000000240000000000000FDBF
过程密钥SKAC由Z对上述分散因子进行3DES加密得到:D4102725E6E5AD329E55AAB50BF23DA9
ARQC计算步骤及公式:
          使用过程密钥SKAC通过PBOC-3DES算法对参与计算的数据进行Mac计算得到ARQC。
计算ARQC的数据:000000000001000000000000015600800460000156140701001E78EEBC7D00024003A04002
过程密钥SKAC:D4102725E6E5AD329E55AAB50BF23DA9
使用过程密钥SKAC通过PBOC-3DES算法对参数计算的数据进行Mac计算得到ARQC:5D016C91005E7CC2
ARPC计算步骤及公式:
计算ARPC过程:

X=(ARC|| ‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ )
Y: =ARQC⊕ X
ARPC: =ALG( SKAC) [Y||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00||‘ 00’ ||‘ 00]

实例计算:
ARC:01
X:3031000000000000
Y:5D016C91005E7CC2⊕3031000000000000 = 6D306C91005E7CC2
[Y||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00||‘ 00’ ||‘ 00]:6D306C91005E7CC20000000000000000
ARPC由密钥SKAC对 [Y||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00||‘ 00’ ||‘ 00]进行3DES加密运行得到:21415243527CE78FEFA66824CDC903C0
即ARPC:21415243527CE78F

金融IC卡 ARQC和ARPC计算方法和实例相关推荐

  1. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第三组

    七:终端风险管理-必选但包含可选步骤 异常文件:终端检查应用主账号是否在异常文件列表(卡号黑名单)中. 商户强制联机:商户可以将当前交易强制为联机处理. 最低限额:控制交易当前交易金额或同一张卡片连续 ...

  2. 同方微电子3S理念护航金融IC卡

    2011年3月15日,中国人民银行发布<中国人民银行关于推进金融IC卡应用工作的意见>(以下简称<意见>),决定在全国范围内正式启动银行卡芯片迁移工作,"十二五&qu ...

  3. 金融IC卡非接触式快速支付的先天缺陷与补救措施

    金融IC卡非接触式快速支付的先天缺陷与补救措施 1. 什么是脱机扣款失败交易 从客观现象来简单定义,脱机扣款失败交易是指持卡人在消费场所执行了一笔脱机消费交易,交易因某种原因未能成功,但持卡人所持卡片 ...

  4. 金融IC卡全“芯”起航

    中国人民银行于3月15日发布了<中国人民银行关于推进金融IC卡应用工作的意见>,决定在全国范围内正式启动银行卡芯片迁移工作,"十二五"期间将全面推进金融IC卡应用,以促 ...

  5. 央行:社保卡与金融IC卡不冲突

    国新办8月30日上午举行发布会,中国人民银行行长助理李东荣和人社部部长胡晓义介绍社保卡加载金融功能相关情况.李东荣表示,社保卡加载金融功能和央行力推的金融IC卡不冲突,两者是互利关系. 根据此前人保部 ...

  6. 金融IC卡文件结构及访问机制

    转自:http://tech.yktworld.com/201008/201008311414388523.html 金融IC卡作为新型的金融品种,在银行业务中的应用越来越广.各发卡行推出的金融IC卡 ...

  7. 金融IC卡行业应用的发展--困境(1)

    按照人行的要求,到2015年国内所有的银行新发行的银行卡都必须是满足PBOC2.0规范的金融IC卡.在人行.银监.银联的规划中,金融IC卡将肩负着更高安全.更多应用场合.更加便民的市民一卡通重担.毫无 ...

  8. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第一组(转)

    两个PPT结合起来--一些基础介绍--每一步的详细细节还要去研读文档 EMV-全球标准 PBOC-国内标准 ---------------------- 一:必选:应用选择 应用选择的方法:目录选择法 ...

  9. 天津推出社保金融IC卡

    19日,天津市人力资源和社会保障局与中国银行天津市分行共同举办了社保金融IC卡首发仪式,正式推出了集社会保障和金融服务功能于一身的社保金融IC卡.作为试点城市,天津市是全国首个发行具有金融功能社会保障 ...

最新文章

  1. 试图运行项目时出错,无法启动调试。没有正确安装调试器,请运行安装程序安装或恢复调试器。...
  2. 【怎样写代码】确保对象的唯一性 -- 单例模式(二):解决方案
  3. Dreamweaver xerces panic error 错误提示。
  4. 计算机的收获初一作文,初一关于收获的作文
  5. java int.parse_java数据类型转换,parseXXX(String)或valueOf(String)有什么区别?
  6. Spring的REST分页
  7. 简单、有效、全面的Kubernetes监控方案
  8. MVC之Ajax如影随行
  9. python函数的基本使用_Python学习笔记——主要函数及基本使用(与C的对比)
  10. 编程算法基础-一刀切法
  11. 微信小程序排行榜模板
  12. macOS Monterey 12.0.1(21A559) 正式版三分区原版黑苹果镜像
  13. python定时任务contrib_python定时任务的实现
  14. 模具设计进程中应注意哪些问题
  15. STM32 与 ST-Link V2仿真器 接线与烧录
  16. On-board Diagnostic(OBD)
  17. python 爬取《时间的形状》微信公号
  18. c语言程序功能简介怎么写,电脑编程c语言
  19. 三种梯度下降算法的比较和几种优化算法
  20. 如何破解运动世界校园模拟器检测

热门文章

  1. Linux发行版aarch64,ubuntu 18.04.3版本信息及aarch64-linux-gnu信息
  2. DTMB BDA TV USB
  3. Mechamical Vibration
  4. FreeModbus开源协议简介
  5. wangeditor php上传本地图片,配置wangEditor 实现图片上传
  6. python 图片变换,水平镜像翻转
  7. 灵魂筹码地图的设计要点
  8. WordPress论坛主题:LightSNS - 主打轻社交
  9. JAVA中XML读写
  10. 蜻蜓FM下载文件名还原