DES加密算法是一款应用十分广泛的对称式分组算法,因为它自身的各种优点,在随后的发展中出现了很多类似于DES的加密算法,今天我们要聊的这个FEAL加密算法就是其中之一。

FEAL加密算法简介

FEAL加密算法是一套类似美国DES的分组加密算法,由于当时的DES只用硬件去实现,因此不适用于较小的系统,而FEAL则强调其在每一轮的安全强度都比DES高,所以使用较少的轮数,就可达到与DES采用16轮相同的安全度,如此一来就比较适合用软件去实现它了。

FEAL加密算法

FEAL算法的加密原理

FEAL是一种传统的分组密码,加密和解密使用同一个密钥,明文块和密文块均为64位,密钥块也是64位。FEAL的密码处理要素是模256的加法运算,基本的数据操作都是以一字节为单位进行的,在汇编语言中,模256的加法可以直接用一条ADD指令实现,如果是寄存器寻址方式,只需两个时钟周期就可以完成,这是FEAL算法高速的根本原因。

FEAL算法由数据随机化部分和密钥调度两个部分构成。FEAL分组加密法与DES是相同的。即FEAL的加密或解密分组,及使用者手中所持有的秘密密钥皆如同DES一般,都是64位。唯一不同的是,FEAL的密钥没有校验位。

至于FEAL加密算法的真正加密结构,则与DES有极大的差异。FEAL完全没有使用置换函数来搅乱加密或解密过程中的数据,更没有如DES般具有神秘的S盒。FEAL使用了异或(XOR)、旋转(Rotation)、加法与模(Modulus)运算。FEAL中子密钥的生成使用了8轮迭代循环,每轮循环产生2个16bit的子密钥,共产生16个子密钥运用于加密算法中。

FEAL加密算法

FEAL算法的安全性

FEAL算法的密钥块为64位,DES算法的密钥块虽然也是64位,但其中包含了八位奇偶校验位,实际只使用了56位。因此作为民用密码,FEAL算法对付密钥穷尽攻击时不成问题。

FEAL算法的结构设计上采用了扩散函数以及控制转移等方法,在加密处理过程中保证各转移中经常使用全部的64位密钥信息,强化了抗击密码破译的能力。

FEAL算法和DES算法的密文变化对明文变化的独立性指标,以及密文变化对密钥变化的指标,FEAL算法的各个指标都比DES算法要好。

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