现在位置: > > IT/计算机 > 计算机软件及应用

MAC加密算法

处理密钥:

从用户处获得64位密钥.(每第8位为校验位,为使密钥有正确的奇偶校验,每个密钥要有奇数个"1"位.(本文如未特指,均指二进制位)

具体过程:

对密钥实施变换,使得变换以后的密钥的各个位与原密钥位对应关系如下表所示:(表一为忽略校验位以后情况).

57 49 41 33 25 17 9 1 58 50 42 34 26 18

10 2 59 51 43 35 27 19 11 3 60 52 44 36

63 55 47 39 31 23 15 7 62 54 49 38 30 22

14 6 61 53 45 37 29 21 13 5 28 20 12 4

把变换后的密钥等分成两部分,前28位记为C[0],后28位记为D[0].

计算子密钥(共16个), 从i=1开始。

分别对C[i-1],D[i-1]作循环左移来生成C[i],D[i].(共16次)。

每次循环左移位数如下表所示:

轮 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

串联C[i],D[i],得到一个56位数,然后对此数

作如下变换以产生48位子密钥K[i]。

变换过程如下:

14 17 11 24 1 5 3 28 15 6 21 10

23 19 12 4 26 8 16 7 27 20 13 2

41 52 31 37 47 55 30 40 51 45 33 48

44 49 39 56 34 53 46 42 50 36 29 32

1.2.3.3 按以上方法计算出16个子密钥。

对64位数据块的处理:

把数据分成64位的数据块,不够64位的以适当的方式填补。

对数据块作变换。

58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

将变换后的数据块等分成前后两部分,前32位记为L[0],后32位记为R[0]。

用16个子密钥对数据加密。

根据下面的扩冲函数E,扩展32位的成48位

32 1 2 3 4 5 4 5 6 7 8 9

8 9 10 11 12 13 12 13 14 15 16 17

16 17 18 19 20 21 20 21 22 23 24 25

24 25 26 27 28 29 28 29 30 31 32 1

用E{R[i-1]}与K[i]作异或运算。

把所得的48位数分成8个6位数。1-6位为B[1],7-12位为B[2],... 43-48位为B[8]。 用S密箱里的值替换B[j]。从j=1开始。S密箱里的值为4位数,共8个S密箱.

取出B[j]的第1和第6位串联起来成一个2位数,记为m.m即是S密箱里用来替换B[j]的数所在的列数。

取出B[j]的第2至第5位串联起来成一个4位数,记为n。n即是S密箱里用来替换B[j]的数

相关文档
加密MAC相关标准
加密MAC相关标准_计算机软件及应用_IT/计算机_专业资料。加密MAC算法相关标准。1.1 64 比特密钥 DES 加/解密 64 比特数据 DES 加/解密 密钥 64 比特结果 ...
Java 加密解密之消息摘要算法(MD5 SHA MAC)
Java 加密解密之消息摘要算法(MD5 SHA MAC)_计算机软件及应用_IT/计算机_专业资料。Java 加密解密之消息摘要算法(MD5 SHA MAC)本文转自网络 消息摘要消息摘要(...
3DES算法计算MAC
写了个比较完整的例子,供大家参考 eg: 1、利用 3DES 算法计算 MAC 2、利用 3DES 算法加密一个 KEY 3、计算校验值 此代码采用双倍长密钥为例 [java] view...
银联规定的MAC算法
银联规定的MAC算法 POS终端采用ECB的加密方式,简述如下: a) 将欲发送给POS中心的消息中,从消息类型(MTI)到63域之间的部分构成MAC ELEMEMENT BLOCK (MAB)。 b)...
des与3des算法
? ? PIK 参不密钥加密的工作密钥 MAK 用亍生成交易报文合法性验证数据(MAC)的密钥 名词解释 ? PIN block ? 对称算法对称式加密就是加密和解密使用同一个密钥,...
MAC,PIN密钥体系
在上面说到 MAC 算法的时候,我们会注意到其中进行 DES 加密算法时提到了一个 Key,这个用来参与 MAC 计算的 Key 就常被称为 MacKey,也有 叫工作密钥、过程密钥...
密码算法设计与实现
SHA384、SHA512、 HMAC、UMAC、T-T-MAC、MD5 1 分组密码算法概述 DES(数据加密标准)算法 IDEA(国际数据加密算法) AES(Rijndael)算法 NESSIE候选分组密码算法 ?...
DES加密算法详解
等领域被广泛应用,以此来 实现关键数据的保密,如信用卡持卡人的 PIN 的加密传输,IC 卡与 POS 间的双 向认证、金融交易数据包的 MAC 校验等,均用到 DES 算法...
加密算法介绍及如何选择加密算法
9 1 加密算法介绍及如何选择加密算法与公共密钥密码使用密钥对不同,对称密钥密码...MAC (信息认证代码)就是一个散列结果,其中部分输入信息是密码,只有知道这个密码...
散列函数和MAC函数1
第11章 消息认证和散列函数 11章 MAC函数与加密类似,其区别之一是: MAC算法不要求可逆性而加密算法必 须是可逆的。 第11章 消息认证和散列函数 11章 源源A ...
相关主题
返回顶部
热门文档
你可能喜欢
  • 密钥管理系统
  • DES加密算法详解
  • Linux系统命令使用详解
  • 远程桌面连接
  • 加密解密