利索能及
我要发布
收藏
专利号: 2022101825326
申请人: 江苏大学
专利类型:发明专利
专利状态:授权未缴费
更新日期:2025-07-05
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种可灵活序列化的轻量级分组密码实现方法,其特征在于,包括以下步骤:构建加密结构,初始化移位参数;

获取明文,将所述明文作为待加密数据进行加密运算;

获取初始密钥,通过密钥编排函数生成本轮所需的轮密钥;

对待加密数据进行第一结构函数运算,并进行异或操作,得到经过第一结构函数处理之后的加密数据;

对经过第一结构函数处理之后的加密数据进行第二结构函数运算,得到第二函数处理之后的加密数据;

对第二函数处理之后的加密数据进行RT变换生成一轮加密之后的密文;

重复R次加密过程,生成密文C。

2.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,所述加密结构是4分支Feistel结构与ARX结构的混合;在Feistel结构中包含了4个大小相同的明文分支,从左至右依次记为p1、p2、p3、p4分别对应着明文P的高位至低位;在ARX结构中包含着两种具有不同非线性操作的ARX结构,分别记为AND‑RX和ADD‑RX,AND‑RX中包含移位参数a、b、c对应的均为循环左移的bit数;ADD‑RX中包含移位参数d、e对应的分别为循环右移、左移的bit数。

3.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,轮密钥的生成包括以下步骤:

构建密钥编排函数结构,初始化轮常数c以及伪随机序列z;关系如下:n

c=2‑1;

其中n为明文的长度;伪随机序列z由LFSR产生,对于不同的密钥长度取不同的序列;

记密钥长度为L,将初始密钥K从高位到低位均分为两部分,分别记为kl、kr;

将kl、kr按照明文分支大小分为kl0、kl1…kl2L/n、kr0、kr1…kr2L/n;

每轮加密时轮密钥k0=kl0,k2=kl1,k1=kr0;

将密钥K整体循环左移f位;

将密钥kl0、kl1经过ADD‑RX结构处理,生成新的kl0、kl1;

使用 来替换ADD‑RX结构中引入密钥的部分;

将密钥kr0、kr1经过AND‑RX结构处理,生成新的kr0;

使用 来替换AND‑RX结构中引入密钥的部分;

重复R轮产生加密过程中所需的全部轮密钥。

4.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,RT变换包括以下步骤:

将p1值赋给p3,将p3的原值赋给p4;

将p2值赋给p1,将p4的原值赋给p2;

其中,p1、p2、p3、p4为经过第一函数和第二函数处理之后的数据。

5.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,还包括将明文从高位到低位分为大小相同的四个部分,作为待加密数据p1、p2、p3、p4,进行加密运算。

6.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,所述第一结构函数运算包括循环左移以及逻辑与操作。

7.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,所述第二结构函数运算包括循环右移、循环左移以及模加操作。

8.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,对待加密数据进行第一结构函数运算,并进行异或操作,计算公式如下:其中,F表示第一结构函数,p1、p2、p3、p4为待加密数据,每轮加密时轮密钥k0=kl0,k2=kl1,k1=kr0。

9.根据权利要求1所述的一种可灵活序列化的轻量级分组密码实现方法,其特征在于,对待加密数据进行第二结构函数运算,计算公式如下:其中,RORd表示循环右移d位,ROLe表示循环左移e位,p2、p3表示待加密数据,每轮加密时轮密钥k0=kl0,k2=kl1,k1=kr0。