简述Akelarre加密算法

Akelarre加密算法是一种分组密码算法,是由Alvarez G和Montoya F等人于1996年年提出的。我们今天就来简单了解一下Akelarre加密算法。

Akelarre加密算法简介

Akelarre加密算法是一种结构类似于IDEA的分组密码算法,和IDEA的16 bit分组不同的是,其为32 bit 分组,而且没有用到模乘运算,而是在每一轮开始前进行128bit循环移位操作,在RA盒中反复进行密钥加和循环移位。算法可以使用可变的密钥长度、圈函数循环轮数。

Akelarre加密算法

Akelarre算法的加密过程

Akelarre 的加密过程由输入变换、圈循环和输出变换3个部分组成。

1、输入变换

将128bit的明文数据分为4个32bit子块,然后分别将1块、4块利用逐位模2加运算,2块、3块利用模2³²加运算和子密钥进行结合。

2、圈循环

输入变换后的4个子块作为圈函数第1圈的输入。假设Akelarre算法有v圈迭代,每圈变换首先将输入的4个32bit子块组合(级联)为一个128bit块。

然后将128bit块循环左移a位(a的值由子密钥Z1的最低7bit有效位决定);将循环移位后的128bit块重新分为4个子块并进行相互异或,作为循环加结构(RA盒)的输入分别和12个32bit的子密钥结合,输出2个32 bit的子块。

最后将循环加结构的输出分别和循环移位后的4个子块异或,得到圈函数的输出。其中,循环加结构由2列32bit输入组成。每列的运算将32bit输入的高31位循环左移a位后与子密钥进行模2³²相加,所得结果的低31位循环左移a位,再与子密钥进行模2³²相加,相加结果的高31位循环左移a位。如上过程重复执行2次。

3、输出变换

最后一轮圈函数的输出作为Akelarre算法输出变换的输入。首先将输入的4个子块级联为一个128bit块。然后将128bit块循环左移a位;将循环移位后的128 bit 块重新分为4个子块,然后分别将1块、4块利用逐位模2加运算,2块、3块利用模2³²加运算和子密钥进行结合,所得结果级联后为密文。

Akelarre算法的解密过程

Akelarre的解密算法和加密算法用的是同一个算法,两者唯一改变的是解密过程中所使用的13v+9个32 bit 的脱密子密钥是由加密的子密钥得到。

Akelarre加密算法

Akelarre加密算法虽然类似于IDEA算法,但却在安全性上却略显不足,尽管其设计者在1998年便提出了它的升级版本Ake98,但仍然发现其存在许多弱密钥,这也是Akelarre算法未能广泛使用的主要原因。

免责声明:素材源于网络,如有侵权,请联系删稿。

相关推荐

简述栅栏密码

在密码学中一直有这样一句话:“古典密码是密码学的源头”。这之前的文章中我们也了解了古老的凯撒密码,虽然以现在的眼光来看比较简单,但在当时可以说是一种质的飞跃。今天我们就来了解另外一种古典密码——栅栏密码。 ...

简述Khazad加密算法

熟悉著名科幻小说《指环王》的朋友对Khazad这个名字一定不会陌生,而我们今天要说的就是以其命名的加密算法——Khazad算法。 Khazad算法简介 Khazad加密算法是欧洲NESSIE密码计划中进入第二阶段的候选加密算法之一,由 ...

简述CAST加密算法

在AES算法的海选中,涌现了许多优秀的算法,虽然很多没有最终当选,但也同样十分优秀,今天我们就来了解其中一种竞选算法——CAST算法 CAST算法简介 CAST算法是由Carliasle Adams和Stafford Tavares分别于1996年和1998 ...

简述HMAC加密算法

众所周知,Mac是Apple笔记本电脑的缩写,它是一款……开个玩笑,除了笔记本电脑之外,MAC还是一种著名的散列函数,而我们今天的主角则是MAC算法的一种——HMAC。 HMAC算法简介 HMAC是一种使用单向散列函数来构造消息认证 ...