skip to main content
10.1145/2908812.2908825acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

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

Published:20 July 2016Publication History

ABSTRACT

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.

References

  1. Murmur hash functions. https://github.com/aappleby/smhasher.Google ScholarGoogle Scholar
  2. Secure hashing. http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html.Google ScholarGoogle Scholar
  3. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques. Addison Wesley, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. J. Bernstein. Mathematics and computer science. https://cr.yp.to/djb.html.Google ScholarGoogle Scholar
  5. M. Brameier and W. Banzhaf. Linear genetic programming. Springer, New York, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Z. Cao and Z. Wang. Flow identification for supporting per-flow queueing. In Proc. of the Ninth International Conference on Computer Communications and Networks, pages 88--93. IEEE, 2000.Google ScholarGoogle Scholar
  7. M. Defoin Platel, M. Clergue, and P. Collard. Maximum homologous crossover for linear genetic programming. In Genetic Programming, volume 2610 of Lecture Notes in Computer Science, pages 194--203. Springer Berlin Heidelberg, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Dobai and J. Korenek. Evolution of non-cryptographic hash function pairs for fpga-based network applications. In 2015 IEEE Symposium Series on Computational Intelligence, pages 1214--1219. IEEE, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  9. C. Downey, M. Zhang, and W. N. Browne. New crossover operators in linear genetic programming for multiclass object classification. In Proceedings of the 12th annual conference on Genetic and evolutionary computation, pages 885--892. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Estebanez, J. C. Hernandez-Castro, A. Ribagorda, and P. Isasi. Evolving hash functions by means of genetic programming. In Proceedings of the 8th annual conference on Genetic and evolutionary computation, pages 1861--1862. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Estébanez, J. C. Hernández-Castro, A. Ribagorda, and P. Isasi. Finding state-of-the-art non-cryptographic hashes with genetic programming. In Parallel Problem Solving from Nature-PPSN IX, pages 818--827. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Fowler, P. Vo, and L. C. Noll. FVN Hash. http://www.isthe.com/chongo/tech/comp/fnv/.Google ScholarGoogle Scholar
  13. B. Jenkins. A hash function for hash table lookup. http://www.burtleburtle.net/bob/hash/doobs.html.Google ScholarGoogle Scholar
  14. J. Karasek, R. Burget, and O. Morsky. Towards an automatic design of non-cryptographic hash function. In 34th International Conference on Telecommunications and Signal Processing (TSP), pages 19--23. IEEE, 2011.Google ScholarGoogle ScholarCross RefCross Ref
  15. P. Kaufmann, C. Plessl, and M. Platzner. EvoCaches: Application-specific Adaptation of Cache Mappings. In Adaptive Hardware and Systems (AHS), pages 11--18. IEEE CS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. L. Kekely, J. Kucera, V. Pus, J. Korenek, and A. Vasilakos. Software defined monitoring of application protocols. IEEE Transactions on Computers, 65(2):615--626, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. E. Knuth. The art of computer programming (volume 3). 1973.Google ScholarGoogle Scholar
  18. E. Lusk, S. Huss, B. Saphir, and M. Snir. MPI: A message-passing interface standard, 2009.Google ScholarGoogle Scholar
  19. W. Mao. Modern cryptography: theory and practice. Prentice Hall Professional Technical Reference, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. W. D. Maurer and T. G. Lewis. Hash table methods. ACM Computing Surveys (CSUR), 7(1):5--19, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Oltean and C. Grosan. A comparison of several linear genetic programming techniques. Complex Systems, 14(4):285--314, 2003.Google ScholarGoogle Scholar
  22. R. Pagh and F. F. Rodler. Cuckoo hashing. In Algorithms - ESA 2001, LNCS 2161, pages 121--133. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Pike and J. Alakuijala. Introducing cityhash, 2011.Google ScholarGoogle Scholar
  24. A. Tongaonkar, R. Keralapura, and A. Nucci. Challenges in network application identification. In Presented as part of the 5th USENIX Workshop on Large-Scale Exploits and Emergent Threats, Berkeley, CA, 2012. USENIX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Varrette, J. Muszynski, and P. Bouvry. Hash function generation by means of gene expression programming. Annales UMCS, Informatica, 12(3):37--53, 2013.Google ScholarGoogle Scholar
  26. H. Widiger, R. Salomon, and D. Timmermann. Packet classification with evolvable hardware hash functions - an intrinsic approach. In Second International Workshop on Biologically Inspired Approaches to Advanced Information Technology, BioADIT 2006, pages 64--79, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Wilson and W. Banzhaf. A comparison of cartesian genetic programming and linear genetic programming. In Genetic Programming, volume 4971 of Lecture Notes in Computer Science, pages 182--193. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          GECCO '16: Proceedings of the Genetic and Evolutionary Computation Conference 2016
          July 2016
          1196 pages
          ISBN:9781450342063
          DOI:10.1145/2908812

          Copyright © 2016 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 20 July 2016

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          GECCO '16 Paper Acceptance Rate137of381submissions,36%Overall Acceptance Rate1,669of4,410submissions,38%

          Upcoming Conference

          GECCO '24
          Genetic and Evolutionary Computation Conference
          July 14 - 18, 2024
          Melbourne , VIC , Australia

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader