Fine-Grained Timing Using Genetic Programming
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.
KeywordsExecution Time Genetic Programming Pseudorandom Number Generator Software Timing Keystream Generator
Unable to display preview. Download preview PDF.
- 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.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.ECJ: Evolutionary computation in Java, http://www.cs.gmu.edu/~eclab/projects/ecj/
- 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
- 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.Kocher, P., Jaffe, J., Jun, B.: Differential power analysis, pp. 388–397. Springer, Heidelberg (1999)Google Scholar
- 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