个人标识码(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)中标明