3.PIN控制参数与PIN的产生按照建总发字〔1992〕第176号文《中国人民建设银行金融交易卡暂行标准》附录D中PIN控制参数的产生和PIN的产生方法执行,所不同之处在于生成PIN控制参数和PIN时基本帐号的取值按2中定义取值。
建设银行储蓄卡采用第二磁道,二磁道不允许修改,PIN控制参数必须加密存放在主机中,密码修改时需相应更新主机中PIN控制参数。
附件二:
卡校验值(CVV)的产生算法
一、定义
卡校验值(CVV)提供对磁条内容加密校验以防止非法修改或非法仿制磁条内容的一种算法。加密算法采用美国国家安全部的DES算法。
二、卡校验值(CVV)的产生和校验
(一)工作密钥(WORKING KEYS)
两个64 Bits称为CVKA和CVKB的卡校验密钥,用于产生和校验磁道二中的卡校验值CVV。
在生成和使用工作密钥时,注意以下几点:
发卡行不能使用银行密钥(PIN KEY)作为工作密钥;
每一个发卡行使用不同的工作密钥;
工作密钥应以加密方式存放在主机系统中,假如工作密钥泄露,要求立即更新工作密钥,该发卡行所发行的卡必须重发;
工作密钥的保密算法可参照按照建总发字〔1992〕第176号文《中国人民建设银行金融交易卡暂行标准》附录D中银行密钥PIN KEY的保密算法执行。
(二)卡校验值的计算
卡校验值即CVV的计算方法如下:
1.将以下从第二磁道中抽取出的字符从左至右排列,产生26个字符:
主帐号(PAN) 19位
卡有效期(EXPIRE DATE) 4位
服务代码(SERVICE CODE) 3位
并转换为104 Bits(26x4),转换方法为将每一位数字转换为4位的BCD码,即:
十六进制数字 BCD码
0 0000
1 0001
2 0010
… …
E 1110
F 1111
2.将步骤1得出的结果的最后补上二进制“0”,使之成为128 Bits的字段,将该字段分为两个64 Bits的数据,其中前64 Bits数据为数据块1,后64 Bits数据为数据块2。