
12 COLIN PERCIVAL
discussed in this paper and also to eliminate the potential for new
timing side channels.
We note, however, that due to the large number of cryptographic
libraries in use, and the vastly larger number of applications which use
(and distribute) them, it is impractical to attempt to fix all crypto-
graphic libraries and applications in a narrow time frame, so the first
line of defence against the particular issues discussed here must come
from the operating system.
8. Acknowledgements
The author wishes to thank Jacques Vidrine and Mike O’Connor for
their invaluable aid in facilitating communications prior to the public
disclosure of this security issue, and the many people who provided
helpful feedback during that period.
References
[1] D.J. Bernstein. Cache-timing attacks on AES, 21 Nov 2004. Document ID:
cd9faae9bd5308c440df50fc26a517b4.
[2] D. Coppersmith. Finding a small root of a bivariate integer equation; fac-
toring with high bits known. In U. Maurer, editor, Advances in Cryptology -
EUROCRYPT ’96, LNCS 1070, pages 178–189. Springer-Verlag, 1996.
[3] FreeBSD Project. The FreeBSD operating system.
http://www.freebsd.org/.
[4] IEEE Std 1003.1. 2004 Edition.
[5] A. Karatsuba and Y. Ofman. Multiplication of multidigit numbers on au-
tomata. Soviet Physics - Doklady, 7:595–596, 1963.
[6] D.E. Knuth. Seminumerical Algorithms, volume 2 of The Art of Computer
Programming. Addison Wesley, third edition, 1997.
[7] B.W. Lampson. A note on the confinement problem. Communications of the
ACM, 16(10):613–615, 1973.
[8] D. Marr, F. Binns, D. Hill, G. Hinton, D. Koufaty, J. Miller, and M. Upton.
Hyper-threading technology architecture and microarchitecture: A hypertext
history. Intel Technology Journal, February 2002.
http://developer.intel.com/technology/itj/2002/volume06issue01/.
[9] National Institute of Standards and Technology. Announcing the Advanced
Encryption Standard (AES). NIST FIPS PUB 197, U.S. Department of Com-
merce, 2001.
[10] L.E. Shar and E.S. Davidson. A multiminiprocessor system implemented
through pipelining. IEEE Computer, 7(2):42–51, 1974.
[11] The OpenSSL Project. OpenSSL: The open source toolkit for SSL/TLS.
http://www.openssl.org/.
[12] D.M. Tullsen, S. Eggers, and H.M. Levy. Simultanous multithreading: Max-
imizing on-chip parallelism. In Proceedings of the 22nd Annual International
Symposium on Computer Architecture, pages 392–403, 1995.
IRMACS Centre, Simon Fraser University, Burnaby, BC, Canada
E-mail address:cperciva@freebsd.org