`
housheng33
  • 浏览: 231129 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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加密后发往全国中心(省中心)。




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







  • 大小: 88 KB
  • 大小: 27.9 KB
分享到:
评论

相关推荐

    ANSI x9.8的技术

    ANSI x9.8的技术 2 ANSI X9.8 个人密码加密标准 3 ANSI X3.92 数据加密标准 (DES) 4 ANSI X9.9 金融机构信息验证标准

    C++大学教程,一本适合初学者的入门教材(part1)

    9.9 在派生类中使用构造函数和析构函数 9.10 将派生类对象隐式转换为基类对象 9.11 关于继承的软件工程 9.12 复合与继承的比较 9.13 对象的“使用”关系和“知道”关系 9.14 实例研究:类Point、CircIe和...

    informix 实用大全

    9.9 使用内部函数 9.10 从远程数据库中选择 9.11 从mode-ansi数据库选择 9.12 高级语句 9.13 基本性能考虑 9.14 更多信息 9. 15 informix与其他参考资料 第10章 插入、更新与删除 10.1 insert、...

    C++大学教程,一本适合初学者的入门教材(part2)

    9.9 在派生类中使用构造函数和析构函数 9.10 将派生类对象隐式转换为基类对象 9.11 关于继承的软件工程 9.12 复合与继承的比较 9.13 对象的“使用”关系和“知道”关系 9.14 实例研究:类Point、CircIe和...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    C语言教程(原书第4版) 《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansi c语言及其语法特性,并对c语言的...附录c ansi c与传统c的比较 附录d ascii字符码 附录e 操作符的优先级和结合性

    Visual C++ 2005入门经典--源代码及课后练习答案

    2.3.6 ISO/ANSI C++中的基本类型 49 2.3.7 字面值 50 2.3.8 定义数据类型的同义词 50 2.3.9 具有特定值集的变量 51 2.3.10 指定枚举常量的类型 52 2.4 基本的输入/输出操作 53 2.4.1 从键盘输入 53 ...

    UNIX高级编程 计算机科学丛书

    9.9 shell执行程序 9.10 孤儿进程组 9.11 4.3+BSD实现 9.12 小结 习题 第10章 信号 10.1 引言 10.2 信号的概念 10.3 signal函数 10.3.1 程序起动 10.3.2 进程创建 10.4 不可靠的信号 10.5 中断的系统调用 10.6 可...

    C 语言编程常见问题解答.chm

    9.8 为什么用const说明的常量不能用来定义一个数组的初始大小? 9.9 字符串和数组有什么不同? 第10章 位(bit)和字节(byte) 10.1 用什么方法存储标志(flag)效率最高? 10.2 什么是“位屏蔽(bit masking)”...

    UNIX环境高级编程部分

    第17章 与PostScript打印机通信 17.1 引言 17.2 PostScript通信机制 17.3 假脱机打印 17.4 源码 17.5 小结 习题 第18章 调制解调器拨号器 18.1 引言 18.2 历史 18.3 程序设计 18.4 数据文件 18.5 服务器设计 18.6 ...

    UNIX环境高级编程

    第17章 与PostScript打印机通信 17.1 引言 17.2 PostScript通信机制 17.3 假脱机打印 17.4 源码 17.5 小结 习题 第18章 调制解调器拨号器 18.1 引言 18.2 历史 18.3 程序设计 18.4 数据文件 18.5 服务器设计 18.6 ...

    C语言编程要点

    9.8. 为什么用const说明的常量不能用来定义一个数组的初始大小? 145 9.9. 字符串和数组有什么不同? 145 第10章 位(bit)和字节(byte) 147 10.1. 用什么方法存储标志(flag)效率最高? 147 10.2. 什么是“位屏蔽(bit ...

    IT行业中必备技能之UNIX最佳学习资料

    第17章 与PostScript打印机通信 413 17.1 引言 413 17.2 PostScript通信机制 413 17.3 假脱机打印 415 17.4 源码 417 17.5 小结 434 习题 434 第18章 调制解调器拨号器 435 18.1 引言 435 18.2 历史 435 18.3 程序...

    Unix高级编程 pdf

    第17章 与PostScript打印机通信 413 17.1 引言 413 17.2 PostScript通信机制 413 17.3 假脱机打印 415 17.4 源码 417 17.5 小结 434 习题 434 第18章 调制解调器拨号器 435 18.1 引言 435 18.2 历史 435 ...

    UNIX环境高级编程和源代码

    第17章 与PostScript打印机通信 413 17.1 引言 413 17.2 PostScript通信机制 413 17.3 假脱机打印 415 17.4 源码 417 17.5 小结 434 习题 434 第18章 调制解调器拨号器 435 18.1 引言 435 18.2 历史 435 18.3 程序...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    2.3.6 ISO/ANSI C++中的基本类型 2.3.7 字面值 2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 ...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    2.3.6 ISO/ANSI C++中的基本类型 2.3.7 字面值 2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 ...

    Visual C++ 2005入门经典.part07.rar (整理并添加所有书签)

    2.3.6 ISO/ANSI C++中的基本类型 2.3.7 字面值 2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 ...

    Visual C++ 2005入门经典.part09.rar (整理并添加所有书签)

    2.3.6 ISO/ANSI C++中的基本类型 2.3.7 字面值 2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 ...

    Visual C++ 2005入门经典.part06.rar (整理并添加所有书签)

    2.3.6 ISO/ANSI C++中的基本类型 2.3.7 字面值 2.3.8 定义数据类型的同义词 2.3.9 具有特定值集的变量 2.3.10 指定枚举常量的类型 2.4 基本的输入输出操作 2.4.1 从键盘输入 2.4.2 到命令行的输出 2.4.3 格式化输出 ...

Global site tag (gtag.js) - Google Analytics