ANSI 9.8 与 ANSI 9.9

ANSI 9.8 :加密PIN(账号)

ANSI 9.9 :用来保护数据报文,也叫MAC算法

(1) ANSI X9.8 Format(不带主账号信息 )
      位置                  长度                              说明

       1                      1byte                          PIN的长度

       2                      7byte                         6-12位PIN(每个字符占4个BIT,不足8位右补F)

例如:明文PIN为 123456,

则PIN BLOCK为 0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF



(2)ANSI X9.8 Format(带主帐号信息 )
PIN BLOCK 格式:等于 PIN 按位异或主帐号
PIN 格式:
BYTE 1 PIN的长度
BYTE 2 – BYTE 3/4/5/6/7   4--12个PIN(每个PIN占4个BIT)
BYTE 4/5/6/7/8 – BYTE 8   FILLER “F” (每个“F“占4个BIT)

主帐号格式:
BYTE 1 — BYTE 2   0X0000
BYTE 3 — BYTE 8   12个主帐号
12位主帐号的取法:取主帐号的右12位(不包括最右边的校验位),不足12位左补“0X00 ”。


例如:明文 PIN 123456,
设:磁卡上的主帐号为:123456789012345678
截取下的主帐号为:678901234567

则用于PIN加密的主帐号为:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
则 PIN BLOCK 为 :  

                                 0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
        异或                  0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
      结果为                0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98

设:磁卡上的主帐号为:1234567890123456
截取下的主帐号为:456789012345
则用于PIN加密的主帐号为:0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45
则 PIN BLOCK 为

                                0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
       异或                  0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45
      结果为               0x06 0x12 0x71 0x31 0x76 0xFE 0xDC 0xBA


PIN 加密解密
省中心(外围系统)在发送消息给全国中心(省中心)之前,应用本中心的PIK对PIN加密后发往全国中心(省中心)。




-------------------------------







猜你喜欢

转载自housheng33.iteye.com/blog/1838572