Fine-Grained Timing Using Genetic Programming

  • David R. White
  • Juan M. E. Tapiador
  • Julio Cesar Hernandez-Castro
  • John A. Clark
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6021)


In previous work, we have demonstrated that it is possible to use Genetic Programming to minimise the resource consumption of software, such as its power consumption or execution time. In this paper, we investigate the extent to which Genetic Programming can be used to gain fine-grained control over software timing. We introduce the ideas behind our work, and carry out experimentation to find that Genetic Programming is indeed able to produce software with unusual and desirable timing properties, where it is not obvious how a manual approach could replicate such results. In general, we discover that Genetic Programming is most effective in controlling statistical properties of software rather than precise control over its timing for individual inputs. This control may find useful application in cryptography and embedded systems.


Execution Time Genetic Programming Pseudorandom Number Generator Software Timing Keystream Generator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    White, D.R.: Searching for resource-efficient programs: Low-power pseudorandom number generators. In: GECCO 2008: Proceedings of the 10th annual conference on Genetic and evolutionary computation (2008)Google Scholar
  2. 2.
    Arcuri, A., White, D.R., Clark, J., Yao, X.: Multi-objective improvement of software using co-evolution and smart seeding. In: International Conference on Simulated Evolution And Learning (SEAL), pp. 61–70 (2008)Google Scholar
  3. 3.
    ECJ: Evolutionary computation in Java,
  4. 4.
    Binkert, N.L., Dreslinski, R.G., Hsu, L.R., Lim, K.T., Saidi, A.G., Reinhardt, S.K.: The M5 simulator: Modeling networked systems. IEEE Micro 26(4), 52–60 (2006)CrossRefGoogle Scholar
  5. 5.
    Webster, A.F., Tavares, S.E.: On the design of s-boxes. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 523–534. Springer, Heidelberg (1986)Google Scholar
  6. 6.
    Kelsey, J., Schneier, B., Ferguson, N.: Yarrow-160: Notes on the design and analysis of the yarrow cryptographic pseudorandom number generator. In: Heys, H.M., Adams, C.M. (eds.) SAC 1999. LNCS, vol. 1758, pp. 13–33. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  7. 7.
    Kocher, P.C.: Timing attacks on implementations of diffie-hellman, rsa, dss, and other systems. In: Koblitz, N. (ed.) CRYPTO 1996. LNCS, vol. 1109, pp. 104–113. Springer, Heidelberg (1996)Google Scholar
  8. 8.
    Kocher, P., Jaffe, J., Jun, B.: Differential power analysis, pp. 388–397. Springer, Heidelberg (1999)Google Scholar
  9. 9.
    Kemmerer, R.A.: A practical approach to identifying storage and timing channels: Twenty years later. In: Computer Security Applications Conference, p. 109 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • David R. White
    • 1
  • Juan M. E. Tapiador
    • 1
  • Julio Cesar Hernandez-Castro
    • 2
  • John A. Clark
    • 1
  1. 1.Dept. of Computer ScienceUniversity of YorkYorkUK
  2. 2.School of ComputingUniversity of Portsmouth, Buckingham BuildingLion Terrace, PortsmouthUK

Personalised recommendations