【密码应用-轻量级分组加密算法TWINE】此文章归类为:密码应用。
轻量级分组加密算法TWINE
算法为基于16分支广义Feistel结构设计的轻量级分组密码算法。算法分组大小为64bit,密钥长度分别为80bit和128bit(TWINE-128)。TWINE算法共迭代36轮,每轮轮函数F由轮密钥加、、P置换3部分组成。
TWINE算法加密流程
(1)轮密钥加层
将第2i……6,7)个4bit块分别记为B2i+1,轮密钥为,则=B2i+1+RKi≤i≤7)
(2)S盒替换层
把(1)中输出的32位中间状态划分为8个4-bit的…y7,然后y7依次进入8个相同的4X4S盒,输出为S[y0]……S[y7]。
(3)P置换层
将(2)中输出的64位中间状态划分为16个4-bit的半字节块,然后通过置换表进行换位变换。
轮密钥生成算法
TWINE-80算法密钥扩展算法伪代码如下:
其中
ROLi(X)表示将X循环左移位i位。下表为TWINE算法轮常量:
更多【密码应用-轻量级分组加密算法TWINE】相关视频教程:www.yxfzedu.com