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

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

2023-11-24 16:32
5732

轻量级分组加密算法Speck

Speck算法为基于变形Feistel结构设计的轻量级分组密码算法。n表示字长,2n表示分组长度,mn表示密钥长度。Speck算法一共10个版本,均可用Speck 2n/mn表示。这10个版本分别为32/64,48/72,48/96,64/96,64/128,96/96,96/144,128/128,128/192,128/256。Speck的轮函数包含4种操作:按位异或(⊕)、模加()、循环左移(<<<)、循环右移(>>>)。

Speck系列算法的轮函数可以看作变形的两轮Feistel结构。记Speck算法第i轮的输入为(Xi,Yi),输出为(Xi+1,Yi+1),则状态(Xi,Yi)到(Xi+1,Yi+1)的更新过程可以描述为:

Speck算法加密过程

其中α和β为系统参数,在Speck32/64α=7,β=2,其它系列算法中α=8,β=3。

Speck算法加密流程

轮密钥生成算法

Speck系列算法的密钥扩展函数利用轮函数来生成所需要的子密钥K。记算法主密钥K=(Lm-2,Lm-3,……,L0,K0),其中Li,K0∈GF(2)n。密钥扩展函数的输入为主密钥K,输出为T个子密钥K0,K1,……,KT-1。计算Ki和Li的公式为:

其中Ki为第i轮子密钥,0≤i≤T-1,m为各算法密钥块数大小,例如,在Speck 32/64和Speck 48/96算法中都有m=4。



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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