CLEFIA加密算法是我们熟悉的SONY公司研发的一种分组加密算法,其目的是为了保护SONY公司的音乐和图像等数字内容的发行以及进行高级版权的保护和认证,于2007年对外公布。

CLEFIA加密算法简介

CLEFIA算法由数据处理部分和密钥扩展部分组成。CLEFIA的基本结构是一种广义的Feistel 结构。广义的 Feistel 的结构是传统 Feistel 结构的变形,由四条输入分支组成。每一轮中有两个F函数,每个F函数使用两个不用的S盒和两个不同的扩散矩阵。密钥扩展部分与数据处理部分共享Feistel结构,这使得CLEFIA只需要较小的硬件和软件规模。

CLEFIA算法支持128位的分组长度,密钥长度是128/192/256比特可选。密钥长度是128位时加密轮数是18轮,密钥长度是192和256位时加密轮数分别是22轮和26轮。

CLEFIA加密算法

CLEFIA加密算法的加解密流程

CLEFIA 的加密函数用ENCr来表示,解密函数用DECr来表示。ENCr和DECr,都是基于4个分支的广义Feistel结构GFN4.r。用P,C∈{0,1}128来表示明文和密文。P=P0|P1|P2|P3,C=C0|C1|C2|C3 ,其中Pi,Ci∈{0,1}³²(0≤i<4)。用WK0,WK1,WK2,WK3∈{0,1}³²来表示第一轮前的白化密钥,RKi∈{0,1}³²(0≤i≤2r)来表示由密钥扩展算法产生的轮密钥。此时可将加密函数定义如下:

CLEFIA加密算法

解密函数DECr与加密函数ENCr的区别在于子密钥RKi³²的注入顺序相反,且字循环的方向恰好相反。

CLEFIA加密算法

CLEFIA加密算法的安全性

CLEFIA算法是一种比较“年轻”的加密算法,在公布之初,SONY公司声称它足以抵抗“现有的密码破解手段”。为了它能够在将来被广泛应用,国内外学者对其进行了各种攻击手段。

从结果上来看,大部分攻击所需要的计算量和储存量都比较大,所以证明CLEFIA算法确实有着不错的安全性。

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