在上个世纪末,是加密算法大发展的时期,原因就是NIST(美国国家标准技术研究所)高级加密标准(AES)算法在全球范围的征集。小编在之前的文章中已经为大家介绍了好几个落选算法,今天我们就再来了解一个AES的候选算法——E2加密算法。

E2加密算法简介

E2加密算法是由日本密码学家M.Kanda等人向NIST提交的AES候选算法,尽管最终并未能入选,但它的安全性能仍然表现的相当优秀。

E2加密算法

E2加密算法的特征

  1. 128比特数据分组;
  2. 可选128比特、192比特、256比特密钥;
  3. 12轮F函数叠代,采用类似DES的S2盒;
  4. F函数中的S2盒和P2函数也用于各轮叠代中的子密钥产生;
  5. 能对抗所有已知的密码攻击;
  6. 加解密速度比DES快。

E2加密算法的加密过程

为了便于描述,首先定义几个符合:

  • B,W,H∶分别为8比特、32比特和64比特矢量空间;
  • A©B∶A 和B 逐比特异或;
  • A VB∶A 和B 逐比特逻辑或;
  • Y=X©B∶yi=xi(biV00000001(hex))模2³²,(i=1,2,3,4),yi,xi,bi∈W,且Y=(y1,y2,y3,y4),X=(xi,x2,x3,x4),B=(bi,b2,bs,b4);
  • Y=X<B∶yi=xi(biV00000001(hex))﹣¹模2³²,(i=1,2,3,4),yi,xi,bi∈W,且Y=(y1,y2,y3,y4),X=(xi,x2,x3,x4),B=(b1,b2,b3,b4)。

E2加密算法

如上图所示,图中kj(j = 1~16)为128比特子密钥,由主密钥K经过子密钥产生器产生。

加密时,128比特明文数据M首先经过IT变换,然后进行12轮F函数的Feistel叠代,最后再经过FT变换,获得128比特密文,其叠代方式与DES极其相似。

解密时,其过程与加密完全相同,只是叠代时的子密钥顺序相反。

E2加密算法的优点

E2加密算法提出至今,设计者对其进行了大量的研究,事实证明,在同样的运行环境下,E2的加解密速度要比DES快得多。由此可见,尽管在AES的竞争中未能最终成为入选算法,E2加密算法依旧是一种安全特性好、加解密速度快、软硬件实现都极其方便的分组加密算。

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