Evolutionary Design of Fast High-quality Hash Functions for Network Applications

High speed networks operating at 100 Gbps pose many challenges for hardware and software involved in the packet processing. As the time to process one packet is very short the corresponding operations have to be optimized in terms of the execution time. One of them is non-cryptographic hashing implemented in order to accelerate traffic flow identification. In this paper, a method based on linear genetic programming is presented, which is capable of evolving high-quality hash functions primarily optimized for speed. Evolved hash functions are compared with conventional hash functions in terms of accuracy and execution time using real network data.

[1]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[2]  Maryam Shayegan Hastings,et al.  She Does Math!: Mathematics and Computer Science , 1995 .

[3]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[4]  Jan Korenek,et al.  Software Defined Monitoring of application protocols , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[5]  Message P Forum,et al.  MPI: A Message-Passing Interface Standard , 1994 .

[6]  Fred Wubs,et al.  Mathematics and computer science , 1986 .

[7]  Jan Korenek,et al.  Evolution of Non-Cryptographic Hash Function Pairs for FPGA-Based Network Applications , 2015, 2015 IEEE Symposium Series on Computational Intelligence.

[8]  Pedro Isasi Viñuela,et al.  Evolving hash functions by means of genetic programming , 2006, GECCO '06.

[9]  Mengjie Zhang,et al.  New crossover operators in linear genetic programming for multiclass object classification , 2010, GECCO '10.

[10]  Wolfgang Banzhaf,et al.  A Comparison of Cartesian Genetic Programming and Linear Genetic Programming , 2008, EuroGP.

[11]  Marco Platzner,et al.  EvoCaches: Application-specific Adaptation of Cache Mappings , 2009, 2009 NASA/ESA Conference on Adaptive Hardware and Systems.

[12]  Philippe Collard,et al.  Maximum Homologous Crossover for Linear Genetic Programming , 2003, EuroGP.

[13]  Victor Ciesielski,et al.  Linear genetic programming , 2008, Genetic Programming and Evolvable Machines.

[14]  Radim Burget,et al.  Towards an automatic design of non-cryptographic hash function , 2011, 2011 34th International Conference on Telecommunications and Signal Processing (TSP).

[15]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[16]  Ted G. Lewis,et al.  Hash Table Methods , 1975, CSUR.

[17]  Pascal Bouvry,et al.  Hash function generation by means of Gene Expression Programming , 2012 .

[18]  Mihai Oltean,et al.  A Comparison of Several Linear Genetic Programming Techniques , 2003, Complex Syst..

[19]  Seth D. Bergmann,et al.  Compilers , 1973, CSC '73.

[20]  T. Karagiannis,et al.  Challenges in Network Application Identification , 2012 .

[21]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[22]  Zheng Wang,et al.  Flow identification for supporting per-flow queueing , 2000, Proceedings Ninth International Conference on Computer Communications and Networks (Cat.No.00EX440).

[23]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[24]  Pedro Isasi Viñuela,et al.  Finding State-of-the-Art Non-cryptographic Hashes with Genetic Programming , 2006, PPSN.

[25]  Wenbo Mao,et al.  Modern Cryptography: Theory and Practice , 2003 .

[26]  Dirk Timmermann,et al.  Packet Classification with Evolvable Hardware Hash Functions - An Intrinsic Approach , 2006, BioADIT.