收稿日期:20191227;修回日期:20200220 基金项目:国家自然科学基金面上项目(61972400);广西密码学与信息安全重点实验室
研究课题资助项目(GCIS201712);江苏省自然科学基金资助项目(BK20181352)
作者简介:贾少帅(1994),男,河北晋州人,硕士研究生,主要研究方向为机器学习算法、密码函数(ssdreamc@cumt.edu.cn);张凤荣(1982),
男,河北邯郸人,副教授,硕导,博士(后),主要研究方向为密码函数、对称密码、信息安全.
基于引力搜索的布尔函数生成算法
贾少帅
1,2
,张凤荣
1,2
(1.中国矿业大学 计算机科学与技术学院 矿山数字化教育部工程研究中心,江苏 徐州 221116;2.桂林电子科
技大学 广西密码学与信息安全重点实验室,广西 桂林 541004)
摘 要:布尔函数是在密码学、纠错编码和扩频通信等领域有着广泛应用的密码函数,寻找性能优良的布尔函
数一直是密码学领域的重要问题之一。基于引力搜索算法设计了一种搜索布尔函数的新算法。该算法模仿万
有引力定律,以 n维空间中的质量点表示布尔函数,以布尔函数的密码特性作为目标适应度函数进行搜索。实
验结果表明,算法使用新设计的目标适应度函数可以直接生成具有 1阶弹性、1阶扩散准则和高非线性度、高代
数次数以及低自相关指标等多种密码学指标的平衡布尔函数,并且进一步给出了直接生成 2输出平衡布尔函数
的计算机搜索算法。
关键词:密码学;布尔函数;引力搜索算法;启发式算法
中图分类号:TP301.6 文献标志码:A 文章编号:10013695(2021)02019043005
doi:10.19734/j.issn.10013695.2019.12.0668
Booleanfunctiongenerationalgorithmbasedongravitationalsearchalgorithm
JiaShaoshuai
1,2
,ZhangFengrong
1,2
(1.MineDigitizationEngineeringResearchCenterofMinistryofEducation,SchoolofComputerScience&Technology,ChinaUniversityofMi
ning&Technology,XuzhouJiangsu221116,China;2.GuangxiKeyLaboratoryofCryptography& InformationSecurity,GuilinUniversityof
ElectronicTechnology,GuilinGuangxi541004,China)
Abstract:TheBooleanfunctionsarecryptographicfunctionsthathavebeenwidelyusedinthefieldsofcryptography,error
correctioncoding
,andspreadspectrumcommunication.FindinggoodperformanceBooleanfunctionshasalwaysbeenoneof
theimportantissuesinthefieldofcryptography.Basedonthegravitationalsearchalgorithm,thispaperdesignedanewalgo
rithmforsearchingBooleanfunctions.Thisalgorithmimitatedthelawofuniversalgravitation
,usedthemasspointsinndi
mensionalspacetorepresenttheBooleanfunction,andusedthecryptographiccharacteristicsoftheBooleanfunctionasthe
targetfitnessfunctionforsearching.Theexperimentalresultsshowthatbychangingthenewlydesignedtargetfitnessfunction,
abalancedBooleancanbedirectlygeneratedthatmeetsavarietyofcryptographicindicatorssuchas1orderresilient,1order
propagation
,orhighnonlinearity,highalgebraicnumber,andlowautocorrelationindexfunction.Furthermore,thispaper
implementedacomputersearchalgorithmthatdirectlygenerateda2outputbalancedBooleanfunction.
Keywords:cryptography;Booleanfunction;gravitationalsearchalgorithm;heuristicalgorithm
0 引言
密码函数是对称密码系统的重要组件,其安全性决定了整
个密码系统的安全性,密码系统抵抗已知攻击的能力与所使用
的密码函数的各类性质密切相关。布尔函数是研究密码算法
和密码技术的重要工具,无论在流密码还是在分组密码中都有
重要的应用
[1]
。
构造满足各种条件的布尔函数是密码学的一个传统问题,
获取具有良好密码特性的布尔函数有两种主要方法,一种是使
用代数构造方法,另一种是使用计算机搜索技术。前者需要精
确的数学证明来验证所构造的函数具有良好的密码学性质,后
者不需要数学证明但生成的函数必须有预期的密码特性。此
外,这个问题也是一个经典的优化问题和多项式复杂度的非确
定性问题(
NP问题),虽然没有精确的数学证明来证明有效
性,但实验表明引力搜索(gravitationalsearchalgorithm,GSA)等
启发式算法是一种近似求解 NP问题的有效方法
[2]
。
传统的代数构造方法研究大多使用组合、构造、差分等数
学工具
[3~6]
,但这些方法多数针对高变元布尔函数。从 Millan
等人
[7,8]
开始,研究人员开始尝试使用一些启发式的算法来直
接进行布尔函数的搜索与生成。
Millan等人
[8]
首次使用遗传
算法成功搜索到了非线性度较高的布尔函数,自此遗传算法也
成为了研究人员使用最多的算法。为了降低计算消耗、提高遗
传进化的效率,
Julian提出了笛卡尔遗传规划。考虑到布尔函
数还需要一定的代数免疫性,Chunlin等人
[9]
基于遗传算法提
出了具有较好代数免疫性的布尔函数构造方法,但性能优良的
布尔函数仍需其他密码学特性。Asthana等人
[10]
提出了新的
基于遗传算法的方案,能满足平衡性、相关免疫性、代数度和非
线性特征。Picek等人
[11~13]
更是使用遗传进化类算法针对生
成布尔函数、设计加密算法等做了大量研究并对该算法为何能
够在 NP问题中生效进行了探讨。此外,还有其他启发式算法
在搜索深度、随机性、搜索能力上与遗传进化类不同,之后 Mil
lan
等人
[7]
又使用爬山算法进行了平衡布尔函数的搜索,也有
研究人员使用模拟退火算法
[14,15]
、粒子群优化算法
[16]
以及免
疫算法
[11]
等。为了进一步提高搜索能力,结合不同启发式算
法的优点,还出现了多种启发式算法结合的研究,Bharti等人
的成果
[17]
便是如此。
第 38卷第 2期
2021年 2月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol.38No.2
Feb.2021