-
-
[原创]轻量级分组加密算法PRIDE
-
发表于:
2023-10-14 15:21
5966
-
轻量级分组加密算法PRIDE
PRIDE算法为基于SPN结构设计的轻量级分组密码算法。算法分组大小为64位,密钥长度为128位(PRIDE-128)。PRIDE算法共迭代20轮,每轮轮函数F由轮密钥加、S盒代换、L线性变换3部分组成。如图所示。PRIDE算法的前19轮是一致的,最后一轮没有线性层变换。将64位中间状态分成16个4比特块(Nibble),然后进入轮函数。
PRIDE算法轮函数
PRIDE算法加密流程
(1)轮密钥加层
将64位的轮密钥与64位的中间状态逐比特异或。
中间状态为B0…B15,轮密钥为RK0…RK15,则输出为Bi=Bi+RKi(0≤i≤15)
(2)S盒代换层
把(1)中输出的64位中间状态划分为16个4-bit的W0…W15,然后W0…W15依次进入16个相同的4X4S盒,输出为S[W0]…S[W15]。
(3)L线性变换层
PRIDE算法的线性层可成三部分:一个置换层P,一个矩阵变换层M和置换层P的逆变换P-1。矩阵层M由四个小矩阵并行而成的,线性层L可表示成:
轮密钥生成算法
PRIDE算法的128比特主密钥K分为两个64比特部分(k0,k1),即K=k0||k1,其中k0是PRIDE算法的白化密钥,用于加密前和加密后,k1用于生成PRIDE算法的第i轮轮子密钥fi(k1)。具体的生成方式如下:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)