{"title":"快速高效设计弯曲布尔函数的语义突变算子","authors":"Jakub Husa, Lukáš Sekanina","doi":"10.1007/s10710-023-09476-w","DOIUrl":null,"url":null,"abstract":"<p>Boolean functions are important cryptographic primitives with extensive use in symmetric cryptography. These functions need to possess various properties, such as nonlinearity to be useful. The main limiting factor of the quality of a Boolean function is the number of its input variables, which has to be sufficiently large. The contemporary design methods either scale poorly or are able to create only a small subset of all functions with the desired properties. This necessitates the development of new and more efficient ways of Boolean function design. In this paper, we propose a new semantic mutation operator for the design of bent Boolean functions via genetic programming. The principle of the proposed operator lies in evaluating the function’s nonlinearity in detail to purposely avoid mutations that could be disruptive and taking advantage of the fact that the nonlinearity of a Boolean function is invariant under all affine transformations. To assess the efficiency of this operator, we experiment with three distinct variants of genetic programming and compare its performance to three other commonly used non-semantic mutation operators. The detailed experimental evaluation proved that the proposed semantic mutation operator is not only significantly more efficient in terms of evaluations required by genetic programming but also nearly three times faster than the second-best operator when designing bent functions with 12 inputs and almost six times faster for functions with 20 inputs.</p>","PeriodicalId":50424,"journal":{"name":"Genetic Programming and Evolvable Machines","volume":"9 1","pages":""},"PeriodicalIF":1.7000,"publicationDate":"2023-12-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Semantic mutation operator for a fast and efficient design of bent Boolean functions\",\"authors\":\"Jakub Husa, Lukáš Sekanina\",\"doi\":\"10.1007/s10710-023-09476-w\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p>Boolean functions are important cryptographic primitives with extensive use in symmetric cryptography. These functions need to possess various properties, such as nonlinearity to be useful. The main limiting factor of the quality of a Boolean function is the number of its input variables, which has to be sufficiently large. The contemporary design methods either scale poorly or are able to create only a small subset of all functions with the desired properties. This necessitates the development of new and more efficient ways of Boolean function design. In this paper, we propose a new semantic mutation operator for the design of bent Boolean functions via genetic programming. The principle of the proposed operator lies in evaluating the function’s nonlinearity in detail to purposely avoid mutations that could be disruptive and taking advantage of the fact that the nonlinearity of a Boolean function is invariant under all affine transformations. To assess the efficiency of this operator, we experiment with three distinct variants of genetic programming and compare its performance to three other commonly used non-semantic mutation operators. The detailed experimental evaluation proved that the proposed semantic mutation operator is not only significantly more efficient in terms of evaluations required by genetic programming but also nearly three times faster than the second-best operator when designing bent functions with 12 inputs and almost six times faster for functions with 20 inputs.</p>\",\"PeriodicalId\":50424,\"journal\":{\"name\":\"Genetic Programming and Evolvable Machines\",\"volume\":\"9 1\",\"pages\":\"\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2023-12-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Genetic Programming and Evolvable Machines\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1007/s10710-023-09476-w\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Genetic Programming and Evolvable Machines","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10710-023-09476-w","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
Semantic mutation operator for a fast and efficient design of bent Boolean functions
Boolean functions are important cryptographic primitives with extensive use in symmetric cryptography. These functions need to possess various properties, such as nonlinearity to be useful. The main limiting factor of the quality of a Boolean function is the number of its input variables, which has to be sufficiently large. The contemporary design methods either scale poorly or are able to create only a small subset of all functions with the desired properties. This necessitates the development of new and more efficient ways of Boolean function design. In this paper, we propose a new semantic mutation operator for the design of bent Boolean functions via genetic programming. The principle of the proposed operator lies in evaluating the function’s nonlinearity in detail to purposely avoid mutations that could be disruptive and taking advantage of the fact that the nonlinearity of a Boolean function is invariant under all affine transformations. To assess the efficiency of this operator, we experiment with three distinct variants of genetic programming and compare its performance to three other commonly used non-semantic mutation operators. The detailed experimental evaluation proved that the proposed semantic mutation operator is not only significantly more efficient in terms of evaluations required by genetic programming but also nearly three times faster than the second-best operator when designing bent functions with 12 inputs and almost six times faster for functions with 20 inputs.
期刊介绍:
A unique source reporting on methods for artificial evolution of programs and machines...
Reports innovative and significant progress in automatic evolution of software and hardware.
Features both theoretical and application papers.
Covers hardware implementations, artificial life, molecular computing and emergent computation techniques.
Examines such related topics as evolutionary algorithms with variable-size genomes, alternate methods of program induction, approaches to engineering systems development based on embryology, morphogenesis or other techniques inspired by adaptive natural systems.