利索能及
我要发布
收藏
专利号: 2023113817556
申请人: 齐鲁工业大学(山东省科学院)
专利类型:发明专利
专利状态:已下证
更新日期:2025-06-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于分形排序向量S盒的混沌密码系统,其特征在于,包括:混沌密码系统,所述混沌密码系统包括基于分形排序向量的S盒、基于明文信息数据的密钥生成器及基于分形排序向量的S盒的混沌密码算法;

所述基于分形排序向量的S盒的构造方法包括分形排序向量的构造方法及基于分形排序向量的S盒为信息数据的数值改变的扩散方法;

分形排序向量,是在排序向量的基础上提出的;

基于明文信息数据的密钥生成器,将明文信息数据依靠Hash函数得到Hash序列,再由Hash序列转化方法将16进制的序列转化为密钥,获得与明文信息紧密相关的混沌加密算法的密钥,进而提升密钥的安全性和算法抵抗差分攻击的能力;

基于分形排序向量的S盒的混沌密码算法,包括置乱过程和扩散过程;

所述分形排序向量的构造方法包括以下步骤:S11:设置初始排序向量 , 由正整数1、2、3、4组成, 长度为4且其中的元素不重复;

S12:计算出向量子段 , ;

其中: 表示向量 的第 个子向量;

表示向量 中的第 个元素;

S13:将 、 、 、 依此组成长度为 的向量;

S14:将向量 中的元素按由小到大的序次,依次标记大小序号,由这样的序号组成向量 为分形排序向量;

S15:在已知分形排序向量 的条件下,计算出向量子段, ;

是大于2的正整数,用于标记分形排序向量的迭代次数,进而区分每一次迭代的结果;

S16:将 、 、 、 依此组成长度为 的向量;

S17:将向量 中的元素按由小到大的序次,依次标记大小序号,由这样的序号构成分形排序向量 ;

S18:重复S15、S16及S17,得到适当长度的分形排序向量;

S19:结合实际需求和适当的迭代次数 ,得到合适的长度的分形排序向量FSV;

所述基于分形排序向量的S盒由两个序列构建,这两个序列由分形排序向量中的元素计算得出,具体步骤如下:S21:设置初始排序向量 ,规定迭代次数 ;

是大于2的正整数,用于标记分形排序向量的迭代次数,与 的含义相同;

S22:按分形排序向量的迭代算法计算 ;

S23:随机选择 32 个小于 的不同正整数 ,将这32个不同的正整数排列并组成一个向量 ;

S24:计算第一个8bit序列向量 ,其中 的取值与分形排序向量中的指定元素相关;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

S25:计算第二个8bit序列向量 ,其中 的取值与分形排序向量中的指定元素相关;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时,取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时,取值为1,否则为0;

当 中第 个整数与第 个整数的商大于1时, 取值为1,否则为0;

S26:根据S24和S25计算出的两个序列和AES方法,得到基于分形排序向量的S盒;

所述基于明文信息数据的密钥生成器,将源数据经hash函数运算得到的16进制的序列转化为密钥,用于密码系统中的信息数据的加密和解密,其处理步骤如下:S31:读取源信息数据Q;

S32:使用Hash函数计算Q得到的16进制的序列记为向量 ;

S33:计算向量 的长度记为 ;

S34:使用连续异或运算,计算出中间变量 , ,L为向量 的比特长度,为累积异或的次数标识;

S35:应用中间变量 ,计算第一个密钥 ;

S36:计算第二个密钥 ;

S37:计算第三个密钥 ;

S38:计算第四个密钥 ;

根据上述步骤可以得到密钥 ,其中, 被用于混沌密码系统的混沌系统的初始值,而 便是为了保障混沌系统达到混沌状态的删除的前段序列的长度;

所述基于分形排序向量的S盒的混沌密码算法如下:S41:读取明文信息数据 ,计算明文信息数据长度 ;

S42:根据密钥生成器得到密钥 ;

S43:设置初始排序向量,采用所述分形排序向量的构造方法得到恰当长度的分形排序向量 ,按基于分形排序向量的S盒构造方法,得到S盒B;

S44:以 为初始值,带入混沌系统,得到删除前 个元素后长度 为的两个混沌序列 和 ;

S45:求得混沌序列 中各元素的升序排序位置索引并记为 ;然后将明文信息数据 按和 作为像素位置置乱索引进行置乱得到置乱数据 ;

S46:将混沌序列 的进行混沌数值整数化并映射到像素域,可得 ,其中mod表示取余函数, 表示向上取整运算;

S47:应用S43构造出的B和由S46求得的T对置乱后的数据 进行扩散,得到密文数据;

根据以上步骤即可实现明文信息数据到密文数据的加密转换,从而保护明文信息数据的安全。