一种具有优良密码学性质的布尔函数构造方法及装置与流程

文档序号:37543775发布日期:2024-04-08 13:45阅读:15来源:国知局
一种具有优良密码学性质的布尔函数构造方法及装置与流程

本发明属于信息安全,尤其涉及一种具有优良密码学性质的布尔函数构造方法及装置。


背景技术:

1、流密码是最适合轻量级应用程序进行加密和解密以保护用户隐私和机密性的方法。流密码的安全性取决于其设计中使用的密码函数。在流密码中,布尔函数被用作非线性过滤器函数和组合器函数的密码函数,为了抵御各种可能的攻击,使用在密码系统中的布尔函数需要满足一系列的特性,如高非线性度、低自相关谱、低透明阶、高代数次数等。因此,流密码的安全性很大程度上取决于布尔函数的密码属性。例如,为了在流密码上抵御线性逼近攻击和侧信道攻击,所使用的布尔函数必须具有高非线性度和低透明阶。由于布尔函数中各种密码属性之间的冲突性和巨大的搜索空间,寻找具有最佳密码属性的布尔函数是密码学界面临的一个活跃而且困难的研究问题。因此,构造强密码布尔函数这个研究方向吸引了许多密码研究人员的关注。

2、目前,解决该问题的方法主要有两类,一类是数学构造法,这是一种自下而上的方法,从基础的布尔函数开始,通过特定的组合和操作构造更复杂的布尔函数。这些操作可以确保新生成的布尔函数保留所需的密码学性质,对于已知的性质,可以设计特定的构造技巧来确保满足要求。另一类是利用启发式算法进行搜索,这是一种自上而下的方法,从大量的布尔函数中利用启发式算法进行选取并测试它们是否满足所需的密码学性质。

3、在构造方面,carlet等人构造了一类非线性度下界为且满足最优代数免疫度和搞抵抗快速代数攻击能力的n元布尔函数,zhan等人通过对bent函数进行修改,构造了一类变元个数为偶数、非线性度为的布尔函数。当然还有很多密码研究学者通过构造的方式找到了不少性质优良的布尔函数,但是通过构造方法找到的布尔函数往往无法兼顾更多的密码学性质,这是由于在构造时只能针对少数密码学性质进行设计导致的。

4、在启发式搜索方面,saber等人利用启发式搜索算法得到了一些非线性度为240、代数次数为5的9元布尔函数,liu等人利用模拟退火算法得到了一些非线性度为488、代数次数为7的10元布尔函数。尽管这些布尔函数结果同时兼顾了多个重要密码学性质,但是这些性质的数值都不够优秀。

5、为了克服现有技术的不足,本发明提供一种具有优良密码学性质的布尔函数构造方法。


技术实现思路

1、鉴于以上现有技术的不足,发明的目的在于提供一种具有优良密码学性质的布尔函数构造方法及装置,提高了密码体制的安全性和强度。该方法通过融合爬山算法和模拟退火算法的部分思想,提出了一种混合搜索算法,并且本发明设计了优秀的算法流程、搜索空间、适应度函数、温度函数等,并且应用于9、10、11、12元布尔函数搜索工作中,得到了能够兼顾多个密码学性质的布尔函数,并且单个密码学性质的数值也十分优秀。

2、本发明提出了一种具有优良密码学性质的布尔函数构造方法,包括:

3、步骤s1:初始化搜索空间、状态、温度、计数器、集合等参数,并且后面利用步骤s2-s3进行迭代的状态更新;

4、步骤s2:利用邻域函数和部分爬山算法进行有条件的状态更新,并将好解放入集合中;

5、步骤s3:利用重置函数和部分模拟退火算法进行状态更新,并将好解放入集合中;

6、步骤s4:计算集合中布尔函数的非线性度、自相关谱、透明阶、代数次数;然后从中筛选出性质最优的布尔函数。

7、作为本发明所述的一种优选实施方案,其中,所述s1初始化详细内容包括:假设布尔函数表示为yi的取值为0或1;对于搜索n元布尔函数,选择初始状态y=y0∈s,其中s为搜索空间,再定义一个初始温度tz=t0=24.53,其中z为一个计数器,初始化两个计数器count1=0,count2=0,初始化集合b=null。

8、作为本发明所述的一种优选实施方案,其中,所述s1还包括对搜索空间进行初始修剪,将搜索空间设置为旋转对称布尔函数;所述旋转对称布尔函数定义如下:

9、令xi∈0,1,对于1≤k≤n,定义函数如下:

10、

11、对于(x1,x2……xn-1,xn)∈vn,将的定义扩展到n元组上,得到:

12、

13、

14、通过上面的两个函数对旋转对称布尔函数定义,即如果对于每个输入(x1,x2……xn-1,xn)∈{0,1},都有其中1≤k≤n,则布尔函数f为旋转对称布尔函数。

15、作为本发明所述的一种优选实施方案,其中,s1中温度计算公式如下:

16、tz+1=f(tz,z)

17、s1中温度函数公式如下:

18、

19、其中,tz表示第z轮时的温度。

20、作为本发明所述的一种优选实施方案,其中,s1中初始化集合用于步骤s2和步骤s3更新好解的布尔函数。

21、本发明所述的一种优选实施方案,其中,s2详细内容如下:若温度参数tz>0.007,对当前状态y使用邻域函数n(y)进行状态更新,若y发生了改变,也就是n(y)中的flag为ture,则将y放入集合b中,并且利用适应度函数e(y)对布尔函数的优劣进行评估;若温度参数tz≤0.007,则停止迭代;

22、其中,适应度函数e(y)如下:

23、

24、其中,一个布尔函数f(x)的自相关函数可以定义为:

25、

26、其中d∈{0,1};

27、一个布尔函数f(x)的walsh变换是定义在{0,1}n上的实值函数,定义为:

28、

29、作为本发明所述的一种优选实施方案,其中,s2中邻域函数n(y)更新原理如下:

30、s21、当前的布尔函数为y,并设置flag为false,

31、s22、通过迭代来找到更加优秀的布尔函数:

32、(a)对于每个位置i,依次翻转y中的第i位,此处的翻转是指将0变成1,或者将1变成0,每一次翻转都会将步骤s1中定义的tz中的z加1,此时得到一个翻转后的新的布尔函数y′,

33、(b)计算新布尔函数y′的适应度函数e(y′),

34、(c)若e(y′)比当前布尔函数y的适应度函数e(y)更优,则更新当前的布尔函数y为y′,并将标志位flag设置为true的同时退出迭代,此处更改标志位代表在翻转的过程中找到了比当前更加优良的布尔函数,

35、(d)若e(y′)不如当前布尔函数的适应度e(y),则将y′翻转回来,恢复为y,

36、s23、如果对于y中的每一位都尝试了翻转,但至高只找到了适应度相同的布尔函数,则退出邻域函数,此时标志位flag为false,令

37、其中y为f(y1,y2…yi-1,yi,yi+1…ym),且若有多个值相同则翻转角标数字小的。

38、作为本发明所述的一种优选实施方案,其中,s3详细步骤包括:

39、s31、判断此时n(y)中的标志位flag是否为false:

40、s32、若flag为false,则将计数器count1+1,然后判断count1是否达到了3n;

41、s33、若count1达到了3n就执行小重置函数y=reset(y),,然后将当前状态y加入到集合b中并且将计数器count2+1的同时令count1=0,然后判断count2是否达到了n;

42、s34、若count2达到了n就执行大重置函数temp=reset1(y),并令count2=0,然后利用概率函数p(δe,t)来决定是否将当前状态y更新为temp,若y更新为temp,就将y加入到集合b中,否则y不变;最后将当前状态y传回步骤s2中;

43、s35、若count2没有达到n就将当前状态y传回步骤2中;

44、s36、若count1没有达到3n就直接将当前状态y传回步骤2中;

45、s37、若flag为true,就将y加入到集合b中,并把当前状态y传回步骤s2中。

46、作为本发明所述的一种优选实施方案,其中,s3中重置函数reset(y)和reset1(y)公式如下:

47、

48、是原始的输入变量,要随机翻转的5个变量,他们的位置分别是i,j,k,l,m;

49、同理,reset1(y)为随机翻转10个变量。

50、作为本发明所述的一种优选实施方案,其中,所述概率函数p(δe,t)公式如下:

51、

52、其中,δe是当前状态yz的适应度与下一步状态yz+1的适应度函数值的差异,tz表示第z轮时的温度,当δe<0时,新状态yz+1总是会被接受;当δe≥0时,根据温度tz和差异δe的大小关系,计算接受概率。

53、本发明有益效果如下:

54、本发明通过步骤1到步骤4设计了一套基于爬山算法和模拟退火算法的混合搜索算法来启发式构造布尔函数;通过使用旋转对称布尔函数作为搜索空间;在优化搜索效率的同时,大大的提升了布尔函数的密码学性质强度;在本发明设计的算法中,会时刻记录算法认为“性质优良”的布尔函数,将具有较高适应度函数值的布尔函数都记录下来再进行筛选,本发明耗费了很小的算法效率的代价,获得了更多性质优良的布尔函数;提出的算法随着搜索的进行,算法接受差解概率逐渐降低,但不至于降低得太快,以确保算法具有一定的探索性,并且在搜索的后期能够收敛到全局最优解。

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