一种基于Logistic映射的S-box获取方法及获取装置与流程

文档序号:12067768阅读:来源:国知局

技术特征:

1.一种基于Logistic映射的S-box获取方法,其特征在于,所述基于Logistic映射的S-box获取方法包括以下步骤:

S1、利用Logistics映射对随机生成的初值X0产生一个混沌序列:X0,X1,…,Xn

S2、将所述混沌序列映射为一整数序列:Y0,Y1,…,Yn,所述整数序列的取值在0~255之间,并对所述整数序列按两个数一组进行分组,得到整数序列对{Yi+1,Yi},其中i∈[0,n/2];

S3、根据输入序列生成一个大小为256的初始表S-box,其中所述初始S-box中的元素S-box[j]∈{0,…,255},其中j∈[0,255];

S4、利用所述整数序列对{Yi+1,Yi}对所述初始表S-box进行置换,交换所述表S-box中元素在Yi和Yi+1位置的值,得到中间S-box,获取所述中间S-box的8个布尔函数的非线性度LP及输入输出差分分布DP;

S5、分析所述非线性度LP及输入输出差分分布DP是否满足以下条件:非线性度LP的最大值小于10且所述输入输出差分分布DP的最小值大于100,若满足条件,则将满足所述条件的中间S-box存储,否则返回步骤S4。

2.根据权利要求1所述的基于Logistic映射的S-box获取方法,其特征在于,所述步骤S1包括:

S11、随机生成一个初值X0

S12、根据下式对所述初值X0产生一个混沌序列X0,X1,…,Xn

Xn+1=AXn(1-Xn)

其中,X0∈(0,1);Xn∈(0,1);n为混沌序列的长度;A取[3.5699456,4]区间内的实数。

3.根据权利要求2所述的基于Logistic映射的S-box获取方法,其特征在 于,所述步骤S2包括:

S21、根据方程将所述混沌序列映射为0至255之间的整数集:Y0,Y1,…,Yn,其中M=256;

S22、将所述整数集中的数按以下方式两两分组:G(i)={Yi+1,Yi},i∈[0,n/2],得到整数序列对{Yi+1,Yi}。

4.根据权利要求1所述的基于Logistic映射的S-box获取方法,其特征在于,所述的基于Logistic映射的S-box获取方法还包括:在利用所述整数序列对{Yi+1,Yi}对所述初始表S-box进行置换之前,对所述初始表S-box按照如下方式初始化:Sbox[0]←0,Sbox[1]←1,...,Sbox[255]←255。

5.根据权利要求2所述的基于Logistic映射的S-box获取方法,其特征在于,当所述步骤S4中进行置换的次数达到n/2,且所得的非线性度LP及输入输出差分分布DP仍不满足所述步骤S5中的条件时,返回步骤S1。

6.一种基于Logistic映射的S-box获取装置,其特征在于,所述基于Logistic映射的S-box获取装置包括:

混沌序列生成单元,用于利用Logistics映射对随机生成的初值X0产生一个混沌序列:X0,X1,…,Xn

整数序列对生成单元,用于将所述混沌序列映射为一整数序列:Y0,Y1,…,Yn,所述整数序列的取值在0~255之间,并对所述整数序列按两个数一组进行分组,得到整数序列对{Yi+1,Yi},其中i∈[0,n/2];

初始表生成单元,用于根据输入序列生成一个大小为256的初始表S-box,其中所述初始S-box中的元素S-box[j]∈{0,…,255},其中j∈[0,255];

中间S-box参数获取单元,用于利用所述整数序列对{Yi+1,Yi}对所述初始表S-box进行置换,交换所述表S-box中元素在Yi和Yi+1位置的值,得到中间S-box,获取所述中间S-box的8个布尔函数的非线性度LP及输入输出差分分布 DP;

分析单元,用于分析所述非线性度LP及输入输出差分分布DP是否满足以下条件:非线性度LP的最大值小于10且所述输入输出差分分布DP的最小值大于100,若满足条件,则将满足所述条件的中间S-box存储,否则返回中间S-box参数获取单元。

7.根据权利要求6所述的基于Logistic映射的S-box获取装置,其特征在于,所述混沌序列生成单元包括:

初值生成模块,用于随机生成一个初值X0

混沌序列生成模块,用于根据下式对所述初值X0产生一个混沌序列X0,X1,…,Xn

Xn+1=AXn(1-Xn)

其中,X0∈(0,1);Xn∈(0,1);n为混沌序列的长度;A取[3.5699456,4]区间内的实数。

8.根据权利要求7所述的基于Logistic映射的S-box获取装置,其特征在于,所述整数序列对生成单元包括:

整数据获取模块,用于根据方程将所述混沌序列映射为0至255之间的整数集:Y0,Y1,…,Yn,其中M=256;

整数序列对获取模块,用于将所述整数集中的数按以下方式两两分组:G(i)={Yi+1,Yi},i∈[0,n/2],得到整数序列对{Yi+1,Yi}。

9.根据权利要求6所述的基于Logistic映射的S-box获取装置,其特征在于,所述的基于Logistic映射的S-box获取装置还包括:初始化单元,用于在利用所述整数序列对{Yi+1,Yi}对所述初始表S-box进行置换之前,对所述初始表S-box按照如下方式初始化:Sbox[0]←0,Sbox[1]←1,...,Sbox[255]←255。

10.根据权利要求7所述的基于Logistic映射的S-box获取装置,其特征在于,所述基于Logistic映射的S-box获取装置还包括一跳转单元,用于当所示 中间S-box参数获取单元中进行置换的次数达到n/2,且所得的非线性度LP及输入输出差分分布DP仍不满足所条件时,返回所述混沌序列生成单元。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1