卫士通信息产业股份有限公司
1简介
1.1加密机主要功能
1.2加密机与主机的通信
1.2.1接口与协议
1.2.2数据格式
1.2.2.1请求数据格式
1.2.2.2应答数据格式
1.2.3调用加密机过程
1.3SJL05命令集划分
2磁条卡业务类
2.1请求返回系统信息<0X00>
2.2返回本地主密钥状态<0X01>
2.3返回指定区域主密钥状态<0X03>
2.4定义打印格式<0X07>
2.5产生并存储一个指定长度的主密钥,并打印明文到密码信封<0X08>
2.6产生并存储一个指定长度的区域主密钥分量,并打印明文到密码信封<0X09>
2.7产生一个数据密钥,并用BMK加密后返回<0X10>
2.8产生索引的区域主密钥<0X11>
2.9产生一个直联POS的数据密钥<0X12>
2.10生成随机POK,并用ZMK和TMK加密后返回<0X13>
2.11产生指定长度的随机区域数据密钥<0X15>
2.12存储一个索引的区域主密钥<0X20>
2.13产生并存储指定长度的TMK<0X21>
2.14存储一个索引的区域主密钥<0X22>
2.15银行主密钥加密的密钥转换成次主密钥<0X24>
2.16取回一个索引的区域主密钥<0X31>
2.17取回一个索引的终端主密钥<0X32>
2.18加密一个TMK密钥<0X40>
2.19用BMK解密PIK<0X41>
2.20SSF02加密的PINBLOCK验证<0X42>
2.21SSF02算法计算MAC<0X43>
2.22SSF02验证MAC<0X44>
2.23SSF02加/解密<0X45>
2.24注:在数据加密时,数据长度不够8的倍数时,在数据后补0X00补齐。SSF02 PINBLOCK转换<
2.25产生动态通信密钥<0X50>
2.26用通信密钥对数据算MAC,验证MAC<0X51>
2.27用通信密钥对数据计算MAC<0X52>
2.28用通信密钥对PIN密文解密<0X53>
2.29用通信密钥转换PIN<0X54>
2.30计算TAC<0X55>
2.31产生工作密钥<0X56>
2.32转换工作密钥<0X57>
2.33计算MAC<0X58>
2.34对输入数据加/解密<0X59>
2.35PIN转换<0X5A>
2.36产生并打印密钥<0X5B>
2.37产生并输出密钥<0X5C>
2.38转换PIN<0X5F>
2.39请求产生一个加密的PIN<0X60>
2.40请求转换一个PIN从银行1到银行2(无帐号)<0X61>
2.41请求验证一个PIN<0X62>
2.42请求转换一个PIN从ATK到PIK<0X63>
2.43请求转换一个PIN从PIK到ATK<0X64>
2.44请求转换一个PIN从POK到PIK<0X65>
2.45请求转换一个PIN从PIK到POK<0X66>
2.46请求转换一个PIN从银行1到银行2(含一个主帐号) <0X67>
2.47请求转换一个PIN从PPK(加密得到)到PIK<0X68>
2.48请求转换一个PIN从PIK1(解密得到)到PIK2<0X69>
2.49转换PIN从输入的PIK1到PIK2(含两个主帐号)<0X6A>
2.50转换PIN从TMK1到TMK2<0X6B>
2.51 转换PIN从TMK到输入PIK <0X6C>
2.52加密(或解密)PIN <0X6D>
2.53转换PIN从PIK加密到TMK加密 <0X6E>
2.54生成用ZMK和RSA加密的随机密钥 <0X70>
2.55用输入密钥对数据加/解密<0X71>
2.56用区域主密钥对数据加/解密<0X72>
2.57数据密钥转换<0X73>
2.58转换工作密钥主密钥<0X74>
2.59转换密钥<0X75>
2.60生成用ZMK和RSA加密的随机密钥<0X77>
2.61数据密钥转换<0X78>
2.62验证和生成MAC<0X80>
2.63验证MAC<0X81>
2.64计算卡属性和密文数据的MAC <0X82>
2.65 验证卡属性与数据串的MAC <0X83>
2.46 请求产生MAC,并可选择地转换PIN<0X84>
2.66转换MAC<0X85>
2.67转换一个MAC和PIN<0X86>
2.68请求验证MAC,可选择地验证PIN<0X87>
2.69产生随机密钥,用TMK加密后返回<0X88>
2.70生成弱MAC<0X89>
2.71用终端主密钥加密数据<0X8A>
2.72用输入密钥对输入数据作加/解密<0X8B>
2.73产生MAC<0X8C>
2.74校验MAC<0X8D>
2.75请求产生一个商户MAC<0X90>
2.76请求验证一个商户MAC<0X91>
2.77用TMK计算 MAC<0X92>
2.78请求验证用TMK计算的MAC<0X93>
2.79打印PIN<0X96>
2.80计算密钥的CHECKVALUE<0X97>
2.81解密PIN<0X98>
2.82转换PIN从ATK到PIK<0X99>
2.83转换任意长度的数据密钥<0X0401>
2.84PINBLOCK转换(任意长度PIK)<0X0402>
2.85请求转换一个PIN从ATK (任意长度) 到PIK (任意长度) <0X0403>
2.86产生一个数据密钥(任意长奇校验)和校验码<0X0404>
2.87用任意长数据密钥加密PIN BLOCK <0X0405>
2.88PINBLOCK转换(任意长度MMK及格式)<0X0406>
2.89PINBLOCK转换<0X0407>
2.90用任意长数据密钥解密PIN BLOCK <0X0408> (推荐使用0X0422)
2.91请求产生MAC(变长MAK)<0X0410>
2.92请求验证MAC(变长MAK)<0X0411>
2.93请求产生MAC,并可选转换PIN(密钥长度可变)<0X0412>
2.94请求验证MAC,可选择地验证PIN<变长工作密钥,任意类型PINBLOCK<0X0413>
2.95终端主密钥的生成<0X0420>
2.96数据密钥的生成<0X0421>
2.97解密PIN <0X0422>
2.98生成CHECKVALUE(变长密钥)<0X0423>
2.99用本地主密钥加密终端主密钥<0X0510>
2.100产生成员行的数据密钥(用ZMK和LMK加密)(<0X0511>
2.101产生终端数据密钥(用TMK和LMK加密)<0X0512>
2.102转换成员行数据密钥(由ZMK转换为LMK加密)<0X0520>
2.103转换成员行数据密钥二(由LMK转换为ZMK加密)<0X0521>
2.104转换终端数据密钥(由TMK转换为LMK加密)<0X0522>
2.105转换终端数据密钥二(由LMK转换为TMK加密)<0X0523>
2.106取回索引的ZMK(用LMK加密)<0X0524>
2.107存储索引的ZMK<0X0525>
2.108PIK加密PINBLOCK,PIK由LMK加密<0X0530>
2.109加密PINBLOCK,PIK用ZMK加密<0X0531>
2.110转换PINBLOCK,PIK用LMK加密<0X0532>
2.111转换PINBLOCK,PIK用ZMK加密<0X0533>
2.112转换PINBLOCK,PIK用MK加密<0X0534>
2.113转换PINBLOCK,PIK用MK加密<0X0535>
2.114转换PINBLOCK,PIK用ZMK加密<0X0536>
2.115转换PINBLOCK,PIK用ZMK加密<0X0537>
2.116产生MAC,MAK用LMK加密<0X0540>
2.117产生MAC,MAK用ZMK加密<0X0541>
2.118校验MAC,MAK用LMK加密<0X0542>
2.119校验MAC,MAK用ZMK加密<0X0543>
2.120产生两个不同长度的随机密钥,由LMK加密<0X0550>
2.121将ZMK加密的密钥转换为LMK加密<0X0551>
2.122将LMK加密的密钥转换为BMK加密<0X0552>
2.123将送入的数据由LMK加密输出<0X0553>
2.124转换PIN<0X0555>
2.125计算MAC<0X0554>
2.126产生随机密钥<0X05A0>
2.127导出工作密钥<0X05A1>
2.128导入工作密钥<0X05A2>
2.129产生随机PIN<0X05A3>
2.130产生PIN OFFSET<0X05A4>
2.131校验PIN OFFSET<0X05A5>
2.132转换PINBLOCK<0X05A6>
2.133转换PINBLOCK<0X05A7>
2.134产生CVK对<0X05A8>
2.135产生CVV <0X05A9>
2.136校验CVV <0X05AA>
2.137用索引号为000的BMK加密数据密钥<0XB101>
2.138产生被加密的随机传输密钥和工作密钥<0XB102>
2.139生成两个随机工作密钥(3DES加密)<0XB103>
2.140生成两个随机工作密钥(DES加密)<0XB104>
2.141生成两个随机工作密钥(3DES加密)<0XB105>
2.142用输入传输密钥加密输入工作密钥<0XB106>
2.143用输入密钥解密数据<0XB107>
2.144用终端主密钥解密数据<0XB108>
2.145PINBLOCK转换一(从终端到区域)<0XB110>
2.146PINBLOCK转换二(从终端到区域)<0XB111>
2.147PINBLOCK转换三(从区域到区域)<0XB112>
2.148MAC验证一(终端)<0XB120>
2.149生成MAC(终端)<0XB121>
2.150MAC验证(区域一)<0XB122>
2.151MAC生成(区域一)<0XB123>
2.152MAC验证(区域二)<0XB124>
2.153生成MAC(区域二)<0XB125>
2.154验证区域MAB<0XB126>
2.155生成弱MAC(区域)<0XB127>
2.156验证区域MAB<0XB128>
3IC卡业务类
3.1传输密钥初始化<0XA001>
3.2装载次主密钥<0XA005>
3.3装载次主密钥<0XA006>
3.4将应用主密钥导入加密机中<0XA010>
3.5分散次主密钥产生MAC<0XA015>
3.6分散次主密钥验证MAC<0XA014>
3.7请求产生一个随机密钥<0XA016>
3.8导出分散子密钥<0XA017>
3.9导入次主子密钥<0XA018>
3.10外部认证<0XA019>
3.11请求产生一个16字节的奇校验随机密钥<0XB002>
3.12请求返回指定次主密钥状态<0XB003>
3.13产生一个64位或128位的数据密钥<0XB004>
3.14产生一个随机次主密钥(用主密钥加密)<0XB005>
3.15存储指定的次主密钥<0XB006>
3.16取回指定的次主密钥<0XB007>
3.17产生并验证MAC<0XB008>
3.18用指定的次主密钥对输入数据做3DES加密<0XB011>
3.19数据转换<0XB012>
3.20用指定密钥对输入数据进行3DES加/解密<0XB013>
3.21初始化CRC表<0XB014>
3.22签名<0XB015>
3.23数据转换和CRC校验<0XB016>
3.24输出加密的单长度密钥<0XB017>
3.25单DES密钥的MAC计算<0XB018>
3.26单DES密钥的MAC验证<0XB019>
3.27注入用RSA公钥加密的次主密钥<0XB01A>
3.28计算MAC<0XB01B>
3.29转换PIN<0XB05C>
3.30用指定的次主密钥分散并对分散结果加密<0XB060>
3.31用指定的次主密钥分散数据<0XB061>
3.32用分散出的数据密钥请求产生MAC<0XB080>
3.33请求用分散出的数据密钥产生并验证 MAC<0XB081>
3.34验证MAC并生成MAC<0XB082>
3.35请求产生TAC<0XB083>
3.36请求验证一个TAC<0XB084>
3.37安全计算<0XB085>
3.38不用临时密钥生成MAC<0XB086>
3.39验证0XB086命令产生的MAC<0XB087>
3.40验证并生成MAC<0XB088>
3.41数据加密并产生MAC一<0XB089>
3.42导出分散子密钥<0XB08A>
3.43导出交主密钥<0XB08B>
3.44数据加密并计算MAC二<0XB08C>
3.45用输入密钥计算弱MAC<0XB08D>
3.463DES MAC验证<0XB08E>
3.47DES MAC验证<0XB08F>
3.48通用3DES加密<0XB090>
3.49用分散密钥加密数据<0XB091>
3.50请求解密数据<0XB092>
3.51分散次主密钥产生MAC<0XB093>
3.52分散次主密钥和加密<0XB094>
3.53请求用种子密钥产生子密钥<0XB095>
3.54多类型数据加密<0XB096>
3.55加密分散子密钥和计算MAC<0XB097>
3.56加密分散子密钥和计算MAC<0XB098>
3.57加密分散子密钥和计算MAC<0XB099>
3.58加密分散子密钥和计算MAC<0XB09A>
3.59导出应用子密钥<0XB09B>
3.60加密分散子密钥和计算MAC<0XB09C>
3.61加密分散子密钥和计算MAC<0XB09D>
3.62转换PIN<0XB05C>
3.63分散子密钥,产生MAC<0XB09E>
3.64产生认证码<0XB09F>
3.65导出分散的子密钥(单长度)<0XB0A0>
3.66生成MAC(单长度分散)<0XB0A1>
3.67验证MAC(单长度)<0XB0A2>
3.68生成TAC(单长度)<0XB0A3>
3.69验证TAC(单长度)<0XB0A4>
3.70用临时密钥(双长度)进行加/解密<0XB0A5>
3.71用临时密钥(单长度)进行加/解密<0XB0A6>
3.72更改密钥属性<0XB0A7>
3.73生成MAC<0XB0A8>
3.74推导子密钥,加密数据,计算MAC<0XB0A9>
3.75用输入的密钥对数据进行加解密 <0XB0AA>
3.76用输入的密钥对数据计算MAC<0XB0AB>
3.77请求产生TAC<0XB0B3>
3.78请求验证一个TAC<0XB0B4>
3.79读取密钥版本号<0XB202>
3.80产生随机数<0XB203>
3.81交易下行加密<0XB210>
3.82密钥申请数据解密<0XB211>
3.83交易下行MAC生成<0XB220>
3.84密钥申请MAC校验<0XB221>
3.85OTA密钥下传<0XB230>
3.86交易上行转换PIN <0XB240>
4电子商务类命令
4.1请求产生一对RSA密钥(私钥)<0XC001>
4.2请求修改一个RSA私钥的访问口令<0XC002>
4.3请求输出一个RSA密钥对中的公钥<0XC003>
4.4请求进行一次RSA私钥加密(NO PADDING)<0XC004>
4.5请求用指定的RSA公钥加密(NO PADDING)<0XC005>
4.6删除一对RSA密钥<0XC006>
4.7产生一个DES密钥并输出<0XC007>
4.8用输入DES密钥加密输入的8字节数据<0XC008>
4.9用输入的DES密钥解密8字节输入数据<0XC009>
4.10用公钥加密数据(HAVE PADDING)<0XC00A>
4.11RSA私钥加密(HAVE PADDING)<0XC00B>
4.12取出RSA密钥<0XC00C>
4.13存储RSA密钥<0XC00D>
4.14产生随机数<0XC010>
4.15SHA-1做摘要(OPTIONAL) <0XC013>
4.16输入RSA密钥(管理用)<0XC014>
4.17输入RSA密钥(管理用) <0XC015>
4.18请求用指定的私钥解密 (NOPADDING)<0XC016>
4.19用输入的公钥解密(NO PADDING) <0XC017>
4.20请求进行RSA签名<0XC018>
4.21请求进行RSA签名验证<0XC019>
4.22请求用指定的私钥解密 ( PADDING)<0XC01A>
4.23用输入的公钥解密 (PADDING)<0XC01B>
4.24MD5摘要数据<0XC020>
4.25SHA-1做摘要(分段) <0XC023>
4.26MD5做摘要(分段) <0XC024>
4.27 产生并存储随机密钥,用RSA公钥加密后输出<0XC025>
4.28产生随机密钥并用输入公钥和指定主密钥加密后输出<0XC026>
4.29导出指定RSA公钥<0XC030>
4.30产生一对RSA密钥<0XC031>
4.31导出RSA密钥对<0XC032>
4.32对输入数据做摘要<0XC033>
4.33产生双长度的对称密钥<0XC034>
4.34对输入数据进行3DES加密<0XC035>
5.变种密钥指令集
5.1密钥转换<0XD100>
5.2导入密钥<0XD102>
5.3导出密钥<0XD104>
5.4产生随机工作密钥<0XD106>
5.5产生随机工作密钥<0XD107>
5.6加密明文密钥<0XD108>
5.7校验密钥<0XD10A>
5.8用密钥分量合成密钥<0XD10C>
5.8导出区域主密钥<0XD10D>
5.9更新区域主密钥<0XD10E>
5.10存储区域主密钥<0XD10F>
5.11用输入密钥加密数据<0XD112>
5.12用输入密钥解密数据<0XD114>
5.13加密PIN<0XD122>
5.14 PIN转换<0XD124>
5.15解密PIN<0XD126>
5.16产生PIN<0XD128>
5.17校验PIN<0XD12A>
5.18密信打印<0XD12C>
5.19计算MAC<0XD132>
5.20校验MAC<0XD134>
5.21计算CVV<0XD142>
5.21校验CVV<0XD144>
5.22打印密钥和数据<0XD154>
5.23产生并打印区域主密钥<0XD155>
附录A 加密机通用出错代码表
附录B ATM和POS机类型和PIN的格式
附录C Double-one-way
附录D 安全计算 (Secure Calculation)
附录E 命令0x50-0x54使用算法
4.35动态通信密钥
4.36通信主密钥加密通信密钥算法
4.37分散算法
4.38MAC算法
附录F 弱MAC计算
附录G 分散推导子密钥算法
4.39双长度分散:
4.40单长度分散: