由于微型计算设备不断的进步,在生活中的应用也越来越广泛,它安全性也备受关注,专为微型计算设备研发的轻量级加密算法也不断增多,MIBS加密算法就是其中之一。下面我们就通过本文来一起了解一下MIBS加密算法。

MIBS算法简介

MIBS是一种 Feistel结构的轻量级分组密码算法,分组长度为64bit,共有32轮,密钥有64bit 和80bit 两种参数。是由Maryam Izadi等人在Can 2009上提出的,主要针对RFID标签设计,它占用资源少,适合在计算能力受限的微型计算设备上应用。

MIBS算法

MIBS算法加密流程

MIBS是Feistel结构的分组密码算法,消息分组长度为64bit,共有32轮。密钥长度有64bit和80bit两种。64bit的消息分组分成L0和R0两个32bit的值。而且MIBS中是以4bit 为一个单位的,称为半字节或半位元。

MIBS算法

MIBS的轮函数由轮密钥加、S盒变换、扩散层及Р置换组成。设Li-1,Ri-1是第i轮的输入,ki是32bit轮密钥,第i轮的迭代公式为:Li= F(ki,Li-1)⊕Ri-1,Ri =Li-1

轮密钥加:每轮输入的左32bit都与32bit的轮密钥相异或。

S盒变换:S={4,15,3,8,13,10,12,12,0,11,5,7,14,2,6,1,9},S:F42→F42:yi=s(xi),1≤i≤8。

混合层:此层为线性变换,由下列线性关系式构成:

MIBS算法

Р置换:将混合层输出的8个半字节按新的顺序输出,P={2,8,1,3,6,7,4,5}。

用statei表示第i轮的密钥扩展,轮密钥按如下关系式生成(1≤i≤32):

state0是初始密钥;statei = statei>>>19;statei= S - box ( statei[79~76])|| S - box ( statei[75~72])statei[71~0];statei = statei[79~19]||lstate [18 ~ 14]⊕Round _counter||statei[13~0];k=statei[79~48]。

MIBS算法的优缺点

MIBS密码算法运算便于硬件实现,资源占用量较少,可普遍应用于电子标签和传感器网络等环境。

但MIBS算法在面对不可能差分分析攻击时,可能会出现明文量选取过少,从而出现计算错误的情况。

免责声明:素材源于网络,如有侵权,请联系删稿。