高级加密标准AES候选算法之一MARS

目录

MARS的加密算法

(1)前期混合运算

(2)前期加密变换

(3)后期加密变换

(4)后期混合运算

密钥扩展算法


高级加密标准AES候选算法之一MARS

MARS是IBM公司提交的一个AES候选算法,它的特点是充分使用非平衡的Feistel结构。为了保证加解密的强度相当,MARS用结构类似的两部分组成。该算法是面向字运算的,所有内部操作均以32比特字为单位。

MARS的加密算法

如下图所示,加密过程由6部分组成,第1部分是密钥加(按32比特字加),第2部分是不受密钥控制的8轮前期混合运算,第3部分是密钥控制下的8轮前期加密变换,第4部分是密钥控制下的8轮后期加密变换,第5部分是不受密钥控制的8轮后期混合运算,第6部分是密钥减(按32比特字减)。

(1)前期混合运算

对128比特输入X=(X3,X2,X1,X0)进行下面的运算:

重复上述过程一次。

(2)前期加密变换

首先,我们给出E函数的定义,E函数是MARS的核心,它的输入是32比特的字X,输出是3个32比特的字(Y2,Y1,Y0)。

其中S是F29~F232的盒子,k和k'(要求k'是奇数)是子密钥,ROL(X,n)表示将X循环左移n比特,其中ROR(X,n)表示将X循环右移n比特。

前期加密变换是一种8轮的广义Feistel结构,第i轮的输人为4个32比特字X=(X3,X2,X1,X0),输出Y=(Y3,Y2,Y1,Y0)由下列式子计算:

(3)后期加密变换

后期加密变换也是一种8轮的广义Feistel结构,第i轮的输人为4个32比特字X=(X3,X2,X1,X0),输出Y=(Y3,Y2,Y1,Y0)由下列公式计算:

(4)后期混合运算

对128比特输入X=(X3,X2,X1,X0)进行下面的运算:

重复上述过程一次。

密钥扩展算法

扩展算法由下列4步构成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄金龙PLUS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值