首页
社区
课程
招聘
[原创]轻量级分组加密算法TWINE
发表于: 2023-11-24 16:25 5500

[原创]轻量级分组加密算法TWINE

2023-11-24 16:25
5500

轻量级分组加密算法TWINE

TWINE算法为基于16分支广义Feistel结构设计的轻量级分组密码算法。算法分组大小为64bit,密钥长度分别为80bit(TWINE-80)和128bit(TWINE-128)。TWINE算法共迭代36轮,每轮轮函数F由轮密钥加、S盒替换、P置换3部分组成。

TWINE算法加密流程

(1)轮密钥加层

将第2i+1(i=0,1……6,7)个4bit块分别记为B2i+1,轮密钥为RKi,则输出为B2i+1=B2i+1+RKi(0i7)

(2)S盒替换层

把(1)中输出的32位中间状态划分为8个4-bit的y0……y7,然后y0…y7依次进入8个相同的4X4S盒,输出为S[y0]……S[y7]。

 

(3)P置换层

(2)中输出的64位中间状态划分为16个4-bit的半字节块,然后通过置换表进行换位变换。

轮密钥生成算法

TWINE-80算法密钥扩展算法伪代码如下:

其中CONHr表示第r轮轮常量高位数据,CONLr表示第r轮轮常量低位数据。

ROLi(X)表示将X循环左移位i位。下表为TWINE算法轮常量:



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 3070
活跃值: (30876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2023-11-27 09:21
1
游客
登录 | 注册 方可回帖
返回
//