美文网首页
商业银行加密算法之--计算MAC和PINBLOCK

商业银行加密算法之--计算MAC和PINBLOCK

作者: 继续向前冲 | 来源:发表于2018-04-03 02:35 被阅读517次

今天工作主要学习是计算MAC 和PINBLOCK 。计算pinblock的时候首先要对数据进行处理,卡号,一般的处理过程位从倒数第二位开始截取,向前截取12位,获取的这12位前加0补足16位。

Pin的处理:一般密码为六位或者四位,当为四位时在密码前面添加04,不足16位在后面补足F。当密码为六位时前面添加06,不足16位后面补足F。然后将两组数据异或,再与密钥进行3des运算。结果即为所求。

注意:所有数据进行3des前都必须要进行压缩,而且在运算处理后还应该进行解压,这样才可以保证数据正确,在进行des运算时,不但要传入指向数据的指针,而且还要有数据的长度,这样才能才能保证数据的完整性。des_ec只是des运算的一部分,之前还要很多其他的操作,所以不能直接使用,要参照之前的程序来模仿这来。

示例:
ANSI X9.8密码加密:

1、将卡号去校验位,取右12位。如5309833221044200,取下画部分,前拼4个0得到CARDNO,并压成BCD码。

2、 将PINPAD输入的密码正文拼接,得06??????FFFFFFFF, 04????FFFFFFFFFF,并压成BCD码。

3、将1、2步所得异或得PAN。

4、TRIPLE-DES(PIN�-BLOCK-KEY ,PAN)结果即为加密后的PIN-BLOCK;

MAC的产生:采用ANSI X9.19算法

终端与前置机之间的交易报文格式为:

报文长度    TPDU   报文标识   bitmap   交易数据   MAC

     2Bytes     5Bytes    2Bytes    8Bytes     变长     8Bytes

  计算MAC:首先将8Bytes 的bitmap和变长的交易数据分成若干个64位的数据段,

最后一个数据段(N)不足64位的在后面加零补够64位。然后计算

(1) ANSI X9.19MAC算法只使用双倍长密钥。

(2) MAC数据先按8字节分组,表示为D0~Dn,如果Dn不足8字节时,尾部以字节00补齐。

(3) 用MAC密钥左半部加密(单DES)D0,加密结果与D1异或作为下一次的输入。

(4) 将上一步的加密结果与下一分组异或,然后用MAC密钥左半部加密(单DES)。

(5) 直至所有分组结束。

(6) 用MAC密钥右半部解密(5)的结果。

(7) 用MAC密钥左半部加密(6)的结果。

(8) 取(7)的结果作为MAC。

2.MAC的校验:

MAC的校验采用了跟MAC的产生相同的算法,它通过在正文后面附加64位的MAC,作为正文确认用;信息传送到对方后,接受方通过与发送方相同的密钥和算法对信息进行加密后,比较计算出来的MAC与收到的MAC是否一致来判断信息本身是否完整和准确。

相关文章

  • 商业银行加密算法之--计算MAC和PINBLOCK

    今天工作主要学习是计算MAC 和PINBLOCK 。计算pinblock的时候首先要对数据进行处理,卡号,一般的处...

  • 加密算法

    加密算法分为对称加密算法和非对称加密算法。 对称加密 特点:1、加密和解密使用相同的秘钥。2、是可逆的。3、计算量...

  • Android 中签名 加密和HTTPS

    Android 中签名 加密和HTTPS 一 RSA 加密算法 1. 非对称加密算法 1976年,两位美国计算机学...

  • 几个常用算法

    Base64 HASH算法 非对称加密算法 Mac openssl

  • 乘法逆元的计算

    计算乘法逆元是学习加密算法的基础,在 RSA、ECC 和 AES 加密算法中都会用到,在网上提供的方法也有,比如扩...

  • Wolfram Mathematica 13 :科学数学计算软件

    Mathematica 13 for Mac(科学计算软件)是Mac平台上致力于科学计算的软件,很好地结合了数值和...

  • iOS 非对称加密算法

    简介 对称加密算法又称现代加密算法。 非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。 非对称加密算法...

  • 计算机密码学与PKI体系

    加密算法 所谓加密算法就是指将信息变成密文的计算方法。 可以很简单也可以很复杂。有的加密算法就是对信息进行简单的替...

  • 加密算法

    加密算法的历史 加密算法最早诞生在什么时候?是在计算机出现之后吗?不不不,早在古罗马时期,加密算法就被应用于战争当...

  • Android 加密算法AES/RSA

    Android中的MD5和RSA加密Android应用安全开发之浅谈加密算法的坑 对称加密 在对称加密算法中,数据...

网友评论

      本文标题:商业银行加密算法之--计算MAC和PINBLOCK

      本文链接:https://www.haomeiwen.com/subject/ibwfhftx.html