假設發卡行的IC卡應用密鑰如下:
PBOC_IMK_AC F0C34A8124CEE0A91A0B034AA97D6EACPBOC_IMK_ENC D30F45EABC12AC3EF56B0C0D7F8654DEPBOC_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交易計數器: 0240ARQC值: 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:01X:3031000000000000Y:5D016C91005E7CC2⊕3031000000000000 = 6D306C91005E7CC2[Y||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00||‘ 00’ ||‘ 00]:6D306C91005E7CC20000000000000000ARPC由密鑰SKAC對 [Y||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00’ ||‘ 00||‘ 00’ ||‘ 00]進行3DES加密運行得到:21415243527CE78FEFA66824CDC903C0即ARPC:21415243527CE78F