首页
社区
课程
招聘
[原创]轻量级分组加密算法Simon
发表于: 2023-10-26 17:11 6348

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

2023-10-26 17:11
6348

轻量级分组加密算法Simon

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

Simon算法加密过程

Simon算法加密流程

轮密钥生成算法

Simon系列分组密码算法的轮函数是相同的,其不同之处在于密钥扩展算法。假设初始密钥为K0,K1,……Km-1,利用轮密钥递推公式可以得到全部轮密钥K0,K1,……Kr-1。根据初始密钥字长m不同,递推公式分为3种:

其中常量c=2-4=0xff…fc,c的二进制位数与轮密钥Ki相同。z0,z1,z2,z3,z4是5个不同的二进制常数数列,不同版本的Simon密码可以采用不同的z。

设u,v,w是周期为31的序列,t是周期为2的序列,

u=1111101000100101011000011100110···

v=1000111011111001001100001011010···

w=1000010010110011111000110111010···

t=010101010101···

则SIMON算法的轮常数序列为:

z0=u,z1=v,z2=u⊕t,z3=v⊕t,z4=w⊕t。



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

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