个人标识码(PIN)的加解密

4.2.1 用于 PIN 加、解密的主账号 PAN 取法

  • 手输卡号
    如为手输卡号,从所输卡号(2域)右边数第二位开始,向左取12位,作为参与PIN加、解密的PAN。

  • 刷卡方式
    如为刷卡方式,从磁道2(35域)分隔符‘=’左边第二位开始,向左取12个字符,作为参与PIN加密的PAN;如只有磁道3(36域),则从磁道3分隔符‘=’左边第二位开始,向左取12个字符,作为参与PIN加、解密的PAN。

4.2.2 PIN 的长度

PIN的长度为6位(可扩展到12位)。

4.2.3 PIN 的字符集

  • PIN用数字字符表示,下表给出了它的二进制对照表:
    表 A.1 PIN 字符二进制表示
PIN字符 二进制表
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
  • PIN 格式
    PIN的格式应符合ANSI X9.8 Format(带主账号信息)
    PIN BLOCK格式等于PIN按位异或主账号(PAN):

表 A.2 PIN 格式

位置 长度 说明
1 1byte PIN长度
2 7byte 6-12 位 PIN(每个字符占 4 个 BIT,不足右补 F)

表 A.3 PAN 格式

位置 长度 说明
1 2byte %H0000
3 6byte 取主账号的右 12 位(参见 A.1)

示例 1
例如:明文 PIN 为: 123456,
假设: 磁卡上的 PAN:1234 5678 9012 3456 78
    截取下的 PAN:6789 0123 4567
   则用于 PIN 加密的 PAN 为: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

示例 2
假设:磁卡上 PAN:1234 5678 9012 3456
  截取下的 PAN:4567 8901 2345
  则用于 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的类型(类型2)必须在消息报文的域53(SECURITY-RELATED-CONTROL-INFORMATION)中标明

文档更新时间: 2020-08-22 15:56   作者:高俭